在個人想象中機器人首先應該能自由的走來走去,而後應該能流利的與主人對話。朝着這個理想,我準備設計一個能自由行走,而且能夠與人語音對話的機器人。實現的關鍵是讓機器人能經過傳感器感知周圍環境,並經過機器人大腦處理並輸出反饋和執行動做。本章節涉及到的傳感器有激光雷達、IMU、輪式里程計、麥克風、音響、攝像頭,和用於處理信息的嵌入式主板。關於傳感器的ROS驅動程序開發和在機器人上的使用在後面的章節會展開,本章節重點對機器人傳感器和嵌入式主板進行講解,主要內容:html
1.ydlidar-x4激光雷達python
2.帶自校準九軸數據融合IMU慣性傳感器linux
3.輪式里程計與運動控制nginx
5.機器人大腦嵌入式主板性能對比django
6.作一個能走路和對話的機器人ubuntu
從事SLAM與機器人導航也有幾年時間了,期間用過很多的嵌入式主板作開發。機器人是軟硬件結合的一個實體,這裏就對機器人的大腦(嵌入式主板)進行一些討論。結合我用過的一些嵌入式開發板,展開對比分析,具體型號如圖32。小程序
(圖32)我用過的嵌入式板型號centos
樹莓派一直很火,如今已經推出第三代了。這裏放一張樹莓派0、樹莓派2、樹莓派3的全家福吧,如圖33。網絡
(圖33)樹莓派全家福
接下來看看具體的性能參數,如圖34。若是想了解更多關於樹莓派的資料,能夠閱讀樹莓派的wiki教程https://en.wikipedia.org/wiki/Raspberry_Pi。
(圖34)樹莓派性能參數
樹莓派3,售價200RMB左右,CPU是1.2Ghz ARM-Cortex-A53,內存1GB,板載wifi模塊,還有一個多媒體顯示GPU(不過感受沒什麼用)。CPU和內存配置算的的上是同等價位嵌入式主板的戰鬥機了,板載wifi這個也很實用。雖然樹莓派支持安裝不少種linux系統,因爲我這裏要跑ROS機器人系統,因此我選擇了安裝ubuntu-mate-16.04, ubuntu-mate-16.04 LTS其實是ubuntu-16.04 LTS的一部分,爲桌面、Raspberry Pi 2和3單片機準備的,這也是Ubuntu MATE的首個LTS長期支持版,亮點在於包含MATE 1.12.1桌面環境,針對平板支持多點觸控和「天然滾動」,對多屏幕設置提供更好的支持,更好的會話管理,擴展的systemd支持,改進過的Power小程序——可顯示產品型號和提供商信息等內容。
(圖35)ubuntu-mate-16.04系統界面
安裝好ubuntu-mate-16.04操做系統後,上電能夠看到圖35所示的系統界面,就能夠安裝kinetic版本的ROS了,而後就能夠驗證SLAM算法了。Gmapping激光SLAM建圖和ros-navigation自動導航跑的都很順暢;google-cartographer進行建圖和重定位也沒什麼問題;跑ORB-SLAM2的Mono模式就不太行了,幀率5幀之內。
螢火蟲開發板仍是很強大的板子分RK3288和RK3399兩個版本,先看一下官方的宣傳廣告。
(圖36)Firefly-RK3399
如圖36所示,RK3399雙核CortexA72+四核CortexA53的CPU和2GB/4GB可選配的內存,一看這些配置就知道很強大,的確跑各類視覺算法很不錯,不過1000RMB的售價感受有點小貴。
(圖37)Nvidia-jetson-TK1
Tegra K1是Nvidia推出的一款AI級別的嵌入式主板,ARM-Cortex-A15的CPU,192個CUDA核心的kepler架構的GPU,2GB內存,如圖37。有人用Tegra K1作了一個計算集羣,感受還挺有意思的,如圖38。
(圖38)Nvidia-jetson-TK1計算集羣
Jetson TX2的是能夠做爲核武器的處理器的(@~@),性能是十分強大的。簡單的智能小車或者機器人不推薦使用TX2,性價比比較低。利用TX2作處理器,控制移動平臺(高精度的小車底盤)作SLAM我以爲是一個至關有意思的項目,TX2的處理能力很是適合實現機器視覺。
(圖39)Nvidia-jetson-TX2
圖39中左邊是官方的開發板和擴展板,不過因爲官方擴展板體積太大了用在不少地方不方便,因而網上推出了一款小巧的擴展板Connect Tech Inc很不錯。
(圖40)Nvidia-jetson-TX1/2性能參數
這個是性能表,看上去也是叼叼的,不過售價不便宜接近5000RMB。。。
前面介紹的都是ARM架構的主板,如今介紹一款X86架構的主板NUC。
(圖41)Intel-NUC
以前用過Intel-NUC7-i7,19V供電65W功耗感受不適合嵌入式級別的應用場合,並且3000RMB的售價也無法和Nvidia-jetson-TX2比較性價比,因此不推薦在機器人上使用。
其實這是intel一個失敗的嘗試,主打物聯網應用,CPU採用intel的Atom處理器,最大的亮點是能夠在主板上直接擴展Ardunio單片機開發板。如圖42。
(圖42)Intel-Edison
其實我的不推薦用Edison來開發SLAM算法,不過也有公司作這方面的嘗試,好比上海思嵐科技的SLAMWARE-CORE就是Edison的模仿者。
(圖43)SLAMWARE-CORE
其實Tango-phone是一個完整的AR方案,手機內集成了深度相機和VO視覺里程計。
(圖44)Tango-phone
看網上的演示視頻也是十分的炫酷,不過最終這個項目仍是沒有在google中火起來,可能仍是存在很多問題的吧。
(圖45)性能對比
最後,總結一些各個開發板的性能對比,見圖45。玩機器人和SLAM的朋友們,若是是中低端需求推薦樹莓派3,高端需求推薦jetson-TX2。
------SLAM+語音機器人DIY系列【目錄】快速導覽------
第1章:Linux基礎
第2章:ROS入門
第3章:感知與大腦
第4章:差分底盤設計
第5章:樹莓派3開發環境搭建
第6章:SLAM建圖與自主避障導航
2.google-cartographer機器人SLAM建圖
第7章:語音交互與天然語言處理
第8章:高階拓展
2.centos7下部署Django(nginx+uwsgi+django+python3)
----------------文章將持續更新,敬請關注-----------------
若是你們對博文的相關類容感興趣,或有什麼技術疑問,歡迎加入下面的《SLAM+語音機器人DIY》QQ技術交流羣,一塊兒討論學習^_^
關於咱們:
視頻教程: