求助: FishBot 二驱实际导航漂移非常严重
-
鱼老师好,大家好,
我收到硬件后,照着视频一步步走到这里 9.0.7. FishBot-Nav2导航测试。期间经过折腾(电脑从无线改为有线、路由器只开 2.4G),最终到了导航这一步。可是,实际测试感觉漂移非常严重。比如下面这张图,从出发点,我设置的大概是地图位置作为目标点。可实际上,小车严重跑偏,已经快撞墙了,我手动停止的。
下面是该操作对应的输出日志。请帮忙分析下,可能是什么原因(对了,没有安装超声波传感器,排针被撞坏了)。
-2] [INFO] [1742370461.186269826] [rviz2]: Setting estimate pose: Frame:map, Position(0.0689753, 0.119117, 0), Orientation(0, 0, 0.999991, 0.00429479) = Angle: 3.133
[component_container_isolated-1] [INFO] [1742370461.186631137] [amcl]: initialPoseReceived
[component_container_isolated-1] [WARN] [1742370461.186727455] [amcl]: Failed to transform initial pose in time (Lookup would require extrapolation into the future. Requested time 1742370461.186682 but the latest data is at time 1742370461.141000, when looking up transform from frame [base_footprint] to frame [odom])
[component_container_isolated-1] [INFO] [1742370461.186746671] [amcl]: Setting pose (1742370461.186747): 0.069 0.119 3.133
[rviz2-2] [INFO] [1742370469.304157686] [rviz2]: Setting estimate pose: Frame:map, Position(-0.0137569, 2.19689e-05, 0), Orientation(0, 0, -0.999953, 0.00967109) = Angle: -3.12225
[component_container_isolated-1] [INFO] [1742370469.304542412] [amcl]: initialPoseReceived
[component_container_isolated-1] [WARN] [1742370469.304633065] [amcl]: Failed to transform initial pose in time (Lookup would require extrapolation into the future. Requested time 1742370469.304589 but the latest data is at time 1742370469.291000, when looking up transform from frame [base_footprint] to frame [odom])
[component_container_isolated-1] [INFO] [1742370469.304651265] [amcl]: Setting pose (1742370469.304651): -0.014 0.000 -3.122
[rviz2-2] Start navigation
[rviz2-2] [INFO] [1742370474.086538441] [rviz_navigation_dialog_action_client]: NavigateToPose will be called using the BT Navigator's default behavior tree.
[component_container_isolated-1] [INFO] [1742370474.087350947] [bt_navigator]: Begin navigating from current location (-0.06, -0.04) to (-0.05, -1.00)
[component_container_isolated-1] [INFO] [1742370474.108531122] [controller_server]: Received a goal, begin computing control effort.
[component_container_isolated-1] [INFO] [1742370475.159015046] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [WARN] [1742370475.447942216] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [INFO] [1742370476.213999517] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370477.208847069] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370478.258967859] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [WARN] [1742370478.297869992] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [WARN] [1742370479.271480729] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [INFO] [1742370479.308993941] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370480.308906273] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370481.358911201] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370482.358874089] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370483.409003879] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [WARN] [1742370483.548347613] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [INFO] [1742370484.408860649] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [INFO] [1742370485.458893584] [controller_server]: Passing new path to controller.
[component_container_isolated-1] [WARN] [1742370485.512487461] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [WARN] [1742370485.559801711] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [WARN] [1742370485.567662485] [controller_server]: Control loop missed its desired rate of 20.0000Hz
[component_container_isolated-1] [WARN] [1742370485.586447843] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[component_container_isolated-1] [WARN] [1742370485.663368598] [BehaviorTreeEngine]: Behavior Tree tick rate 100.00 was exceeded!
[rviz2-2] QBasicTimer::stop: Failed. Possibly trying to stop from a different thread
[component_container_isolated-1] [ERROR] [1742370485.893031501] [bt_navigator_navigate_to_pose_rclcpp_node]: Failed to get result for follow_path in node halt!
[component_container_isolated-1] [INFO] [1742370485.893117495] [bt_navigator]: [navigate_to_pose] [ActionServer] Client requested to cancel the goal. Cancelling.
[component_container_isolated-1] [INFO] [1742370485.893310684] [bt_navigator]: Goal canceled
[component_container_isolated-1] [INFO] [1742370485.909396480] [controller_server]: Goal was canceled. Stopping the robot.
[component_container_isolated-1] [INFO] [1742370485.909497593] [controller_server]: [follow_path] [ActionServer] Client requested to cancel the goal. Cancelling -
使用的是FishBot 二驱,软件就是教程一步步走下来的,没有摄像头。
雷达扫描频率大概 7Hz
$ ros2 topic hz /scan
average rate: 6.925
min: 0.138s max: 0.150s std dev: 0.00384s window: 8
average rate: 6.916
min: 0.134s max: 0.154s std dev: 0.00580s window: 15 -
实际导航中,比如我随便先跑到一个比较近的目的地,再设置目的地到出发点,实际上小车完全回不到出发点,几乎可以说乱来,最多大方向是对的。
-
@atjason 这个图感觉不太合格,比较乱,收拾下场地重新建一个,另外注意有没有玻璃之类的,还有初始化点要准确
-
@小鱼 感谢回复。我再找个很简单纯粹的场地试下。
-
@小鱼 鱼老师好,找了一个四方的场景(一侧开门,让 WiFi 信号进来,路由器就在门口),很短距离导航 1~2 次,就开始乱套了,还撞墙。重启执行了好几次了。
-
@atjason 鱼老师,发现一个原因:雷达方向装反了,和视频里差了 180 度。
调整回来后,现在正常很多了。 -
此回复已被删除! -