[ros多机通信]主从机配置 | 您所在的位置:网站首页 › ros多机配置 › [ros多机通信]主从机配置 |
主从机配置 现有一个需求:robot负责维护master节点,computer负责调用一些节点服务。环境变量如何设置?? 其实问题就是,多系统的ros应该如何通信。 ros需要一个ros-master来控制整个ros通信,选择robot作为master主机,因此在robot中: export ROS_MASTER_URI=http://192.168.1.1:11311 export ROS_HOSTNAME=192.168.1.1 或者 export ROS_IP=192.168.1.1 roscore为了连接到robot中的master,则在computer中这么设置: export ROS_MASTER_URI=http://192.168.1.1:11311 (export ROS_IP=192.168.1.2 ) 或者 (export ROS_HOSTNAME=192.168.1.2)准确回答: 1 两个设备的 export ROS_HOSTNAME .. 是不需要的。 2 在多个设备之间运行ros节点的时候,仅仅需要运行一个master进程。ROS_MASTER_URI 中必须包含运行master设备的ip(通过roscore或者roslaunch等命令)。因此,该环境变量在所有设备中必须是一模一样的。然而,ROS_HOSTNAME or ROS_IP设置为运行ros节点的本机IP. 所以,他们的值在不同设备间是不同的。 3 如果一台机器的hostname设置为其他设备不可寻址的值,你就需要设置 ROS_IP or ROS_HOSTNAME 环境变量,不需要同时设置,他们是互相排斥的。 |
CopyRight 2018-2019 实验室设备网 版权所有 |