兩台電腦使用ROS通訊


一、ROS分布式多機通訊簡介

  ROS是一種分布式軟件框架,節點之間通過松耦合的方式組合,在很多應用場景下,節點可以運行在不同的計算平台上,通過Topic,Service通信。

但是各個節點只能共同擁有一個Master,在多機系統中Master只能運行在一台機器上,其他機器通過ssh方式和Master取得聯系。所以多機ROS系統需要進行一些配置。

二、兩台電腦的ROS通訊配置

兩台機器的hostname與IP假設如下:

主機名與IP地址為:A     IP_A        

從機名與IP地址為:B    IP_B

1:先使用下面命令查看兩台計算機的局域網IP地址

ifconfig 

 

 然后打開hosts文件:

sudo gedit /etc/hosts

 

     接着在hosts中加入(間隔為tab鍵):

IP_A  A
IP_B  B

 

2:重啟網絡服務:

sudo /etc/init.d/networking restart

 

3:裝上chrony包,用於實現同步:

sudo apt-get install chrony

4:安裝ssh工具

sudo apt-get install openssh-server

 

 安裝完以后,確認服務器是否已經啟動:

ps -e|grep ssh

 

   如果看到sshd那說明ssh-server已經啟動了。

5:相互ping一下對方機子,看網絡通不通:

ping A     //主機
pnig B     //從機

 

對主機與從機相同地執行上述操作,第六條略有不同

6:把下面的內容增加到.bashrc末尾

export ROS_HOSTNAME=[本機的hostname] #!!!注意是本機的hostname 端口號11311是固定值,照抄即可
export ROS_MASTER_URI=http://[主機的hostname]:11311

 

   執行以下命令,使之有效:

source ~/.bashrc

 

三、注意事項

如果在從機運行一個roslaunch,需要現在主機上運行roscore后,從機才能啟動起來。
原本一個pc上運行roslaunch的時候,會默認啟動rosmaster,但是現在主機是另一個pc了,所以需要這樣先把master跑起來
盡量把最常用的pc設置為master。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM