47. 毫米波雷达、人体跟踪与深度学习¶
47.1 学习目标¶
把不同感知算法放进同一安全框架:输入是否可信,识别结果如何转成控制,目标丢失时怎样停止。
毫米波雷达(Millimeter-Wave Radar)发射毫米波段电磁波,并根据回波估计目标的距离、方向或相对速度。深度学习(Deep Learning)模型从样本中学习图像或传感器数据的特征,运行模型得到结果的过程称为推理(Inference)。这些结果都有误差,接入运动控制前要先观察稳定性和延迟。
47.2 适用范围¶
毫米波跟随/停障、人体骨架跟踪和 ROS 2 深度学习识别。模型与硬件加速环境按主控选择。
47.3 操作前检查¶
- 底盘速度上限和急停已验证。
- 传感器话题频率、坐标和盲区已记录。
- 首次运行关闭运动输出,只观察结果。
47.4 工作原理¶
毫米波雷达对距离和速度敏感,视觉模型可以输出类别、包围目标的矩形框或人体关节点。置信度(Confidence Score)表示模型对当前识别结果的相对把握,不能等同于结果一定正确。感知数据可能抖动或短时丢失,因此控制层要设置滤波、置信度门槛、距离阈值、超时和速度限幅,再把连续多帧结果转换成运动命令。
47.5 操作步骤¶
- 只启动传感器与识别,记录原始输入和结果话题。
- 静态目标、移动目标、遮挡和无目标分别测试。
- 检查结果坐标系及时间戳,必要时转换到
base_link。 - 接入控制时,从极低速度开始,设置目标丢失立即归零。
- 融合毫米波与 Nav2 时,确认障碍进入代价地图而非另一个节点直接争用
cmd_vel。 - 深度学习模型记录框架、权重、输入尺寸、主控和推理速度。
47.6 验收标准¶
- 识别结果与实物方向、距离一致。
- 无目标、遮挡、节点退出时输出速度为零。
- 感知频率满足控制需求,延迟有记录。
- 导航与跟随不会同时无仲裁发布速度。
47.7 故障排查¶
| 现象 | 检查 |
|---|---|
| 跟随方向反了 | 坐标系和横向误差符号 |
| 目标丢失仍前进 | 超时、缓存和最后命令清零 |
| 毫米波停障过敏 | 阈值、安装角度、静态杂波和滤波 |
| 推理卡顿 | 输入尺寸、硬件加速、模型版本和 CPU/GPU 占用 |
本章代码:人体骨架消息与跟随节点
使用 ros1/maintenance/bodyreader 的 package.xml、launch/bodyfollow.launch、src/bodydata_process.cpp、src/follower.cpp 和 msg/body.msg。验收:能定位人体消息与跟随节点;边界:依赖 Astra/OpenNI 运行时和相机,当前只作静态阅读。