摘要 在我的想象中機器人首先應該能自由的走來走去,然後應該能流利的與主人對話。朝著這個理想,我準備設計一個能自由行走,並且可以與人語音對話的機器人。實現的關鍵是讓機器人能通過感測器感知周圍環境,並通過機器人大腦處理並輸出反饋和執行動作。本章節涉及到的感測器有激光雷達、IMU、輪式里程計、麥克風、音響 ...
摘要
在我的想象中機器人首先應該能自由的走來走去,然後應該能流利的與主人對話。朝著這個理想,我準備設計一個能自由行走,並且可以與人語音對話的機器人。實現的關鍵是讓機器人能通過感測器感知周圍環境,並通過機器人大腦處理並輸出反饋和執行動作。本章節涉及到的感測器有激光雷達、IMU、輪式里程計、麥克風、音響、攝像頭,和用於處理信息的嵌入式主板。關於感測器的ROS驅動程式開發和在機器人上的使用在後面的章節會展開,本章節重點對機器人感測器和嵌入式主板進行講解,主要內容:
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)機器人軟體框架
做瞭如此長的鋪墊,大家肯定已經等不及要親自動手去開發機器人上的軟體代碼了。別急,接下來的章節將跟你娓娓道來,讓你體驗動手寫程式真正的快樂$^$
後記
如果大家對博文的相關類容感興趣,或有什麼技術疑問,歡迎加入下麵的《SLAM+語音機器人DIY》QQ技術交流群,一起討論學習^_^