艾宁义, 杨 冬, 李铁军, 马 涛
(河北工业大学 机械工程学院, 天津 300132)
手是使人类具有高度智慧的重要器官,也是人类与环境交互的重要环节。随着社会对机器人技术需求不断增加,仿人机械手的研发工作得到了迅猛发展。其中驱动技术是仿生机械手研发的关键技术。由于直流电机具有输出力矩大、运动速度快、控制精度高等优点,在机械手中得到广泛应用。
当前大多数的机械手都以直流电机作为执行器,将其直接安装在关节位置,驱动关节,或者将其安装在基座上通过“腱传动”方式驱动手指运动。文献[1-5]中是典型的直流电机驱动的仿生灵巧手,但是受限于直流电机的固有特性,这些仿生手使用安全性和柔顺性低,并且质量大。电机后置并采用“腱传动”灵巧手能够减少手指质量、提高响应速度,但是依然存在柔顺性差的问题。
为了拥有柔顺的关节特性,许多研究人员将注意力集中在人造肌肉上。目前气动肌腱作为一种新型标准工业执行元件,因其具有功重比(功率/重量)高、柔顺性好、成本低、节能环保等特点,广泛应用于仿生机器人及机械手等对象的驱动元件[6-7]。采用气动肌腱驱动的仿生关节可将气动肌腱固有的柔性融入到关节柔性中,能够储存、释放能量和吸收运动冲击。但是气动肌腱所固有的强非线性、迟滞性,建立模型困难,增加了仿生关节位置/刚度控制难度,且仿生关节的位置和刚度两者存在较强的相互耦合,难以实现关节设定刚度下的高精度位置控制。
国内外学者针对气动肌腱驱动的仿生关节位置/刚度控制方面进行大量研究。文献[8-11]实现了气动肌腱拮抗关节的运动控制,但完全未考虑关节刚度。文献[12]提出了基本位置控制法(Basic Position Control Method, BPC)、基于模型位置控制法(Model Based Position Control Method,MBPC)及其混合方法实现对关节的控制,并推导了关节刚度模型,但未考虑关节刚度控制。文献[13]提出了关节刚度控制的预估刚度方法,并基于力学平衡模型、PI控制器的关节位置闭环和关节刚度闭环的控制方法,进行关节刚度与关节位置均为定值的实验研究,但是关节位置控制精度较低,且未深入研究关节刚度与位置的随动控制。文献[14]提出了位置/刚度解算模型,采用模糊神经网络补偿器、PID控制器和模糊神经网络辨识器构成的控制结构,实现了对关节位置闭环控制和关节刚度开环控制,但因采用了虚功原理建立的气动肌腱模型,关节模型与实际装置误差较大。
针对以上问题,本研究以DMSP型气动肌腱驱动、腱传动的拮抗式仿生关节为研究对象,建立单根气动肌腱数学模型及关节数学模型;基于关节位置/刚度解算模型,采用模糊PID算法实现对该关节的运动控制,验证了气动肌腱模型的准确性和控制策略的有效性。
从运动生物力学角度分析,生物的关节是在肌肉与骨骼协同作用下产生运动。人手骨骼肌肉结构复杂,手指关节的运动有很多肌肉参与,除位于掌部的内在肌以外,还有来自于前臂的外在肌[15]。外在肌的肌肉主体位于前臂内,通过长肌腱驱动指关节运动。本研究中仅以中指的掌指关节(MP关节)及可影响其运动的部分外在肌为例,其屈曲运动主要由指深屈肌和指浅屈肌的收缩实现,同时指伸肌的收缩可以完成该关节的伸展运动,如图1所示,其关节运动范围为90°。所以,控制中指的掌指关节运动的外在肌构成一组既相互协调又相互对抗的肌肉对。
图1 中指的MP关节和影响其运动的外在肌
因此,受人手骨骼肌肉结构的启发,设计了一种采用气动肌腱为关节提供驱动力,传动方式为腱传动的气动肌腱拮抗式仿生关节,其关节装置和简化模型如图2所示。该拮抗式仿生关节主要由主骨架、2根气动肌腱、腱绳、关节转轴和摆杆组成。通过调节2根气动肌腱的气压产生拉伸力,由腱绳将力传递到关节转轴,可以实现关节角度在合适的范围内按照一定的轨迹运动。
图2 仿生关节实物照片及简化模型图
但是,为保证该关节能够实现转动,在关节转角θ为0 和气动肌腱输入气压pi=0, (i=1,2)时调节腱绳长度,使其预留一定长度lb,此时腱绳处于松弛状态。当气动肌腱内气压增大时,气动肌腱收缩,腱绳被张紧,2根气动肌腱都既可以收缩又可以伸长,此时关节可以实现顺时针和逆时针2个方向的转动。该关节的相关参数如表1所示。
表1 关节相关参数
将气动肌腱作为仿生关节的驱动元件,建立精确的单根肌腱数学模型,对于分析关节特性是十分重要的。但由于其强迟滞非线性[16],难以建立精确的数学模型。文献[11-12]在Tondu-Lopez模型[17]的基础上,通过使用最小二乘法建立气动肌腱模型,但需要2次曲线拟合才能完全确定模型参数。本研究以Tondu-Lopez模型为基础,对拟合方法进行改进,只需1次参数辨识即可确定模型参数。
选取Tondu-Lopez模型为气动肌腱近似数学模型:
F(p,ε)=f1(p)-100·f2(p)ε+f3(p)·e-40ε
(1)
式中,F—— 气动肌腱产生的拉伸力
p—— 气动肌腱输入压力
l,l0—— 分别为气动肌腱实际有效长度和初始长度
fi(p), (i=1,2,3)以气动肌腱输入压力p为变量的函数,一般取为关于变量的p多项式函数:
(2)
式中,aij为待定系数,本研究中取fi(p),(i=1,2,3)为关于气压p的一次函数,函数表示为:
f1(p)=a10+a11p
f2(p)=a20+a21p
f3(p)=a30+a31p
(3)
定义矩阵:
A=[a10,a11,a20,a21,a30,a31]T
(4)
为待定系数矢量,使用最小二乘法辨识参数值,则关于待定系数的正则方程为:
CA=F
(5)
(6)
F=[F(1),F(2),…,F(k)]T
(7)
式中,C—— 含收缩率和输入气压的测量值矩阵
F—— 肌腱拉伸力测量值矢量
k—— 试验测试数据点的个数
由Moore-Penrose广义逆求得正则方程式(5)的极小范数最小二乘解为:
(8)
气动肌腱特性测试平台如图3所示,其中包括气动肌腱本体、拉力传感器、位移传感器、拉伸气缸、电气比例阀、气压传感器和数据采集卡组成。采用DMSP-10-200-RM-CM型气动肌腱,一端与机架相连,另一端与拉力传感器、拉伸气缸和位移传感器相连。上位机通过数据采集卡D/A转换接口控制电气比例阀,进而实时调节气动肌腱与拉伸气缸的气压,压力传感器反馈实际气体压力。通过控制拉伸气缸的气压,可调节对气动肌腱的拉伸力,实现气动肌腱的拉伸与收缩,并通过拉力传感器与位移传感器测量肌腱拉力与变形量。压力传感器、拉力传感器和位移传感器的信号通过数据采集卡A/D转换接口实时传输至上位机。
图3 气动肌腱特性测试平台
为了深入分析气动肌腱拉伸力与肌腱输入气压和收缩率之间的关系,在等压的条件下对气动肌腱特性进行测试,测试气动肌腱在0~0.5 MPa范围内6个等压特性曲线。在每次实验中,保持肌腱内部气压为恒定值,通过拉伸气缸逐渐向肌腱加载,到达极限拉力点附近时,再逐渐卸载,实验结果如图4中浅色标记点所示。由于拉伸气缸内部摩擦力的影响,在每次恒压实验中,无法测得在该气压下气动肌腱极限收缩率处的数据;但是由于气缸内部的摩擦力很小(约为15 N),对实验结果影响可以忽略不计。
图4 实验数据点与拟合结果
根据实验数据及式(8),参数辨识结果为:
(9)
所以建立的单根气动肌腱数学模型为:
F(p,ε)=(776.1p-95.9)-100(18.4p+
5.9)ε+(27.3p+110.4)e-40ε
(10)
实验数据与拟合结果的相对关系如图4所示,其中浅色标记点为实验采集数据,深色曲面为通过最小二乘法建立的数学模型。
为了检验模型的准确性,将通过最小二乘拟合的近似模型与产品公布的力/位移量图表[18]作对比(如图5所示),在每个恒定输入气压下,通过最小二乘法建立的模型与官方公布曲线有较高的重合度,表明该数学模型满足控制要求。
图2b中垂直关节转轴平面内,由气动肌腱提供的拉伸力产生关节扭矩驱动关节转动。根据单根气动肌腱数学模型(式(1)),假设腱绳处于张紧状态,对关节进行受力分析,由此得到关节输出力矩:
τ=F(p1,ε1)r-F(p2,ε2)r
(11)
式中,τ—— 关节输出力矩
p1,p2—— 2个气动肌腱的输入气压
r—— 有效关节半径
ε1,ε2—— 2个气动肌腱的收缩率,并且满足:
(12)
如图5所示,当气动肌腱的输入压力为定值且拉伸力为F=0时,气动肌腱存在最大收缩率。所以,当关节角度一定时,即使气动肌腱内存在气压,此时腱绳可能依然处于松弛状态,此时气动肌腱作用在关节的力F=0。由于建立的数学模型为刚性连接,但腱绳为柔性,在腱绳松弛时数学模型与装置实际状态不符,所以判断腱绳的状态对于提高关节数学模型的准确性十分重要。
定义气动肌腱在空载时输入压力p的收缩率为ε0(p),所以ε0(p)是当气动肌腱输入压力为p时方程(式(13))的解:
F(p,ε)=0
(13)
对于仿生关节的2根气动肌腱,可得如下结论:
(14)
其中,Fi为第i根气动肌腱作用于关节转轴上的拉伸力。定义函数:
(15)
综合式(11)~式(15),气动肌腱仿生关节的关节输出力矩模型可改进为:
(16)
由于气动肌腱拮抗关节为可变刚度关节,根据关节刚度的定义[11]:
(17)
根据链式求导法则,关节刚度K可写为:
(18)
根据式(1)可推导:
(19)
其中i=1,2,由式(12)可知:
(20)
综合式(18)~式(20)可得关节刚度模型为:
(21)
气动肌腱拮抗关节的关节运动是2根拮抗气动肌腱运动的合成,可以描述为系统通过2个自由变量控制1个自由度运动,构成了冗余驱动系统,因而该系统可以同时控制关节位置与关节刚度。由于关节位置与刚度模型具有耦合关系,因此要实现关节位置和关节刚度同步控制,引入建立位置/刚度解算模型的思想[14],根据关节位置θ、设定关节刚度K及关节输出力矩τ解算气动肌腱理论输入压力p1,p2。
根据式(16)、式(21),建立位置/刚度解算模型为:
(22)
但是由于模型中引入了函数g(x),解算难度较大,并且当腱绳处于松弛状态下,会造成该模型有无数解。为降低解算难度,保证位置/刚度解算模型有唯一解,必须保证腱绳始终处于张紧状态。假设腱绳处于张紧状态下,则位置/刚度解算模型可以简化为:
(23)
但是关节位置θ、关节刚度K及关节输出力矩τ之间函数关系复杂且具有耦合性,要保证在某一关节位置下腱绳处于张紧状态,需合理选取关节刚度K的值及关节输出力矩τ的范围。
首先计算该关节的位置范围和刚度范围。由于气动肌腱的最小收缩率为-3%,以及预留腱绳长度为lb,所以理论关节运动范围为:
=[-0.8 rad, 0.8 rad]
=[-45.84°, 45.84°]
(24)
其关节的整体运动范围与人手MP关节相似。为避免因过度拉伸导致气动肌腱损坏,取运动范围:
θ∈[-20°, 20°]=[-0.349 rad, 0.349 rad]
(25)
F(p,εi)=0
(26)
根据式(13),可求得在关节角度θ=0时,腱绳恰好处于直线状态且拉伸力Fi=0时的输入气压:
(27)
在此状态下,该关节刚度取得最小值Kmin=6.03 N·m/rad。当pi(θ)=pmax且关节位置位于极限位置(θ=±0.349 rad)时,关节刚度取得最大值Kmax=11.79 N·m/rad。
在保证腱绳处于张紧状态的前提下,给定关节角度θ和关节刚度K,合理增大p1的值,减小p2的值,可增大关节输出力矩;反之合理减小p1的值,增大p2的值,可减小关节输出力矩。依照此规律,如图6所示的算法流程图可以计算出腱绳处于张紧状态且给定关节角度θ和关节刚度K的条件下,气动肌腱拮抗仿生关节可输出最大关节输出力矩τmax和最小关节输出力矩τmin(计算最大力矩τmax时,i=1,j=2;计算最小力矩τmin时,i=2,j=1)。
图6 求取关节力矩最值算法流程图
因此,根据此算法流程图,计算出在关节位置范围及关节刚度范围内的关节输出力矩最大值与最小值,如图7所示。其中有颜色覆盖的区域代表在此关节角度θ和设定关节刚度K存在最大输出力矩τmax和最小输出力矩τmin,并且由颜色覆盖的形状相同,说明输出力矩的最大值与最小值总是成对存在。例如,当关节位置θ=0°,关节刚度K=8 N·m/rad时,最大输出力矩Tmax=2.507 N·m,最小输出力矩Tmin=-2.507 N·m。
图7 关节输出力矩最值分布图
图中的白色区域代表在此关节角度和设定关节刚度下不存在输出力矩的最值,进而说明了在保证腱绳处于张紧状态的前提下,在气动肌腱许用输入压力范围内,在该关节位置无法达到所设定的刚度值。所以在某一关节位置θ,应合理选择关节刚度值,再根据关节输出力矩的范围选择合理的输出力矩,使腱绳始终处于张紧状态,进而保证位置/刚度解算模型具有唯一解。
以图2所示的气动肌腱拮抗式仿生关节为被控对象,基于Python编程语言编制实时控制程序,控制系统试验平台如图8所示,试验系统硬件配置如表2所示。
图8 仿生关节控制系统试验平台
表2 试验硬件配置
传统PID控制方法虽然能使系统获得良好的稳态精度,但系统的快速性和抗干扰能力都不理想。模糊控制是基于模糊推理和模仿人的思维方法,其主要的特点是控制系统设计依据经验和操作数据。本研究中将模糊控制和传统PID算法相结合,使控制器具有模糊控制的鲁棒性和PID控制削弱稳态误差的性能。气动肌腱仿生关节控制系统原理如图9所示,其中模糊PID算法中的模糊控制器以误差e和误差变化率ec为输入,以kp,ki,kd为输出,运用模糊控制规则[19]实现对PID参数的自动调节。PID控制器采用增量式PID算法,输出为关节控制力矩u,其表达式为:
u(i)=u(i-1)+kp[e(i)-e(i-1)]+kie(i)+
kd[e(i)-2e(i-1)+e(i-2)]
(28)
式中,i为控制次数。
图9 关节控制系统原理图
通过试验验证基于模糊PID算法对气动肌腱拮抗式仿生关节控制的有效性。实验中分别采用模糊PID算法和传统PID算法对该仿生关节进行位置/刚度控制。实验中的传统PID控制器的参数为通过不断调整所确定的较优的控制参数。为了比较模糊PID算法与传统PID算法的控制精度,限定模糊PID算法的控制参数以传统PID算法参数为中心,等距离范围内波动。实验中采样频率与控制频率均为100 Hz,控制关节在恒定刚度和阶梯刚度下,跟踪正弦轨迹θd(°)
θd=10 sin(0.2πt)
(29)
所有试验过程中,根据图7选择合理的关节刚度和限制关节控制扭矩的范围,保证腱绳处于张紧状态。实验结果分别如图10~图11所示。其中,每组图a表示分别采用模糊PID算法与PID算法控制关节跟踪轨迹的试验结果;图b表示8~12 s的局部放大图;图c表示分别采用模糊PID算法与PID算法跟踪关节刚度试验结果;图d表示试验过程中模糊PID算法与PID算法的控制参数的变化。
为了量化2种控制方法的位置控制精度以及分析关节刚度动态响应,定义平均跟踪误差为:
(30)
其中,N为数据总数。从关节位置平均误差、关节位置最大误差、关节刚度平均误差3个方面比较模糊PID算法和传统PID算法对该关节的控制效果,计算结果如表3所示。
根据图10~图11和表3结果分析如下:
(1) 在关节位置跟踪效果上,模糊PID算法的位置跟踪效果明显优于传统PID算法,在阶梯刚度正弦轨迹实验中,位置平均误差由1.669°减小为1.093°,最大位置误差由3.225°减小至2.158°;在2种控制方法中,采用恒刚度和阶梯刚度跟踪正弦轨迹时,恒刚度下关节位置跟踪效果较优; 由于阶梯刚度的刚度值突变,在刚度突变处关节产生抖动,进而造成比恒刚度跟踪正弦轨迹更大的位置误差;
图10 恒刚度下跟踪正弦轨迹试验结果
图11 阶梯刚度下跟踪正弦轨迹试验结果
表3 关节位置与刚度跟踪误差
(2) 在关节刚度跟踪效果上,模糊PID算法相比于传统PID算法没有明显的提高,2种方法均能较好的跟踪关节刚度,在阶梯刚度正弦轨迹试验中刚度平均误差由0.170 N·m/rad提升至0.166 N·m/rad,其精度均在0.2 N·m/rad内。由于关节刚度为开环控制,所以刚度跟踪存在误差,并且刚度值随着关节位置的变化产生一定的波动。
(1) 在分析人手关节骨骼肌肉结构和肌肉发力的基础上,设计了一种基于气动肌腱驱动、腱传动的拮抗式仿生关节;
(2) 建立了单根气动肌腱数学模型。通过搭建实验平台对气动肌腱进行性能测试,对现有的最小二乘法拟合建立气动肌腱模型的方法进行改进,建立了单根气动肌腱数学模型,并与产品公布的力/位移量图表作对比,验证了模型的准确性;
(3) 建立拮抗式仿生关节动力学模型,关节刚度模型和位置/刚度解算模型。为保证腱绳在运动过程中始终保持张紧状态,进而保证位置/刚度解算模型具有唯一解,确定了关节位置范围和关节刚度范围内的关节输出力矩的界限;
(4) 利用位置/刚度解算模型,采用模糊PID算法和传统PID算法实现对该关节位置闭环控制、关节刚度开环控制。实验研究结果表明,2种方法在关节刚度控制精度方面基本相同,模糊PID算法在关节位置方面具有更高的控制精度。