目录

  • 1 问题背景
  • 2 问题探索
  • 3 问题解决
  • 4 告别Bug

1 问题背景

环境:Ubuntu20.04 ROS-noetic
现象:打开Rviz与Gazebo加载机器人模型时,终端不停刷新警告TF_REPEATED_DATA ignoring data with redundant timestamp for frame,且在未施加数据的情况下,Rviz中模型车轮有微小移动

2 问题探索

ROS的roswtf工具可以对系统进行安装检查和运行检查。安装完备的ROS系统在未启动roscore前输出以下信息。


现在在系统运行时使用roswtf工具得到以下信息


重点在于right_wheel_linkleft_wheel_link的TF变换有两个发布者:

  • /gazebo
  • /robot_state_publisher

产生了冲突

ERROR TF re-parenting contention:* reparenting of [right_wheel_link] to [base_footprint] by [/gazebo]* reparenting of [left_wheel_link] to [base_footprint] by [/gazebo]* reparenting of [left_wheel_link] to [base_link] by [/robot_state_publisher]* reparenting of [right_wheel_link] to [base_link] by [/robot_state_publisher]

3 问题解决

/robot_state_publisher发布right_wheel_linkleft_wheel_linkTF变换的方式是在launch文件中:

<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/>

/gazebo发布right_wheel_linkleft_wheel_linkTF变换的方式是在.xacro文件中:

<!-- 差速控制器 -->
<gazebo><plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">...<publishWheelTF>true</publishWheelTF><publishWheelJointState>true</publishWheelJointState>...</plugin>
</gazebo>

所谓joint_state_publisherrobot_state_publisher是ROS系统中更新机器人状态的两个节点:

  • joint_state_publisher:读取由robot_description定义的URDF文件内的参数,找到所有非固定(non-fixed)关节并将当前关节信息转化为sensor_msgs/JointState消息发布到话题joint_states
  • robot_state_publisher:可以理解为一个tf广播器,订阅话题joint_states,并根据消息内容计算更新当前机器人的运动学模型,通过tf广播器发布坐标系状态

如果不使用joint_state_publisherrobot_state_publisher,Rviz等组件就无法收到最新的机器人全体连杆TF树,因此考虑将差速控制器中的publishWheelTFpublishWheelJointState均设置为false,即可消除冲突

4 告别Bug

本文收录于《告别Bug》专栏,该专栏记录人工智能领域中各类Bug以备复查,文章形式为:问题背景 + 问题探索 + 问题解决,订阅专栏+关注博主后可通过下方名片联系我进入AI技术交流群帮忙解决问题

【已解决】TF_REPEATED_DATA ignoring data with redundant timestamp for frame相关推荐

  1. 已解决WARNING: Ignoring invalid distribution -addlepaddle (d:softpython36libsite-packages)

    已解决(pip安装模块报错)WARNING: Ignoring invalid distribution -addlepaddle (d:\soft\python36\lib\site-package ...

  2. 已解决ValueError: 4 columns passed, passed data had 2 columns

    已解决(pandas创建DataFrame对象失败)ValueError: 4 columns passed, passed data had 2 columns 文章目录 报错代码 报错翻译 报错原 ...

  3. 已解决正确查看pip版本、查看pip帮助命令

    已解决(pip查看版本报错)Usage:pip [options] no such option: -verson 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解 ...

  4. 已解决Usage:pip [options] no such option: —verson

    已解决(pip查看版本报错)Usage:pip [options] no such option: -verson 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解 ...

  5. 已解决Resource stopwords not found. Please use the NLTK Downloader to obtain the resource:

    已解决(nltk加载停用词词库报错问题)Resource stopwords not found. Please use the NLTK Downloader to obtain the resou ...

  6. 已解决pandas创建DataFrame对象失败

    已解决(pandas创建DataFrame对象失败)ValueError: Shape of passed values is (1509, 1), indices imply (1509, 2) 文 ...

  7. (已解决)微信小程序调查问卷所有题放在一个页面上

    最近做一个调查问卷的小程序改需求时遇到了一个问题: 要将所有单选题放在一个页面上,我用了双层循环嵌套将每道题的下标以及每个题对应的选项下标循环出来 但是每个单选的radioChange绑定事件都是同一 ...

  8. org.csource.common.MyException: item “tracker_server“ in null not found异常已解决

    org.csource.common.MyException: item "tracker_server" in null not found异常已解决 背景 自己写的博客项目使用 ...

  9. 已解决NameError: name ‘unichr‘ is not defined

    已解决(Python3报错)NameError: name 'unichr' is not defined 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错 ...

最新文章

  1. Python之xml文件处理(一)——使用ElementTree遍历xml
  2. ffmpeg 源码学习之seek play
  3. Springboot应用中线程池配置教程(2021版)
  4. vue避免重新渲染_详解强制Vue组件重新渲染的方法
  5. 39岁程序员住进养老院,早6晚9的作息,网友羡慕哭了
  6. retrofitWrap
  7. 实现截图页面并导出word
  8. kakfa学习教程一
  9. css用户界面样式(附实例、图解)
  10. 各厂商服务器存储默认管理口登录信息(默认IP、用户名、密码)
  11. linux红帽子系统作用,linux 红帽子9.0操作系统怎么装?
  12. C语言平年闰年该月天数,2. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。(C语言编程题)...
  13. ST大宗商品订货系统源码.net语言
  14. python-字符串练习1
  15. layui+thymeleaf 点击弹框右上角叉号刷新父页面
  16. 带孩子看的100部BBC经典纪录片
  17. 《绿光森林》惹争议 收视冠军也是挨骂冠军
  18. 全球与中国1,2,6-己三醇市场深度研究分析报告
  19. [产品]:基于DTCloud开发的一款AI考试系统
  20. c++中while语句的使用

热门文章

  1. 文献检索与SCI、EI、ISTP
  2. antv图例出现分页_AntV - G2
  3. div怎么在css中设置字体大小,根据div大小调整字体大小
  4. MATLAB-真彩色图像RGB直方图绘制
  5. python办公自动化 使用openpyxl合并excel表格
  6. ubuntu安装git失败解决办法
  7. LayUI 之动态树形菜单
  8. 爱因斯坦广义相对论: 质量/能量物体是如何影响时空的?
  9. win10定时开机(Win10定时开机关机)
  10. Twitter在15岁终于迎来蜕变