仿生六足机器人步态设计与运动仿真
2023-03-29马秀峰张奇峰孙英哲
马秀峰,张奇峰,孙英哲,5
(1. 中国科学院沈阳自动化研究所机器人学国家重点实验室,辽宁 沈阳 110016;2. 中国科学院机器人与智能制造创新研究院,辽宁 沈阳 110169;3. 辽宁省水下机器人重点实验室,辽宁 沈阳 110169;4. 东北大学信息科学与工程学院,辽宁 沈阳 110819;5. 中国科学院大学,北京 100049)
1 引言
仿生机器人是指依据仿生学原理,模仿生物结构、运动特性[1],多足仿生机器人主要有双足类人机器人、四足类骡马机器人和六足类蜘蛛、海蟹机器人[2]。六足机器人有着较强的稳定性和地形适应能力,能够在社会服务,军事应用,海洋科考等[3-5]多种场景下替代人类执行任务,具有重要研究意义与使用价值。国内外相关学者对此进行了相关研究,Kamikawa等人提出了一种使用位置和机体倾斜信息的六足步行机器人步态控制方法[6];Okamoto等人提出了一种六足机器人稳定行走的策略,将机器人的重心控制在与地面接触的三条腿形成的三角形内[7];Shahriari等人使用强化学习方法生成六足步行机器人基本步态[8];金波等人采用仿哺乳类的腿部结构,设计了由步进电机驱动的六足机器人并实现了直行功能[9];刘连蕊等人针对六足机器人,设计了一种横向运动行走步态[10]。
六足机器人是冗余并联系统,足腿均为开链式结构,要控制机器人达到预期运动效果,其根本就是控制每条腿的各个关节按照给定期望运动。利用D-H(Denavit-Hartenberg)方法描述机器人的坐标系统并结合机器人结构参数构建运动学模型[11],而机器人正逆运动学的建立与求解是运动控制的前提条件。在能够运动的基础之上机器人的运动步态、控制方法和关节驱动能力决定了其运动的方向、速度、稳定性、越障能力等性能,利用MATLAB的Simulink工具箱搭建六足机器人虚拟样机仿真平台,采用基于模型开发的方式对所设计步态、控制方法和腿部关节力矩进行仿真验证与分析,具有实际的参考应用价值,进一步提高了六足机器人的运动稳定性和行走能力,并可缩短控制方法的设计时长,为六足机器人实物样机设计与运动控制打下基础。
2 机器人结构模型
六足机器人的结构模型如图1所示,在机器人的机体左右两侧六条三关节机械腿对称分布,腿上三个关节分别为水平转动的基关节,垂直转动的髋关节和膝关节,机器人的主要参数值见表1,在此结构下机器人具有较好的运动特性。
表1 六足机器人主要参数
3 机器人运动学建模
3.1 正运动学求解
腿部的正运动学是由已知的各驱动关节角度计算得到腿末端在基关节固定坐标系{O}下的位置,其本质则为连杆坐标系统的平移和旋转变换过程,而腿上连杆i(i=1,2,3)远端坐标系{i}在连杆i-1远端坐标系{i-1}下的表达为
(1)
根据D-H参数理论方法和腿部的具体结构参数,机械腿的连杆坐标系示意如图2所示,并且得到单腿的D-H各项参数如表2所示。
表2 单腿D-H参数表
(2)
得到腿末端坐标系{E}在基关节坐标系{O}下的旋转变换矩阵表达式
(3)
上式中第四列P向量为腿的末端在基关节坐标系下的偏移量,故单腿正运动学表达式为:
(4)
其中λ=β+γ
3.2 逆运动学求解
逆运动学是对六足机器人做腿部运动控制的基础,是根据已知的腿部末端接触点相对固定坐标系的位置,求解机器人腿部各个关节角度的过程,由于六足机器人的足腿各关节的转动范围已作限定,见表1,则在几何关系上有任意一个空间位置P均对应唯一的一组关节角度值,由此利用几何方法完成逆运动学求解,几何图示如图3所示。
图3 几何关系图示
推导得出关系式(5),可确定足腿的末端接触点对基关节、髋关节、膝关节的运动学逆解,已知腿末端位置Px,Py,Pz和各个连杆的长度,即可求解出足腿的各个关节转动角度q。
至此,分析建立了运动学正解和运动学逆解的数学表达式。
(5)
4 运动步态设计
此节为六足机器人设计运动步态,基于上一节建立的运动学模型,通过设计控制器与虚拟机器人被控对象相结合,产生连续步态,结合摆动腿着地控制和机体姿态控制,实现机器人稳定行走。机器人的步态包括静态步态和动态步态[12],静态步态每次迈一条腿稳定性高,但运动速度慢,执行效率低;而动态步态是对角运动方式,运动速度较快,稳定性会降低;对于六足机器人而言在对角三角步态下三条对角腿为一组按照给定的启停信号走过特定轨迹,有着静态和动态步态的优点。步态设计中将六条腿划分为两组,见表3。
表3 腿的组别划分
六足机器人以特定步态运动过程是由最基本的腿部摆动和支撑阶段所构成,如图4所示,其决定了运动的步幅长度m和每步高度h,同时摆动阶段经历时间tb和支撑阶段经历时间tz相等,既0.5的占空比,以保证运动的同步性。
图4 摆动支撑阶段示意
针对此摆动支撑过程提出一种函数方法用于参考轨迹生成,可达到摆动阶段经过平稳抬起-加速上升-减速下降-平稳落脚,支撑阶段经过加速-平稳-减速过程,利用三角函数特性,在笛卡尔空间坐标系中将摆动和支撑阶段分解到单个轴线上并建立以对应轴线为纵轴,以时间为横轴的坐标系,单独处理后合并得到足端在笛卡尔空间坐标系中的轨迹。分析推导出摆动阶段轨迹点生成方式,见式(6),式中P0、PE为3×1的足端位置向量,令式中Px和Py取反、Pz=PEz,经变换可得到腿部在支撑阶段轨迹点生成方式。
(6)
得到和时间t相关的轨迹点向量P
(7)
由式(7)并结合运动学分析中的式(4)、式(5)、机器人结构、步长m、步高h和摆动周期参数,编写轨迹生成模块,得到摆动支撑阶段的运动轨迹和关节角度变化情况,如图5所示,其中tb=tz=2s,当足端在沿着此种方法生成的轨迹点运动时各关节角度、速度以及末端速度变化连续且无骤然突变情况,有效降低了运动过程中的冲击和对机体的影响,以此动态生成六足机器人运动中每步的轨迹参考。
图5 摆动-支撑运动轨迹各指标变化
上述方法可以产生理想的足端运动参考轨迹,但在实际环境中地面并非是理想的平坦状态。在每一步中,就预先定义的步态中腿部摆动过程而言,将会出现摆动腿末端早着地或晚着地的情况,如图6所示。对于这两种情况,有必要修改摆脚的落地位置,以保证平稳落地。在六足机器人的足端安装力传感器,其反馈信号是足端着地状态的体现,垂直位置误差在摆动阶段得到补偿。为此所提出的摆动腿足端着陆位置调整控制策略流程如图7所示,图中摆动腿足端轨迹是相对地面坐标系而言的。
图6 摆动腿下落阶段过早和过晚着地情况
图7 摆动腿足端落点位置调整控制策略
4.1 转弯步态
转弯步态是多足机器人运动中的常见步态,在机器人运动过程中遇到障碍物等情况下,通常需要切换到转弯步态通过调整落脚点位置实现六足机器人运动方向的改变,在一个调整周期T内转弯这一动态过程分为:第一阶段(0~T/2)第一组腿为摆动相,以机体中心作为参考逆(顺)时针摆动,第二组腿为支撑相保持机体稳定;第二阶段(T/2~T)第一组腿为支撑相,顺(逆)时针运动,第二组腿为摆动相;以组为单位绕机体中心摆动,两阶段连续执行实现六足机器人的原地转弯步态,如图8所示为六足机器人转弯步态。
图8 转弯步态
4.2 直行步态
直行步态不同于转弯步态中每组腿同时顺时针或逆时针运动,而是同时处于摆动或支撑模式,在直行过程中分布在机体两侧的六条腿各自的摆动步幅长度相等,直行中第一组摆动,第二组支撑在T/2时刻停止,T/2时刻第二组摆动,第一组支撑至T时刻结束,依次循环往复,针对直行步态构成又具体划分为起始步、中间级全步、停止步,直行步态的构成时序图如图9所示;其中,启动步是为后续行走做准备,停止步使六足机器人在静止时各个腿均匀受力,以此保证机器人站立时最好的稳定性,并为后续其它运行步态提供初始运动条件。
图9 直行步态时序
4.3 弧线行走步态
此步态相较于转弯和直行步态在运动控制上更为复杂,弧线行走步态和直行步态的差异在于摆动步幅长度的不同,机器人的弧线行走是通过动态调整步长的方式,使六足机器人两侧出现速度差,实现弧线行走,此时既要按照分组做组内同步运动,又要对同侧腿做步长上的调整;如机器人前行中,当R一侧腿的单步步幅小于L一侧,连续执行此过程时,完成直行中向右侧转弯,步态设计如图10所示。
图10 弧线行走步态
4.4 机体姿态控制
六足机器人机体保持水平,特别是在倾斜地形上,以提高行走的稳定性,利用多轴姿态传感器获取机体的姿态信息。欧拉变换的顺序为Z-Y-X设置滤波器的截止频率为0.1Hz。为将机体的俯仰和滚动角控制在0值附近,针对二者设计了比-例积分控制器,式(8),而得到两个控制角度α和φ,经由欧拉变换和腿部的坐标变换得到新的调整后的足端位置量,如下
(8)
A=Rotzγ·Rotyφ·Rotxα
(9)
(10)
其中,d′是上一时刻的足端在机体坐标系下的向量表示,d是当前时刻计算出新的足端向量值,下图为机器人初始倾斜姿态下调整到0的过程。
图11 机体倾斜状态恢复水平
5 运动仿真
利用MATLAB的Simulink物理仿真环境创建机器人仿真平台,对机器人的运动进行仿真,验证所设计的步态并对机器人的运动性能和关节力矩情况进行分析,为使六足机器人连续运动,根据前文运动学公式及运动步态编写了行走模式控制和连续运动路径生成模块,系统组成如图12所示。
仿真系统中设置运动参数:步高h=80mm,步长200mm,160mm,100mm,单步时长2s,关节最大输出力矩70N·m,在8s时开始行走运动,运行至22s结束。
直行过程中对比实验了不同步长下的运动效果并得到如图13所示的机器人运动轨迹和L1号腿各关节输出力矩结果,由图13(a)可知,随着机械腿摆动步长减小,机器人运动速度随之降低,在摆动步长为200mm时,得到机器人行走阶段最大平均速度约0.1m/s;通过分析图13(b)腿L1的基关节输出力矩,随着机器人行进速度的提升,基关节输出力矩随之变大,既运动速度与基关节力矩呈正相关;由图13(c)(d)知,当足腿处于支撑阶段时髋关节输出力矩最大,达到了52N·m,是支撑机器人的最主要动力来源,是机器人腿部的主要受力关节。综合以上分析可得出基关节的驱动能力决定了机器人的行进速度,同时在设计机器人时应着重注意髋关节的驱动能力,以保证运动中机器人机体的稳定,如若此关节驱动能力不足将会导致机器人在运动过程中机体上下起伏和左右摆动,降低实际行走稳定性。
机器人使用弧线步态运动过程中,设定基础步长200mm,对比实验了机器人两侧腿在不同步长比例下机器人转弯情况,如图14所示为机器人机体中心投影在X-Y平面上运动路径,其中两组数据分别表示左侧和右侧腿的摆动步长之比为3:2和2:1的情况,在相同的运动时间内,随着机器人两侧腿的步长比例系数增大,转弯半径变小,同时机器人并未出现失稳状况。通过以上仿真,说明所设计步态和控制策略在直行和转弯情景下具有合理性。
图13 直行运动过程仿真结果
图14 弧线步态仿真结果
6 结论
利用D-H理论方法建立六足机器人运动学模型,推导出正-逆运动学数学表达式,并结合所设计的机器人运动参考步态、落足点调整策略和机体姿态控制方法,在虚拟物理环境下对机器人进行运动仿真,通过以上运动仿真及数据分析可得结论:①采用基于模型的设计开发方法,验证了在步态设计中所提方法和策略的可行性、正确性,加快了机器人算法的开发设计流程;②此物理构型的六足机器人基关节驱动能力决定了行进速度,髋关节是支撑腿的最大受力关节,其最大驱动能力决定机体质量上限,为后续六足机器人设计与控制提供参考。