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

    ros2小车自主导航到达目标点后一直转圈问题

    已定时 已固定 已锁定 已移动
    Nav2
    nav2导航 ros2 humble
    5
    18
    2.5k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 仟
      仟仟在努力 @小伊
      最后由 编辑

      @小伊 d99f39f2-686d-46d9-9a3e-26bdd6bd78b1-image.png 这个tf坐标树是正常的吗?

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在机器人学、计算机视觉或任何需要坐标变换的领域中,tf(Transform)坐标树(或称为坐标框架树)是一种常用的工具,用于表示不同坐标系之间的相对位置和姿态。要判断一个tf坐标树是否“正常”,我们需要考虑几个关键方面:

        1. 完整性:tf坐标树应该包含所有必要的坐标系,这些坐标系对于执行所需的任务是必需的。例如,在机器人导航中,你可能需要基坐标系(通常是机器人的中心点或某个固定点)、相机坐标系、机械臂末端执行器坐标系等。

        2. 一致性:坐标树中的每个坐标系都应该有明确的父坐标系,并且这种父子关系应该是逻辑上一致的。例如,相机坐标系通常是固定在某个机械臂或机器人身体上的,因此它应该是该机械臂或机器人身体坐标系的子坐标系。

        3. 无循环:tf坐标树中不应存在循环依赖,即没有一个坐标系直接或间接地成为自己的祖先。这会导致逻辑上的混乱和计算上的错误。

        4. 正确的变换:每个坐标系到其父坐标系的变换(包括平移和旋转)应该是准确和恰当的。这通常通过精确的标定和校准过程来确保。

        5. 实时性:在动态环境中,tf坐标树的更新应该足够快,以反映系统的当前状态。过时的变换可能会导致控制错误或导航失败。

        6. 错误处理:tf系统应该有机制来处理变换不存在或不一致的情况,例如通过提供默认变换或发出警告/错误消息。

        如果你有一个具体的tf坐标树实例,并且想要检查它是否“正常”,你可以根据上述标准进行检查。然而,没有具体的tf坐标树描述或图形,我只能给出一般性的指导。如果你能提供更多的上下文或具体的tf坐标树描述,我可以给出更具体的建议。

        此外,许多机器人和计算机视觉库(如ROS的tf库)提供了工具和功能来可视化tf坐标树,这可以帮助你直观地检查其结构和状态。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • D
          dr_engine
          最后由 编辑

          我也有这个问题,到达目标点之后不会径直转向目标方向,会绕一圈或者左右左右扭扭,中间有机会转到目标方向后才有可能停
          我怀疑和nav2_bringup下默认的行为树有关系

          仟 1 条回复 最后回复 回复 引用 0
          • 仟
            仟仟在努力 @dr_engine
            最后由 编辑

            @yyl573683368 我是在小车到达目标点后添加了个等待,就是在行为树中添加的,然后小车可以停在目标点了,但是小车到达目标点的方向误差挺大的而且容易跑甭,所以我觉得在行为树中添加等待是不对的,你的找到问题了吗?

            D 1 条回复 最后回复 回复 引用 0
            • D
              dr_engine @仟仟在努力
              最后由 编辑

              @仟仟在努力 我用的是default那个行为树,到达目标点但是角度不对时会进入recovery,会spin旋转一个角度然后backup倒退一段距离,不知道你有没有这个现象

              仟 1 条回复 最后回复 回复 引用 0
              • 仟
                仟仟在努力 @dr_engine
                最后由 编辑

                @dr_engine 那可能是yaw_goal_tolerance 、xy_goal_tolerance设置的太小了,你改大点试试呢

                1 条回复 最后回复 回复 引用 0
                • 传
                  传说鲈鱼狸
                  最后由 编辑

                  请问这个问题解决了吗?

                  仟 1 条回复 最后回复 回复 引用 0
                  • 仟
                    仟仟在努力 @传说鲈鱼狸
                    最后由 编辑

                    @传说鲈鱼狸 算解决了吧,就在小车到达目标点后添加了个等待就停了。

                    3 1 条回复 最后回复 回复 引用 0
                    • 3
                      3104827606 @仟仟在努力
                      最后由 编辑

                      @仟仟在努力 您好,请问等待的节点直接用源码中有的节点就可以吧,具体改哪个文件可以说一下吗

                      仟 1 条回复 最后回复 回复 引用 0
                      • 仟
                        仟仟在努力 @3104827606
                        最后由 编辑

                        @3104827606 就改了一下行为树中的等待

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