《1.引言》

1.引言

近年来,机器人已被用于在诸多场景执行复杂的任务,包括太空探索[1]、灾难救援[2]、扫雷[3]等。由于需要工作在恶劣和危险的工作环境中,机器人不可避免地面临损坏的风险。因此,许多研究人员已开始研究机器人容错控制[4–8]。例如,Kawata等[9]提出了一种多肢机器人的容错自适应步态生成方法;Mavrovouniotis等[10]开展了容错滑模控制研究;Zhang等[11]进行了水下航行器重建容错控制的研究。容错控制的相关研究保障了机器人系统的稳定性。

随着对自主水下航行器(autonomous underwater vehicle,AUV)研究的不断深入,越来越多的研究人员致力于提高水下航行器的机动性。鱼类在漫长的自然进化中获得了优异的水下运动性能。以此为启发,Triantafyllou等[12]于1994年首次研制了仿生机器鱼。作为一种新型AUV,机器鱼以其优越的性能引起了研究人员的广泛关注[13–19]。Zhong等[20]提出并设计了一种绳驱动活动体的新型机器鱼;Romero等[21]提出了一种具有成本效益的智能机器鱼。与传统AUV相比,机器鱼具有噪声低、对水下生物无害等优点[22],从而被广泛用于完成复杂的水下任务[23]

对AUV容错控制的研究主要分为两类:①传感器容错控制方法,如文献[24]中所讨论的;②针对AUV的运动执行机构设计容错控制方法,如Kormushev等[25]提出了一种克服推进器故障的AUV容错控制方法,Rauber等[26]提出了一种AUV推进器的容错控制策略。现有水下容错控制研究很少涉及机器鱼。然而,机器鱼所执行的包括C形起动[27]在内的各种高机动性行为会对执行器造成高负荷,并增加机器鱼损坏的风险。同时,生物启发的中枢模式发生器(central pattern generator,CPG)目前被广泛应用在多自由度机器人[28,29]产生节律运动。如果CPG的参数切换过于频繁,那么机器鱼关节在运动模式转换过程中会有卡住的风险。由于鱼体波的生成需要机器鱼的所有关节协调工作,因此其任何部分的损坏都会对运动性能产生严重影响。此外,由于机器鱼工作在水下环境,故障发生时很难得到及时修复。作为一种水下航行器,自主性和可靠性是机器鱼的重要指标。控制系统的容错控制能力是确保机器鱼在故障状态下稳定运行的最后一道防线。因此,针对机器鱼进行容错控制研究具有重要的现实意义。

本文的主要任务是提出一种针对多关节仿生机器鱼的容错控制方法,使其在一个尾关节被卡住的故障状况下仍然拥有良好的游动性能。为了确保机器鱼的运动性能稳定,首先开发了基于CPG模型的反馈控制器。在此基础上,为了优化容错控制的收敛速度,针对一个尾关节被卡住的机器鱼进行了动力学建模[30]。基于建立的动力学模型,设计了前馈补偿器,构成了前馈-反馈容错控制系统。最终,通过仿真和物理实验对所提控制方法进行了验证。现有的水下容错控制研究主要针对使用传统螺旋桨驱动的水下航行器。与已有工作不同,本文重点讨论了一种以多关节尾部作为推进装置的机器鱼的故障状态运动校正问题。在分析机器鱼独特的运动方式和动力学模型的基础上,提出了一种针对多关节机器鱼的容错控制方法。本文提出的方法提升了控制系统的鲁棒性,为机器鱼在复杂环境中的实际应用奠定了基础。

本文的其余部分内容安排如下:第2节介绍了机器鱼的机械结构;第3节详细描述了基于CPG模型的反馈控制器和基于动力学模型的前馈补偿器,并构建了完整的容错控制系统;第4节给出了实验设计方案及结果;最后,第5节对本文进行了总结并展望了未来的工作。

《2.多关节机器鱼概述》

2.多关节机器鱼概述

本文研究中使用的受控对象是自推进多关节仿生机器鱼[31]。机器鱼的机械结构如图1所示,该机器鱼以白斑狗鱼(Esox lucius)为仿生对象,其设计遵循狗鱼的结构和流线型外形。这种机器鱼拥有由四关节的鱼尾和一个尾鳍组成的自推进鱼体。机器鱼的4个尾部关节由伺服电动机驱动。此外,为了满足机器鱼的三维运动需要,机器鱼的头部带有两个双自由度的胸鳍以产生俯仰和横滚力矩。在本文中,我们只讨论二维平面上的机器鱼偏航方向容错控制,因此胸鳍被设置为保持静止不动。机器鱼的控制器嵌入在其头部。通过伺服电动机的协调运作,机器鱼的峰值转向速度高达670(°)·s–1,平均转向速度为460(°)·s–1。如果尾部关节卡住,机器鱼会严重偏离预定游动方向。为了确定偏差,机器鱼的头部安装了惯性测量单元(inertial measurement unit,IMU)以测量偏航角。

《图1》

图1.自推进多关节仿生机器鱼的机械结构示意图。

图2展示了机器鱼的外观。为了保护内部机构,机器鱼的整个鱼体被乳胶制防水鱼皮覆盖。在头部的鱼皮外部设置了由胶带制成的红色和黄色标记以辅助全局测量系统跟踪头部位置和机器鱼运动期间的姿态。

《图2》

图2.具有色标的机器鱼外观。

《3.容错控制器设计》

3.容错控制器设计

本节提出了一种机器鱼的容错控制方法。具体来说,设计了基于CPG模型的反馈控制器和基于动力学模型的前馈补偿器。

《3.1.基于CPG模型的反馈控制器》

3.1.基于CPG模型的反馈控制器

目前常用的机器鱼运动控制方法主要分为两类:鱼体波拟合法和基于CPG模型的方法。生物研究表明,脊椎动物可通过生物CPG网络在没有中枢神经参与的情况下产生节律信号。受此启发,CPG模型可以通过神经元振荡器的相互作用产生节律控制信号以控制机器鱼的运动[32]。CPG模型在运动模式切换时具有优异的鲁棒性和平滑性。本文使用的控制方法是基于Hopf振荡器的具有相位差的CPG模型[33]。CPG模型由多个神经元振荡器组成,其拓扑结构如图3所示。

《图3》

图3.CPG模型的拓扑结构。

CPG模型的详细数学描述如下[31]

式中,n表示第n个振荡器(n=1,...,N),N代表CPG网络中神经元的数量;xn和yn表示第n个振荡器的状态变量;wn和rn分别代表第n个关节的自然角频率和幅值;φn表示相邻神经元之间的相位差;bn表示第n个振荡器的偏置;h1和h2是耦合系数;zn表示第n个振荡器的输出;cn是常系数。

通过合理地调节CPG模型参数可以实现对机器鱼的运动控制。具体来说,游动速度可以通过调节wn和rn实现,通过调节φn可以实现机器鱼的倒游。本文对于所有的神经元振荡器都设置了wn=w以及rn=r,并且根据参考文献[33]设置了适当的φ。当改变bi的值时,CPG模型生成不对称偏置输出信号从而实现改变机器鱼的游动方向的目的。如前文所述,如果尾部关节卡住,故障机器鱼的游动偏航将受到严重影响。因此,使用偏航角作为反馈对偏置bi进行控制以保证机器鱼在故障状况下的偏航稳定是可行的。由于机器鱼独特的运动方式,在游动过程中其头部始终处于摆动状态。因此需要对IMU采集到的偏航角数据进行适当的滤波处理。基于以上分析,本文设计了比例积分(proportional integral,PI)反馈控制器,其数学表达式为:

式中,t表示时刻;bi(t)为机器鱼在t时刻第i个振荡器的偏置;表示t时刻偏航角的滤波结果;表示目标偏航角;e(t)表示t时刻PI控制器的输入;T表示阈值并被设置为T=0.17;分别表示第i个关节的反馈增益,具体来说,是比例控制器的系数,是积分控制器的系数。

机器鱼头部的摆动是由CPG的周期性信号输出引起的,其摆动周期与CPG振荡器的周期相同。因此,本文设计了带有阈值的均值滤波器来处理摆动对偏航角测量的影响。均值滤波器的窗口时间被设置为CPG振荡器的周期。当CPG模型的参数发生变化时,其输出达到稳定状态需要一段过渡时间。因此,控制信号改变的频率会对控制系统的稳定性造成影响。为了提高系统的稳定性并减轻伺服电动机的负荷,本文在目标偏航角附近设计了阈值。反馈系统的控制框图如图4所示。

《图4》

图4.反馈控制系统框图。

在我们之前的工作[30]中,为本文研究中所使用的机器鱼建立了基于数据驱动的动力学模型。使用动力学模型代替实际机器鱼可以通过仿真观察反馈控制的输出,仿真实验结果如图5所示。在本文的仿真实验中,机器鱼尾部的第三个关节被设置为在π/6处被卡住,目标偏航被设置为0。图5(a)显示了在尾部卡住的情况下机器鱼的直线游动结果。当故障发生时,机器鱼的游动偏航角受到严重影响。反馈控制系统可以有效地消除故障关节对偏航的影响,并最终使输出偏航角收敛至目标偏航角,其结果如图5(b)所示。

《图5》

图5.尾部关节故障状态下的仿真结果。(a)无控制;(b)反馈控制。

《3.2.基于动力学分析的前馈补偿器》

3.2.基于动力学分析的前馈补偿器

3.1节中提出的反馈控制器仍然存在着包括收敛时间过长等问题。收敛速度慢的主要原因是偏航角滤波器给控制系统引入了延迟环节。为了解决这个问题,本节提出了一种基于动力学模型的前馈补偿器。

根据参考文献[32],机器鱼的动力学模型可表示如下:

式中,表示机器鱼头部的速度矢量;M表示头部坐标系中机器鱼整体的惯性矩阵;表示机器与头部(6×1)维广义力矢量;iH0=iHi–1i–1Hi–21H0iHi–1表示转移矩阵;fw,i表示第i个关节的科里奥利力和流体动力;fr表示头部受力的其余部分。

由于机器与在水中游动的驱动力主要由流体动力构成,因此在计算中可以忽略fr的影响。在本文研究中,机器鱼在二维平面内运动。因此通过控制头部力矩以达到减少偏航影响的目的是可行的。的第六维表示头部偏航平面法向量方向上的力矩。因此,的第六维被提取如下:

式中,(•)k:表示矩阵•的第k行;表示的第六维元素。

可以通过下式计算获得:

式中,θi表示第i个关节的角度;li表示机器鱼第i个连杆的长度。

为了获得更简洁的表达形式,引入以下等式:

fw,i可以根据以下等式推导得出:

式中,σi表示第i个关节产生的全部科里奥利力;fd,i表示第i个连杆受到的阻力。

根据参考文献[30],可以得到下列等式:

式中,Vi是(6×1)维向量,表示第i个关节的广义速度。具体来说,Vi的前三维组成了线速度向量,后三维组成了角速度向量,ωi=(Vi)6:,Vx,i=(Vi)1:,Vy,i=(Vi)2:;c1,i和c2,i是常量;Mi表示第i个连杆的质量矩阵;r是变量。

本文将质量矩阵Mi简化为对角矩阵,可得下式:

式中,Mi,1和Mi,2是常数。

为了获得更简洁的结果,引入以下等式:

由此可得:

可以由根据计算获得。通过设置V0的初值为06×1,可以通过迭代获得每个时刻的值。

CPG模型产生的信号可由正弦波近似。对于一个关节被卡住的情况,其近似波形可由以下公式表示:

式中,b0是补偿偏置;f∈{1,...,n}标记故障关节所在位置;β表示故障关节角度。

将式(12)代入式(11),可以被表示为(t,β,b0,f)。

如前所述,为了最小化由故障引起的偏航角影响,前馈补偿器设计如下:

式中,T=2π/w表示周期;u是变量。通过设置b的范围,补偿偏置bc的值可以通过函数优化得出。

加入前馈补偿器后的完整控制器表示如下:

容错控制系统框图如图6所示。图7(a)示出了前馈补偿器单独作用下的仿真实验结果,前馈补偿器可以充分抵消故障对偏航造成的影响。前馈-反馈控制器作用下系统仿真输出如图7(b)所示,其偏航角最终收敛至目标偏航角,且相比反馈控制器具有更小的超调和更短的收敛时间。加入前馈补偿器后容错控制的性能得到了改善。

《图6》

图6.前馈-反馈控制系统框图。

《图7》

图7.尾部关节故障状态下使用前馈补偿器的仿真结果。(a)前馈补偿器单独作用;(b)前馈-反馈控制器。

《4.实验和结果》

4.实验和结果

为了验证机器鱼容错控制的有效性,我们采用一套配置了全局摄像机的测量系统[34]。实验装置是一个500cm长、400cm宽、120cm高的水池,而全局摄像机被设置在实验水池中心上方190cm处。基于相机返回的图像数据,记录系统的主控计算机可以根据机器鱼头部的有色标记来识别目前的位置和速度。

在实验中,机器鱼的尾部第三关节被固定为π/9。图8给出了机器鱼在无容错控制的直游情形。从图中可以看出,一个尾部关节被卡住将极大地影响机器鱼的游动方向,机器鱼很难正常地完成游动任务。图9给出了反馈控制器单独作用下故障机器鱼的游动情形。从图9(a)中可以看出,在故障状态下,反馈控制器使机器鱼展现出了令人满意的游动性能。滤波之后的偏航角误差如图9(b)所示,反馈控制器可有效控制偏航角稳定收敛至目标值。但是,系统仍然存在收敛时间长的不足。机器鱼消耗接近7s的时间来调整偏航角达到阈值,在这段姿势调整的过程中产生了53.4cm的横向偏移。其主要原因是由于为了获得准确的游动方向,均值滤波器的窗口时间必须设置为最少一个CPG周期,这极大地增加了系统的延迟并导致控制周期变长。

《图8》

图8.无控制故障机器鱼游动性能。(a)初始姿态;(b)游动轨迹。

《图9》

图9.反馈控制下故障机器鱼游动性能。(a)游动轨迹;(b)滤波偏航误差。

具有前馈反馈控制的故障机器鱼游动情形如图10所示。前馈补偿器的参数根据参考文献[19]设置。从图10(a)可以看出,相比反馈控制单独作用,前馈补偿器使机器鱼拥有了更加平滑的运动曲线。在这种情况下,横向偏移被缩短至24.7cm。图10(b)给出了机器鱼运动中的滤波后偏航误差。由于前馈补偿器的引入,机器鱼可以在故障发生时快速做出调整,收敛时间减少至接近1s。相较于反馈控制器,带有前馈补偿器的系统有更好的容错性能。图11给出了故障机器鱼在容错控制作用下游动的视频截图序列。

《图10》

图10.前馈–反馈控制器下故障机器鱼游动性能。(a)游动轨迹;(b)滤波偏航误差。

《图11》

图11.容错控制下具有一个被卡住尾关节的机器鱼的游动视频截图序列。

以上实验说明了在第三关节被卡住的情况下,具有容错控制的机器鱼具有令人满意的游动性能。为了进一步证明容错控制方法在其他关节故障的情况下仍然适用,我们进行了将第二关节设为故障关节的实验。对比实验结果展示在图12中。当故障位置改变时,容错控制方法仍然可以保证机器鱼拥有较好的游动表现。大体来说,故障关节位置越靠近尾鳍,游动速度受到的影响越大,这是因为尾鳍的迎水面是水动力的主要来源。同时,故障关节越接近头部,其对机器鱼的游动偏航的影响就越严重。

《图12》

图12.将第二关节设置为故障关节的对比实验。(a)无控制;(b)容错控制。

实验结果表明了本文提出的容错控制方法能有效提高鱼在故障状态下的性能。由尾部关节卡住造成的游动方向上的偏移可以被前馈-反馈控制器有效抵消。在反馈控制的作用下,控制系统最终能几乎无误差地收敛到目标偏移角。此外,由对比实验中可知,前馈补偿器可解决系统的延迟问题。通过动态分析得到的先验知识可以让机器鱼快速地修正故障关节带来的影响。随着收敛时间的缩短,由姿态调整造成的横向偏移也相应得到减少。考虑到机器鱼的头部在偏航角方向上摆动,该状态下的游动性能说明本文提出的容错控制方法具有一定的稳定性和抗干扰性。

《5.结论和工作展望》

5.结论和工作展望

本文提出了一种针对尾部关节受损的自行游动多关节机器鱼的容错控制方法。基于CPG模型,通过分析故障造成的影响,首先设计了反馈控制器。为了获得更好的性能,基于动力学分析设计了前馈补偿器。具体来说,控制CPG的特定参数使机器鱼对故障具有鲁棒性,进一步地,通过仿真分析了容错控制系统各部分的性能。最后,通过实验验证了所提方法在实际机器鱼系统中的有效性。结果表明,耦合CPG和动力学模型的机器鱼容错控制方法能有效控制故障机器鱼的运动。

下一步工作将集中在提高容错控制方法的抗干扰能力。此外,实验表明,除偏航运动外,故障机器鱼的速度也受到严重影响。因此,设计有效的控制方法来提高故障状况下机器鱼速度的容错能力是非常必要的。与此同时,还将探讨容错控制方法在其他故障情况下的适应性,如关节由主动变为被动等。

《致谢》

致谢

本研究得到了国家自然科学基金(61725305,61633020,61633004和61633017)、北京自然科学基金(4161002)和北京理工大学智能机器人与系统高精尖创新中心(2016IRS02)的支持。

《Compliance with ethics guidelines》

Compliance with ethics guidelines

Yueqi Yang, Jian Wang, Zhengxing Wu, and Junzhi Yu declare that they have no conflict of interest or financial conflicts to disclose.