ROS_rosbag使用注意点

来源:https://zhengyu.tech

无法对tf的内容进行录制

问题描述:

当我们利用rosbag record/tf进行录制时,有时候会发现有些节点并没有被录制,而这些节点确实存在。比如我们利用robot_state_publisher发布机器人的关节tf信息,就会出现该问题。
进一步仔细观察导出的tf树图,我们可以发现问题:没有被录制的节点并没实时在发布tf信息,所以才导致了该问题。
在这里插入图片描述

解决方法:

这是由于ros添加了tf_static机制,使得对相对固定的tf不必重复发布,从而占用宝贵的带宽。我们只需在关闭该功能即可:

  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" args="robot_description:=robot_description"
      <param name="use_tf_static" value="false" />
  </node>

无法对tf进行重映射

问题描述:

当我们在利用rosbag时,有时候希望对tf名进行重映射,来适配当前代码。例如,H_imu_link_record—> H_imu_link,我们可以很快找到对应功能模块remapper来实现,但是依旧没有变换。

    <node name="remapper" pkg="tf" type="tf_remap" output="screen"> 
        <rosparam param="mappings">[{old: H_imu_link_record, new: /H_imu_link},
        ]</rosparam>
    </node>
解决方法:

其实,我们还需要对原/tf也进行重映射,才能够实现:

    <node pkg="rosbag" type="play" name="player" args="/home/sbdx/Documents/2022_03_04_16_33_48.bag" output="screen">
        <remap from="tf" to="tf_old" />
    </node>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值