Home / 机器人经典基础 / 线性倒立摆:通过限制身体怎样动,让行走动力学变简单

027|线性倒立摆:通过限制身体怎样动,让行走动力学变简单

总览 · 目录 · 上一篇 · 下一篇

论文:Shuuji Kajita、Kazuo Tani,Study of Dynamic Biped Locomotion on Rugged Terrain—Derivation and Application of the Linear Inverted Pendulum Mode,1991,ICRA,1405–1411。原始论文 DOI。

补充来源:J-STAGE卷期页摘要 · 该期刊论文DOI。

先接住前作的问题

Newton–Euler能描述复杂受力,却不自动给出好用的步态生成模型。LIPM主动约束质心运动以换取线性关系;ZMP预瞄承接这一模型家族,Capture Point再分析怎样停住。

五个前置概念

五个前置概念:质心汇总身体质量分布;倒立摆刻画上重下支撑的不稳定性;约束控制主动限制运动到指定集合;单支撑切换改变脚与身体之间的相对关系;接触可行性检查力与摩擦是否物理允许。

一、问题设定:双足复杂受力怎样变成可解析的水平运动模型

双足机器人有许多关节,身体一边前进、一边上下运动,脚还不断切换接触。直接对所有运动做规划,动力学复杂且直觉不清晰。Kajita 与 Tani 的办法是先选一种特别的身体运动:让质心沿一条直线走,并对身体转动施加约束。这样,理想模型的水平动力学会变成线性方程。

问题定义:身体质量、无质量腿与固定支撑点

这是模型驱动步行控制,不是强化学习。理想化保留身体的主要质量,忽略腿的质量,在竖直平面内运动。输入可包括支撑点、质心初态、期望步态和地形;输出是质心轨迹以及实现该轨迹所需的身体与腿部动作。

为什么保留如此简化的模型?在单支撑期间,最关键的不稳定性来自质心位于支撑点之上。身体略向前偏,重力和支撑作用使它继续向前倒;摆腿换一个支撑点,便可以把连续下落组织成行走。低维模型希望抓住这个关系,而不在第一步就拟合每个关节的全部细节。

理想模型与真实任务之间有明确差距:腿部惯性会影响角动量,脚有有限面积,关节力矩与速度有界,地面只能推不能拉,摩擦也有限。低维轨迹在数学上存在,不代表整台机器人必能跟踪。

二、代入质心直线约束,检查非线性项如何相消

方法推导:斜直线为什么也能留下线性方程

以下为独立教学推导,展示可访问原始摘要所述机制。取支撑点为原点,质心位置 (x,z)(x,z)、质量 mm,地面反作用力为 (Fx,Fz)(F_x,F_z)。在质心角动量变化和支撑力矩可忽略的理想支撑下,合力沿支撑点到质心方向,因此

zFx−xFz=0.zF_x-xF_z=0.

牛顿方程为 Fx=mx¨F_x=m\ddot x、Fz=m(z¨+g)F_z=m(\ddot z+g),从而

zx¨−xz¨=gx.z\ddot x-x\ddot z=gx.

这是一般情况下的非线性关系。现在主动约束质心走直线 z=kx+zcz=kx+z_c,其中斜率 kk 恒定,截距 zc>0z_c>0,于是 z¨=kx¨\ddot z=k\ddot x。代入得到

zcx¨=gx,x¨=ω2x,ω=g/zc.z_c\ddot x=gx,\qquad \ddot x=\omega^2x,\quad\omega=\sqrt{g/z_c}.

斜率项恰好相消,留下线性方程。这里 zcz_c 是直线在支撑点坐标系中的高度截距;在水平轨迹 k=0k=0 时才等于处处不变的质心高度。把斜坡情形也不加区别地称为“固定高度”,会丢掉这篇工作的关键解释。

在固定支撑点 pp、水平高度 hh 的常见特例中,可写为

x¨=gh(x−p).\ddot x=\frac gh(x-p).

这式子也揭示不稳定性:质心在支撑点前方时,水平加速度继续向前。线性意味着方便分析,不意味着自动稳定。给定 pp 后不能任意指定一条 x(t)x(t),因为位置与加速度必须满足这个关系。

若把初态相对支撑点位置写为 x0x_0、速度为 v0v_0,解析解为

x(t)=x0cosh⁡(ωt)+v0ωsinh⁡(ωt).x(t)=x_0\cosh(\omega t)+\frac{v_0}{\omega}\sinh(\omega t).

双曲函数来自一个增长模态和一个衰减模态。步态规划要管理增长部分,并通过换脚改变参考支撑点。只让摆腿按时落地,却不考虑质心到达时的速度,仍可能失去平衡。

解出增长模态,才知道“线性”没有消除什么

质心高度固定为 zc>0z_c>0、重力加速度为 g>0g>0时,令 ω=g/zc\omega=\sqrt{g/z_c},支撑点水平位置为 pp,则 x¨=ω2(x−p)\ddot x=\omega^2(x-p)。固定支撑期间,解为

x(t)−p=Aeωt+Be−ωt,A=x0−p+x˙0/ω2.x(t)-p=Ae^{\omega t}+Be^{-\omega t},\qquad A=\frac{x_0-p+\dot x_0/\omega}{2}.

其中 x0,x˙0x_0,\dot x_0为初始位置和速度,衰减模态系数为 B=(x0−p−x˙0/ω)/2B=(x_0-p-\dot x_0/\omega)/2。这一展开比“倒立摆不稳定”更可操作:需要管理的是增长模态系数 AA。教学例取 g=9.8,zc=0.8g=9.8,z_c=0.8,则 ω=3.5 s−1\omega=3.5\,\mathrm{s}^{-1};x0−p=0.04 m,x˙0=0.14 m/sx_0-p=0.04\,\mathrm m,\dot x_0=0.14\,\mathrm{m/s} 时,A=0.04 m,B=0A=0.04\,\mathrm m,B=0。0.2秒后偏移约0.0806米,速度约0.282米/秒。线性模型容易求解,但误差仍在指数增长。

把增长系数设零得到 p=x0+x˙0/ωp=x_0+\dot x_0/\omega,这是通向Capture Point的教学推导联系,并非宣称1991论文已完成后来的一步捕获理论。ZMP预瞄在这一动力学家族上利用未来参考,是模型的后续应用。原作者1995年的独立实机论文摘要特别讨论支撑切换和动量损失,提醒我们固定支撑解析解不能覆盖触地冲击;其硬件数字不能倒填到1991年。

直线约束留下了可解析的水平演化,但该线性系统仍可能不稳定。先算0.3秒后的质心位置与速度,再分开讨论模型补偿和原会议实验尚不可核实的部分。

三、计算一步前的质心演化,核对模型补偿接口

输入:地形与支撑点,质心初始位置速度,允许的身体轨迹
选择符合模型假设的直线约束及身体姿态约束
计算当前支撑坐标下的高度截距与线性动力学参数
用解析解预测单支撑末端的质心位置和速度
选择下一支撑点与切换时刻,连接相邻支撑阶段
生成实现质心约束和摆腿落脚的关节参考
用全身模型检查力矩、接触力、摩擦与运动范围
通过反馈修正模型误差,必要时改变步态
输出:可验证的步态参考及下层控制目标

这是教学算法骨架,不是会议原稿逐行算法。最后的全身可行性检查说明应用时必须补齐哪一层;原摘要关于踝关节力矩的说明,也体现了理想模型需要补偿而非直接等同于真实机器人。

自构算例:一步之前就能看见不稳定性

设 h=1h=1 m、g=9.81g=9.81 m/s²,故 ω≈3.13\omega\approx3.13 s⁻¹。质心相对脚前移 0.05 m、初速度为零。0.3 s 后,相对位置约为 0.05cosh⁡(0.939)≈0.0740.05\cosh(0.939)\approx0.074 m,速度约为 0.05×3.13sinh⁡(0.939)≈0.1700.05\times3.13\sinh(0.939)\approx0.170 m/s。

身体没有“自行回到脚上”,而是偏得更远。如果给模型加上追踪力却忘记接触条件,可能算出需要地面向下拉或超过摩擦能力的指令。对这类模型最有价值的练习,是在解析轨迹之后继续算接触力,检查它是否真实可实现。

四、区分独立教学推导与尚未取得的会议实验

线性倒立摆:要消掉的是增长模态;两条直线都是零轨道能量分支,只有绿色分支朝平衡收敛
原创教学图:本文手算与几何示意;核对相关原文。非原论文图,非实验数据。

读图:两条直线都是零轨道能量分支,只有绿色分支朝平衡收敛。橙色的两个点来自正文解析例,0.2 秒内偏移约翻倍;“线性”和“稳定”不是同一概念。

证据与实验:哪些能确认,哪些仍不能

1991 年 ICRA 会议版全文与原图仍未取得。同年日文论文摘要仅能核实集中质量、无质量腿、直线质心等前提及仿真描述,不能替代会议版实验。

项目 阅读证据与范围
原始对象 1991 ICRA 论文,平面理想双足模型与线性倒立摆模式
关键假设 无质量腿,身体沿指定直线运动并维持指定转动方式;同年作者期刊摘要确认
方法主张 约束后质心动力学线性,可把特定起伏地形问题联系到平地步行
验证类型 可访问会议摘要说明提供仿真结果
仿真参数与基线 会议全文未取得,具体质量、步数、地形、对照尚未核实
实机证据 不能把“可应用于真实模型”的表述当成完成实机实验;此处不作实机性能结论
不确定性报告 重复次数与误差统计尚未核实

因为全文范围受限,无法可靠选出三至五张会议原图进行结果比较。现有证据可定位到三个原始陈述:会议摘要的理想模型与约束设定支持研究对象;同年作者期刊摘要关于斜率不影响线性动力学的表述支持简化机制;会议摘要的踝力矩与仿真说明支持作者尝试缩小理想模型和真实腿部质量之间的差距。这些均不构成某个速度或鲁棒性指标的量化验证。

独立推导则提供另一种证据:代入约束能直接检验斜率相消是否成立。它证明的是所列假设下的方程性质,而不是腿的控制器必能无误差实现约束。推导正确与系统验证充分是不同层次。

五、检查腿质量、角动量与接触切换代价

以下是由模型得到的局限分析。若轨迹不再是直线,例如 z=f(x)z=f(x),就会出现 f′′(x)x˙2f''(x)\dot x^2 项,斜率简单相消的结构不再充分。若身体角动量显著变化,支撑点与质心之间的力矩关系也需修正。若脚开始翻转或滑动,假定固定的支撑点会失效。

“起伏地形”等价于某种平地模型,还不等于地形无关。不同落脚高度会改变支撑坐标、直线截距和阶段连接,摆腿仍须跨越障碍,接触切换也可能引起冲击。一个水平动力学表达式不能替代整条步态的几何与接触规划。

六、追问:若下层不能维持所选质心轨迹,继续使用线性预测会错在哪一层?

若下层不能维持所选质心轨迹,继续使用线性预测会错在哪一层?

参考答案:问题先发生在模型成立条件:水平线性关系来自指定运动约束,不是对任意轨迹都成立的恒等式。应先比较实际质心高度、姿态变化和接触状态是否满足约束,再解释预测误差。提高线性模型求解精度不能补回被违反的物理前提。

七、从线性模式走向预瞄与停止分析

八、自测与参考答案

问题1:LIPM 为什么不是普通的小角度线性化?

答:上述线性关系来自主动施加的直线运动约束,代入后项精确抵消;没有使用 sin⁡θ≈θ\sin\theta\approx\theta。准确性来自约束和理想模型是否成立,而不是摆角足够小这一条条件。

问题2:方程里没有斜率,是否说明机器人走什么坡都一样?

答:没有。它只说明固定支撑阶段、指定直线约束下水平动力学的形式不含斜率。高度截距、落脚可达性、接触力与阶段连接仍受地形影响。几何限制和力矩限制可能先于低维方程失效。

问题3:线性系统为什么仍会摔倒?

答:x¨=ω2x\ddot x=\omega^2x 有正实特征值,存在指数增长模态。线性只让预测与控制设计更简单,稳定还要靠正确支撑位置、反馈和接触切换。缺少这些机制时,模型本身正是在描述“越来越倒”的运动。