Commit
0fa5e53ddd6f7ebd530f800d2d7110f101c991d0
by xiaosonglanfix: /msf/dr_pose 的 pose_frame_id 应为 imu, 不是 base_ground
pose_frame_id 决定 lookupTransform(pose_frame_id, frame_id_) 取到的 trans_lidar_to_imu —— 即把点云搬到「位姿所在刚体」的外参, 所以它必须和 pose 话题描述的刚体对上:
/msf/imu_pose_raw_estimate -> imu_raw (原本就对) /msf/dr_pose -> imu (原先错写成 base_ground) /vehicle/localization -> base_ground (原先没有这条分支)
原先 dr_pose 被强制成 base_ground, 力臂差了整整 5.007m: 干线 AT002 车上 tf_static 实测 base_ground->imu = (4.450, 0.760, 2.165) 且旋转差 0.000°, 即 imu->lidar_front=(1.688,-0.780,0.810) vs base_ground->lidar_front=(6.138,-0.020,2.975)。
补偿误差 ≈ 帧内转角 × 5.007m。用 AT002「直行+转弯」实包(2038 条 dr_pose, 车速中位 6.89 m/s / 最大 21.6 m/s)按四元数帧间差算 100ms 内转角: 中位 0.1263° -> 1.10 cm P90 0.3313° -> 2.90 cm P99 0.7755° -> 6.78 cm 最大 1.1158° -> 9.76 cm 直行时转角趋零、误差趋零 —— 港口对位场景基本蠕行, 所以这个 bug 被掩盖了一年, 干线车高速转弯才显现。
刚体归属由定位侧确认: dr_pose=imu, imu_pose_raw_estimate=imu_raw, vehicle/localization=base_ground。
⚠️ config 侧一并改: config.yaml 与 imv/rslidar_config_all_in_one{,_offline}.yaml 共 17 处 pose_frame_id 原为 base_ground(topic 全是 /msf/dr_pose), 改为 imu, 注释同步写全三种映射。这些是港口车在用的配置, 下次部署后补偿结果会变化(变正确), 涉及历史标注/建图数据一致性, 需与定位组和数据侧确认后再下发。
源头是 rslidar_sdk_new 的 4cd98d4(2025-09-24, zhjfeng, feat_out:增加运动补偿处理), 本仓库同款实现。rslidar_sdk_new 的 dev_ros2/rc_dev/dev 与 hesai_lidar 一并修正。
via [HAPI](https://hapi.run)
Co-Authored-By: HAPI <noreply@hapi.run> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017V8WSMEpax2mkbuxiXr7FK
|
 | config/config.yaml |
 | config/imv/rslidar_config_all_in_one.yaml |
 | src/adapter/point_cloud_ros_adapter.hpp |
 | config/imv/rslidar_config_all_in_one_offline.yaml |
Commit
378d00df455683c9571a7bf0793880b8730e900a
by xiaosonglanfix: 补齐 imv/truck 下 38 个单雷达 config 的 pose_frame_id
上一个提交只改了 config.yaml 与 imv/rslidar_config_all_in_one{,_offline}.yaml 共 17 处, 漏掉 config/imv/(22 个) 与 config/truck/(16 个) 下的单雷达配置 —— 它们的 ros_recv_pose_topic 同样是 /msf/dr_pose, pose_frame_id 也同样错写成 base_ground。原因是我当时用 git grep -c 列文件时 head -3 截断了输出, 把前 3 个 文件当成了全部。
现在按 ros_recv_pose_topic 配对全量修正仓库内所有 yaml: /msf/imu_pose_raw_estimate -> imu_raw /msf/dr_pose -> imu /vehicle/localization -> base_ground
via [HAPI](https://hapi.run)
Co-Authored-By: HAPI <noreply@hapi.run> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017V8WSMEpax2mkbuxiXr7FK
|
 | config/truck/rslidar_config_left.yaml |
 | config/imv/rslidar_config_right_front.yaml |
 | config/imv/rslidar_config_left_front_up.yaml |
 | config/truck/rslidar_config_right.yaml |
 | config/truck/rslidar_config_right_down_offline.yaml |
 | config/imv/rslidar_config_left_rear.yaml |
 | config/truck/rslidar_config_top.yaml |
 | config/imv/rslidar_config_left_rear_offline.yaml |
 | config/truck/rslidar_config_top_up.yaml |
 | config/imv/rslidar_config_left_front_offline.yaml |
 | config/imv/rslidar_config_left_front_down_offline_bp4.yaml |
 | config/imv/rslidar_config_left_front_up_offline.yaml |
 | config/imv/rslidar_config_right_rear_up_offline_bp4.yaml |
 | config/truck/rslidar_config_left_down_offline.yaml |
 | config/imv/rslidar_config_left_front.yaml |
 | config/truck/rslidar_config_right_down_offline_bp4.yaml |
 | config/truck/rslidar_config_rear_down_offline_bp4.yaml |
 | config/truck/rslidar_config_left_down.yaml |
 | config/imv/rslidar_config_right_rear_offline.yaml |
 | config/truck/rslidar_config_left_down_offline_bp4.yaml |
 | config/truck/rslidar_config_right_down.yaml |
 | config/imv/rslidar_config_left_rear_down_offline.yaml |
 | config/imv/rslidar_config_right_rear_up_offline.yaml |
 | config/imv/rslidar_config_right_front_down.yaml |
 | config/truck/rslidar_config_right_offline.yaml |
 | config/imv/rslidar_config_left_front_up_offline_bp4.yaml |
 | config/truck/rslidar_config_left_offline.yaml |
 | config/truck/rslidar_config_top_up_offline.yaml |
 | config/truck/rslidar_config_top_offline.yaml |
 | config/truck/rslidar_config_top_up_offline_bp4.yaml |
 | config/imv/rslidar_config_right_rear_down_offline_bp4.yaml |
 | config/imv/rslidar_config_right_front_down_offline_bp4.yaml |
 | config/imv/rslidar_config_right_rear_up.yaml |
 | config/imv/rslidar_config_right_front_offline.yaml |
 | config/imv/rslidar_config_right_front_down_offline.yaml |
 | config/imv/rslidar_config_right_rear.yaml |
 | config/imv/rslidar_config_left_rear_down_offline_bp4.yaml |
 | config/imv/rslidar_config_left_rear_down.yaml |
Commit
2ae1bae03bcc2aa6acf8e12d4071b72aff38b5de
by xiaosonglanfix: motion_compensate_pose_frame_id 按 pose 话题取值, dr_pose 应为 imu
pose_frame_id 决定 lookupTransform(pose_frame_id, frame_id) 取到的 lidar->pose-frame 外参, 必须和 pose 话题描述的刚体对上:
/msf/dr_pose -> imu (原先缺省 base_ground) /vehicle/localization -> base_ground (原先也是 base_ground, 本来就对)
原先无论哪个话题都缺省 base_ground, 走 dr_pose 时力臂差一整段 base_ground->imu: 干线 AT002 车上 tf_static 实测 (4.450, 0.760, 2.165) 共 5.007m 且旋转差 0.000°。
补偿误差 ≈ 帧内转角 × 5.007m。用 AT002「直行+转弯」实包(2038 条 dr_pose, 车速中位 6.89 m/s / 最大 21.6 m/s)按四元数帧间差算 100ms 内转角: 中位 0.1263° -> 1.10 cm P90 0.3313° -> 2.90 cm P99 0.7755° -> 6.78 cm 最大 1.1158° -> 9.76 cm 直行时转角趋零、误差趋零 —— 港口对位场景基本蠕行, 所以这个 bug 一直没显现。
刚体归属由定位侧确认: dr_pose=imu, imu_pose_raw_estimate=imu_raw, vehicle/localization=base_ground。
改动: - main.cc: 结构体缺省值 base_ground -> imu; LoadConfig() 里按话题校验并打 ERROR - config/imv/*.yaml + config/truck/*.yaml 共 21 处: topic 全是 /msf/dr_pose, frame 由 base_ground 改 imu
⚠️ 这些是港口车在用的配置, 下次部署后补偿结果会变化(变正确), 涉及历史标注/ 建图数据一致性, 需与定位组和数据侧确认后再下发。
同源问题存在于 rslidar_sdk_new(dev_ros2/rc_dev/dev)、rslidar_sdk(rc_dev/dev) 与本仓库 dev_ros2, 已一并修正; 源头是 rslidar_sdk_new 的 4cd98d4(2025-09-24, zhjfeng)。
via [HAPI](https://hapi.run)
Co-Authored-By: HAPI <noreply@hapi.run> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017V8WSMEpax2mkbuxiXr7FK
|
 | config/imv/hesai_config_left_rear_online.yaml |
 | config/truck/hesai_config_right_p40m_offline.yaml |
 | config/truck/hesai_config_left_p40m_offline.yaml |
 | config/truck/hesai_config_top_online.yaml |
 | config/truck/hesai_config_top_p40m_online.yaml |
 | config/imv/hesai_config_right_rear_offline.yaml |
 | config/imv/hesai_config_right_front_offline.yaml |
 | config/truck/hesai_config_left_online.yaml |
 | config/truck/hesai_config_right_online.yaml |
 | config/imv/hesai_config_left_front_offline.yaml |
 | config/truck/hesai_config_top_p40m_offline.yaml |
 | config/imv/hesai_config_right_rear_online.yaml |
 | config/truck/hesai_config_top_offline.yaml |
 | config/truck/hesai_config_top90_offline.yaml |
 | config/imv/hesai_config_left_front_online.yaml |
 | src/main.cc |
 | config/imv/hesai_config_left_rear_offline.yaml |
 | config/truck/hesai_config_right_offline.yaml |
 | config/truck/hesai_config_left_offline.yaml |
 | config/imv/hesai_config_right_front_online.yaml |
 | config/truck/hesai_config_left_p40m_online.yaml |
 | config/truck/hesai_config_right_p40m_online.yaml |
Commit
d91c9baf1266754a6750c1cdf83f0680b65ea683
by zhaojianfeng2feat_out:增加原始数据问题的log记录
|
 | src/mc/lidar_motion_compensate.cpp |
 | config/imv/hesai_config_left_front_online.yaml |
 | src/HesaiLidar_General_SDK/src/PandarGeneralRaw/src/input.cc |
 | src/HesaiLidar_General_SDK/src/PandarGeneralRaw/src/pandarGeneral_internal.cc |
 | src/main.cc |