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

摘要                                              

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

1.ydlidar-x4激光雷達python

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

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

4.音響麥克風與攝像頭django

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

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



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

相關文章
相關標籤/搜索