APP下载

四足机器人后空翻动力学仿真与优化

2022-08-24李晓华洪克城李叶松

设备管理与维修 2022年14期
关键词:后空翻后腿扭矩

李晓华,洪克城,李叶松

(广东博智林机器人有限公司,广东佛山 528300)

0 引言

四足机器人的后空翻具有瞬时高爆发、非线性、强耦合和多约束的特征,具有较多自由度,依靠传统的轨迹规划技术,不仅要考虑车身的运动轨迹与姿态、腿部各关节的运动轨迹及关节扭矩,还需考虑接触、摩擦约束及关节电机扭矩等约束信息,很难人工规划出可行的空翻轨迹。本文利用Adams 对所设计的后空翻轨迹曲线进行验证,并针对后空翻所需扭矩过大问题,采用Matlab 进行轨迹调整优化,实现四足机器人在电机扭矩限制范围内完成四足机器人后空翻动作。

1 四足机器人模型建立与动力学仿真优化概述

四足机器人外观模型参考MIT Mini Cheetah,如图1 所示。每条腿有3 个自由度,分别是膝关节转动、髋侧关节转动和髋纵关节转动,配备3 个电机(图2)。

图1 四足机器人三维模型

图2 四足机器人腿部结构说明

作为使用广泛的多体动力学软件,Adams 已经广泛应用在四足机器人步态仿真中,汪永明等[1]在Adams 中研究了闭链式四足机器人对角小跑运动,获得其机体质心和足端的运动轨迹。常同 立 等[2]基 于Adams 完成了四足机器人起立后以Trot 步态行走的运动仿真模拟。张奔等[3]针对JQRI00 四足机器人进行运动学仿真,验证了步态规划以及运动控制算法的正确性。杜威等[4]通过Adams 与Matlab 的联合仿真验证了所设计的四足机器人斜面运动规划。吴浔炜等[5]利用Matlab 与Adams 进行四足机器人Trot 轨迹参数调整,实现了四足机器人Trot 步态平稳走动。

从以上文献可以看出,对于所设计的运动轨迹,利用Adams能够方便的验证四足机器人运动轨迹并计算扭矩,此外还可通过Matlab 对规划轨迹进行调整,优化轨迹降低冲击或扭矩。目前大多数研究人员是利用Adams 对四足机器人行走或奔跑轨迹进行验证和优化[6],对四足机器人后空翻的研究并不多见,目前也仅有MIT Biomimetics 实验室公布[7]其四足机器人额的空翻过程。

2 四足机器人简化模型后空翻仿真设计

MIT Biomimetics 实验室在其四足机器人Mini Cheetah 上实现了空翻功能,其首先基于非线性规划离线求解出一条空翻轨迹,然后采用阻抗模型,实现对离线轨迹指令的跟踪[7]。本仿真方案的目的同样是离线规划一条空翻轨迹,但不同的是并未采取非线性规划的方法,而是采取求解微分动力学方程的方法来设计合适的空翻轨迹。本仿真方案包含以下4 个模块:①模型简化设计;②空翻状态机设计;③动力学模型构建;④空翻轨迹求解。

根据后空翻过程的运动特点,将四足机器人简化为矢状面五连杆模型,如图3 所示。该模型的广义坐标定义如下:

图3 矢状面五连杆简化模型

其中,(x,y)为车身连杆的质心坐标;θpitch为车身连杆的姿态角;qfh、qfk、qbh和qbk分别为前腿髋关节角度、前腿膝关节角度、后腿髋关节角度和后腿膝关节角度。

后空翻过程的状态机包含如下切换过程:双腿着地、前腿离地后腿着地、飞行、下落触地、双腿落地阶段,下落触地仅考虑前腿触地后腿下落阶段,双腿落地只作为状态机的最后阶段,进入双腿落地阶段则立刻停止计算。各状态切换条件依次为前腿离地,后腿离地,前腿触地和后退触地事件。后空翻过程的状态机如图4 所示。

图4 后空翻过程状态机

微分动力学方程揭示了系统在给定初始状态和控制输入下运动演变的过程,各阶段的动力学方程如下所示:

双腿着地阶段:

其中,M为等效惯量矩阵;C为科氏力和离心力矩阵;G 为重力矩矩阵;Ff为前腿足端接触力;Fb为后腿足端接触力;Jf为前腿足端雅克比矩阵;Jf为后腿足端雅克比矩阵;af为前腿足端加速度;ab为后腿足端加速度;u=[ufh,ufk,ubh,ubk]T系统的控制输入,即五连杆简化模型的各关节扭矩;B 为控制输入选择矩阵,因对车身的3 个状态量并不存在对应的驱动输入,因此其具有如下形式:

前腿离地后腿着地阶段:

腾空飞行阶段:

前腿着地后腿下落阶段:

空翻轨迹的求解是在给定系统初始状态下,设计双腿着地阶段的系统控制输入,求解各阶段的微分动力学方程,得到整个过程的状态演变。另外,由于足端反作用力和整机运动状态具有较为直观的关系,因此认为足端作用力与关节控制输入满足以下条件:

通过设计足端反作用力,利用以上映射关系,得到关节控制输入,并借助Matlab 和空翻状态机顺序求解各阶段的微分动力学方程,从而得到整个空翻过程的状态轨迹和控制输入轨迹。

3 Adams 仿真验证与优化

将四足机器人模型导入Adams,用转动副模拟关节的转动,并施加相应的驱动,驱动函数为计算得到的后空翻各关节角度时间曲线[8]。进行仿真,结果显示输入的后空翻轨迹能够完成四足机器人后空翻动作(图5)。但空翻过程中后腿髋侧关节扭矩达到了37.3 N·m(图6)。所采用的电机扭矩最大为33.5 N·m,后腿髋侧关节电机不满足使用要求。

图5 四足机器人后空翻

图6 后空翻起跳阶段髋侧关节扭矩

由于输入的后空翻轨迹曲线为Matlab 中利用动力学算法计算得出,是对实际模型进行简化仿真,能够快速完成轨迹规划等任务,但无法准确反映实际受力情况。因此其计算得到的扭矩值和仿真结果有一定的偏差。但是Adams 仿真结果显示其能够完成后空翻动作,若能够将后空翻过程中各关节扭矩值优化到电机最大扭矩范围内,则证明该轨迹能够完成四足机器人后空翻。

采用Matlab 与Adams 联合仿真实现上述优化。我们可以将Matlab 计算得到的初始轨迹曲线进行幅值调整,生成多条调整后的前后腿轨迹曲线,之后将其导入Adams 中进行计算,找出扭矩最小的后空翻轨迹,查看其扭矩是在小于电机的最大输出扭矩。具体步骤如下:

(1)在Matlab 中编写程序,对四足机器人后腿髋纵关节、髋侧关节、膝关节角度曲线进行幅值调整(图7~图9),以各关节初始曲线的幅值为基础,各关节生成10 条幅值调整后曲线,并对起跳时间进行调整,生成10组起跳时间,共计有10 000 种后空翻起跳轨迹。

图7 幅值调整后髋侧关节曲线

图8 幅值调整后髋纵关节曲线

图9 幅值调整后膝关节曲线

(2)在Adams中建立各关节扭矩的输出,创建测量函数,测量左前腿及左后腿的膝关节、髋侧关节后空翻起跳过程的扭矩值,并定义为输出变量。之后导出四足机器人动力学模型的.adm文 件,.adm 文 件中包含各关节的驱动函数。

(3)在Matlab中编写修改.adm文件的程序,其功能包括:修改个各关节的驱动函数、提交计算、读取计算完成后输出的各关节扭矩值并判断最小扭矩是由哪组曲线生成的(图10)。

图10 后空翻扭矩优化流程

优化调整后输出的四足机器人后空翻过程种髋侧关节扭矩值如图11 所示,在起跳阶段,髋侧关节最大扭矩值为32.9 N·m,小于电机最大扭矩值,其余关节的扭矩值均小于电机最大扭矩值,这意味着该四足机器人能够实现后空翻。

图11 优化后髋侧关节扭矩

4 结论

本文对四足机器人后空翻原理进行了说明,并利用得到的后空翻轨迹曲线在Adams 中进行后空翻动作仿真。结果显示基于动力学算法计算得到的后空翻轨迹曲线能够完成四足机器人后空翻动作,但所需扭矩大于电机最大输出扭矩,因此采用Matlab 编写扭矩优化程序,基于Matlab 和Adams进行联合仿真优化,将四足机器人后空翻扭矩降低到所选用的电机扭矩范围内,说明了该四足机器人具有完成后空翻动作的能力。后续可引入相关的优化算法尝试对四足机器人后空翻轨迹进行优化,进一步优化四足机器人后空翻轨迹。

猜你喜欢

后空翻后腿扭矩
汽车零部件开档尺寸间隙对扭矩衰减的影响研究
竞技武术三人对拳后空翻训练方法设计
解释不清
扭矩扳子示值误差测量结果不确定度评定分析
鹧鸪天·踢毽子
发动机牵引作业负载扭矩预测模型研究
找腿
旋入式底火防过拧装配控制技术
狼狈为奸
冲向六月的后空翻