人形机器人建模与控制(六) - 行走控制
1. 引言
腿式机器人在复杂地形中行走的能力使其成为探索、救援和军事等领域的重要研究对象。在本篇博文中,我们将探讨腿式机器人行走周期、行走运动公式、零力矩点(ZMP)和模型预测控制(MPC)等相关理论与实践方法。
2. 行走周期
腿式机器人的行走周期可以分为支撑相和摆动相两个主要阶段。在支撑相中,机器人的一只或多只脚与地面接触,支撑整个身体的重量。在摆动相中,抬起的脚移动到下一个支撑点。
支撑相:支撑相的主要任务是保持平衡和支持身体重量。该阶段要求机器人能稳定地控制重心,使得零力矩点(ZMP)始终保持在支撑多边形内。
摆动相:摆动相的主要任务是将抬起的脚移动到下一个预定的支撑点。这个过程需要考虑行走速度、步幅和避障等因素。
3. 行走运动公式
线性倒立摆模型(Linear Inverted Pendulum Model, LIPM) 是一个广泛用于描述和分析机器人行走运动的简化模型。它假设机器人的质量集中在一个质心上,并且质心通过一个不可伸缩的杆连接到地面。以下是LIPM的详细解释和公式推导。
3.1 动力学方程
LIPM 的主要动力学方程是:
这个方程描述了质心在水平面上的加速度
3.2 解方程
该二阶微分方程可以通过超越函数(双曲函数)进行求解,得到质心的位置和速度随时间的变化:
质心位置的解为:
其中: -
3.3 时间常数
时间常数
3.4 相关频率
系统的自然频率
- 自然频率:
- 自然频率对应的周期:
LIPM
模型提供了一种简化的方法来描述机器人行走时的质心运动,通过假设质心的高度
- 动力学方程:描述质心在水平面上的加速度与质心位置的关系。
- 位置和速度方程:通过双曲函数描述质心的位置和速度随时间的变化。
- 时间常数和自然频率:与质心高度和重力加速度有关,反映了系统的动态特性。
通过这些公式和参数,可以有效地分析和设计机器人的行走运动控制系统。
4. LIPM 行走运动
4.1 质心的位置和速度
在LIPM模型中,质心的位置和速度可以通过以下公式计算:
这些公式可以用于预测质心在时间间隔
以下是每个公式的详细解释:
质心位置的变化
质心速度的变化
双曲函数的定义
质心位置的等效表达式
质心速度的等效表达式
合并位置和速度
时间步长的计算
这些公式是描述线性倒立摆模型中质心位置和速度变化的重要工具。通过双曲函数和其等效的指数形式,这些公式提供了计算机器人质心位置和速度在时间步长
4.2 能量分析和稳定性分析
接下来我们看一下线性倒立摆模型(LIPM)中的能量分析和稳定性分析。
最大动能与最大势能可以用以下公式表示:
动力学方程与能量守恒方程之间的关系可以用以下公式表示:
通过积分可以得到:
能量状态的比较:
通过能量状态的比较,可以得到质心的位置和速度:
4.3 3D 线性倒立摆模型
在这个部分,我们研究一个3D线性倒立摆模型,涉及坐标转换和能量表达式的计算。
坐标转换
首先,给出坐标转换的公式。我们从旋转角度
其中
能量表达式
给出了一个在新坐标系下的能量表达式
这个能量表达式由两部分组成:第一部分是位能项,第二部分是动能项。
能量对角度的偏导数
我们需要计算能量
其中:
最小化能量
为了最小化能量,我们需要找到
这些公式和步骤帮助我们理解如何通过调整角度
计算能量对角度的偏导数
我们从之前的结果出发:
当
于是我们得出:
条件方程
根据上述推导,我们得到:
这是一个平衡条件,表示系统中的某种守恒关系。
动能和位能表达式
动能和位能的关系如下:
这两条公式表示在 x 和 y 方向上的动能(
能量守恒条件
结合上述动能表达式,我们得到一个能量守恒条件:
这表示在系统中 x 和 y 方向的能量分布满足一个约束条件,使得总能量守恒。
摆的运动方程
我们进一步分析摆的运动,使用双曲函数描述其运动轨迹:
这些方程描述了摆在支撑时间
5. 行走基本步态的生成
在这一部分中,我们研究行走基本步态的生成过程。通过这些公式和表格,我们可以计算机器人在每一步中的位置和速度。
位置更新公式
机器人的当前位置
这个公式表明,每一步的横向步长
步长表格
下面的表格给出了前五步的步长:
这表格表示,在第1步,横向步长为0,纵向步长为0.2;在第2步到第4步,横向步长为0.3,纵向步长为0.2;在第5步,横向步长为0,纵向步长仍为0.2。
中间位置的计算
机器人的中间位置
这表明中间位置取决于下一步的步长的一半,并且纵向步长根据当前步数
中间速度的计算
中间速度
这里
这个公式表明,中间速度与中间位置成正比,比例系数由双曲函数
位置更新公式
机器人的当前位置
这个公式表明,每一步的步长
步长和旋转角度表格
步长
这个表格显示了每一步的步长和旋转角度。
中间位置的计算
机器人的中间位置
中间速度的计算
中间速度
其中,
使用4阶多项式生成初始和最终位置及速度
为了设定初始和最终位置及速度,我们使用4阶多项式(样条曲线):
这个多项式用于规划机器人从初始位置到最终位置的平滑过渡。
5. 基于ZMP的行走运动
零力矩点 (ZMP) 的概念
ZMP(Zero Moment Point,零力矩点)是机器人行走控制中的一个关键概念,它代表了机器人脚底的一个点,在该点处地面反作用力的水平力矩为零。ZMP 用于确保机器人在行走时的稳定性。
位置和加速度关系
ZMP 的位置
通过重排公式,我们得到加速度
这里,
离散时间模型
对于离散时间模型,加速度
这里,
ZMP位置的计算
ZMP 位置
其中系数
这里
矩阵形式的ZMP公式
我们可以将以上关系用矩阵形式表示:
其中,
迭代求解
最后,我们可以通过迭代法求解:
- 设定初始ZMP位置
和期望的ZMP位置 。 - 计算误差
:
- 更新质心位置:
通过这种方法,可以不断调整质心位置
6. 基于模型预测控制(MPC)的行走
模型预测控制(MPC)是一种先进的控制策略,它通过使用系统的数学模型来预测未来的行为并优化当前的控制输入。以下解释了MPC在机器人行走控制中的应用。
状态方程与输出方程
给定系统的状态方程和输出方程如下:
这里,
控制输入和输出分别为:
状态矩阵
目标函数
为了实现对参考轨迹的跟踪,MPC通过最小化以下目标函数来确定最佳控制输入:
这里,
控制律
MPC控制律可以表示为:
其中,反馈增益矩阵
实现与计算
这些公式用于计算控制输入 dlqr
函数。
基于模型预测控制的行走方法,通过利用系统的数学模型和优化算法来预测未来的行为并确定最优的控制输入。这种方法可以有效地实现对参考轨迹的跟踪,并在复杂环境中确保机器人的稳定行走。
7. 基于DCM的行走运动
在本部分中,我们将探讨如何使用基于模型预测控制(MPC)的方法进行行走运动控制,特别是围绕零力矩点(ZMP)和动态中心点(DCM)的控制。
状态方程与输出方程
首先给出系统的状态方程和输出方程:
状态向量
控制输入
状态矩阵
目标函数
为了实现对参考轨迹的跟踪,MPC通过最小化以下目标函数来确定最佳控制输入:
这里,
控制律
MPC控制律可以表示为:
其中,反馈增益矩阵
DCM/ZMP控制
定义动态中心点(DCM):
并且有以下关系:
步骤1:计划步态
建议至少规划三个步态:
步骤2:定义虚拟排斥点(VRP)
VRP位置为:
步骤3:定义DCM的路径点
DCM路径点为:
其中:
步骤4:生成质心(CoM)轨迹
质心轨迹为:
并有:
步骤5:DCM/ZMP平衡控制
平衡控制方程为:
期望ZMP位置为:
期望ZMP速度为:
最终期望质心速度为:
通过模型预测控制(MPC),可以有效地规划和控制机器人的行走运动。基于零力矩点(ZMP)和动态中心点(DCM)的控制方法,通过状态预测和优化控制输入,实现对参考轨迹的精确跟踪,从而确保机器人在行走中的稳定性和灵活性。
8. 足迹轨迹生成
足迹轨迹生成是机器人行走过程中一个重要的步骤,通过规划足部的运动轨迹来确保机器人能够稳定地进行步态转换。
步态时间
步态时间由单支撑相(SS)和双支撑相(DS)的时间之和决定:
足部初始和终止条件
为了生成足部的轨迹,我们首先定义足部在步态开始和结束时的条件:
这些条件表明,足部在单支撑相的开始和结束时分别位于上一步的位置
中间位置
在单支撑相的中间点(即时间
这表明在单支撑相的中间点,足部的位置在上一步和下一步位置的中点上,并且抬升高度为
足部轨迹生成方法
为了生成平滑的足部轨迹,我们通常使用多项式插值或样条曲线。给定上述边界条件,可以使用五次多项式来描述足部轨迹:
通过求解这个多项式的系数
足迹轨迹生成是确保机器人行走过程中足部运动平滑且稳定的关键步骤。通过设定足部在步态开始、中间和结束时的位置、速度和加速度条件,可以利用多项式插值方法生成符合要求的足部轨迹。这些轨迹对于实现平稳的机器人行走至关重要。
- Title: 人形机器人建模与控制(六) - 行走控制
- Author: xiangyu fu
- Created at : 2024-05-26 23:37:47
- Updated at : 2024-09-02 19:19:42
- Link: https://redefine.ohevan.com/2024/05/26/legged_robots/blog-06/
- License: This work is licensed under CC BY-NC-SA 4.0.