在我的想像中機器人首先應該能自由的走來走去,然後應該能流利的與主人對話。朝著這個理想,我準備設計一個能自由行走,並且可以與人語音對話的機器人。實現的關鍵是讓機器人能通過感測器感知周圍環境,並通過機器人大腦處理並輸出反饋和執行動作。本章節涉及到的感測器有激光雷達、IMU、輪式里程計、麥克風、音響、攝像頭,和用於處理信息的嵌入式主板。關於感測器的ROS驅動程序開發和在機器人上的使用在後面的章節會展開,本章節重點對機器人感測器和嵌入式主板進行講解,主要內容:

1.ydlidar-x4激光雷達

2.帶自校準九軸數據融合IMU慣性感測器

3.輪式里程計與運動控制

4.音響麥克風與攝像頭

5.機器人大腦嵌入式主板性能對比

6.做一個能走路和對話的機器人


6.做一個能走路和對話的機器人

在我的想像中機器人首先應該能自由的走來走去,然後應該能流利的與主人對話。朝著這個理想,我準備設計一個能自由行走,並且可以與人語音對話的機器人。為了更形象的表達我的想法,我的小學五年級的繪畫水平也是豁出去了,如果有大神路過,懇請多多包涵,畫好後的樣子大概就是這樣啦,如圖46。

(圖46)想像中的機器人

有了想法,接下來就要開始親自動手DIY了。體驗動手樂趣的同時,以玩耍的形式融入當下前沿的SLAM、自動導航、圖像識別、語音識別、自然語言處理等技術,提高自己的同時找到屬於兒時的那一份快了。

說幹就幹,首先需要準備好激光雷達、IMU、底盤、音響、麥克風、攝像頭這些感測器,然後還要準備一塊樹莓派3開發板作為機器人的大腦。其實這些知識已經通過前面的文章打好了基礎,所以就好辦多了,準備好這些東西就好了,如圖47。

(圖47)DIY部件準備

準備好感測器和樹莓派3後,就可以進行組裝了。經過緊張有趣的組裝後,一臺有趣的機器人就被DIY出來了,這時候終於可以看到傳說中的機器人的真容了,如圖48,雖然機器人的真實樣子沒有想像中的那麼有藝術感,但科技感十足有木有@^@

(圖48)DIY出來的機器人真容

麻雀雖小五臟俱全,現在就來對這個會說話會走路的機器人做一做剖析吧。機器人的骨架是由亞克力板和銅柱組合而成;兩個帶編碼器的減速電機和一個萬向輪作為運動執行機構;可充電鋰電池給整個機器人供電;stm32電機控制板用於控制電機運動並提供里程數據,是底盤的核心部件;激光雷達提供環境障礙信息,用於SLAM建圖和避障導航;IMU用於在里程計數據融合、SLAM建圖、導航中提供慣導數據;免驅USB音效卡、音響、四麥陣列指向性麥克風作為語音交互過程中的輸入輸出部件;攝像頭用於物體識別、物體跟蹤、環境監控、視覺輔助定位;樹莓派3是整個機器人的中央處理單元,各個感測器的ROS驅動、SLAM演算法、導航演算法、語音交互、自然語言處理演算法、圖像處理演算法都將運行在上面。為了更好的理解機器人的工作原理,這裡給出機器人的硬體框架,如圖49。

(圖49)機器人硬體框架

機器人的硬體搭建完畢後,就要賦予機器人靈魂了。這裡說的靈魂就是我們的軟體及演算法,包括各個感測器的ROS驅動、輪式里程計與IMU融合、激光SLAM建圖、自主導航避障、語音識別、語音合成、自然語言處理、物體識別、物體跟蹤、遠程視頻監控、視覺輔助定位、機器人與工作PC、Android手機之間的通信等。為了更好的理解機器人的工作原理,這裡給出機器人的軟體框架,如圖50。

(圖50)機器人軟體框架

做了如此長的鋪墊,大家肯定已經等不及要親自動手去開發機器人上的軟體代碼了。別急,接下來的章節將跟你娓娓道來,讓你體驗動手寫程序真正的快樂$^$


推薦閱讀:
相關文章