开启不同URI的ROS MASTER
不同的URI代表ros master的地址不同,那么注册在其中的节点是不会相互影响的(个人理解),打开终端,执行以下命令:
roscore -p 11312
其中后面的11312是URI地址,默认是11311。在执行上述命令后,再开启一个终端,执行:
export ROS_MASTER_URI='http://localhost:11312'
rosrun turtlesim turtlesim_node
即可在地址为11312的ros master下开启小海龟节点,其中
export ROS_MASTER_URI='http://localhost:11312'
这一句必须执行,这一句相当于是在设置ros master的地址,如果不执行,则使用默认地址。
开启不同URI的gazebo server
与ros master类似,新开启终端,执行:
export GAZEBO_MASTER_URI=http://localhost:11346
这一句是为了设置gazebo的URI,默认在地址为11345。不可与ros master的地址重复。
用Gazebo同时开启多个不同的仿真环境
首先,在终端1执行
roscore -p 11312
新开启终端,在终端2执行
export ROS_MASTER_URI='http://localhost:11312'
export GAZEBO_MASTER_URI=http://localhost:11346
(此处可以开启正常载入gazebo环境的launch文件)
新开启终端,在终端3执行
roscore -p 11313
再新开启终端,在终端4执行
export ROS_MASTER_URI='http://localhost:11313'
export GAZEBO_MASTER_URI=http://localhost:11347 (地址和前面不一样)
(此处载入另一个gazebo环境)
实现效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/87e0f457b40b6228a2acd18adc12d0b9.png)