赞
踩
ros中节点,话题,服务,参数,以及坐标系等都是有名空间的,这个名空间约束着是它们的范围。
前面带"/" 一般表示全局命名空间,不带则表示相对命名空间。在单个机器人中,“/scan” 和“scan”,表示的是同一个话题,但在多机器人中,每一个机器人都有自己的命名空间,“/scan” 和“scan”表示的就不是同一个话题名称,故在多机器人中节点,话题,服务,参数,以及坐标系的前面不要加“/”。
为了支持多个“相似”的机器人,tf使用tf_prefix参数。没有tf_prefix参数,帧名“base_link”将解析为“/ base_link”。
如果tf_prefix参数设置为“robot1”,“base_link”将解析为“/robot1/base_link”。这在运行多机器人时是最有用的,否则这些机器人将在其frame_ids中具有名称冲突。
<launch>
<arg name="robot_name1" value="Robot1" />
<arg name="robot_name2" value="Robot2" />
<arg name="init_pose1" value="-x 1.0 -y 0.0 -z 0.0" />
<arg name="init_pose2" value="-x -1.0 -y 0.0 -z 0.0" />
<!-- 设置launch文件的参数 -->
<arg name="world_name" value="$(find mbot_gazebo)/worlds/cloister.world"/>
<arg name=</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。