Drobotics logo DROBOTICSTechnical Library

SLAM Guide

SUPER 地图与规划集成:Mid-360 + FAST-LIO + ROG-Map + SUPER Planner on ROS2 Humble

All SLAM
SUPER 地图与规划集成笔记 | Mid-360 + FAST-LIO + ROG-Map + SUPER Planner

SUPER 地图与规划集成笔记

Mid-360 + FAST-LIO + ROG-Map + SUPER Planner · ROS2 Humble

Mid-360 FAST-LIO ROG-Map SUPER Planner 通过 多项式轨迹
1. 目的与验证范围

本文档记录在 Jetson 平台上构建的工作集成方案,以便后续理解、复现和扩展,无需重复相同的调查工作。

当前系统功能: LiDAR 数据采集、LiDAR-惯性里程计、局部占据地图构建、基于目标点的路径规划和多项式轨迹生成。
通过 已验证:
• Mid-360 数据流
• FAST-LIO 里程计
• 注册点云
• ROG-Map 占据数据
• SUPER 规划状态转移
• 非空七阶多项式轨迹
错误 尚未验证:
• Pixhawk 通信
• 机载命令转换
• 解锁逻辑
• 失效保护
• 真实无人机响应
• 避障飞行
• 室内飞行参数调优
2. 系统架构
Livox Mid-360 ↓ livox_ros_driver2 ↓ /super/livox/lidar + /super/livox/imu ↓ FAST-LIO ↓ /Odometry + /cloud_registered ↓ ROG-Map (fsm_node 内部) ↓ /rog_map/occ ↓ SUPER Planner ↓ /fsm/path + /planning_cmd/poly_traj
ROG-Map 不作为独立节点启动。 它在 SUPER planner 的可执行文件 fsm_node 内部初始化和更新。
坐标系约定
world → 静态单位变换 → camera_init → FAST-LIO 动态变换 → body
world: SUPER/ROG-Map 输出中硬编码使用的坐标系
camera_init: FAST-LIO 全局初始化坐标系(非 USB 相机)
body: FAST-LIO 运动体坐标系
使用静态单位变换连接两个坐标系树,无需修改 slam_ws
3. 工作空间与文件分离
位置角色规则
~/slam_wsLivox 驱动 + FAST-LIO 包底层 — 不修改
~/super_wsSUPER + ROG-Map + 配置所有项目改动在此
~/super_ws/config运行时配置副本主题和坐标系适配
~/super_ws/scripts可重复启动脚本替代长命令
重要项目文件
文件用途
MID360_super_config.jsonSUPER 专用 LiDAR IP 配置
mid360_super.yamlFAST-LIO 配置(/super/livox 主题)
click_smooth_mid360.yamlSUPER + ROG-Map 配置
start_super_mapping.sh启动 SUPER LiDAR 驱动 + FAST-LIO
start_super_planner.sh启动 fsm_node
start_super_camera.sh可选 USB 相机(非必需)
/super 命名空间和独立配置副本避免与已有 FAST-LIO 设置冲突。
4. 网络与 LiDAR 集成
项目
Jetson 以太网接口enP8p1s0
Jetson LiDAR 侧 IP192.168.10.50/24
Livox Mid-360 IP192.168.10.5
LiDAR 接口默认路由禁用 / never-default
LiDAR 接口 IPv6禁用
sudo nmcli connection modify enP8p1s0 \ ipv4.method manual \ ipv4.addresses 192.168.10.50/24 \ ipv4.gateway "" \ ipv4.never-default yes \ ipv6.method disabled sudo nmcli connection up enP8p1s0
SUPER 专用 Livox launch 将驱动运行为 /super/mid360_driver,并将标准 Livox 主题重映射到 /super 命名空间。
5. FAST-LIO 建图与坐标系
FAST-LIO 从 slam_ws 启动,但使用 super_ws 下的参数文件。仅修改了 LiDAR 和 IMU 主题名称以适配 SUPER 命名空间。
关键 FAST-LIO 主题设置
lid_topic: "/super/livox/lidar" imu_topic: "/super/livox/imu"
FAST-LIO 输出预期作用
/Odometry全局 LiDAR-惯性位姿估计
/cloud_registered变换到全局坐标系的点云
/path估计轨迹可视化
/tf动态 camera_init → body 变换
警告 启动警告 No point, skip this scan! 在数据立即出现且里程计活跃时可接受。
6. ROG-Map 与 SUPER Planner 集成
规划器通过 super_planner 可执行文件 fsm_node 启动,直接订阅 FAST-LIO 输出并在内部初始化 ROG-Map。
输入配置主题
注册点云/cloud_registered
里程计/Odometry
目标点/goal_pose
虚拟地面设置
virtual_ground_height: -1.0
改为 -1.0 米,因为静止时 FAST-LIO 原点接近 z=0,原先的值导致 "Odom below virtual ground" 警告。
坐标系注意事项
警告 SUPER 和 ROG-Map 中的多个 ROS2 发布者硬编码坐标系名称为 world。仅修改 YAML 中的 frame_id 不会改变 /rog_map/occ。集成方法使用静态 world → camera_init 变换。
7. ROS 主题与预期频率
主题用途验证频率
/super/livox/lidarMid-360 原始自定义点包~5 Hz
/super/livox/imuMid-360 IMU~200 Hz
/OdometryFAST-LIO 位姿~10 Hz
/cloud_registeredFAST-LIO 全局注册点云~10 Hz
/rog_map/occROG-Map 占据栅格~2 Hz
/goal_pose规划目标点按需
/fsm/path规划路径可视化有效目标后
/planning_cmd/poly_traj多项式轨迹命令真实轨迹
通过 8. 验证证据

在 world 坐标系中设置目标点 x=1.5m, y=0.0m, z=0.5m,规划器进入 GENERATE_TRAJFOLLOW_TRAJ 状态,并发布多项式轨迹消息。

type: 7
piece_num_pos: 5
order_pos: 7
time_pos:...
通过 确认生成包含 4、5 和 7 段位置轨迹
通过 输出不仅限于空心跳或停止消息
在静止测试中(无飞控),空的 type 1 消息是预期的。SUPER 在里程计几乎不变时反复重新规划。
阶段结论: Mid-360 → FAST-LIO → ROG-Map → SUPER → 七阶多项式轨迹 — 完整软件流水线已验证。
9. 重要经验与故障排查
观察现象含义 / 操作
/rog_map/occ 初始显示未发布等待数秒,后稳定在 ~2 Hz
/rog_map/occ 的 frame_id 为 world预期行为,由于源码硬编码。以 world 作为 SUPER 坐标系。
修改 YAML frame_id 无效发布静态单位变换到 camera_init
tf2_echo 首次报 world 不存在正常启动竞争,下一样本出现变换
real_svc.rviz 报 class/plugin 错误ROS1 RViz 配置,启动新 rviz2 手动添加主题
camera_init 听起来像物理相机只是 FAST-LIO 的全局坐标系名称,USB 相机可保持关闭
MINCO / thrust / angular-rate 优化警告静止测试中可能出现,有效的 type 7 轨迹证明规划成功
10. 飞行前待完成工作
1. 连接 Pixhawk,确认通信路径
2. 创建桥接:SUPER 输出 → 飞控兼容指令
3. 明确定义 ENU/NED 和 FLU/FRD 坐标系转换
4. 实现模式切换、解锁门控、命令超时、紧急停止
5. 在 SITL 或拆除螺旋桨后验证指令
6. 进行受约束的低空测试,调优动态限制
7. 稳定跟踪后:测试避障和自主任务
警告 安全边界: 不要将成功的轨迹生成视为无人机已准备好自主飞行的证据。控制和安全层仍是独立的工程阶段。

平台:Jetson Orin · ROS2 Humble · Livox Mid-360 · FAST-LIO · ROG-Map · SUPER Planner
(c) 卓博泰科技 · SUPER 地图与规划集成笔记