腿足机器人之八- 腿足机器人动力学

腿足机器人之八- 腿足机器人动力学

腿足机器人的运动学解决"如何到达目标位置"的问题,动力学解决"如何高效稳定地到达"的问题。两者结合,使机器人能够在复杂环境中实现类生物的灵活运动,是仿生机器人领域的核心技术。
如波士顿动力Atlas通过逆运动学规划跳跃动作,结合动力学模型计算关节力矩以实现空翻, MIT Cheetah利用简化动力学模型(弹簧负载倒立摆)实现高速奔跑,同时优化能量效率。

动力学研究力、质量和运动的关系,解决以下问题:

  • 力矩计算:各关节需要施加多大的力或力矩才能实现目标运动?
  • 动态平衡:如何应对外部扰动(如推力、不平地面)以保持稳定?
  • 能量优化:如何分配关节力矩以降低能耗?
  • 接触力控制:如何处理足部与地面的冲击和滑动?

刚体动力学

腿足机器人刚体动力学建模主要包括牛顿-欧拉、朗格朗日以及动量定理。

  • 牛顿-欧拉方程:基于力和力矩平衡,递归计算各连杆的力和加速度,适用于实时控制,但需要处理数值积分误差,单刚体动力学方程:
    { m p ¨ = Σ F I ω ˙ + ω × I ω = Σ τ \left\{ \begin{aligned} m \ddot p & = & \Sigma F \\ I \dot \omega + \omega \times I \omega & = & \Sigma \tau \end{aligned} \right. {mp¨Iω˙+ω×Iω==ΣFΣτ

p ¨ \ddot p p¨是质心加速度矢量,m是刚体总质量, Σ F \Sigma F ΣF是作用在刚体上的所有外力的矢量和,以水平方向为例, m x ¨ C o M = Σ F x m \ddot x_{CoM} = \Sigma F_x mx¨CoM=ΣFx,表示水平方向的河里(如地面摩擦力)等于质量乘以质心水平加速度,实际可能是在其他方向上也存在合力。

Σ τ \Sigma \tau Στ是作用在刚体上的所有外力矩的矢量和, I I I是刚体在质心处的惯性张量, ω \omega ω是角速度矢量, ω ˙ \dot \omega ω˙是角加速度矢量。右边的第一项 I ω ˙ I\dot \omega Iω˙是惯性力矩,第二项 ω × I ω \omega \times I \omega ω×Iω是离心力矩或欧拉项。

对于双足机器人走路(准静态步态):

* 单腿支撑阶段:支撑腿的关节扭矩需平衡躯干重力和惯性力,摆动腿的关节扭矩需要控制足端轨迹。

* 动力学方程:
{ Σ F = m x ¨ C o M Σ τ = I ω ˙ + ω × I ω \left\{ \begin{aligned} \Sigma F & = & m \ddot x_{CoM} \\ \Sigma \tau & = & I\dot \omega + \omega \times I \omega \end{aligned} \right. {ΣFΣτ==mx¨CoMIω˙+ω×Iω

其中 x ¨ C o M \ddot x_{CoM} x¨CoM为质心加速度, I I I为转动惯量。

当机器人右腿支撑时,右髋关节扭矩 τ h i p \tau_{hip} τhip需抵消躯干前倾力矩 m g h sin ⁡ θ mgh \sin \theta mghsinθ(当机器人躯干前倾时,重力 m g mg mg 的作用线不再通过髋关节,而是产生一个力矩(扭矩),试图使躯干绕髋关节旋转。)。
m m m:机器人质量(或躯干质量),单位kg
g g g:重力加速度(约 9.8 m / s 2 9.8m/s^2 9.8m/s2)
h h h:机器人质心(CoM)到关节(如髋关节)的垂直距离,单位米。
θ \theta θ:躯干相对于竖直方向的倾斜角

  • 拉格朗日方程:基于能量(动能 T T T和势能 V V V)守恒原理,推导系统的动力学方程:
    d d t ( ∂ L ∂ q ˙ ) − ∂ L ∂ q = τ \frac{d}{dt} (\frac{\partial L}{\partial \dot q})-\frac{\partial L}{\partial q}= \tau dtd(∂q˙∂L)−∂q∂L=τ
    适用于全局动力学分析,如复杂多自由度系统,但计算复杂度高。
    对于双足机器人的动力学模型为:
    • 广义坐标:选择躯干姿态角 θ t o r s o \theta_{torso} θtorso和关节角 q 1 , q 2 , ⋯   , q n q_1,q_2,\cdots, q_n q1,q2,⋯,qn作为自由度。
    • 动能与势能:
      T = 1 2 ∑ i = 1 n ( m i v i T v i + ω i T I i ω i ) , V = ∑ i = 1 n m i g z i T=\frac{1}{2}\sum \limits_{i=1}^n(m_iv_i^Tv_i + \omega_i^TI_i\omega_i), V=\sum \limits_{i=1}^nm_igz_i T=21i=1∑n(miviTvi+ωiTIiωi),V=i=1∑nmigzi
      其中 v i v_i vi和 z i z_i zi为第 i i i连杆的速度与高度。
    • 运动方程:
      M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) = τ + J c T F e x t M(q)\ddot q + C(q,\dot q) \dot q +G(q) = \tau + J_c^TF_{ext} M(q)q¨+C(q,q˙)q˙+G(q)=τ+JcTFext
      M为质量矩阵,C为科氏力矩阵,G为重力项, J c J_c Jc为接触点雅可比矩阵, F e x t F_{ext} Fext为地面反作用力。
  • 动量定理:用于分析机器人整体运动(如跳跃时的动量守恒)。
    如小跑的机器人,在腾空阶段,躯干角动量为零,则摆动腿的快速摆动(如膝关节伸展)需产生反向角动量以抵消躯干旋转,机器人角动量需守恒以维持姿态稳定

接触动力学与地面交互

引入地面反作用力模型(如弹簧-阻尼模型),结合摩擦约束(如库仑摩擦定律),分析足端与地面的相互作用。

  1. 接触力建模:地面反作用力(GRF, Ground Reaction Force)需满足无穿透条件,常用线性互补问题(LCP)描述。

    • 双足机器人单脚支撑阶段:
      • 地面反作用力(GRF):需满足 f z > 0 f_z > 0 fz>0(不脱离地面),且满足摩擦锥约束 f x 2 + f y 2 ≤ μ f z \sqrt{f_x^2 + f_y^2} \le \mu f_z fx2+fy2 ≤μfz, μ \mu μ
      • 线性互补问题(LCP):动力学方程与接触力约束共同构成 LCP,求解接触力 F e x t F_{ext} Fext和加速度 q ¨ \ddot q q¨。
        若机器人质心横向速度过快,地面侧向力 f y f_y fy可能超过 μ f z \mu f_z μfz,导致足端滑移,此时需调整步宽或质心轨迹,以维持走路时侧向稳定性。
  2. 混合动力学:腿足机器人在摆动相(无接触)和支撑相(有接触)间切换,需分段求解动力学方程。

    双足机器人步态切换:

    • 支撑相→摆动相:当摆动腿离开地面时,动力学方程维度减少(失去接触约束)。
    • 冲击动力学:足端触地瞬间产生冲击力,需用非光滑动力学模型描述(如瞬时速度跳跃)。
      如小跑触地时,足端速度瞬间降为零,导致关节速度突变。需通过柔顺控制(如串联弹性驱动器)缓冲冲击。
  3. 摩擦锥:接触力需满足 f x 2 + f y 2 ≤ μ f z \sqrt{f_x^2 + f_y^2} \le \mu f_z fx2+fy2 ≤μfz, μ \mu μ为摩擦系数,防止足端滑移。

    对于双足机器人防滑策略,将期望的 GRF 投影到摩擦锥内,转化为优化问题:
    min ⁡ F ∣ ∣ F − F d e s i r e d ∣ ∣ 2 ; s . t . f x 2 + f y 2 ≤ μ f z \min_{F}||F-F_{desired}||^2 ;s.t. \sqrt{f_x^2 + f_y^2} \le \mu f_z Fmin∣∣F−Fdesired∣∣2;s.t.fx2+fy2 ≤μfz

    如在斜坡行走时,摩擦系数 μ \mu μ降低,需减小步长并增加足端接触面积(如全脚掌着地)。

稳定性判据

ZMP(零力矩点)

地面反作用力的作用点,此处地面力矩的水平分量为零,零力矩点的位置必须落在支撑多边形内,否则机器人翻倒。

  • 双足机器人走路时的 ZMP 控制:
    • 静态步行:ZMP 必须始终落在支撑脚多边形内(通常为脚掌中心)。
    • 动态步行:ZMP 允许短暂超出支撑区,但需通过质心加速度补偿(如倒立摆模型)。

当机器人抬起前脚时,ZMP 迅速后移至支撑脚后跟,需提前规划质心前移以保持稳定。

CoM(Center of Mass)

CoM轨迹规划:通过调整质心水平加速度维持动态平衡,如模型预测控制(MPC)。

小跑时质心轨迹呈抛物线,腾空阶段质心仅受重力作用( z ¨ = − g \ddot z = -g z¨=−g),支撑阶段需主动施加力,然后通过滚动优化(模型预测控制(MPC))生成未来数步的 CoM 轨迹,确保动态可行性。

捕获点

定义为质心速度为零时的可达位置,用于动态恢复平衡,其表达式如下:
ξ = x C o M + v C o M ω 0 \xi = x_{CoM}+ \frac{v_{CoM}}{\omega_0} ξ=xCoM+ω0vCoM,其中 ω 0 = g / h \omega_0=\sqrt{g/h} ω0=g/h 为倒立摆自然频率。 x C o M x_{CoM} xCoM质心在水平方向(通常为前进方向)的加速度。

若机器人受外力扰动动态失衡时(如被侧向推挤),捕获点会偏移,需调整步长使下一步落脚点与捕获点重合(如快速跨出一步以"捕获"失衡的质心动量)。

简化动力学模型

  • 倒立摆模型:将机器人简化为质心+无质量腿,用于快速步态生成(如双足步行)。

  • SLIP模型:引入弹簧储能特性,模拟奔跑时的能量循环(如MIT Cheetah)。

双足机器人走路与小跑的动力学对比

  1. 走路(准静态步态)
  • 动力学特点:
    • 单腿支撑时间长,ZMP 始终在支撑脚内。
    • 关节扭矩以对抗重力为主,惯性力影响较小。
  • 控制策略:
    • 基于 ZMP 的质心轨迹跟踪(如 PID 控制关节位置)。
    • 接触力柔顺控制避免足端冲击。
  1. 小跑(动态步态)
  • 动力学特点:
    • 存在腾空阶段,需控制质心抛物线轨迹。
    • 地面冲击力大,需考虑柔顺触地与能量回收。
  • 控制策略:
    • 基于 SLIP 模型的周期步态生成。
    • 全身控制(WBC)协调关节力矩与接触力分配。

3.数值示例

  • 走路时的关节扭矩计算:
    假设机器人质量60kg,质心高度1m,步长0.5m,单腿支撑时间0.8s。
    • 质心水平加速度: a x = 2 s t 2 = 2 × 0 , 5 0. 8 2 ≈ 1.56 m / s 2 a_x=\frac{2s}{t^2}=\frac{2 \times 0,5}{0.8^2} \approx 1.56m/s^2 ax=t22s=0.822×0,5≈1.56m/s2
    • 髋关节扭矩: τ h i p = m ( g sin ⁡ θ + a x h ) ≈ 60 × ( 9.8 × 0.1 + 1.56 × 1 ) ≈ 150 N m \tau_{hip}=m(g \sin \theta +a_x h) \approx 60 \times (9.8 \times 0.1 + 1.56 \times 1) \approx 150Nm τhip=m(gsinθ+axh)≈60×(9.8×0.1+1.56×1)≈150Nm
  • 小跑时的能量优化:
    腾空阶段质心上升高度 △ z = 0.1 m \triangle z = 0.1m △z=0.1m,所需动能:
    E = m g △ z = 60 × 9.8 × 0.1 ≈ 58.8 J E = mg \triangle z = 60 \times 9.8 \times 0.1 \approx 58.8J E=mg△z=60×9.8×0.1≈58.8J
    需通过膝关节伸展在触地前释放储能(如弹簧刚度设计)。

以上内容结合了双足人形机器人在不同步态下的动力学特性与控制逻辑,实际系统需通过仿真(如 MuJoCo)与硬件实验不断迭代验证。

挑战与前沿技术

非结构化环境适应:结合视觉与触觉感知,动态更新运动学和动力学模型。

非理想地面摩擦:使用触觉传感器实时估计 μ \mu μ,动态调整步态参数。

混合动力系统:处理足部接触与腾空阶段的动力学不连续性(如混合整数规划)。

机器学习辅助:

  • 强化学习(RL)用于自适应步态生成。
  • 深度学习用于简化逆动力学计算。
相关推荐
尼尔森系3 小时前
排序与算法:希尔排序
c语言·算法·排序算法
AC使者4 小时前
A. C05.L08.贪心算法入门
算法·贪心算法
冠位观测者4 小时前
【Leetcode 每日一题】624. 数组列表中的最大距离
数据结构·算法·leetcode
yadanuof4 小时前
leetcode hot100 滑动窗口&子串
算法·leetcode
可爱de艺艺4 小时前
Go入门之函数
算法
武乐乐~4 小时前
欢乐力扣:旋转图像
算法·leetcode·职场和发展
a_j585 小时前
算法与数据结构(子集)
数据结构·算法·leetcode
yoloGina5 小时前
AI 机器人外呼 —— 开启智能外呼新纪元
人工智能·机器人
清水加冰5 小时前
【算法精练】背包问题(01背包问题)
c++·算法
视觉语言导航6 小时前
ICML-2024 | 具身智能如何数据自由?RoboGen:基于生成式模拟实现全自动无限数据机器人学习
人工智能·机器人·具身智能