摘要
通過前面一系列的鋪墊,相信大家對整個miiboo機器人的DIY有了一個清晰整體的認識。接下來就正式進入機器人大腦(嵌入式主板:樹莓派3)的開發。本章將從樹莓派3的開發環境搭建入手,為后續ros開發、slam導航及語音交互算法做准備。本章內容:
4.PC端與robot端ROS網絡通信
PC端與robot端ROS網絡通信的設置,其實很簡單。就是要在PC端和機器人端都要指明master和hostname這兩個東西,我們都知道ROS基於的是一個分布式的通信機制,支持多機通信,並且只能有一個master設備作為對其他分部式設備的統一管理。
由於大部分節點算法都是運行在機器人上,PC端只是用於遠程調試,為了系統的效率與穩定性,我把機器人端作為master。如圖24。
(圖24)PC端與robot端ROS網絡通信
首先,配置機器人端的ROS網絡參數,打開機器人用戶目錄下的~/.bashrc配置文件,在最后添加兩個環境變量,如圖25。
(圖25)配置機器人端的ROS網絡參數
不難發現在機器人上mater和host的IP是一樣的,因為機器人被指定為了整個ROS網絡的master設備。修改好后,需要重啟系統使設置參數生效。
然后,配置PC端的ROS網絡參數。這里需要提醒一下,需要讓PC端與機器人出於同一局域網下,如果PC端使用的是虛擬機運行ubuntu建議用物理橋接的方式給虛擬機連網。打開PC端用戶目錄下的~/.bashrc配置文件,在最后添加兩個環境變量,如圖26。
(圖26)配置PC端的ROS網絡參數
不難發現PC端上master填的是機器人IP地址,host為PC本地IP。修改好后,需要重啟系統使設置參數生效。
設置好PC端與robot端ROS網絡通信,在正是進行ROS多機通信時,需要首先在機器人上啟動節點管理里master,啟動命令是roscore,然后就可以在相應的機器上啟動需要的節點了。
后記
------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技術交流群,一起討論學習^_^
關於我們:
視頻教程:
https://www.bilibili.com/video/av61448040