机器人离线联合建图完整流程 (LiDAR + Visual)

机器人离线联合建图完整流程 (LiDAR + Visual) A data-flow diagram generated by Archify. 01 / 数据加载 02 / 前端 03 / 匹配 / 约束 04 / 位姿 / 三角化 05 / 优化 / 地图输出 Scan Matching · Cartographer 2D · 02 / 前端 Scan Matching Cartographer 2D Pose Graph + 回环 · 约束构建 · branch-bound · 03 / 匹配 / 约束 Pose Graph + 回环 约束构建 · branch-bound pose_se3.bag · trajectory_0 · T_map_base(k) ×7887 · 04 / 位姿 / 三角化 · 优化轨迹 pose_se3.bag trajectory_0 · T_map_base(k) ×7887 优化轨迹 Occupancy Grid · assets_writer → map.pgm + map.yaml · 05 / 优化 / 地图输出 · 2D 导航地图 Occupancy Grid assets_writer → map.pgm + map.yaml 2D 导航地图 ROS bag 车端采集 · RK3588 · scan / odom / image · 01 / 数据加载 · cam_odom_scan ROS bag 车端采集 RK3588 · scan / odom / image cam_odom_scan 关键帧 + XFeat · BagLoader 对齐 · OR_FLOOR 门控 · 02 / 前端 · RKNN · CosPlace 关键帧 + XFeat BagLoader 对齐 · OR_FLOOR 门控 RKNN · CosPlace 连续帧匹配 + Track · FLANN BF+ratio · 轨迹归并 · 03 / 匹配 / 约束 连续帧匹配 + Track FLANN BF+ratio · 轨迹归并 多视图三角化 · T_map_cam = T_map_base·T_body_cam · 04 / 位姿 / 三角化 · map frame 多视图三角化 T_map_cam = T_map_base·T_body_cam map frame Fixed-Pose BA + VSMAP · MP-only · MAD · medoid · 二进制 · 05 / 优化 / 地图输出 · 视觉特征地图 Fixed-Pose BA + VSMAP MP-only · MAD · medoid · 二进制 视觉特征地图 scan + odom LiDAR 泳道 相对位姿约束 LiDAR 泳道 优化轨迹 LiDAR 泳道 冻结位姿回放 LiDAR 泳道 图像 + odom (BagLoader) Visual 泳道 T_map_base(k) 位姿基准 基准桥接 KeyFrame + Desc[64D] Visual 泳道 Feature Track Visual 泳道 MapPoint3D[] (map frame) Visual 泳道 Legend primary data data store data flow

主数据流 (全部已实现)

  • • 双链: scan → Cartographer 位姿图 → 优化轨迹 / image → 视觉链 → VSMAP v2
  • • 视觉链: BagLoader → OR_FLOOR+XFeat → 匹配+轨迹归并 → 三角化 → Fixed-Pose BA → VSMAP
  • • 两地图共享 map frame 与全局尺度, 均由 LiDAR SLAM 决定

bag topic 与 TF (真实)

  • • pose_se3.bag: /trajectory_0 (×7887, frame=map) + /tf — 优化后 T_map_base(k)
  • • cam bag: /camera/cam1/image_raw + /jarvis/odom (运动分类用)
  • • T_map_camera(k) = T_map_base(k)·T_body_cam — 外参标定加载, 非 TF 查询

LiDAR 基准与视觉职责

  • • Cartographer 2D (juniton.pbstream): 全局尺度 + map frame + KF 位姿初值
  • • Ceres point-only: 位姿全部冻结只优化 3D 点 — Fixed-Pose BA
  • • 三角化门控: baseline 0.1m / angle 0.5° / reproj 6→3px; 纯旋转只延续轨迹

模块真实状态与缺失

  • • 已实现: Feature Track / 三角化 / MapPoint3D / medoid 描述子 / 跨帧点融合
  • • 建图端无 covisibility — 定位端加载后从 observations 运行时推导
  • • 诊断有统计无自动 PASS-FAIL 闸门 (Planned); matcher=flann, 特征=xfeat_rknn