DocProgress

你在 Sense / Estimate / SLAM

先确认本页回答什么问题,再决定读完后回路线、资源还是项目。

阅读前提
会用模型或传感器,但不清楚状态、地图和不确定性如何维护。
读完产出
能区分 perception output、state estimate、map 和 belief。
下一步
做 State Estimation Lab,再接 navigation 或 manipulation。
失败模式入口
把检测结果当真值,忽略时间同步、坐标系和漂移。

04 感知、状态估计与 SLAM

本章抓手

  • 感知回答“世界里有什么”,状态估计回答“当前状态是什么”,SLAM 回答“我在哪里且地图是什么”。
  • Robotics 中感知结果必须服务行动,低延迟、坐标一致和不确定性传递非常关键。
  • 很多系统失败不是模型不够大,而是标定、时间戳、漂移和退化场景没有处理好。

它解决什么问题

机器人需要知道自己在哪里、周围有什么、世界如何变化。感知 perception 负责从传感器中提取语义和几何信息;状态估计 state estimation 负责融合 noisy observations 得到连续、低延迟的状态;SLAM 负责在未知环境中同时定位和建图。

感知 Perception

感知回答“世界里有什么”。在 robotics 中,感知不是独立 benchmark,而是要服务于行动。

常见任务:

  • Object detection:检测物体位置和类别。
  • Segmentation:像素级或点级分割。
  • Depth estimation:估计深度。
  • Pose estimation:估计物体 6D pose。
  • Tracking:跨时间关联目标。
  • Affordance perception:识别物体可抓、可推、可打开等动作属性。

代表方法:

  • CNN / Transformer based visual perception。
  • PointNet / sparse convolution for point cloud。
  • Multi-view geometry。
  • 2D-to-3D fusion。
  • BEV representation。

Robotics 特殊要求:

  • 低延迟比单帧精度更重要时很常见。
  • 误检和漏检的代价取决于下游任务。
  • 不确定性需要传给规划层,而不是只输出 hard label。
  • 标定、光照、运动模糊、遮挡和域偏移会显著影响部署。

学习关键词:robot perception, 6D pose estimation, affordance, point cloud, BEV。

状态估计 State Estimation

状态估计回答“系统当前状态是什么”。它通常比 perception 更接近控制闭环,因此强调连续性、低延迟和不确定性表达。

常见状态:

  • 机器人 base pose。
  • 速度和加速度。
  • 姿态 orientation。
  • IMU bias。
  • 关节位置和速度。
  • 物体位姿。

核心方法:

  • Bayesian filtering:递归更新 belief。
  • EKF / UKF:非线性系统上的高斯近似滤波。
  • Particle filter:用粒子表达非高斯分布。
  • Factor graph:把估计问题写成图优化。
  • Smoothing:利用一段时间窗口联合优化。

典型接口:

prediction: x_t = f(x_{t-1}, u_t) + process_noise
update:     z_t = h(x_t) + measurement_noise

学习关键词:state estimation, sensor fusion, EKF, particle filter, factor graph。

传感器融合 Sensor Fusion

单一传感器往往不可靠,所以 robotics 依赖 fusion。

常见组合:

  • Camera + IMU:visual-inertial odometry。
  • LiDAR + IMU:LiDAR-inertial odometry。
  • Wheel encoder + IMU:移动机器人里程计。
  • GPS + IMU + wheel odometry:自动驾驶定位。
  • Force sensor + vision:接触操作。

融合难点:

  • 时间戳不同步。
  • 坐标系外参不准。
  • 传感器频率不同。
  • 噪声分布和 outlier 不匹配。
  • 某些传感器在特定环境中退化。

学习关键词:sensor fusion, VIO, LIO, calibration, timestamp synchronization。

SLAM

SLAM 同时估计机器人轨迹和地图。它的核心矛盾是局部运动估计会漂移,而回环检测 loop closure 可以纠正长期误差。

经典 pipeline:

front-end feature / scan matching
-> data association
-> back-end optimization
-> loop closure
-> map update

关键模块:

  • Front-end:从传感器中产生约束,例如视觉特征匹配、LiDAR scan matching。
  • Back-end:优化 pose graph 或 factor graph。
  • Loop closure:识别回到旧地点并加入全局约束。
  • Map representation:决定地图如何被规划和定位使用。

代表算法:

  • Visual SLAM:ORB-SLAM, DSO。
  • LiDAR SLAM:LOAM, LeGO-LOAM, Cartographer。
  • RGB-D SLAM:KinectFusion, ElasticFusion。
  • Graph-based SLAM:pose graph optimization。
  • Semantic SLAM:把语义对象加入地图。

学习关键词:SLAM, visual odometry, scan matching, loop closure, pose graph optimization。

地图表示 Map Representation

不同地图服务于不同下游任务。

地图类型适合用途局限
Occupancy grid2D 导航、避障语义弱,三维表达有限
Point cloud map3D 几何定位存储大,规划不方便
TSDF / ESDF3D 重建、距离查询更新和内存成本较高
Topological map长距离导航几何精度低
Semantic map任务规划、人机交互构建难,语义误差影响大
Object-centric map操作和长期任务依赖稳定物体检测和跟踪

学习关键词:occupancy grid, TSDF, ESDF, semantic map, topological map。

与规划和控制的关系

  • 感知决定机器人知道哪些障碍、物体和可操作区域。
  • 状态估计决定控制器输入是否稳定和及时。
  • 地图表示决定规划器能用什么约束和代价。
  • SLAM 漂移会让长期导航和操作失败。
  • 感知不确定性如果不传递给规划层,会形成隐藏风险。

常见失败模式

  • 标定错误导致所有几何推断系统性偏移。
  • 低纹理、强反光、动态物体让视觉里程计退化。
  • 长走廊、重复结构让回环检测误匹配。
  • LiDAR 在玻璃、雨雾、稀疏结构中表现变差。
  • 状态估计延迟让控制器看见“过去的状态”。

学习关键词

robot perception, state estimation, Bayesian filtering, EKF, factor graph, visual-inertial odometry, LiDAR SLAM, semantic mapping, calibration。

Continue