經過前面一系列的鋪墊,相信你們對整個miiboo機器人的DIY有了一個清晰總體的認識。接下來就正式進入機器人大腦(嵌入式主板:樹莓派3)的開發。本章將從樹莓派3的開發環境搭建入手,爲後續ros開發、slam導航及語音交互算法作準備。本章內容:html
1.安裝系統ubuntu_mate_16.04python
2.安裝ros-kineticnginx
4.PC端與robot端ROS網絡通訊django
5.Android手機端與robot端ROS網絡通訊ubuntu
6.樹莓派USB與tty串口號綁定centos
底盤、激光雷達、IMU這三個傳感器都使用串口與樹莓派通訊,爲了防止每次開機這三個設備的串口號發生變更,須要將串口號進行綁定與重映射。架構
建立rules文件:ide
rules文件前的序號越大優先級越小,將優先級設置的小一點;建立文件/etc/udev/rules.d/99-miiboo-usb-serial.rules,文件內容如圖28。
(圖28)/etc/udev/rules.d/99-miiboo-usb-serial.rules文件內容
肯定新插入串口設備的屬性:
#將<devpath>替換成新插入串口設備號,如/dev/ttyUSB0 udevadm info -a -p $(udevadm info -q path -n <devpath>)
在輸出的數據中從上到下找(如KERNELS=="1-1.4.3:1.0"形式的項),下一個不帶「:」的KERNELS就是咱們要找的,將下面這些參數
ATTRS{idProduct}
ATTRS{idVendor}
KERNELS
的取值填入上面建立的rules文件中對應的位置,而後在SYMLINK+中給這個設備取一個別名,MODE設爲0777。
將底盤、雷達、IMU依次插入樹莓派3的USB口,重複執行上面肯定新插入串口設備的屬性這一步,直到將這3個串口都綁定完成。這裏將底盤、雷達、IMU分別ttyUSB*名稱分別映射成別名miiboo、lidar、imu,這樣在不改變底盤、雷達、IMU插入樹莓派3的USB口物理孔位順序時,不論上電開機後這3個串口被系統分配的ttyUSB*實際是多少,咱們均可以用映射好的別名/dev/miiboo、/dev/lidar、/dev/imu來訪問底盤、雷達、IMU串口,而且不用擔憂用戶訪問權限不足的問題。這裏特別說明,miiboo機器人的底盤、雷達、IMU插入樹莓派3的USB口物理孔位順序,如圖29,請不要改變這個順序。
(圖29)miiboo機器人的底盤、雷達、IMU插入樹莓派3的USB口物理孔位順序
使綁定設置生效:
重啓機器人使綁定設置生效,命令以下。
sudo reboot
機器人重啓後經過命令查看綁定是否生效,看到下面的輸出就說明綁定成功了,如圖30。
(圖30)查看綁定是否生效
------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技術交流羣,一塊兒討論學習^_^
關於咱們:
視頻教程: