鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    RVIZ2和gazebo联合仿真,RVIZ中出现link连接错误

    已定时 已固定 已锁定 已移动
    动手学ROS2
    rviz2 tf2
    5
    12
    5.4k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 小鱼小
      小鱼 技术大佬 @、捶你胸口
      最后由 编辑

      @捶你胸口 缺少轮子到base_link 之间的TF,检查检查URDF吧

      新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

      、 2 条回复 最后回复 回复 引用 0
      • 、
        、捶你胸口 @小鱼
        最后由 编辑

        @小鱼 您看第二张图,父子link之间应该没出现问题,并且我检查了一遍URDF,感觉link之间的关系应该是没啥问题。因为我用的模型是阿克曼,是阿克曼配置文件没正确配置吗?😥

        感谢您的回复。

        1 条回复 最后回复 回复 引用 0
        • 、
          、捶你胸口 @小鱼
          最后由 编辑

          @小鱼 比较头疼的是为啥一些link正常显示,一些link又显示异常。
          查看tf tree 链接都是正确的,发现的疑点是显示异常的link他们之间的average rate都是50、10等。其他显示正常的link他们之间的average rate都显示为10000.
          除此之外,显示异常的link他们的most recent transform 和 oldest transform 显示的值都非常大,而显示正常的link他们之间的值均为0.
          以上是我发现的疑点,感觉问题也应该是从这块下手,但是查了很多资料发现相关的资料非常少。tf tree如下
          bc05ca48-460a-4263-aa63-f8fdc5b47ee6-3438368605.jpg

          小鱼小 1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @、捶你胸口
            最后由 编辑

            @捶你胸口 因为有的是静态TF,有的是动态,
            对于动态TF 是需要发布 joint_states 进行转换的,具体是这样

            c22cd83e-7144-479d-bfad-d45457b95a3c-image.png

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            、 1 条回复 最后回复 回复 引用 0
            • 、
              、捶你胸口 @小鱼
              最后由 编辑

              @小鱼 照这段话的意思,发布了robot_state_publisher和joint_state_publisher就应该能将固定关节和可移动关节都进行发布了吧?我的launch文件里已经包含了这两个节点发布为啥还是出现了这个问题呀?😵 感谢老师的耐心回复。

              小鱼小 1 条回复 最后回复 回复 引用 0
              • 小鱼小
                小鱼 技术大佬 @、捶你胸口
                最后由 小鱼 编辑

                @捶你胸口 你要是仿真,就需要gazebo来提供这个话题,可以看看我新书里关于这部分的介绍,比较详细

                新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                1 条回复 最后回复 回复 引用 0
                • 、
                  、捶你胸口 @、捶你胸口
                  最后由 编辑

                  @捶你胸口 该问题可以通过在launch文件中的robot_state_publisher_node和joint_state_publisher_node的parameters后加入{'use_sim_time':True}解决。

                  C P 2 条回复 最后回复 回复 引用 1
                  • C
                    cydcyd @、捶你胸口
                    最后由 cydcyd 编辑

                    @捶你胸口 兄弟你好!我可能也遇到了和你一样的问题。我的主要是odom和base_footprint之间的转换有问题。
                    请问可以发一下你的launch代码吗?我的代码里面没有
                    parameters😥

                    <launch>
                        <node pkg="rviz" type="rviz" name="rviz" args="-d $(find xc)/config/xacro_xc.rviz" />
                        <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" output="screen" />
                        <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" />
                    
                    </launch>
                    

                    5a32ca44-5d5e-46c6-9d73-cda804c6696c-image.png
                    0e7e3981-e45e-4fd3-b6d0-5046c091726b-image.png

                    、 1 条回复 最后回复 回复 引用 0
                    • 、
                      、捶你胸口 @cydcyd
                      最后由 编辑

                      @cydcyd 如果是tf转换的问题的话,可以在launch文件中加入代码;将odom和base_footprint进行转换的node。

                      另外如果你将fixed_frame改成一些关节名字模型如果显示正常的话,可以试一下我上面提到的方法。

                      1 条回复 最后回复 回复 引用 0
                      • P
                        pinkHan @、捶你胸口
                        最后由 编辑

                        @捶你胸口 就是这个问题,时间不同步,我也是改了这个后解决了

                        1 条回复 最后回复 回复 引用 0
                        • 第一个帖子
                          最后一个帖子
                        皖ICP备16016415号-7
                        Powered by NodeBB | 鱼香ROS