ROS1重温:仿真警告-TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at...

这篇具有很好参考价值的文章主要介绍了ROS1重温:仿真警告-TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


缘来

  • 问题程序功能: 在仿真环境下,观测机器人运动时的传感器数据
  • 具体发生状况:
    • 首先启动了用于模拟机器人运动环境的 Gazebo launch文件
    • 紧接着启动了用于启动 rviz 文件来观测传感器数据的 launch 文件,这一 launch 文件启动之后,在该终端中一直报警告信息。(警告信息如下图所示)
      ROS1重温:仿真警告-TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at...,ROS1重温历程,人工智能,机器人,自动驾驶

警告信息样例:
[ WARN] [1677126755.840258548, 2528.881000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at time 2528.878000 according to authority unknown_publisher文章来源地址https://www.toymoban.com/news/detail-759776.html


分析

程序运行结果

  • 第一眼,从字面上看,是 TF 时间问题,时间戳不对齐
  • 细查代码,代码中不存在对 TF 时间上的修改
  • 观测 rviz ,看到左右轮所指向的父节点一直在 “base_link”“base_footprint” 之间跳动
    ROS1重温:仿真警告-TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at...,ROS1重温历程,人工智能,机器人,自动驾驶
  • 运用 rqt_tf_treerosrun rqt_tf_tree rqt_tf_tree 查看 TF 关系 (需预先启动 Master 节点)
  • 通过查看 TF 树,发现左右两轮的父节点为 base_footprint,并非计划的 “base_liunk”
    ROS1重温:仿真警告-TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at...,ROS1重温历程,人工智能,机器人,自动驾驶
  • 从 TF 树中,可以看到 “base_link” 的发布方是 “/robot_state_publisher” ,而两个车轮的发布方来自 “/gazebo”

回看代码

  • “/robot_state_publisher” 来自于第二个 launch 文件,是机器人状态发布节点,即机器人的基本外观部件
<!-- 机器人状态发布节点 -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
  • “/gazebo” 则来自于 Gazebo 内部,因为为了使得机器人运动,加入了传动控制器仿真
  • 同时,从 xacro 仿真代码中,能够发现存在两处涉及到 车轮与其他部件构成关节 的片段
    • 一处来自于自定义编辑的机器人外观部件的仿真代码,此时已经定义好了左右车轮与底盘构成关节
      <!-- 驱动轮到底盘 -->
      <joint name="base_${name}_wheel_joint" type="continuous">
          <parent link="base_link" />
          <child link="${name}_drivel_wheel" />
          <!-- 此处已省略非必要代码 -->
      </joint>
      
    • 另一处来自机器人传动装置的仿真代码,标签<publishWheelTF><publishWheelJointState>的值为 true,此处又重新发布了一次关系
      <!-- 控制器 -->
      <gazebo>
          <plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">
              <publishWheelTF>true</publishWheelTF>
              <publishWheelJointState>true</publishWheelJointState>
              <leftJoint>base_l_wheel_joint</leftJoint> <!-- 左轮 -->
              <rightJoint>base_r_wheel_joint</rightJoint> <!-- 右轮 -->
              <robotBaseFrame>base_footprint</robotBaseFrame> <!-- 根坐标系 -->
          	<!-- 此处已省略非必要代码 -->
          </plugin>
      </gazebo>
      

问题原因总结

  • 启动机器人仿真环境的代码中出现了: TF 发布关系冲突,冲突来自于 xacro 文件

解决方法

  • 将标签<publishWheelTF><publishWheelJointState>的值修改为 false
  • 重新启动模拟仿真环境,解决问题

到了这里,关于ROS1重温:仿真警告-TF_REPEATED_DATA ignoring data with redundant timestamp for frame r_drivel_wheel at...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu20.04同时安装ROS1和ROS2共存

    每版的Ubuntu系统版本都有与之对应ROS版本的,每一版ROS都有其对应版本的Ubuntu版本,不可随便装,ubuntu20.04对应ROS1 noetic和ROS2 foxy ROS2 Galactic版本。当然最方便的是使用鱼香ROS一键安装: 但我们接下来使用手动安装。 老规矩,先换源 打开软件更新 选择Download from-Other,找到C

    2024年02月08日
    浏览(43)
  • 机器人项目:从 ROS2 切换到 ROS1 的原因

             机器人操作系统ROS是使用最广泛的机器人中间件平台。它在机器人社区中使用了10多年,无论是在业余爱好者领域还是在工业领域。ROS可用于各种微控制器和计算机,从Arduino到Raspberry Pi再到Linux工作站,它为电机控制器,视觉传感器,深度摄像头和激光扫描仪提供

    2024年02月12日
    浏览(36)
  • FTXUI编译和使用(不含ROS1/2)

    和ROS1/2融合的例子后续补充,先介绍基础内容, FTXUI是C++编写的适用: win linux macos …… 命令行UI。 下载FTXUI源码,然后,编译即可: mkdir build cmake .. make 看一看效果? 按钮示例 颜色调节 灰   黄   曲线图等   最简单的例子: ​ #include ftxui/dom/elements.hpp #include ftxui/screen/sc

    2024年02月16日
    浏览(46)
  • Ubuntu22.04 apt 安装 ROS1 ROS Noetic Ninjemys

    众所周知ROS2还有很多功能没有移植,而ROS1官方不再支持 Ubuntu20.04 之后的版本。另一方面Ubuntu22.04 更新了很多对新硬件的驱动,有更好的兼容性和体验,这就变的很纠结。 如果想在 22.04 使用最新版本的 ROS Noetic 只有自己编译一个办法。编译整套ROS。 对于初学者来说是个不小

    2024年04月11日
    浏览(78)
  • ubuntu 22.04源码装ros1 noetic

    参考链接 https://gist.github.com/Meltwin/fe2c15a5d7e6a8795911907f627255e0 参考:https://blog.csdn.net/zyh821351004/article/details/135519444?spm=1001.2014.3001.5501 sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py sudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py sudo g

    2024年01月16日
    浏览(61)
  • ROS1/2机器人课程的价值和规模

    价值用价格,规模用销量。 免费的ROS1/2课程也很多。  2023版,15元,24人。     2022版,1.99元,21人。 价格不贵,人数很少,店家也很少。 当然,有朋友说,有免费冲击,网上各类资源冲击。那就再举个例子,比如考研,免费资料超多,网上各种资料超多,如下销量,仅为一

    2024年02月12日
    浏览(38)
  • 基于TCP技术在ROS1和ROS2中实现多机通讯

    两台主机共用一个网络,分别为ROS1和ROS2版本,为了实现两台主机之间的通讯,采用TCP通讯技术。 打开防火墙: sudo ufw enable 打开目标端口:例如打开22端口sudo ufw allow 22 测试前,ping一下,看连接是或否成功。

    2024年02月01日
    浏览(51)
  • ROS1&ROS2之CmakeList.txt和package.xml用法详解

    前言:目前还在学习ROS+无人机框架中,,, 更多更新文章详见我的个人博客主页【前往】 在 ROS 系统的功能包中 要包含 CMakeLists.txt 与 package.xml 文件来编译功能包的内容 CMakeLists.txt 原本是 Cmake 编译系统的规则文件,而 Catkin 编译系统基本沿用了 CMake 的编译风格,只是针对

    2024年02月15日
    浏览(34)
  • 【ROS】ROS1人机界面开发:第一个最简ROS+QtGui程序(按钮启动发布者)

    1)新建工程:Other Project -- ROS Workspace 2)设置工程名称、路径 3)可以通过点击“Browse”来创建目录 注意:使用自带ros插件的qtcreator-ros,无法创建目录、也不能选择目录,这是个bug,因此需要在终端手动创建目录,并将目录路径手动输入“Workspace Path”中 4)如果是作为子工

    2024年02月16日
    浏览(65)
  • ubuntu22.04一键安装ROS1和ROS2(超简单,亲测可靠)

    这几天在安装ros,然后发现可以一键安装,话不多说,直接终端输入如下指令 回车之后系统会自动安装ros 详见鱼香ROS

    2024年02月11日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包