目录[-]

具体表现为机器人端运行Ros系统,在本地Pc端也运行Ros系统,通过在Pc端可以连接机器人端节点以及显示处理机器人端数据。


1、主从机设置

• 首先保证两台机器在同一个网段内,例如本地Pc端Ip为:192.168.1.101;远程机器人端Ip为:192.168.1.12,则可以进行主从机配置通讯。
• 更改本地Pc端的Ros master 节点为订阅远程机器人端主节点。

sudo vim .bashrc
//在.bashrc文件中增添以下内容
export ROS_IP=192.168.1.12
export ROS_MASTER_URI=http://192.168.1.12:11311

• 确保在机器人端有运行Ros master 节点。
• 在pc端使用rosnode list 指令,查看node 信息,查看是否能够接收到机器人端数据。
• rostopic echo 指令查看topic数据,如果第三步能够查看到node信息,但是第四步无法取得topic 数据,则执行下一步。
• 第五步为更改机器人端 .bashrc 文件,在末尾增加两行。

sudo vim .bashrc
//在.bashrc文件中增添以下内容
export ROS_IP=192.168.1.12
export ROS_MASTER_URI=http://192.168.1.12:11311

如果有多台机器人并行运行的话,需要将各机器人的node master节点设置为同一个机器人的IP,这样才能在本机PC查看node节点并显示topic数据。
此种调试方案设置的每个机器人rosmsater为同一个,因此系统中不可存在相同的node 以及 topic。


2、可能遇到的问题

• 执行第五步后仍然是能够查看node节点信息,但是无法输出具体topic数据。
需要主从机都将对方的ip信息,hostname信息添加到自己的 /etc/hosts中。
• 例如本例,机器人端 /etc/hosts 设置如下:

127.0.0.1       localhost
192.168.1.12。   robots
192.168.1.101.   pcname

• Pc端 /etc/hosts 设置如下:

127.0.0.1       localhost
192.168.1.12。   robots
192.168.1.101.   pcname