码迷,mamicode.com
首页 > 其他好文 > 详细

ROS分布式控制的节点配置

时间:2018-01-15 20:36:42      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:machine   接收   key   auto   .bashrc   exp   测试   sdn   ifconf   

  首先在终端中输入下面的指令查看ROS主节点主机的IP和远程控制端的IP:

ifconfig  

  比如机器人控制器中运行着ROS主节点,其IP地址为192.168.1.111,hostname为xubuntu;远程控制端电脑IP为192.168.1.138,hostname为ubuntu. 首先要确保两台电脑能相互ping通。

技术分享图片

  然后在主节点和远程控制端的配置文件 /etc/hosts 中分别添加对方的IP地址和hostname信息(Add entries to your /etc/hosts file so that the machines can find each other)。在xubuntu中的 /etc/hosts文件中加入下面这一行:

192.168.1.138   ubuntu

  在ubuntu中的 /etc/hosts文件中加入下面这一行:

192.168.1.111   xubuntu

  如果主机的hosts文件中没有添加从机的信息,从机只能接收到从主机发来的信息,而无法向主机发送信息。建议主机和从机都要将对方的IP hostname添加到自己的 /etc/hosts 中

  整个系统只需要一个master,选择一个机器来运行master提供topic寻址、参数服务器等功能。所有的节点必须通过环境变量ROS_MASTER_URI配置为使用同一个master在远程控制端电脑ubuntu的 ~/.bashrc文件中加入下面环境变量,用于连接ROS主节点:

export ROS_MASTER_URI=http:/xubuntu:11311

  

  下面来进行一个测试,在xubuntu中输入roscore运行ROS 主节点,然后执行下面命令打开海龟仿真节点:

rosrun turtlesim turtlesim_node 

  在ubuntu中输入rosnode list查看当前节点,可以看到正运行着ros主节点和turtlesim节点:

技术分享图片

  可以在ubuntu中用键盘远程控制xubuntu中的海龟运动,输入下面的指令:

rosrun turtlesim turtle_teleop_key

技术分享图片

   在xubuntu中打开另一个键盘控制节点,重命名为teleop2:

rosrun turtlesim  turtle_teleop_key  __name:=teleop2

  然后在ubuntu中输入下面指令查看海龟速度信息:

rostopic echo /turtle1/cmd_vel

  在xubuntu中用键盘控制海龟运动,可以看出从节点(ubuntu)也能接收到正确的信息:

技术分享图片

 

参考:

ROS-NetworkSetup

ubuntu永久修改主机名

ROS-EnvironmentVariables

ROS中配置主从机需注意的几点

ROS机器人操作系统分布式控制的节点 配置方法

ROS分布式控制的节点配置

标签:machine   接收   key   auto   .bashrc   exp   测试   sdn   ifconf   

原文地址:https://www.cnblogs.com/21207-iHome/p/8289186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!