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