OpenWrt可以被描述為一個(gè)嵌入式的 Linux 發(fā)行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個(gè)單一的、靜態(tài)的系統(tǒng)。OpenWrt的包管理提供了一個(gè)完全可寫的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。
近年來隨著人工智能技術(shù)、計(jì)算機(jī)技術(shù)等相關(guān)技術(shù)的發(fā)展,對(duì)移動(dòng)機(jī)器人的研究越來越廣泛。本設(shè)計(jì)是采用OpenWrt操作系統(tǒng)的移動(dòng)機(jī)器人,它可實(shí)現(xiàn)多種不同功能,如探測險(xiǎn)情、巡視、圖像采集、定位、無線通信等。它還可以作為各種智能控制方法(包括動(dòng)態(tài)避障、路徑規(guī)劃、群體協(xié)作策略)的良好載體,開展研究。
1系統(tǒng)方案
采用2層架構(gòu)。上層以ARM處理器64位ARMCortex-A72核心,選用ls1046處理器作為上層的主板,負(fù)責(zé)圖像采集,并將圖像通過Wi-Fi方式發(fā)送給遠(yuǎn)端的PC機(jī)。Wi-Fi無線通信是利用PC機(jī)與無線路由器搭建環(huán)境平臺(tái)共同實(shí)現(xiàn)的。
下層是以51單片機(jī)為核心的單片機(jī)控制板,由51單片機(jī)及外圍電路組成。下層主要負(fù)責(zé)機(jī)器人移動(dòng)控制,傳感器數(shù)據(jù)處理。51單片機(jī)通過I/O口輸出PWM信號(hào)控制直流電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向,實(shí)現(xiàn)機(jī)器人的前進(jìn)、停止、左轉(zhuǎn)和右轉(zhuǎn)。單片機(jī)接口電路上掛接了1個(gè)超聲波測距模塊、1個(gè)人體紅外感應(yīng)模塊、1個(gè)步進(jìn)電機(jī)模塊。超聲波測距模塊用來實(shí)現(xiàn)機(jī)器人避障。在嵌入式智能的前端安裝了一個(gè)步進(jìn)電機(jī),而超聲波測距模塊安置在步進(jìn)電機(jī)的轉(zhuǎn)軸上,步進(jìn)電機(jī)不停地來回轉(zhuǎn)動(dòng),超聲波測距模塊也隨之轉(zhuǎn)動(dòng)。這樣用1個(gè)超聲波測距模塊就可實(shí)現(xiàn)多方位測距,從而減少了超聲波測距模塊的數(shù)量。
機(jī)器人主要由硬件系統(tǒng)和軟件系統(tǒng)構(gòu)成。硬件系統(tǒng)主要包括:ARM處理器、單片機(jī)、外圍接口電路、機(jī)器人底盤以及電源等。其中ARM處理器是上層的核心,51單片機(jī)是下層的核心。軟件包括:嵌入式Linux操作系統(tǒng)、外設(shè)驅(qū)動(dòng)程序、Linux應(yīng)用程序以及單片機(jī)應(yīng)用程序等。系統(tǒng)沒有選用通常的嵌入式Linux版本,而是另辟蹊徑,選用一種獨(dú)特的嵌入式Linux發(fā)行版之一OpenWrt作為操作系統(tǒng)。OpenWrt提供了一個(gè)完全可寫的文件系統(tǒng)及軟件包管理,它通過簡單易用的方式,降低了嵌入式Linux開發(fā)的門檻,提高了系統(tǒng)軟件開發(fā)的效率。
嵌入式智能移動(dòng)機(jī)器人的工作流程為:傳感器模塊實(shí)時(shí)采集周圍環(huán)境信息,將此數(shù)據(jù)信息傳輸?shù)綑C(jī)器人控制系統(tǒng)中,單片機(jī)通過數(shù)據(jù)分析獲取有效數(shù)據(jù),從而獲知機(jī)器人與障礙物的相對(duì)位置,然后根據(jù)此位置信息產(chǎn)生控制信號(hào);單片機(jī)產(chǎn)生PWM信號(hào)控制直流電機(jī)來控制機(jī)器人轉(zhuǎn)向,從而達(dá)到機(jī)器人自主“行走”的目的。下層的單片機(jī)與上層的ARM處理器通過串口來通信,ARM主板可將下層單片機(jī)控制板的工作數(shù)據(jù)通過無線Wi-Fi的方式傳輸?shù)竭h(yuǎn)端的PC機(jī)。ARM主板可以不間斷地將USB攝像頭采集的清晰現(xiàn)場圖片發(fā)給遠(yuǎn)端的PC控制終端。
對(duì)于開發(fā)人員,OpenWrt 是使用框架來構(gòu)建應(yīng)用程序,而無需建立一個(gè)完整的固件來支持;對(duì)于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。
Linux世界很大,大到無從談起。OpenWrt僅僅是一個(gè)嵌入式的Linux發(fā)行版。
2004年生長出來了OpenWrt。2005年到2007年,最初的穩(wěn)定版叫WhiteRussian,之后的Kamikaze延續(xù)到2010年,Backfire到2013年,隨后AtTItude Adjustment發(fā)布,而最新版的Barrier Breaker也已經(jīng)在持續(xù)開發(fā)中,據(jù)稱將很快發(fā)布。它的前身的前身,是UNIX,一步步發(fā)展過來,慢慢覺醒……是不是有種“天網(wǎng)”要粗線的感覺!
OpenWrt上有哪些好玩的 App ?
首先,openWRT能實(shí)現(xiàn)的一些稍微比較主流的功能上來說吧。
無線審計(jì)
脫機(jī)下載
無線音響
影印共享
部署服務(wù)器(博客社區(qū)等)
特殊撥號(hào)(銳捷,H3C,等一些奇葩認(rèn)證)
無線監(jiān)控
翻越長城
無線打印共享
當(dāng)然還有一些灰主流的玩法,比如廣告過濾,部署KMS激活微軟的產(chǎn)品,驅(qū)蚊器,WEB計(jì)費(fèi)認(rèn)證;還有進(jìn)階型的WRTnode,遙控智能小車之類的。
插件(也就是你說的APP):
一,無線審計(jì)
airodump-ng
reaver
tcpdump
port-mirroring
(這個(gè)需要一塊額外的硬件如傳說中RTL8187L USB無線網(wǎng)卡 )
二,脫機(jī)下載
thunder-xware(迅雷下載)
transmission
Aria2
三,無線音響
kmod-usb-audio
install alsa-uTIls
shairport
MPDroid
(額外需要一張USB聲卡)
四,影印共享
xmlrpc
dlna
Airplay
samba36-server
五,部署服務(wù)器
vsftpd
lighttpd
php5-mod-apc
mysql-server
六:特殊撥號(hào)
MentoHUST
H3C 802.1x Client
sxplugin
nwan
七,無線監(jiān)控
webcam
kmod-u?b2
kmod-video-uvc
kmod-nl?-base
kmod-usb-core
kmod-i2c-core
kmod-video-core
kmod-input-core
kmod-usb-ohci
kmod-usb-video
libjpeg
librt
libpthread
八,翻越長城(估計(jì)大家對(duì)這個(gè)的需求要更為迫切一些)
GoAgent [需要先安裝python]
openvpn
shadowsocks
dnsmasq
九,無線打印共享
kmod-usb-printer
install luci-app-p910nd
OpenWRT用途
怎么說呢,提起它,或許大家可能還有點(diǎn)陌生,但提起它的兄弟Android來,大概無人不知了吧。作為對(duì)比:“OpenWrt具有比肩桌面級(jí)Linux和現(xiàn)代移動(dòng)操作系統(tǒng)(Android)的用戶體驗(yàn),完全回避了傳統(tǒng)嵌入式Linux的磨嘰和枯燥,使一個(gè)小小的路由器真正成為完整的、現(xiàn)代的、開放的計(jì)算系統(tǒng),降低了入門門檻,產(chǎn)生了大量非嵌入式專業(yè)的愛好者群體。OpenWrt框架的奠定者們和廣泛的代碼貢獻(xiàn)者們,在桌面級(jí)和現(xiàn)代操作系統(tǒng)的理念下,也使OpenWrt成為嵌入式Linux領(lǐng)域個(gè)性十足而廣受追捧的佼佼者”。
具體點(diǎn)說,凡是路由器能做到的功能OpenWRT都能做到[市面上路由器除了官方固件,第三方固件中主要有OpenWRT(功能最給力)、TT(穩(wěn)定性不錯(cuò))和DD(以“中繼”出名些)]。OpenWRT進(jìn)階的功能:做USB攝像頭、掛載移動(dòng)硬盤/U盤、BT下載、3G上網(wǎng)卡(好吧,這點(diǎn)官方固件也勉強(qiáng)可行了)、單號(hào)多撥(這點(diǎn)是否有效要看當(dāng)?shù)豂SP)、綁定域名遠(yuǎn)程控制、Samba/DLNA家庭NAS共享、私有云同步、FTP、個(gè)人網(wǎng)站/服務(wù)器等;
高階的玩法,可改出口IP(你懂的吧,想想出門在外,有個(gè)帶此功能的便攜路由)、阻止DNS污染(還有反過來的玩法)、做編程器、智能機(jī)器人的“大腦”(吸取上次投稿失敗的經(jīng)驗(yàn),不該寫的一律不寫,嘿嘿)……OpenWrt社區(qū)的組織者Gregers Petersen在一次采訪中提到,“除了傳統(tǒng)的路由器用途,在智能家居主控設(shè)備、機(jī)器人、飛行器、工業(yè)控制設(shè)備、voIP設(shè)備等很多領(lǐng)域,都有愛好者和商業(yè)項(xiàng)目在使用OpenWrt,甚至有愛好者已經(jīng)完整移植了Android系統(tǒng)并且真正打通了電話。而嫁接到OpenWrt上的Arduino Yun,使大家意識(shí)到Linux與物理世界交互一種非常簡單的可能性,這賦予了OpenWrt更大的想象空間。在新型智能設(shè)備和機(jī)器人的熱潮中,OpenWrt的價(jià)值也越來越得到人們的重視。相比Android系統(tǒng),OpenWrt被認(rèn)為是更加適應(yīng)智能設(shè)備和機(jī)器人的平臺(tái),其直接的原生二進(jìn)制代碼具有更高的計(jì)算效率”。
在路由器上安裝模塊化的Linux發(fā)行版,如果這個(gè)主意一丁點(diǎn)兒沒讓你感到興奮的話,你可能讀錯(cuò)了文章。除了可以作路由器,我現(xiàn)在就列出OpenWrt其他一些比較酷的功能。
原文標(biāo)題:基于OPenWrt的移動(dòng)機(jī)器人系統(tǒng)設(shè)計(jì)!
文章出處:【微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
機(jī)器人
+關(guān)注
關(guān)注
210文章
28108瀏覽量
205858 -
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208721 -
人工智能
+關(guān)注
關(guān)注
1789文章
46669瀏覽量
237104
原文標(biāo)題:基于OPenWrt的移動(dòng)機(jī)器人系統(tǒng)設(shè)計(jì)!
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論