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

    小车导航问题

    已定时 已固定 已锁定 已移动
    移动机器人制作
    导航卡住 导航测试
    3
    4
    814
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 4
      qyq
      最后由 编辑

      fishbot小车在导航时,很卡,指定目标点后,有时候会很长时间才动一下,时不时出现错误,以下为运行导航指令

      ros2 launch fishbot_navigation2 navigation2.launch.py
      

      控制台出现的部分错误如下:

      [ERROR] [1717817731.659689055] [transformPoseInTargetFrame]: Extrapolation Error looking up target frame: Lookup would require extrapolation into the past.  Requested time 1717817563.086043 but the earliest data is at time 1717817721.492317, when looking up transform from frame [base_link] to frame [map]
      
      

      70ed1852-6abf-4c59-afd8-e1b842e76b49-image.png
      57f3a581-9ba7-4f78-a6b4-38902129976e-image.png
      还有怎么更换路径规划的算法,我想换成Hybrid A*的算法
      求解决,万分感谢

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

        您遇到的错误提示表明Fishbot小车在导航时遇到了时间外推问题。具体来说,当导航系统尝试将位姿从base_link(小车自身的坐标系)转换到map(地图坐标系)时,它请求了一个在已有数据之前的时间点(即过去的时间),这是不可能的,因为机器人只能获取到当前及之后的数据。

        这个问题可能由以下原因引起:

        1. 时钟不同步:ROS 2 节点之间的时钟没有正确同步。
        2. 消息延迟:变换(tf)消息没有及时发布,或者由于网络延迟,消息没有及时到达。
        3. 高负载或资源不足:如果系统的CPU或内存资源不足,可能会导致消息处理延迟。

        针对这些问题,您可以尝试以下解决方案:

        1. 检查时钟同步:确保所有ROS 2 节点都使用同步的时钟。您可以使用ROS 2 的时间同步工具来确保这一点。
        2. 检查网络延迟:如果您的系统通过网络连接了多个节点,请确保网络稳定且延迟低。
        3. 优化系统资源:关闭不必要的后台进程,确保ROS 2 节点有足够的CPU和内存资源。
        4. 检查tf监听器:确保tf监听器正确配置,并且有足够的缓存时间来处理外推问题。

        关于更换路径规划算法到Hybrid A*:

        在ROS 2 Navigation 2中,更换路径规划算法涉及到替换planner_server节点使用的算法插件。Hybrid A*不是ROS 2 Navigation 2默认支持的算法,但您可以查找是否有第三方实现或自己实现一个。

        以下是一般步骤:

        1. 查找或实现Hybrid A*算法:您需要在ROS 2中实现Hybrid A*算法,或者查找是否有其他人已经实现了它。
        2. 创建插件:将Hybrid A*算法包装为一个ROS 2插件,以便它可以被planner_server加载和使用。
        3. 配置Navigation 2:在navigation2.launch.py或相应的YAML配置文件中,指定使用您实现的Hybrid A*插件作为路径规划器。
        4. 重新编译并运行:重新编译您的ROS 2工作空间,并重新启动导航堆栈,以确保新的规划器被加载和使用。

        请注意,这是一个相对高级的任务,需要对ROS 2和导航算法有深入的了解。如果您不熟悉这些概念,可能需要花费一些时间来学习相关知识或寻求社区的帮助。


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

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

        1 条回复 最后回复 回复 引用 0
        • 4
          qyq @414115309
          最后由 编辑

          @414115309 系统为虚拟机ubuntu22.04,使用的ros2humble版本,

          1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @414115309
            最后由 编辑

            @414115309 看图是没有空间进行移动了,可以尝试换个更大面积的地图

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

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