外观
踩坑Robotics Stack Exchange3 个月前
Nav2后退对接180度旋转后dock_pose乱跳
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Backward docking fails after 180* spin. Detected_dock_pose constant but dock_pose erratic. How to use properly?(Robotics Stack Exchange #118456)
状态:已解决
问题
Nav2 Docking Server使用docking_direction: backward和reverse_to_dock: true时,机器人完成180度旋转后,RViz中的检测dock pose跳回机器人前方并保持相对位置,导致机器人持续旋转无法对接。
环境
Ubuntu 24、ROS2 Kilted、Gazebo Ionic;Nav2 Docking Server、apriltag_ros、AprilTag。
解决办法
- 不要将dock pose发布在随机器人旋转的
depth_camera_optical_frame中,改为发布到固定帧odom。 - 在节点中把
lookupTransform的目标帧改为odom,源帧为AprilTag的child_frame_,并设置dock_pose.header.frame_id = "odom"。 - 用
ros2 run tf2_ros tf2_echo odom <your_apriltag_frame>验证;机器人旋转时位姿应在世界坐标中保持稳定,若TF链断开会抛异常。
原问题作者:loudboy;采纳答案作者:Anil Jb。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。