四足机器人单腿系统及其跳跃柔顺控制的研究
2022-01-27陶红武谭跃刚陈建文
陶红武,谭跃刚,陈建文
(武汉理工大学机电工程学院,湖北 武汉 430070)
1 引言
随着仿生四足机器人[1]技术的发展,近年来四足机器人的研究热点逐渐从低速静步态运动转向高速动步态运动如跳跃运动步态。跳跃运动是一种高动态性、高灵活性的运动,在足端着地时具有大冲击力的特点[2]。采用刚性的结构形式和常用的位置控制方法往往运动效果不大理想[3]。
国内外专家学者提出了许多新颖的结构形式和控制方法。在结构上的解决方案主要是通过在单腿上加装被动元件,如弹簧,阻尼等,使腿部在运动中被动地实现一定的柔顺效果,如文献[4]基于猫的腿部结构设计足式机器人,但这种方法只能应用在单一的结构化环境中,不具有地形适应性。目前较好的解决方案是在单腿系统的控制方法上采用柔顺控制方法,如虚拟模型控制,阻抗控制[5]等方法。文献[6-7]采用虚拟模型的方法对着地过程进行主动柔顺控制,文献[8]在阻抗控制的基础上采用虚拟分解的柔顺控制方法,文献[9]通过有效改变刚度系数和阻尼系数的方法实现柔顺效果。
为了使单腿系统具有良好的跳跃表现,解决机器人运动时存在的冲击力问题,设计了一种基于力的阻抗控制的柔顺控制方法。通过控制的手段,使单腿足端与环境交互时具有一定的阻抗特性,这种阻抗特性表现为足端位置与足端力的映射关系,通过调整这种映射关系,减少足端着地冲击,避免冲击造成的不良影响,使单腿的跳跃运动更加柔顺。
2 运动学模型
2.1 单腿运动学分析
单腿结构主要包括四个部分:腿部连杆部分、驱动部分、传动部分和传感器部分。采用平行四边形机构将髋关节和膝关节的电机置于机身,其三维结构模型和结构简图,如图1所示。
图1 单腿结构简图Fig.1 Schematic Diagram of a Single Leg Structure
图中:θ1、θ2—电机转动的角位移,腿部连杆用连杆l1,连杆l2,连杆l3连杆l4连杆l5表示。
为了便于分析,利用平行四边形机构的运动特点,对平行四边形的次要平行杆进行简化去除,留下l1和l2两个主要连杆。与此同时,在机身、l1、l2和足端上分别固定坐标系{0},坐标系{1},坐标系{2}和坐标系{3},连杆结构简图,如图2所示。
图中:φ1、φ2—关节角度。θ1,θ2,φ1,φ2间的关系,如式(1)所示。
根据如图2建立的坐标系,进行运动学计算,得到末端坐标系{3}在基坐标系{0}的坐标表达,由此得到单腿系统的正运动学方程,如式(2)所示。
根据式(1)中θ1,θ2,φ1,φ2间的关系,将正运动学方程写成与θ1,θ2有关的形式:
通过对正运动学方程两边求导,可得单腿的速度雅可比矩阵J为:
单腿足端所受广义力与关节上广义力之间的映射关系即力雅克比矩阵JT,其在形式上为速度雅可比矩阵的转置。
2.2 跳跃运动分析与质心轨迹规划
单腿系统在进行跳跃运动时,根据其足端是否与地面接触分为着地相和腾空相,足端与地面接触的状态称为着地相,反之称为腾空相[10]。在单腿的着地相中,根据单腿运动方向可分为缓冲阶段和起跳阶段,相应地,单腿的腾空相可分为上升阶段和下落阶段。
在单腿跳跃过程中,足端与髋关节的距离一直在周期性的增大和减小,整体质量主要集中在机身处。为了便于研究单腿的跳跃运动,将单腿系统简化为“质量-弹簧-阻尼”系统,如图3所示。通过合理简化分析,可以进一步揭示单腿的跳跃机理。
图3 “质量-弹簧-阻尼”系统Fig.3 “Mass-Spring-Damping”System
假设单腿系统竖直周期跳跃高度为H,腿着地时腿长为L,腿部虚拟刚度为k,虚拟阻尼为c,整个单腿系统质量为m。设单腿仅在竖直方向上进行跳跃运动,在水平方向上位置保持不变。对跳跃的各阶段建立数学模型。
着地相缓冲阶段时,足端受重力,虚拟阻尼力和虚拟弹力,其动力学方程可以描述为:
着地相起跳阶段时,足端受重力,虚拟阻尼力,虚拟弹力和驱动元件提供的起跳力Fj,其动力学方程可以描述为:
在腾空相上的升阶段和下降阶段时,系统受重力作用,为保证跳起高度,离地点的初始速度与着地点初始速度大小相同,方向相反。此时单腿的运动符合自由落体运动规律。
为了对单腿系统的质心进行规划,首先应确定系统的虚拟刚度和虚拟阻尼。设单腿系统在着地缓冲时缓冲距离为S,在着地最低点时,虚拟阻尼消耗掉所有下落冲击能量,单腿系统速度为零,虚拟弹力等于单腿系统重力,此时系统虚拟刚度k应为:
为使单腿系统下落缓冲平和无振荡,系统应处于临界阻尼状态或过阻尼状态,此时系统的虚拟阻尼应满足:
根据四足机器人单腿系统实物样机的质量参数m和腿长参数L,给定规划的单腿跳跃高度H和缓冲距离S,如表1所示。根据式(9)和式(10)计算虚拟刚度k和虚拟阻尼c。
表1 跳跃运动规划参数表Tab.1 The Table of Skip Motion Planning Parameter
由于该微分方程的解析解形式较为复杂,为了便于将规划应用于跳跃控制中,对着地相质心轨迹进行多项式拟合,拟合后的质心轨迹方程为:
3 单腿系统的柔顺性控制
为了解决机器人运动时存在的冲击力的问题,可以对机器人进行柔顺控制。阻抗控制的思想在于通过对机器人的力或位置进行协调控制,从而使机器人在与环境交互时表现出相应的阻抗特性。
3.1 阻抗控制的力控制内环
单腿系统中采用直流无刷电机作为机器人的驱动元件,根据直流无刷电机的转矩方程,控制电机的电枢电流即可控制电机的电磁转矩。由于电机的阻尼和传动系统的摩擦及外界环境干扰等因素的影响,传递到髋关节和膝关节的关节力矩往往会有一定的损耗。为了对单腿系统的关节力矩进行精确控制,采用了关节力矩传感器用于检测关节的输入力矩,通过力矩反馈计算力矩误差,并将力矩误差换算为参考电流误差,再经过电流PI控制器,即可实现关节输入力矩的精确控制。
3.2 基于力的阻抗控制
根据机器人动力学的一般形式,当机器人末端受外力时有:
式中:τ—机器人的输入驱动力矩;M(q)—机器人质量矩阵;V—离心力和科式力部分;G(q)—重力部分;Fe—机器人末端力;JT-机器人力雅可比矩阵。
基于力的阻抗控制中,以力闭环为内环,阻抗控制环为外环来设计阻抗控制系统,此时阻抗控制器应根据足端的位置误差来计算阻抗力。阻抗力与位置间的关系可以用惯性,阻尼,刚度三个要素来定义,通过惯性,阻尼和刚度三个参数,来设计阻抗控制模型。
设计单腿跳跃运动时足端的阻抗控制率为:
由式(16)可知,足端力与关节输入力矩和系统动力学力矩有关。为了实现期望的阻抗特性,还需要对机器人的输入力矩进行逆动力学补偿,设补偿力矩为:
当逆动力学模型参数没有误差时,有:
将式(20)与式(13)对比可知,此时的足端接触力可以跟随足端阻抗力,可以实现零误差足端阻抗跟踪。足端阻抗可以表示为:
根据以上分析,可以给出基于力的阻抗控制系统方框图,如图4所示。
图4 基于力的阻抗控制系统方框图Fig.4 Block Diagram of Impedance Control System Based on Force
基于力的阻抗控制模型可以通过对关节输出力矩的控制实现足端接触力对阻抗力的跟踪,使足端表现出阻抗特性。以力矩控制环作为内环可以提高整个控制系统的响应速度,理论上具有很好的控制效果。
3.3 Adams-Simulink联合仿真分析
为了验证单腿控制系统的控制性能,采用Adams和Matlab/Simulink联合仿真的方法,结合前文中跳跃运动的分析和规划,以基于力的阻抗控制对单腿系统的跳跃过程进行柔顺控制,分析仿真过程中足端着地力,足端位置和足端离地高度。
设置Adams模型,单腿系统模型足端与地面的距离为0.05m,设置Adams模型重力,使单腿系统整体可在重力作用下下落。采用Adams中的Impact接触模型在足端与地面之间设置接触约束,接触约束中地面刚度系数为3.0×105,阻尼系数为1000N,仿真步长为0.005s。为防止仿真中单腿系统下落过程中发生倾倒,对单腿机身的旋转自由度进行约束,使其只能在上下和前后方向运动,如图5所示。
图5 单腿系统Adams模型Fig.5 Adams Model of Single Leg System
根据图4中基于力的阻抗控制框图,在Simulink中建立控制模型。在Simulink控制模型中,取阻抗控制参数M=0.1,B=25,K=1000,对单腿系统的跳跃运动进行柔顺控制。仿真结果,如图6所示。
图6 基于力的阻抗控制下单腿跳跃运动仿真结果Fig.6 Simulation Results of Single Leg Jumping Motion under Force-Based Impedance Control
根据仿真结果可知,采用基于力的阻抗控制方法进行仿真时,单腿系统可以实现周期性跳跃运动。
从足端接触力的角度来看,在三次跳跃过程中,单腿足端接触力变化平缓,着地接触力峰值不超过75N,起跳接触力不超过70N,在最后一次着地时,单腿系统自由下落,着地力比前三次大,为80N,由此可见有阻抗控制下落与无阻抗自由下落相比,有效减少足端接触力的大小。运动停止时,着地力稳定在33.7N。
从足端位置的角度来看,在着地相时单腿足端位置具有明显的收缩缓冲现象,其足端运动轨迹与规划运动轨迹有一定的误差,最大误差为0.03m。在腾空相时,对足端位置误差进行了修正,使足端位置保持在y=-0.35处。
从跳跃高度的角度来看,每次单腿系统起跳,在腾空相最高点时足端离地高度均为0.05m,单腿的跳跃具有较好的连续性和重复性。
4 单腿系统的实验研究
对四足机器人单腿系统进行跳跃运动实验,通过实验的方法,验证四足机器人单腿系统的柔顺运动性能。
以单腿系统足端离地0.05m为实验初始位置,足端相对于机身坐标系的坐标为y=-0.35。实验过程中单腿系统仅在竖直方向跳跃,水平方向位置保持不变,其足端轨迹规划与前文竖直跳跃仿真中轨迹规划一致。基于力的阻抗控制器参数与仿真环境相同,取M=0.1,B=25,K=1000,控制周期为0.025s;足端力传感器和关节力矩传感器采样频率均为100Hz。
对单腿系统进行竖直跳跃运动实验,并利用足端力传感器和关节力矩传感器采集记录运动过程中的受力情况,利用电机编码器记录电机运动位置并将其换算为足端位置,单腿系统竖直跳跃运动实验过程,如图7所示。实验结果,如图8所示。
图7 单腿系统竖直跳跃运动实验过程Fig7 Experimental Process of Vertical Jump in Single Leg System
图8 四足机器人单腿系统竖直跳跃实验Fig.8 Vertical Jumping Experiment of Quadruped Robot Single Leg System
从足端接触力的角度看,采用基于力的阻抗控制时,单腿系统竖直跳跃运动中足端着地力变化较缓和,无明显冲击,具有较好的柔顺性。在单个跳跃运动周期中,着地接触瞬间最大冲击力约为54N,随后在阻抗控制的柔顺作用下接触力逐渐减小,至起跳阶段时腿部蹬地发力,接触力增大,使单腿系统起跳,起跳时足端离地接触力为零。三个跳跃周期之后,单腿系统自由下落,下落着地力峰值为55N,随后逐渐稳定,稳定时接触力为32N,即单腿系统的重力。
从足端位置的角度看,采用基于力的阻抗控制时,运动过程中足端的实际位置与规划的足端位置有一定的误差,特别是在着地相时误差非常明显,这种足端位置误差与系统的机械结构精度和阻抗控制的位置牺牲作用有关,但这种误差对跳跃运动的影响不大,单腿足端的运动状态与规划的运动状态相符,且跳跃运动周期也具有一致性。跳跃运动结束之后,单腿足端在机身坐标系下的坐标为y=-0.335,这也是因为阻抗控制是牺牲位置精度来实现力的柔顺的。
5 结论
在四足机器人单腿系统的竖直跳跃仿真和实验中,单腿系统成功完成了三个周期的竖直跳跃运动,得出以下结论。(1)采用基于力的阻抗控制方法,跳跃过程中有效减少足端接触力的大小,着地冲击力较小,具有明显的冲击力柔顺效果。(2)表明单腿系统的设计,跳跃控制策略是合理的。