当前位置:   article > 正文

ROS中多机器人的命名空间和tf_prefix_tf prefix

tf prefix
ROS的命名空间

ros中节点,话题,服务,参数,以及坐标系等都是有名空间的,这个名空间约束着是它们的范围。
前面带"/" 一般表示全局命名空间,不带则表示相对命名空间。在单个机器人中,“/scan” 和“scan”,表示的是同一个话题,但在多机器人中,每一个机器人都有自己的命名空间,“/scan” 和“scan”表示的就不是同一个话题名称,故在多机器人中节点,话题,服务,参数,以及坐标系的前面不要加“/”。

tf_prefix

为了支持多个“相似”的机器人,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=</
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/885313
推荐阅读
相关标签
  

闽ICP备14008679号