DocProgress

你在 算法栈 / 模块接口

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

阅读前提
知道任务目标,但不清楚信息如何从 sensor 变成 action。
读完产出
能画出 perception、estimation、map、planning、control 的接口图。
下一步
按薄弱模块进入估计、规划、控制或系统章节。
失败模式入口
模块边界不清,调试时不知道错误来自输入、表示还是控制。

02 Robotics 算法栈

本章抓手

  • Robotics 算法栈的主线是“传感器数据如何变成可靠动作”。
  • 每个模块都要看输入输出、运行频率、不确定性和下游影响。
  • Learning 可以增强很多模块,但物理闭环仍需要估计、规划、控制和系统约束。

它解决什么问题

Robotics 算法栈把原始传感器数据变成物理动作。它不是单个大模型,而是一组有明确接口的模块:感知提供环境信息,估计提供机器人状态,规划生成意图,控制把意图变成稳定动作,系统层保证它们实时协作。

从数据到动作的层级

Sensors -> Perception -> State Estimation -> World Model
-> Planning -> Trajectory Generation -> Control -> Actuation

学习 robotics 时,不要只问“哪个算法最强”,更要问:

  • 它输入输出是什么。
  • 它运行频率是多少。
  • 它的不确定性如何表达。
  • 它的错误会被下游如何放大。
  • 它是否能在真实硬件上实时运行。

传感器建模 Sensor Modeling

传感器建模描述测量值如何由真实状态产生,以及噪声如何进入系统。

常见传感器:

  • Camera:RGB、stereo、event camera。
  • LiDAR:2D/3D point cloud。
  • IMU:accelerometer, gyroscope。
  • Encoder:wheel encoder, joint encoder。
  • Force/Torque sensor:接触力和力矩。
  • Tactile sensor:触觉图像、压力分布。

核心概念:

  • Measurement model:z = h(x) + noise
  • Calibration:intrinsic / extrinsic calibration。
  • Noise model:Gaussian noise, bias, drift, outlier。
  • Time synchronization:多传感器时间对齐。

代表算法:

  • Camera calibration, hand-eye calibration。
  • IMU preintegration。
  • Point cloud filtering and registration。
  • Outlier rejection with RANSAC / robust loss。

学习关键词:sensor model, calibration, extrinsic, IMU bias, time synchronization。

状态估计 State Estimation

状态估计回答“机器人现在在哪里、速度是多少、姿态是什么、关键对象在哪里”。它是 robotics 中连接传感器和控制的核心。

核心数学对象:

  • State x:position, orientation, velocity, bias, joint state。
  • Observation z:传感器测量。
  • Belief p(x | z_1:t):给定历史观测后的状态分布。
  • Motion model p(x_t | x_{t-1}, u_t)
  • Measurement model p(z_t | x_t)

代表算法:

  • Kalman Filter, Extended Kalman Filter, Unscented Kalman Filter。
  • Particle Filter。
  • Factor Graph Optimization。
  • Bundle Adjustment。
  • Pose Graph Optimization。

和其他模块的关系:

  • 控制依赖状态估计的低延迟和稳定性。
  • SLAM 依赖状态估计同时优化机器人轨迹和地图。
  • 学习策略在真实机器人上也通常需要状态估计作为输入或监督信号。

学习关键词:Bayes filter, EKF, factor graph, pose graph, sensor fusion。

SLAM 与地图 SLAM and Mapping

SLAM 同时解决定位 localization 和建图 mapping:机器人不知道自己在哪,也不知道地图是什么,需要同时估计。

核心表示:

  • Occupancy grid:栅格是否被占据。
  • Point cloud map:点云地图。
  • Feature map:路标、角点、线特征。
  • TSDF / ESDF:用于三维重建和路径规划。
  • Semantic map:带物体、类别和关系的地图。

代表算法:

  • EKF-SLAM, FastSLAM。
  • ORB-SLAM, visual SLAM。
  • LOAM, LiDAR odometry and mapping。
  • Cartographer, graph-based SLAM。
  • Neural implicit mapping, NeRF / Gaussian Splatting inspired mapping。

学习关键词:SLAM, visual odometry, LiDAR odometry, loop closure, occupancy grid。

路径与运动规划 Planning

规划回答“应该怎么走或怎么动”。路径规划常处理几何可达性,运动规划还要处理机器人运动学约束,轨迹规划进一步加入时间、速度、加速度和动力学限制。

核心概念:

  • Configuration space:机器人所有可能配置组成的空间。
  • Free space / obstacle space:可行与碰撞区域。
  • Feasibility:是否满足约束。
  • Optimality:是否优化路径长度、能耗、时间、平滑度或安全距离。

代表算法:

  • Graph search:Dijkstra, A*, D*, Hybrid A*。
  • Sampling-based planning:PRM, RRT, RRT*, RRT-Connect。
  • Optimization-based planning:CHOMP, STOMP, TrajOpt。
  • Trajectory optimization:direct collocation, shooting methods。
  • Task and Motion Planning:symbolic planning + geometric planning。

学习关键词:path planning, motion planning, configuration space, RRT, trajectory optimization。

控制 Control

控制回答“如何让真实机器人跟上期望状态或轨迹”。规划可以慢一些,控制通常必须高频、稳定、鲁棒。

核心概念:

  • Feedback:根据误差实时修正动作。
  • Stability:误差是否会收敛或有界。
  • Tracking:跟踪目标轨迹。
  • Robustness:模型不准或扰动存在时仍能工作。

代表算法:

  • PID。
  • LQR / iLQR。
  • MPC。
  • Nonlinear control。
  • Impedance / admittance control。
  • Whole-body control。

学习关键词:feedback control, stability, LQR, MPC, impedance control, whole-body control。

强化学习 Reinforcement Learning

RL 把机器人看作与环境交互的智能体。它适合处理难以手工建模的策略问题,但真实机器人上的数据成本和安全风险很高。

核心概念:

  • State / observation。
  • Action。
  • Reward。
  • Policy。
  • Value function。
  • Exploration。

代表算法:

  • PPO, SAC, TD3。
  • Model-based RL。
  • Offline RL。
  • Hierarchical RL。
  • Safe RL。

和 robotics 的特殊关系:

  • Sim-to-real 是关键难点。
  • Reward design 很容易导致非预期行为。
  • 控制频率、动作空间和安全约束决定算法能否落地。

学习关键词:robot reinforcement learning, sim-to-real, domain randomization, offline RL, safe RL。

模仿学习 Imitation Learning

模仿学习从专家演示中学习策略,常用于 manipulation、驾驶、遥操作数据和大规模机器人数据集。

代表方法:

  • Behavior Cloning。
  • DAgger。
  • Inverse Reinforcement Learning。
  • Diffusion Policy。
  • Action chunking / sequence modeling。

关键问题:

  • Distribution shift:策略犯错后进入专家数据没有覆盖的状态。
  • Demonstration quality:演示质量决定策略上限。
  • Action representation:末端位姿、关节速度、力控制或语言条件动作。

学习关键词:imitation learning, behavior cloning, DAgger, diffusion policy, robot demonstration。

视觉语言动作模型 Vision-Language-Action Models

VLA 模型试图把视觉、语言和动作统一起来,让机器人根据语言指令和视觉状态输出动作。它连接 foundation models 和 robot learning。

核心能力:

  • Grounding:把语言指令绑定到场景物体和动作。
  • Long-horizon reasoning:分解长期任务。
  • Policy learning:从多机器人、多任务数据中学习动作。
  • Generalization:跨对象、跨场景、跨任务迁移。

代表方向:

  • Vision-language planning + low-level controller。
  • End-to-end action prediction。
  • Hierarchical policy with foundation model as planner。
  • Large-scale robot dataset pretraining。

学习关键词:vision-language-action, robot foundation model, embodied AI, language-conditioned manipulation。

模块接口心智模型

  • Perception 输出“世界里有什么”。
  • State estimation 输出“机器人和关键对象现在是什么状态”。
  • Planning 输出“下一段可行意图”。
  • Control 输出“当前应该给执行器什么命令”。
  • Learning 可以替代、增强或连接上述任何模块,但仍要服从物理和系统约束。

Continue