一遍成功的ROS主從機詳細配置

ROS支持多機互通,可以設置一臺主機,多臺從機,主機中運行roscore,啓動master節點,從機直接運行其他節點,在配置好的機器之間就可以互相通信了,就像在同一臺機器上一樣。

具體應該如何配置呢?下面看下詳細步驟:

步驟

1、IP設置
一個主機,多個從機,每個先都設定爲同一網段下固定IP。
2、修改~/.bashrc文件
主從機都需要修改~/.bashrc文件,添加以下內容:

主機中添加:

export ROS_HOSTNAME=主機hostname
export ROS_MASTER_URI=http://主機IP:11311
export ROS_IP=主機IP

從機中添加:

export ROS_HOSTNAME=從機hostname
export ROS_MASTER_URI=http://主機IP:11311
export ROS_IP=主機IP

注意,在這裏的ROS_MASTER_URI指明的是作爲主機的IP,因此主機從機這裏要設置爲一致的IP,另外最好加上ROS_IP。

3、修改/etc/hosts文件
接下來這部比較重要,就是將從機的IP添加到主機的 /etc/hosts 這個配置文件裏:

sudo gedit /etc/hosts

主機添加:

從機IP 從機hostname

從機添加:

主機IP 主機hostname

注意:這裏建議主機從機都要將對方的IP hostname添加到自己的 /etc/hosts 中,如果不填加,將無法反向控制。如主機的hosts文件中沒有添加從機的信息,從機只能接收到從主機發來的信息,而無法向主機發送信息。

4、測試
以上設置完成後,基本就可以測試下了
主機運行

roscore
rosrun turtlesim turtlesim_node

從機運行:

rosrun turtlesim turtle_teleop_key

如果可以通過從機上鍵盤控制主機上的小烏龜移動,就說明成功了!

【參考】
1、https://blog.csdn.net/TifferPelode/article/details/52818264
2、https://blog.csdn.net/weixin_43707303/article/details/86496335
3、https://blog.csdn.net/xiangbin099/article/details/79843255

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章