反馈的本质是「用误差修正动作」。先理解 PID 与稳定性(极点 / 特征值),然后是状态空间语言:可控性、可观性、极点配置、观测器与分离原理,以及频域里的带宽、相位裕度这些工程师天天用的概念。
核心要点 PID 的物理直觉与整定;积分饱和、微分噪声、抗饱和 状态空间 ẋ = Ax + Bu:可控性 / 可观性矩阵,极点配置,Luenberger 观测器,分离原理 频域基础:传递函数、Bode 图、带宽、增益 / 相位裕度、延迟对稳定性的杀伤力 离散控制器实现:采样率、零阶保持、抗混叠滤波、数值微分的噪声 鲁棒性直觉:模型不准时会发生什么;高增益的代价 关键公式 自测:学完应该能回答 为什么 100 ms 的延迟会让一个原本稳定的高增益 PD 控制器振荡? 分离原理说了什么?它为什么在非线性系统上不再严格成立? 利用动力学模型做重力补偿、计算力矩(反馈线性化),再把控制目标从关节空间搬到任务空间(末端位姿),最后学会让机器人表现得像弹簧-阻尼系统(阻抗 / 导纳控制)以安全地与环境接触。这是机械臂控制的主干。
核心要点 重力补偿 PD → 计算力矩法:闭环变成线性误差动力学 操作空间控制(Khatib):任务空间惯量 Λ = (J M⁻¹ Jᵀ)⁻¹,动态一致的零空间 阻抗控制 vs 导纳控制:力矩控制硬件 vs 位置控制硬件;刚度 / 阻尼的选择与稳定性 力控与混合位置 / 力控制;接触过渡的稳定性问题 被动性与能量整形;关节柔性(SEA)与摩擦补偿 关键公式 自测:学完应该能回答 计算力矩法要求模型精确,模型误差 10% 时闭环会怎样? 阻抗控制与导纳控制的区别是什么?各适合什么硬件? 线性化只在工作点附近有效。李雅普诺夫理论给出非线性系统稳定性的通用语言;反馈线性化、滑模、反步法是经典设计工具;控制屏障函数(CBF)把安全约束写成可在线求解的 QP;自适应控制与 L1 自适应则处理未知参数。双足的混合零动力学(HZD)是把这些组合起来的漂亮案例。
核心要点 李雅普诺夫稳定性、LaSalle 不变集、区域吸引域(RoA)估计 反馈线性化与零动力学;滑模与鲁棒性;反步法 控制李雅普诺夫函数(CLF)与控制屏障函数(CBF):把稳定与安全写成 QP 约束——安全滤波器 自适应控制、L1 自适应、基于学习的残差补偿(Neural-Fly) 混合零动力学(HZD):虚拟约束驱动的双足步态设计 关键公式 自测:学完应该能回答 CBF 的参数 α 变大 / 变小分别意味着什么? 反馈线性化后的零动力学不稳定会有什么后果? 最优控制把「控制器设计」变成「写代价函数」。LQR 是唯一有闭式解的最优控制问题,也是理解一切的锚点;动态规划(贝尔曼方程)给出最优性的原理,同时是强化学习的数学起点。
核心要点 代价函数、贝尔曼最优性原理、值函数 / 代价到达函数 J*(x) 离散 LQR:向后递推 Riccati 方程,得到线性反馈 u = −Kx;无限时域 LQR 与代数 Riccati 方程 时变 LQR(TVLQR)沿轨迹稳定非线性系统;LQR 与可控性、鲁棒性的联系 HJB 方程(连续时间)与 Pontryagin 极小值原理;值迭代在网格上求解低维问题 随机 LQR / LQG:加噪声后为什么最优控制律不变(分离原理) 关键公式 自测:学完应该能回答 为什么 LQR 的最优控制律是线性的、且与初始状态无关? 动态规划的「维数灾难」具体指什么?MPC 和 RL 分别如何绕开它? 当系统非线性、有约束、维数高时,闭式解不存在,就把「找一条最优轨迹」写成非线性规划来求解。直接法(打靶 / 配点)把整条轨迹当决策变量交给 NLP 求解器;DDP / iLQR 则利用动态规划的结构做高效的二阶迭代。这是现代足式与操作机器人运动生成的核心工具。
核心要点 直接法:直接打靶(single shooting)、多重打靶、直接配点(direct collocation);转录成 NLP 用 IPOPT / SNOPT 求解 间接法与 Pontryagin:伴随变量、为什么工程上更常用直接法 DDP / iLQR:沿名义轨迹向后传递值函数二次近似,向前滚动更新;线搜索与正则化 处理约束:惩罚、增广拉格朗日(ALTRO)、带约束的 iLQR;接触隐式轨迹优化 轨迹优化 + TVLQR = 开环规划 + 闭环稳定的经典组合 关键公式 自测:学完应该能回答 直接配点为什么比单打靶数值上更稳定?代价是什么? iLQR 与 DDP 的区别在哪一项?为什么 iLQR 通常够用? MPC 的思想极简:每个控制周期在线求解一个有限时域轨迹优化,只执行第一步,下一周期重来。它天然处理约束、能利用最新状态估计,是当今四足 / 人形机器人(MIT Cheetah、ANYmal、Atlas)运动控制的骨干。
核心要点 滚动时域原理、稳定性与可行性(终端代价 / 终端约束)、鲁棒 MPC 与管道 MPC 概览 线性 / 凸 MPC:写成 QP,用 OSQP / qpOASES 在 kHz 级实时求解;显式 MPC 非线性 MPC:实时迭代(RTI)、SQP 只做一步、acados / OCS2 等框架;warm start 的重要性 足式机器人 MPC:SRBD 凸 MPC(Cheetah 3)、质心 + 全身运动学 NMPC(ANYmal / OCS2)、感知地形 MPC MPC 与学习的结合:学习代价函数、学习动力学残差、把策略当作 warm start 或终端值函数 关键公式 自测:学完应该能回答 为什么 MPC 只执行第一步就重解?它相比一次性轨迹优化 + TVLQR 的优势和代价各是什么? 四足机器人为什么可以用单刚体模型做 MPC 而忽略腿的动力学? 全身控制在 500 Hz–1 kHz 下把 MPC 输出的质心 / 末端期望转换成每个关节的力矩:以全身动力学为等式约束,接触摩擦锥与力矩限制为不等式约束,把多个任务按优先级(严格分层或加权)写成 QP 求解。它是「简化模型规划 → 真机关节」之间的关键一层。
核心要点 任务的定义:加速度级 / 力级任务,Jẍ 形式;接触约束 J_c q̈ + J̇_c q̇ = 0 加权 QP vs 严格分层 QP(零空间投影 / 级联 QP);优先级设计的经验 接触力分配:摩擦锥、单边约束、内力最小化;力矩 / 关节限位 与 MPC 的分工:MPC 给参考轨迹与接触力,WBC 负责一致性与瞬时约束 实现细节:求解器选择(qpOASES / OSQP / ProxQP)、热启动、kHz 级时序 关键公式 自测:学完应该能回答 为什么 WBC 要把全身动力学作为等式约束而不是直接用计算力矩法? 严格分层与加权 QP 各自的优缺点? ← 🦾 运动学与动力学建模 全部领域 🗺️ 运动规划 →