SLAM+語音機器人DIY系列:(三)感知與大腦——6.做一個能走路和對話的機器人


摘要                                              

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

1.ydlidar-x4激光雷達

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

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

4.音響麥克風與攝像頭

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

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



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

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

(圖46)想象中的機器人

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

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

(圖47DIY部件准備

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

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

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

(圖49)機器人硬件框架

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

(圖50)機器人軟件框架

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

后記                                              

------SLAM+語音機器人DIY系列【目錄】快速導覽------

第1章:Linux基礎

1.Linux簡介

2.安裝Linux發行版ubuntu系統

3.Linux命令行基礎操作

第2章:ROS入門

1.ROS是什么

2.ROS系統整體架構

3.在ubuntu16.04中安裝ROS kinetic

4.如何編寫ROS的第一個程序hello_world

5.編寫簡單的消息發布器和訂閱器

6.編寫簡單的service和client

7.理解tf的原理

8.理解roslaunch在大型項目中的作用

9.熟練使用rviz

10.在實際機器人上運行ROS高級功能預覽

第3章:感知與大腦

1.ydlidar-x4激光雷達

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

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

4.音響麥克風與攝像頭

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

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

第4章:差分底盤設計

1.stm32主控硬件設計

2.stm32主控軟件設計

3.底盤通信協議

4.底盤ROS驅動開發

5.底盤PID控制參數整定

6.底盤里程計標

第5章:樹莓派3開發環境搭建

1.安裝系統ubuntu_mate_16.04

2.安裝ros-kinetic

3.裝機后一些實用軟件安裝和系統設置

4.PC端與robot端ROS網絡通信

5.Android手機端與robot端ROS網絡通信

6.樹莓派USB與tty串口號綁定

7.開機自啟動ROS節點

第6章:SLAM建圖與自主避障導航

1.在機器人上使用傳感器

2.google-cartographer機器人SLAM建圖

3.ros-navigation機器人自主避障導航

4.多目標點導航及任務調度

5.機器人巡航與現場監控

第7章:語音交互與自然語言處理

1.語音交互相關技術

2.機器人語音交互實現

3.自然語言處理雲計算引擎

第8章:高階拓展

1.miiboo機器人安卓手機APP開發

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章將持續更新,敬請關注-----------------

 

如果大家對博文的相關類容感興趣,或有什么技術疑問,歡迎加入下面的《SLAM+語音機器人DIY》QQ技術交流群,一起討論學習^_^

關於我們:

視頻教程:

 

https://www.bilibili.com/video/av61448040


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM