ROS 分布部署环境变量的配置

来源:互联网 发布:已断开此网络登陆超时 编辑:程序博客网 时间:2024/06/06 10:05

首先可看下关于本机的ROS环境变量配置

$ printenv | grep ROS  
//显示类似如下ROS_ROOT=/opt/ros/kinetic/share/ros  ROS_PACKAGE_PATH=/home/peng/catkin_ws/src:/opt/ros/kinetic/share:/opt/ros/kinetic/stacks  ROS_MASTER_URI=http://localhost:11311  ROSLISP_PACKAGE_DIRECTORIES=/home/peng/catkin_ws/devel/share/common-lisp  ROS_DISTRO=kinetic  ROS_ETC_DIR=/opt/ros/kinetic/etc/ros  

其中有一个 ROS_MASTER_URI=http://localhost:11311
如果我们的所有ROS节点程序都运行在一个主机上,那么当然roscore 也就是所谓的节点管理器的地址可设置为本地地址,端口为11311,我们运行的节点就会根据这个环境变量找到这个节点管理器。

但是我们ROS一般不这么用,如果这么用,就完全失去了ROS的魅力所在了,ROS是松耦合、分布式的,我们的ROS节点可以运行在不同的平台不同机器上,所以这时的分布式的环境,就需要进一步ROS的环境变量了。

export ROS_MASTER_URI=http://192.168.1.4:11311export ROS_IP=192.168.1.4//这是运行在roscore 就是master node的URI 和所在机器的ip
export ROS_MASTER_URI=http://192.168.1.4:11311export ROS_IP=192.168.1.116 rosrun pkg-name node-name//这是我们运行在另一台机器上的ros节点   指定master的端口和地址   还有自身的地址

ROS学习–分布部署环境变量配置

ROS/ EnvironmentVariables