Drobotics logo DROBOTICSTechnical Library

Guides Guide

drobotics planner checkup

All Guides
Drobotics SUPER Planner Rosbag 验证指南 | 自主飞行数据分析

Drobotics SUPER Planner Rosbag 验证指南

自主飞行数据分析 · 规划器验证 · 故障诊断

Rosbag SUPER Planner FAST-LIO PX4 通过 飞行验证
目的

自主飞行后,rosbag 应用于回答三个规划器问题:

1. 规划器是否收到目标点?
2. 规划器是否生成了轨迹命令?
3. 无人机是否实际朝这些目标移动?
警告 仅靠话题频率是不够的。rosbag 可能有 /Odometry 和 /cloud_registered,但规划器可能仍未生成有效轨迹。
所需规划器话题

一个有用的 Drobotics SUPER 规划器 rosbag 应包含:

话题含义
/goal_pose发送给 SUPER 的目标点
/planning/pos_cmdSUPER 规划器轨迹命令输出
/mavros/setpoint_position/local发送给 PX4 的位置设定点
/OdometryFAST-LIO SLAM 里程计
/mavros/local_position/odomPX4 局部位置估计
/mavros/statePX4 模式、解锁状态、OFFBOARD 区间
/cloud_registered用于建图的注册 LiDAR 点云
/fsm/path规划器路径可视化/调试
快速规划器 Rosbag 检查
source /opt/ros/humble/setup.bash source ~/slam_ws/install/setup.bash source ~/super_ws/install/setup.bash BAG=$(cat ~/rosbags/.latest_indoor_hover) echo "=== BAG ===" echo "$BAG" du -sh "$BAG" ros2 bag info "$BAG" echo echo "=== PLANNER TOPICS ===" ros2 bag info "$BAG" | grep -E \ '/goal_pose|/planning/pos_cmd|/mavros/setpoint_position/local|/Odometry|/mavros/local_position/odom|/mavros/state|/cloud_registered|/fsm/path'
规划器活动的预期迹象:
通过 /goal_pose count > 0
通过 /planning/pos_cmd count > 0
通过 /mavros/setpoint_position/local count > 0
警告 如果 /goal_pose 存在但 /planning/pos_cmd 缺失或为零 → SUPER 可能未生成轨迹
警告 如果 /planning/pos_cmd 存在但 /mavros/setpoint_position/local 缺失 → 桥接未向 PX4 发送命令
警告 如果设定点存在但无人机未移动 → 检查 PX4 模式和 OFFBOARD 区间
规划器日志检查
echo "=== SUPER PLANNER EVENTS ===" tail -300 /tmp/drobotics_super_planner_auto_nav.log \ | grep -E 'Get goal|SUCCESS|FAILED|min dis|GeneratePolytope|PlanFromRest|FOLLOW_TRAJ|Traj finish|OPT_FAILED'
良好信号:
通过 Get goal
通过 GenerateExpTrajectory SUCCESS
通过 FOLLOW_TRAJ
通过 Traj finish
不良信号:
错误 GeneratePolytopeFromLine failed
错误 PlanFromRest failed
错误 min dis...
错误 OPT_FAILED
解读:
Get goal → SUPER 收到目标点
GenerateExpTrajectory SUCCESS → SUPER 找到有效轨迹
FOLLOW_TRAJ → SUPER 正在主动输出轨迹命令
Traj finish → SUPER 认为轨迹已完成
PlanFromRest failed → SUPER 无法从当前状态生成安全轨迹
GeneratePolytopeFromLine failed → SUPER 无法创建安全走廊
min dis... → 障碍物净空太小
OPT_FAILED → 优化/重新规划失败
自动导航日志检查
echo "=== AUTO NAV LOG ===" tail -200 /tmp/super_auto_nav_slide.log
查找:
Trying forward
Trying slide_left
Trying slide_right
Trying backward
accepted
did not move enough
警告 重要注意: 在一次 Drobotics 测试中,rosbag 证明无人机移动了约 0.76 米,但自动导航日志报告 best_progress=0.00 米。这意味着物理管道正常工作,但自动导航进度检查器/日志记录需要修正。

因此,rosbag 是最终真相。
从 Rosbag 验证运动
最重要的规划器验证是:无人机是否朝每个 /goal_pose 移动?
良好飞行应显示:
goal published ↓ setpoints published ↓ /Odometry moves toward goal ↓ planner finishes trajectory
Drobotics 测试预期示例:
目标:前进 0.8 米
实际 /Odometry 移动:0.765 米
结果:通过 成功
另一个示例:
目标:侧向/滑行移动
实际 /Odometry 移动:0.863 米
结果:通过 成功
规划器故障诊断
案例 1 — 无 /goal_pose
问题:自动导航或手动目标发布器未运行。
ros2 topic info /goal_pose --verbose
案例 2 — /goal_pose 存在,但无 /planning/pos_cmd
问题:SUPER 收到目标但未生成轨迹。
可能原因:
障碍物太近 · 地图太密 · 目标超出安全走廊 · 里程计帧错误 · 规划器未初始化
tail -300 /tmp/drobotics_super_planner_auto_nav.log \ | grep -E 'Get goal|FAILED|min dis|GeneratePolytope|PlanFromRest'
案例 3 — /planning/pos_cmd 存在,但无设定点
问题:Drobotics SUPER-to-MAVROS 桥接未运行或未订阅。
ros2 topic info /planning/pos_cmd --verbose ros2 topic info /mavros/setpoint_position/local --verbose
案例 4 — 设定点存在,但无人机未移动
可能原因:
PX4 不在 OFFBOARD · PX4 未解锁 · 设定点速度太低 · 任务边界拒绝命令 · PX4 估计器未正确接受 EV
ros2 topic echo /mavros/state --once
查找:armed: truemode: OFFBOARD
案例 5 — 无人机移动,但未达到完整距离
可能原因:
步长/进度阈值/超时设置过于保守
-p forward_step_m -p movement_wait_s -p min_progress_m -p max_setpoint_speed_mps
推荐规划器测试参数
首次安全自主测试
-p forward_step_m:=0.50 -p side_step_m:=0.30 -p backward_step_m:=0.20 -p movement_wait_s:=12.0 -p min_progress_m:=0.35 -p max_steps:=3
较大运动测试
-p forward_step_m:=0.80 -p side_step_m:=0.45 -p backward_step_m:=0.25 -p movement_wait_s:=16.0 -p min_progress_m:=0.35 -p max_steps:=3
仅证明前进 0.8 米
-p forward_step_m:=0.80 -p movement_wait_s:=16.0 -p min_progress_m:=0.65 -p max_steps:=1
警告 对于混合前进/侧向/后退行为,不要使用 min_progress_m:=0.65,因为侧向和后退步长小于 0.65 米。
通过 什么算作成功的规划器飞行?
成功的 Drobotics SUPER 规划器飞行应具有:
通过 /goal_pose > 0
通过 /planning/pos_cmd > 0
通过 /mavros/setpoint_position/local > 0
通过 运动期间 PX4 模式为 OFFBOARD
通过 /Odometry 朝向目标移动
通过 规划器日志显示 SUCCESS / FOLLOW_TRAJ / Traj finish
成功结果示例:
前进目标命令:0.8 米
测量的 /Odometry 移动:0.765 米
规划器状态:FOLLOW_TRAJ
轨迹:已完成
结果:通过 成功
总结
话题频率检查 证明传感器和桥接是活的。
规划器验证 证明自主性实际发生。
对于 Drobotics SUPER 飞行,始终检查:

1. 我们发布了目标点吗?
2. SUPER 生成了 /planning/pos_cmd 吗?
3. 桥接发布了 MAVROS 设定点吗?
4. PX4 在 OFFBOARD 下解锁了吗?
5. /Odometry 朝目标移动了吗?
6. 规划器日志显示 SUCCESS 和 Traj finish 吗?
通过 这就是证明 Drobotics 自主 SLAM 规划器工作了的正确方法。

平台:Jetson · ROS2 Humble · FAST-LIO · SUPER · PX4
(c) 卓博泰科技 · Drobotics SUPER Planner Rosbag 验证指南