四足机器人动力学技术解析
作者头像
  • 2019-11-15 10:57:19 5

一、引言

足式机器人相较于传统的四轮式和履带式机器人,在复杂环境中展现出更高的机动性,尤其在军事任务和救援任务中表现更为出色。要实现机器人的智能化,首先需要让机器人具备类似人类或动物的行动能力。马克·雷波特认为,实现这一目标的关键在于让机器人具备以下三种能力:

  1. 平衡性和动态运动能力:使机器人能够在任意地形上保持平衡并自由移动,从而扩大其工作范围。
  2. 运动控制能力:机器人能够灵活操控物体,同时自由移动,这意味着它能在移动过程中高效完成各种任务。
  3. 移动感知能力:机器人可以感知周围环境中的障碍物,即使视线转移也能避开障碍物,从而绘制出环境中的障碍物地图,有效避免碰撞。

波士顿动力公司致力于开发高效的四足机器人控制系统。从平衡控制入手,这项技术十分复杂,需要一定的先验知识。因此,我们首先探讨机器人的基本运动控制,即如何让机器人移动。这里介绍了一种基于平面三轴的运动控制方法。

在详细介绍这种控制方法之前,先简要介绍一些四足机器人的基础知识。我们的控制方法基于北理工出版的《仿生四足机器人技术》中的CPG控制网络。这部分内容主要摘自书中,笔者不再对具体技术细节做过多解释,有兴趣的读者可以自行查阅。

二、运动状态

本章节讨论如何描述机器人的位置和姿态。位置可以通过坐标表示,例如在平面上的一个点可以用坐标[x, y]表示,在空间中则用[x, y, z]表示。姿态的描述则更为复杂,通常用旋转角表示。在机器人运动中,姿态和位置是解决定位和坐标转换问题的基础。

该项目设想了一个简化模型:在不考虑各腿协同运动的情况下,可以将机器人视为刚体,其运动类似于刚体的运动。我们选用欧拉角来表示机器人的姿态,运动包括Roll、Pitch、LinerZ、LinerX、LinerY、Yaw等部分。需要注意的是,LinerZ控制机器人的质心高度,属于姿态控制的一部分;而Yaw控制机器人在平面内的旋转,属于运动控制的一部分。

姿态控制

姿态控制主要涉及Roll、Pitch和Liner_Z。姿态控制更多应用于环境响应部分,这里暂不详述。接下来,我们重点讨论运动控制部分。

运动控制

  1. 运动分解

当四足机器人在平坦地面上运动时,质心高度(Liner_Z)、Pitch和Roll角基本保持不变,因此可以将其视为平面内的运动。其位置可以用坐标[x, y, θ]表示。当前的主要目标是通过控制模型使机器人沿着给定轨迹[P(t)]=[x(t), y(t), θ(t)]移动。基本运动包括:

  • 沿X轴的平移(Liner_X)
  • 沿Y轴的平移(Liner_Y)
  • 绕Z轴的旋转(Yaw)
  1. 运动叠加

几乎所有的平面运动都可以分解为上述三种基本运动的组合。例如:

  • 沿X轴和平移Y轴的组合形成斜向直线运动。
  • 沿X轴和绕Z轴的旋转形成指定半径的转向运动。

需要注意的是,这些基本运动的顺序并不固定,既可同时发生,也可按时间先后发生,具体取决于实际环境对运动轨迹的约束。

三、步态

足式动物的运动形式可以用“步态”来描述,步态是指各腿在行走时具有固定相位关系的运动模式。慢速行走时,四足动物每一步都是稳定的三脚支撑状态,称为行提高态,是一种四拍步态。快速行走时,则是两拍步态,如小跑步态(Trot)和溜蹄步态(Pace)。

为了用数学语言描述步态,我们需要了解以下几个参数:

  • 步态周期T:一个完整的运动循环所需的时间。
  • 步长S:一个步态周期内,支撑腿推动质心相对于地面移动的距离。
  • 抬腿高度h:一步内足端离地的最大距离。
  • 相位差φi:第i条腿着地时刻相对于参考腿的延迟与周期的比。
  • 支撑(Stance):腿与地面接触支撑躯体并推动前进的状态。
  • 摆动(Swing):腿抬起在空中摆动的状态。
  • 负载因子β:支撑相中腿在地面上支撑的时间占整个运动周期的比例。

以上参数定义了动物的步态,四足机器人的步态参照这些参数。步态转换时,左前腿相位定义为φLF=0,相对相位可以表示为负载因子β和右后腿相位φRH的函数。

四、CPG控制网络介绍

动物的运动通常具有节律性,即按照一定的节奏重复协调的动作,这是低级神经中枢的自激行为。动物的节律运动控制区被认为是分层且模块化的,控制中心为中枢模式发生器(CPG)。后人根据CPG控制机理建立了不同的数学模型,这些模型能够产生周期性的振荡信号,满足节律运动的特点。

CPG模型大致分为两类:

  1. 基于神经元的模型:如Matsuoka神经元振荡模型、Kimura模型等,这类模型生物学意义明确,但参数较多,动态特性分析复杂。
  2. 基于非线性振荡器的模型:如Kuramoto相位振荡器、Hopf谐波振荡器等,这类模型参数较少,模型相对成熟。

根据这些模型的选择原则,我们选择了Hopf振荡器作为CPG的单元模型。

Hopf振荡器

Hopf振荡器在形状空间中存在一个稳定的极限环,即对于任意非零初始值,振荡器都会产生相同形状的周期性振荡信号。其数学模型如下:

假设α=100, μ=1, ω=2π,振荡器产生的极限环和输入结果如下:

从图像可以看出,对于该微分方程组,取任意初始值x(0),y(0),在波动输入后,均能收敛到同一个圆上。放大输入信号进行观察:

通过对比发现,输入信号的上升沿与下降沿所用时间相同。我们将上升沿定义为摆动相,下降沿定义为支撑相。为了适应不同负载因子下的运动形式,对ω进行以下改进:

其中,ωst、ωsw分别表示支撑相频率和摆动相频率,参数a决定ω在这两者之间的变化速度,β为负载因子,用于控制不同步态。最终数学模型如下:

其中:

  • α控制振荡器收敛到极限环的速度;
  • a决定ω在ωst和ωsw之间的变化速度;
  • μ控制振荡器的幅值,关系式为A=μ;
  • β为负载因子(范围0-1);
  • ωsw表示摆动相频率;
  • ωst表示支撑相频率,且ωst=(1-β)/β×ωsw。

动态特性

通过设置不同的参数值,可以观察到振荡器输入信号的幅值、周期、上升/下降沿所占时间比例的变化。这些参数之间不存在耦合,具体总结如下:

  • μ控制输入信号的幅值A=μ;
  • ωsw控制输入信号的周期;
  • β控制输入信号上升/下降沿所占时间比例。

CPG网络控制模型

以上内容简要介绍了单个振荡器的特性,但四足机器人至少有12个自动关节,单个振荡器显然不够。因此,我们需要一个CPG控制网络来完成各腿的协同运动。CPG网络可以通过链式连接或网络连接实现,以完成多个肢体的协同运动,并在时域上保持相关性。

我们参考北理工《仿生四足机器人技术》中的CPG控制网络模型。基本思路是采用4个Hopf振荡器分别对应四足机器人的4条腿,将每个振荡器的x输入作为髋关节的角度控制信号,对y输入进行变换,再将变换后的信号作为膝关节的角度控制信号。

需要注意的是,这4个振荡器必须相互关联。按照前辈的方法,引入一个耦合项来表征振荡器之间的关系。最终数学模型如下:

其中:

  • Ah、Ak分别为髋关节、膝关节的幅值,ϕ为关节标志,与硬件结构配置有关,本机器人采用前肘后膝式。
  • R(θij)控制各腿控制信号的耦合关系,θij=2π(φi-φj),φi为第i个振荡器的相位(相位图请参见第三章:步态)。
  • 为了更直观,我们把耦合项展开成矩阵形式(一个8×4矩阵,按行求和)。
  • 同样,可以将数学模型写成更直观的微分方程形式。

至此,我们已经建立了最基础的控制网络模型。然而,这只是第一步,正如单个Hopf振荡器需要多个参数一样,该控制模型同样需要多个参数。这些参数与机器人有何关系?如何确定?这些问题将在后续文章中详细解答。

Tips

这里提供一个仿真实例,视频将在B站发布,搜索“四足机器人”,认准我的头像即可找到。

按照Trot步态的相位分布,给定以下参数α=1000, a=100, β=0.5, Ak=3.3, Ah=9.8, ωsw=5π,输入结果如下:

其中,蓝色信号为髋关节信号,红色信号为膝关节信号。从图像可以看出,输入信号符合Trot步态运动规律,左前腿与右后腿保持同步,其他腿也遵循相同的模式。髋关节信号在上升沿为正,其他时间为0,符合摆动相的要求。

最终,仿真结果如下:

参考文献

[1] 罗庆生, 罗霄著. 仿生四足机器人技术[M]. 北京: 北京理工大学, 2016. 15-30.

[2] 韩宝玲, 王秋丽, 罗庆生. 六足仿生步行机器人足端工作空间和灵敏度研究[J]. 机械设计与研究, 2006, 22(4): 11-12.

[3] 常青, 韩宝玲, 罗庆生. 四足机器人转向与斜向运动规划理论及方法[J]. 北京理工大学学报, 2015, 35(5): 1-2.

[4] 施宏阳. 基于WCPG的步态生成与运动控制方法[D]. 华中科技大学, 2015. 15-18.

[5] 高翔. 视觉SLAM十四讲[M]. 北京: 电子工业出版社, 2017.

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
动力学机器人解析技术
    下一篇