【已解决】TF_REPEATED_DATA ignoring data with redundant timestamp for frame
目录
- 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_link
与left_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_link
与left_wheel_link
TF变换的方式是在launch
文件中:
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/>
/gazebo
发布right_wheel_link
与left_wheel_link
TF变换的方式是在.xacro
文件中:
<!-- 差速控制器 -->
<gazebo><plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">...<publishWheelTF>true</publishWheelTF><publishWheelJointState>true</publishWheelJointState>...</plugin>
</gazebo>
所谓joint_state_publisher
和robot_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_publisher
和robot_state_publisher
,Rviz等组件就无法收到最新的机器人全体连杆TF树,因此考虑将差速控制器中的publishWheelTF
和publishWheelJointState
均设置为false
,即可消除冲突
4 告别Bug
本文收录于《告别Bug》专栏,该专栏记录人工智能领域中各类Bug以备复查,文章形式为:问题背景 + 问题探索 + 问题解决,订阅专栏+关注博主后可通过下方名片联系我进入AI技术交流群帮忙解决问题
【已解决】TF_REPEATED_DATA ignoring data with redundant timestamp for frame相关推荐
- 已解决WARNING: Ignoring invalid distribution -addlepaddle (d:softpython36libsite-packages)
已解决(pip安装模块报错)WARNING: Ignoring invalid distribution -addlepaddle (d:\soft\python36\lib\site-package ...
- 已解决ValueError: 4 columns passed, passed data had 2 columns
已解决(pandas创建DataFrame对象失败)ValueError: 4 columns passed, passed data had 2 columns 文章目录 报错代码 报错翻译 报错原 ...
- 已解决正确查看pip版本、查看pip帮助命令
已解决(pip查看版本报错)Usage:pip [options] no such option: -verson 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解 ...
- 已解决Usage:pip [options] no such option: —verson
已解决(pip查看版本报错)Usage:pip [options] no such option: -verson 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解 ...
- 已解决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 ...
- 已解决pandas创建DataFrame对象失败
已解决(pandas创建DataFrame对象失败)ValueError: Shape of passed values is (1509, 1), indices imply (1509, 2) 文 ...
- (已解决)微信小程序调查问卷所有题放在一个页面上
最近做一个调查问卷的小程序改需求时遇到了一个问题: 要将所有单选题放在一个页面上,我用了双层循环嵌套将每道题的下标以及每个题对应的选项下标循环出来 但是每个单选的radioChange绑定事件都是同一 ...
- org.csource.common.MyException: item “tracker_server“ in null not found异常已解决
org.csource.common.MyException: item "tracker_server" in null not found异常已解决 背景 自己写的博客项目使用 ...
- 已解决NameError: name ‘unichr‘ is not defined
已解决(Python3报错)NameError: name 'unichr' is not defined 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错 ...
最新文章
- Python之xml文件处理(一)——使用ElementTree遍历xml
- ffmpeg 源码学习之seek play
- Springboot应用中线程池配置教程(2021版)
- vue避免重新渲染_详解强制Vue组件重新渲染的方法
- 39岁程序员住进养老院,早6晚9的作息,网友羡慕哭了
- retrofitWrap
- 实现截图页面并导出word
- kakfa学习教程一
- css用户界面样式(附实例、图解)
- 各厂商服务器存储默认管理口登录信息(默认IP、用户名、密码)
- linux红帽子系统作用,linux 红帽子9.0操作系统怎么装?
- C语言平年闰年该月天数,2. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。(C语言编程题)...
- ST大宗商品订货系统源码.net语言
- python-字符串练习1
- layui+thymeleaf 点击弹框右上角叉号刷新父页面
- 带孩子看的100部BBC经典纪录片
- 《绿光森林》惹争议 收视冠军也是挨骂冠军
- 全球与中国1,2,6-己三醇市场深度研究分析报告
- [产品]:基于DTCloud开发的一款AI考试系统
- c++中while语句的使用