在個人想象中機器人首先應該能自由的走來走去,而後應該能流利的與主人對話。朝着這個理想,我準備設計一個能自由行走,而且能夠與人語音對話的機器人。實現的關鍵是讓機器人能經過傳感器感知周圍環境,並經過機器人大腦處理並輸出反饋和執行動做。本章節涉及到的傳感器有激光雷達、IMU、輪式里程計、麥克風、音響、攝像頭,和用於處理信息的嵌入式主板。關於傳感器的ROS驅動程序開發和在機器人上的使用在後面的章節會展開,本章節重點對機器人傳感器和嵌入式主板進行講解,主要內容:html
1.ydlidar-x4激光雷達python
2.帶自校準九軸數據融合IMU慣性傳感器nginx
3.輪式里程計與運動控制django
4.音響麥克風與攝像頭ubuntu
5.機器人大腦嵌入式主板性能對比centos
要讓機器人能跟人進行對話,須要麥克風和音響。其實麥克風就至關於機器人的耳朵,音響就至關於機器人的嘴巴。攝像頭做爲機器人的眼睛,攝像頭能夠用來幫助機器人定位或認識環境。架構
(圖29)音響ide
如圖29,爲音響的基本配件。這裏須要說明一下,因爲後面使用樹莓派3做爲機器人的大腦,不過樹莓派3的自帶聲卡很差用,驅動容易崩潰,因此這裏推薦使用免驅的USB聲卡。其實,聲卡就是DA轉換器,就是將數字音頻信號轉換爲模擬電壓信號;音響就是將聲卡輸出的模擬電壓進行放大並經過喇叭播放出來。性能
(圖30)麥克風與攝像頭
如圖30,攝像頭上直接集成了麥克風。這裏選用的是四麥陣列指向性麥克風,能夠對特定方向上的聲音拾取,並過濾其餘方向上的雜音。這裏的攝像頭是640x480像素60fps。
(圖31)麥克風與攝像頭
咱們只須要在機器人上安裝對應的ROS驅動,就能夠經過發佈和訂閱相應的主題來實現對傳感器的訪問了。如圖31,iat語音識別節點用於驅動麥克風,並將麥克風採集的語音轉換爲文字;問答(QA)和天然語言處理(NLP)節點處理iat語音識別節點發布的文字,並將處理結果發佈給tts語音合成節點;tts語音合成節點訂閱問答(QA)和天然語言處理(NLP)節點發布的文字,並驅動聲卡將文字轉換爲語音;攝像頭ROS驅動將攝像頭數據直接發佈到相應的話題。這樣機器人上的其餘節點均可以經過訂閱與發佈相應的節點來訪問麥克風、聲卡和攝像頭。關於圖像、語音、文字等處理的具體應用將在後面詳細展開。
------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技術交流羣,一塊兒討論學習^_^
關於咱們:
視頻教程: