工业机器人主动安全控制技术研究现状与展望
2021-11-19杨琨夏信凯马环洲桑胜波
杨琨 夏信凯 马环洲 桑胜波
(太原理工大学信息与计算机学院,太原,030002)
0 引言
在工业化进程中,人类一直在探索如何更大程度地解放双手、解放劳动力,机器人作为一种自动执行工作的机器装置应运而生。自上世纪60年代机器人被部署在生产线之后,工业生产效率得到极大提升。随着技术的进步,工业机器人越来越多地应用到工业生产的各个方面,人机共存、人机交互、多机协调等复杂工业场景日渐增多,如图1所示。
图1 工业机器人的人机交互场景
随着人机交互的深入,人们发现,传统机器人惯量大、速度高,极易发生安全事故,尤其当操作人员与机器人手臂协作完成作业时,人与机械臂近距离频繁接触,这对操作人员的人身安全造成潜在威胁,甚至直接造成伤害。据统计显示,机器人对人造成的伤害56%被归类为夹伤,44%被归类为撞击伤,其中操作人员遭受伤害的风险最大。2016年,美国阿拉巴马州一家汽车零部件生产商的操作工人被机器人压伤致死;2019年12月,亚马逊自动化仓库发生机器人事故,造成24名员工受伤被紧急送往医院。在我国也发生过多起类似的机器人安全事故,2018年安徽芜湖耐世特凌云有限公司一名操作人员在为搬运机器人更换刀具时,被机器人夹伤,最终因伤重不治身亡;2019年,某冶炼厂一名操作员在对作业空间进行清扫时,被取锭机械臂挤压胸腔,最终经抢救无效死亡。生产过程中由机器人引发的事故频发,这不仅造成生产资源的浪费,更是给操作人员带来沉重的身心负担和伤害,长此以往对企业的生产进程造成极大阻碍。
针对频繁发生的由机器人引发的工业生产安全事故,我国在2013 年和2015年分别颁布了《机器人与机器人装备:工业机器人的安全要求》国家标准[1]和《〈中国制造2025〉重点领域技术路线图》[2],二者都明确提出了对协作机器人的安全要求:协作机器人在其协作工作空间内须能够提供必要的保护措施以确保操作员的安全。因此,在我国由传统制造向智能制造转型的关键时期,开展机械臂安全交互问题的研究、建立安全运行的工业机器人平台,对于减少人员伤亡、促进制造业的发展具有重要的现实意义,并且与国家战略规划提出的安全要求相契合。
工业机器人安全主要包括主动安全和被动安全两种方式。目前在制造业生产中,企业通常采用电子围栏或行业规范等被动安全方式保证工作场景的安全,但这些方式存在灵活性和安全实时性差等问题。因此,如何变被动防护为主动规避、提升机械臂的主动安全性能成为新兴的研究方向。
工业机器人的主动安全技术研究主要从主动安全交互感知方法、主动安全柔顺控制及机器人运动规划方法三方面开展,下面分别介绍。
1 机器人主动安全交互感知方法研究现状
机器人—环境物理交互控制要求机器人具有力感知能力[3]。在传统的操作任务中,机械臂末端的静态接触力可以通过多维力传感器来测量。但对于动态操作任务,末端执行器的惯性力/力矩对于末端力传感器的测量精度有着不可忽视的影响,并且这些方法大多是基于安装在机器人末端上的多维力传感器,只能感知到机器人末端执行器上的接触力,无法实现全机身外力感知[4]。在工业机器人的实际运行过程中,机器人与环境之间的接触局域并不仅仅局限于末端执行器,仅针对末端监测的交互方法具有很大的局限性,因此,研究具有全机身外力感知能力的机器人系统并研究其柔顺控制技术,对协作机器人的发展具有重要的理论意义和应用价值。
常见机械臂全身的主动安全交互感知方式主要有无传感器检测、视觉检测及触觉检测等。
1.1 无传感器交互感知方式
无传感器交互感知是指不借助外部传感器实现人机交互感知,其中应用最为广泛的是基于广义动量扰动观测器的碰撞检测方法。该方法由Luca等人[5]于2003年首次提出,利用机械臂广义动量与外力矩相互解耦的特点,设计了动量观测器间接获取碰撞力,只需获得机器人关节位置信息即可实现碰撞实时检测。Luca等人[6-7]采用该方法,在机械臂上完成了对气球及人体的良好碰撞检测,如图2所示。在随后的研究当中,Haddadin等人[8]基于该方法在LWR-III平台上实现了对人体头部、前胸及手部的快速碰撞检测及响应,避免机器人对人皮肤造成损害。
图2 基于广义动量扰动观测器的碰撞检测方法
虽然采用基于广义动量扰动观测器的方法进行碰撞检测时,可以减少传感器的使用,但在该方法建模过程中,对碰撞力矩进行的近似计算,使得检测精度下降,无法实现对具体交互位置的精准定位与检测,因此需要使用传感器进行交互感知以进一步提高检测精度。
1.2 视觉传感器交互感知方式
视觉传感器实现交互感知是指利用摄像机或激光传感器等获得环境信息,并采用相应的图像处理算法实现碰撞预测或检测。Kulic等人[9]通过机器视觉检测操作人员的肢体位置,构造危险系数,实时计算潜在碰撞点;Flacco等人[10]提出了一种基于纵深空间概念的快速检测机械臂与障碍间距的方法,在七自由度机械臂平台中实现了障碍物的动态躲避,如图3所示。国内学者也针对视觉检测方法进行了研究。居鹤华等人[11]提出了基于虚拟传感器的巡视器机械臂碰撞检测算法,用于避免机械臂与环境发生干涉,提高了碰撞检测精度;郝慧琴[12]等提出采用单目视觉技术完成障碍物的检测,计算人机相对距离,并根据所得的信息对机械臂进行避障规划。
图3 基于纵深空间概念的视觉碰撞检测
1.3 电子皮肤交互感知方式
为了更好地实现人机交互,科学家们从仿生角度出发,开展了基于触觉的交互感知研究,其中应用较广的是电子皮肤方式。电子皮肤是一种可以使机器人产生触觉的系统,它可被加工成多种形状,并作为机器人的本体感知系统附着在机器人表面。
早在2004年,日本的Takao Smeya团队[13]便研制出了可以同时获取接触力及温度信息的电子皮肤,并将电子皮肤用于机器人手进行压力测试,实现机械手的抓取。
随着电子皮肤集成及检测技术的不断发展,国外一些厂商开发了基于电子皮肤的工业机械臂平台。德国博世(BOSCH)公司[14]研发了一套基于安全的APAS人机操作系统,该系统带有的传感器皮肤可保障人与机器之间的安全协作,系统中保留了前端视觉系统以实现空间内的物体识别和定位;奥地利Blue Danube Robotics公司设计了AIRSKIN电子皮肤系统,可以简单方便地安装在机器人上,它几乎适用于任何机器人和应用程序,也是机器人末端工具(EOAT)有效的安全解决方案[15],如图4(a)所示。
国内一些单位也针对电子皮肤开展了研究。合肥工业大学的黄英等人[16]基于炭黑—硅橡胶显著的压阻效应设计了四电极对称结构的三位力传感器,可应用于机器人的敏感皮肤;在此电子皮肤的基础上,郭小辉[17-18]对电子皮肤的柔性触觉感知方法进行了研究,设计出主从手操作平台,实现主从手映射下机器人灵巧手对目标物抓取稳定性信息的获取;本文作者所在太原理工大学的微纳系统研究中心团队设计了一种具有多孔透气结构的压阻式电子皮肤触觉传感阵列,如图4(b)所示,并研究了非可展开曲面上基于3D打印技术的电子柔性阵列制造工艺技术[19-20],为传感器在机械臂表面的包裹安装奠定良好基础。
图4 基于触觉电子皮肤的交互感知
除接触式交互感知外,具有接近感知能力的电子皮肤也得到了广泛关注。物体接近信息的感知可以通过超声波、红外等多种方式实现,其中电容式传感原理传感器由于其较好的柔性、集成性及可扩展性等优势而得到更多研究者的青睐。意大利理工学院的Viry等人[21]设计了一种全柔性电容式三轴力触觉传感器,通过检测电容变化可实现对多维力的高灵敏度检测;韩国首尔大学的Joo等人[22]研发了一种电容式电子皮肤触觉传感器,该传感器的表层和底层电极是银纳米线,介质层是PDMS,最小可检测到物体的质量是0.04g,其压力的灵敏度高:在45~100 Pa 的低压区为3.80kPa-1。国产机器人企业越疆公司研发了如图5所示的CR系列机械臂[23],该机械臂采用Dobot SafeSkin安全皮肤技术,无需提前预警降速,在即将发生碰撞时对自身行为迅速做出干预,中低速运动时能够完全避免碰撞发生,高速运动下碰撞损伤降低90%,避免伤害的发生,充分满足工业生产的高效率与高安全性需求。
图5 越疆公司CR系列协作机器人
2 机器人主动安全柔顺控制方法研究现状
当代工业机器人的应用场景对机器人的柔顺性提出了更高的要求,根据机械臂输出反馈信号(位置、力、速度)和输入信号的不同,柔顺控制方法可分为经典柔顺控制方法、先进柔顺控制方法和智能柔顺控制方法。
2.1 经典柔顺控制
柔顺控制一般有两种不同的方式,一种是通过机器人本身的柔顺部件,例如弹簧、消震器等来适应外部环境的变化,称为被动柔顺;另一种是通过力传感器获取机器人与环境的相互作用力信息,使机器人能够快速响应力信息并保持运动的平稳性,称为主动柔顺控制。主动柔顺控制在上世纪70年代就被提出,经历了很长时间的发展,现如今经典柔顺控制可以分为力/位混合控制与阻抗控制。
2.1.1 力/位混合控制
根据力与位置的正交关系,Raibert和Craig[24]于1981年提出了力/位置混合控制的概念。这种方法基于交互操作时机器人位置子空间与力子空间的互补性和正交性进行力和位置的解耦控制,也就是在位置子空间进行位置控制,在力子空间进行力控制,主要用于需要精确力控的场合,其结构框图如图6所示。
图6 力/位混合控制框图
机器人力/位置混合控制过程可以分成接触和非接触两个基本运动状态以及这两个状态之间的转换。此类力控制方法可以控制作用力跟随期望值变化,但控制器的结构依赖于机器人与接触环境的动力学特性,当机器人在接触环境不同的空间之间运动时需变换控制器。
孙海波[25]通过对机器人刚体变形进行了分析,提出一种基于零空间矢量的六自由度机械手臂的力/位混合控制算法,利用机械手臂末端的冗余性来对其进行关节角速度的冗余求解,通过设置优化性能指标来对力进行优化控制,实现了对机械臂的稳定控制。Chaudhary等人[26]提出了一种混合式AFSPD+I力/位置控制器,用于在实际约束环境中具有不确定的机器人动力学和外部干扰的机器人操纵臂的轨迹控制;Huang等人[27]为避免计算常规混合位置和力控制中使用的雅可比逆矩阵,提出了两种差分逆运动学方法,将约束坐标的位置误差和姿态误差返回到关节坐标的角度误差,建立了一种混合控制结构,以提供控制精度和实用性,并使用RPY型6自由度机械手进行了白板字符擦除实验,如图7所示。实验的结果证实了该混合控制在表面接触工作中的有效性。
图7 RPY型六自由度机械手进行字符擦除实验
经过多年发展,力/位混合控制的研究己经越来越成熟,但是力/位混合控制严重依赖环境建模的准确度,不精确的环境建模将会转化为接触时的碰撞力,可能会对机械臂造成不可预估的影响。
2.1.2 阻抗控制
力/位置混合控制对位置和力进行分别控制,存在鲁棒性差、依赖环境建模、编程计算量大等问题。阻抗控制在未知环境中具有抗干扰鲁棒性高等特点,而且编程简单计算量少,更加适用于复杂的接触环境。
阻抗控制是指对机器人的期望机械阻抗进行控制,将交互点处速度到交互力之间的传递关系用“阻抗”来描述。Hogan[28-30]在1985年根据电路中阻抗的概念与特点提出了阻抗控制。阻抗控制的特点是不直接控制机器人与接触环境的作用力,而是根据机器人末端的位置(或速度)和末端作用力之间的关系,调整反馈位置误差、速度误差或刚度来控制作用力。
Seraji等人[31]设计了两个在线方案用于阻抗控制框架内进行力跟踪,并用一个7自由度机器臂进行动力学仿真研究,证明了该方案能够补偿环境刚度与位置的不确定性;Calanca等人[32]在激励和促进阻抗控制中积极的加速反馈方面进行了研究,论证了相对于现有解决方案的更高的稳定性与优越的准确性,通过SEA的阻抗控制解决方案的缺失无源结果。该结果显示了通用的Z宽度限制,适用于除基于加速度的控制之外的所有架构;Li等人[33]设计了一种由串联弹性执行器(SEA)驱动的康复机器人的迭代学习阻抗控制器,通过迭代方式获得所需的阻抗模型,该模型通过重复任务学习治疗过程,可以实现所需阻抗到零的收敛,并保证机器人的瞬态性能,如图8所示;Li等人[34]提出了一种针对机器人操作器的新型自适应阻抗控制,其末端执行器的运动受到人体手臂运动极限的限制;并通过实验验证了所提出的控制器在协作操作员执行人机协作任务方面是有效的,可以最大程度地减少运动跟踪误差。
图8 上肢康复机器人
2.2 先进柔顺控制
经典柔顺控制在简单操作任务中可以有效地控制力和位置,但在完成复杂任务时,面临着模型参数不确定、接触环境不确定及外界干扰等问题,从控制效果和适用范围来看仍有不足,无法使其推广应用,从而需要研究先进柔顺控制方法来克服这些问题。
先进柔顺控制可分为自适应柔顺控制与鲁棒柔顺控制等方式。
2.2.1 自适应柔顺控制
自适应控制的研究对象是具有一定程度不确定性的系统,这里所谓的“不确定性”是指被控对象及其环境的数学模型不是完全确定的,其中包含一些未知因素和随机因素,自适应控制能修正自己的特性以适应对象和扰动的动态特性的变化。
自适应柔顺控制是在经典柔顺控制方法中加入了一些自适应策略,使得当机器人和环境存在不确定因素与未知参数时仍然可以获得需要的阻尼或阻抗。如图9为自适应柔顺控制的一般结构框图。
图9 自适应柔顺控制框图
机器人自适应柔顺控制方法可以分为两类:间接自适应方法[35-40]和直接自适应方法[41-46]。
间接自适应方法中存在一个参数估计器对机器人柔顺控制系统中的未知参数进行估计,估计器得到的参数用于设计自适应律。Mendes等人[37]研究了在混合力/运动解决方案中作用力控制器的间接自适应模糊控制器的行为,提出的自适应控制器将模糊系统的参数初始化为零,不需要机器人的数学模型以及确保控制变量的收敛性;Mohanty等人[38]合成了一种间接自适应鲁棒控制器(IARC),提议的IARC着重于对未知参数的准确估计,用于单杆液压执行器驱动电液的精确运动控制,可以适应系统的不确定性。
由于间接自适应方法需要精确的机器人参数和接触环境的模型,在实际应用中往往比较困难或者难以实现,所以直接自适应方法在机器人力控制中得到越来越多的应用。Zirkohi等人[44]利用Legendre多项式(LP)和Fourier级数(FS)等函数逼近技术(FAT),提出了一种简单的电动机械手无模型控制器,根据正交函数定理,LP与FS可以以任意小的逼近误差逼近非线性函数,直接自适应函数逼近技术可以作为控制器来控制机器人机械手的运动;Yin等人[46]提出了一种直接自适应鲁棒跟踪控制方法,该控制器是根据六自由度机器人末端执行器的工作空间中的动态特性设计的,应用于存在参数不确定性、外部干扰和非线性不确定性等情况的六自由度工业机器人的轨迹跟踪,并用六自由度装配工业机器人验证了所设计的控制器可以实现更好的轨迹跟踪性能,如图10所示。
图10 六自由度装配工业机器人实验平台
2.2.2 鲁棒柔顺控制
自适应控制存在控制精度与系统稳定性问题,所以需要在自适应控制中引入鲁棒控制来提高系统的稳定性。鲁棒性(robustness)就是系统的健壮性,它是在异常和危险情况下系统生存的关键。所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。
鲁棒控制是一个着重控制算法可靠性研究的控制器设计方法,一旦设计好这个控制器,它的参数不能改变。鲁棒性一般定义为在实际环境中为保证安全要求控制系统最小必须满足的要求。鲁棒控制方法,是对时间域或频率域来说,一般假设过程动态特性的信息和它的变化范围。一些算法不需要精确的过程模型但需要一些离线辨识。
鲁棒柔顺控制器基于对不确定性的描述参数和标称系统的数学模型来设计,以固定的控制器保证在机器人和环境之间存在模型误差时,系统能稳定并且达到需要的动态性能,无需自适应算法,运算速度快,实时性好。图11为鲁棒柔顺控制结构简图,鲁棒柔顺控制器的输出包括两部分:鲁棒控制律和反馈控制律,反馈控制律通常为PI、PD、PID等,鲁棒柔顺控制的难点在于如何设计一个好的鲁棒控制律,鲁棒控制律通常采用李雅普诺夫直接方法得到。
图11 鲁棒柔顺控制框图
叶正茂等人[47]提出基于六自由度并联机器人位置内环的柔顺力控制策略,综合考虑参数变化、模型变动和外来的干扰等不确定性,利用了综合控制理论设计鲁棒力控制器,并通过分析比较鲁棒力控制器和经典力控制器的鲁棒稳定性与鲁棒性能,得出鲁棒力控制器的有效性与优越性;陈栋金[48]研究了基于混合位置/力矩控制策略的机器人灵巧手指基关节的柔顺控制方法,在自由空间中和约束空间的位置控制方向上,采用具有鲁棒性平滑非线性反馈(SRNF)的补偿器的PD位置控制算法实现精确、平滑的轨迹跟踪;在约束空间的力控制上,采用改进的纯积分力控制算法实现精确的力控制;Jin等人[49]结合时延估计技术和理想速度反馈提出了一种简单的鲁棒柔顺运动控制技术,用于具有非线性摩擦的机器人操作器,所提出的控制器具有简单的结构,且无需建模摩擦即可提供良好的在线摩擦补偿,如图12所示,用工业机器人进行实验,显示其具有良好的鲁棒性。
图12 一种简单柔顺技术控制工业机器人运动
2.3 智能柔顺控制
随着计算机技术与控制理论发展水平的不断提高,智能控制方法得到广泛的应用。傅京孙教授于1971年首先提出了智能控制的二元交集理论,即人工智能和自动控制的交叉,美国的萨里迪斯(G.N.Saridis)于1977年把傅京孙教授的二元结构扩展为三元结构,即人工智能、自动控制和运筹学的交叉,后来中南大学的蔡自兴教授又将三元结构扩展为四元结构即人工智能、自动控制、运筹学和信息论的交叉,从而进一步完善了智能控制的结构理论,形成智能控制的理论体系。
智能柔顺控制可分为神经网络控制与机器学习控制等。
2.3.1 神经网络柔顺控制
神经网络控制是20世纪80年代末期发展起来的自动控制领域的前沿学科之一。它是智能控制的一个新的分支,为解决复杂的非线性、不确定、不确知系统的控制问题开辟了新途径。神经网络控制是指在控制系统中,应用神经网络技术,对难以精确建模的复杂非线性对象进行神经网络模型辨识,或作为控制器,或进行优化计算,或进行推理,或进行故障诊断,或同时兼有上述多种功能。
近年来,将神经网络应用于机器人力控制的研究引起学者极大的关注,这是由于神经网络具有自适应性和自学习性的特点,与传统控制方法相比具有很大的优越性。这方面的研究大体可分为两类:一类是假定机器人动力学模型完全未知,神经网络通过学习来逼近系统的动力学或逆动力学模型,以实现反馈控制或逆动力学控制;另一类是假定机器人动力学模型为部分已知的,神经网络被用来学习模型中的未知参数,以减少在线计算的负担。
Connolly等人[50]将多层前向神经网络用于机器人力/位置混合控制,根据检测到的作用力和位置,利用神经网络计算出人为约束和选择矩阵,并进行了插孔实验;Masatoshi等人[51]用四层前馈神经网络构造神经网络控制器,能将接触力控制到不穿破纸的极小范围,但此控制方法针对性强,缺少普遍性;Fukuda等人[52]将机器人力控制系统作为大系统进行研究,基于大系统理论、模糊理论和神经网络提出的“智能力/位置并环控制策略”,智能力/位置并环控制的基本原理是将力和位置并行输入,利用模糊神经网络进行综合,输出为位置量,不改变机器人本身的位置伺服系统,充分利用原来机器人位置控制的高精度;He等人[53]研究了一种基于阻抗学习的自适应模糊神经网络控制方法,用于约束机器人在未知的系统动力学、状态约束的影响以及不确定的柔性环境下的控制;Liu等人[54]提出了一种基于BP神经网络的DELTA并联机器人运动学求解方法,来解决DELTA并联机器人复杂的运动学正解和多解问题,并用MATLAB进行仿真,结果表明,采用遗传算法改进的BP神经网络模型来解决DELTA并联机器人的运动学正解问题是可行的,可以达到对DELTA并联机器人控制速度和精度要求较高的目的,在一定程度上避免了传统方法的缺点,而且确保安全生产的可靠性。
2.3.2 机器学习柔顺控制
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论知识、统计学知识、近似理论知识和复杂算法知识,使用计算机作为工具致力于真实、实时地模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习是研究怎样使用计算机模拟或实现人类学习活动的科学,是人工智能中最具智能特征、最前沿的研究领域之一。自20世纪80年代以来,机器学习作为实现人工智能的途径,在人工智能界引起了广泛的兴趣,特别是近十几年来,机器学习领域的研究工作发展很快,它已成为人工智能的重要课题之一。机器学习不仅在基于知识的系统中得到应用,而且在自然语言理解、非单调推理、机器视觉、模式识别等许多领域也得到了广泛应用。
Rahman[55]开发了一种强化学习方法来预测产生最佳/最优控制性能的控制参数。同时,Rahman还提出了一种新的基于人的特性的自适应控制算法,来处理各行各业的大型和重型材料和物体,从而提高人机交互(HRIs)和系统性能。Lin等人[56]基于Unity3D引擎,采用深度强化学习策略,通过奖励函数对机械臂进行训练,实现机械臂的机器学习和智能控制,经过训练和学习,机器人手臂能够快速准确地在环境中找到运动点,具有较高的环境适应性,如图13所示。
图13 机械臂训练结果图
3 机器人运动规划方法研究现状
轨迹规划,是机器人(机械臂)领域的一个重要课题,也是重难点攻克方向之一。工业机器人的轨迹规划是机械臂动作轨迹的规划,其包含了机械臂末端运动轨迹曲线,也包含了运动过程中的位移、速度、加速度等变量的曲线轨迹。轨迹规划直接影响机械臂的工作效率以及操作安全性,而机械臂工作的效率以及安全性和可靠性,是衡量机械臂最直接的指标[57]。
在机械臂发展初期阶段,机械臂多采用示教模式执行动作,目前该模式仍广泛用于工业机器人中。该模式缺点明显,只能完成简单的重复动作,对于多变的任务场景、复杂的任务环境(如处理动态目标),该模式已经无法完成工作,机械臂自主轨迹规划则可较好解决上述问题。
针对机械臂避障规划问题,许多学者提出了不同的避障轨迹规划方法,按照方法的作用范围定义,可分为全局方法和局部方法,分别对应两种分类的两种典型方法为自由空间法和人工势场法[58-59],其中常见的自由空间法有A*算法、蚁群算法、快速拓展随机树算法、遗传算法等方法,现对各种轨迹方法进行介绍。
3.1 A*算法
A*(A-star)算法,是由Hart于1968年提出的一种基于静态网路的最短路径搜索方法[60],是最常用的启发式算法之一,广泛用于机器人路径规划问题之中。A*算法的核心部分在于估价函数和迭代计算。估价函数是用于评估路径代价的计算函数,估价函数设计的优劣直接影响到整个算法的收敛计算。A*算法通常配合栅格法使用,栅格地图建立精度也将直接影响规划效率和计算成本。
贾庆轩等[61]通过仿真实验,验证了A*算法在机械臂路径中具有有效性和可行性。宗成星等[58]在机械臂轨迹规划实验中同样采用了基于A*算法的规划算法,并使用几何体包络的方法简化障碍物的构建问题。针对传统A*算法固定步长导致的缺陷,汪首坤等[62]改进了步长方法,提出了变步长分段搜索法,通过大步长找出中间点,再使用小步长搜索起始点至中间点路径和中间点至目标点路径,并通过仿真实验验证了该方法的可行性。李得伟等[63]提出了一种通过逆序搜索和优化估价函数方法,将无向A*搜搜算法转化为有向搜索,将全局估价转变为局部估价,提高了算法效率,使之更适合处理大规模的路径优化问题,消除了复杂环境下路径搜索中可能出现的“假死”现象,同时也提供了一种提高大规模仿真速度的新思路——路径搜索与仿真过程分离。
A*系列算法因其求解最优路径的良好效果被广泛使用在移动机器人路径规划上,在机械臂规划领域,在环境简单、障碍物较少而又对最短路径要求较高的场景中也有广泛使用,如水下机器人的能量最优控制等,但对于实时性要求较高的动态任务场景,其庞大的计算量限制了算法的应用。
3.2 蚁群算法
蚁群算法是由Marco Dorigo于1992年提出的一种智能路径搜索算法[64],它是一种源于蚂蚁觅食机制的智能仿生算法,对于路径搜索和组合优化等问题,具有较好的特性。
蚁群算法的优点在于其采用正反馈、分布式计算以及贪婪启发式,利用正反馈算法在迭代中不断收敛到最优解,而分布式计算防止了算法的过早收敛问题,贪婪启发式在算法早期群找到一个可行解,利于后续的迭代计算。算法在释放蚁群时,采用并行计算,多个蚂蚁同时进行搜索,搜索效率较高。但算法系统参数不易调节,多由经验确定,在处理复杂度较高问题时,算法的实时性较差。其次,地图精度建立高,则蚂蚁数量较多,并行计算量大。
张敬贤等[65]提出改进蚁群算法并运用与实验中,引入了可选节点周围可行的安全子节点对蚁群算法转移概率进行改进,计算得到末端执行器的运动轨迹,根据该轨迹通过伪逆法进行逆运算求得各关节运动量,实验表明,该改进方法比原蚁群算法有更快收敛速度,避障轨迹更加合理,如图14所示。康浩博[66]将粒子群算法与蚁群算法相结合,作为机械臂轨迹规划方法,其通过粒子群算法作为优化手段,优化蚁群算法得出结果,使最终解为最优解,并通过实验验证了该方案的可行性。王芳等[67]将蚁群算法和人工势场法相结合,通过人工势场法所规划结果作为蚁群算法规划的先验信息,改变了蚁群算法初始信息素的均匀分配,并通过构建势场导向权改变蚂蚁概率转移函数,使算法更快收敛,提高了计算效率,但存在易陷入局部最优值的问题。Jiao等[68]提出一种用于解决路径规划中局部最优问题的多态蚁群优化算法,采用自适应的状态转移以及信息素更新策略,保证了信息素浓度和启发信息在算法迭代计算过程中的重要性。
图14 原蚁群算法实验效果对比
3.3 快速拓展随机树算法
快速拓展随机树(Rapidly-exploring Random Trees,RRT)算法,是由Steven M.LaValle提出的一种基于随机采样的运动规划算法,其算法的核心与树生长分叉相似,广泛用于机械臂运动轨迹规划以及移动机器人路径规划。其算法的基本思想在于,以起始点为根节点,随机在地图或自由空间中分布随机节点,以根节点起始随机采样生长,遇到随机节点则为一棵树干,随后再以该节点继续随机生长,不断生成树干和树枝,直至生长到目标点为止,形成一条可行路径。 RRT算法采用随机采样拓展生长节点,采样范围为整个自由空间,避免了算法陷入局部最小值,且每次采样都会检测生长树末梢是否达到了目标点附近区域(小于一个较小范围)或碰到障碍区域,生长树随算法不断迭代而生成树干树枝,当生长到目标点附近,即可形成一条可行的生长树路径。
传统RRT算法的树枝生长方向是随机的,其无向性导致了算法计算出的结果往往不是最优解,前期大量的非收敛计算也导致算法运行速度降低。为降低其计算量,一些学者提出和运用了双向扩展随机树[69],融入退火算法的随机树等算法。蔡文涛等[70]提出一种目标概率偏置与步长控制的改进RRT算法(I-RRT),该I-RRT算法在生长过程中,采样点有一定概率偏向目标点,改善了RRT算法无导向性的问题和规划空间增大时算法时间复杂度高的问题,并由实验验证I-RRT算法较RRT算法时间复杂度优化至30%,如图15所示。
Denny等[71]提出一种自适应RRT算法,对于空旷区域和有障碍物区域使用不同的处理,采用两级生长选择机制使RRT的生长适应当前的搜索区域。最佳RRT算法(RRT*)算法对原RRT算法进行优化,解决了RRT算法计算结果往往不是最优解的问题,使算法能够最终趋近于最佳解决方案,但该方法所需计算成本较大,效率较低。Burget等[72]提出一种双向知情RRT*算法(BI 2 RRT *),在知情RRT*算法[73]的基础上融合双向扩展原理,机械臂规划实验结果表明,该算法比知情RRT*算法和双向扩展随机树有更好的效果。
3.4 遗传算法
遗传算法(Genetic Algorithm,GA) 是由Holland提出的一种仿生模拟启发式算法,该算法模拟生物在自然环境中的遗传和进化的过程和规律,得出全局优化概率的搜索策略。生物界的遗传特性在于“优胜劣汰”,适应环境好的基因遗传到下一代概率更高,而遗传算法的核心在于算子模仿了生物遗传,通过交叉、选择、变异操作,使个体间基因信息交换,筛选出适应度较高的优良个体遗传到下一代,保证了算法收敛性。遗传算法由于其优良遗传特性,被广泛应用于自动控制、机器人路径规划等研究领域。
张秀林[74]使用遗传算法求解机械臂时间最优轨迹规划,并且通过实验验证了遗传算法在轨迹规划中具有良好特性。但基本遗传算法具有局部搜索能力差的问题,在基本遗传算法的基础上,混合遗传算法不断发展,一些学者提出了与模拟退火算法结合的模拟退火遗传算法、融合模糊优化设计理念的模糊遗传算法等优化遗传算法。戈新生等[75]将空间机械臂的运动规划问题转化为非线性系统的最优控制问题,并在最优控制算法之中引入了遗传算法作为求解手段,通过仿真实验验证了该方法的有效性;祁若龙等[76]同样利用了遗传算法作为规划算法,并首先利用分段描述方程建立轨迹,将轨迹信息转化为确定参数和待求参数,即把机械臂的轨迹规划转变为多目标求解的问题,随后利用遗传算法进行求解,如图16所示。
图16 一种基于遗传算法的避障实验运动过程
3.5 人工势场法
基于自由空间的规划算法由于存在计算空间较大,局部性较差的问题,往往难以单独运用在机械臂实时路径规划上。为此,Khatib提出了人工势场法,该算法的核心思想在于构建笛卡尔运动空间的虚拟力场,目标点对机械臂的吸引力以及障碍物对机械臂的斥力,两种力驱动机械臂运动,引力是对末端执行器作用,斥力则是对机械臂上距离障碍物最近点作用。人工势场法具有良好的实时性特点,无需完备的障碍构型映射,对于动态变化环境响应较好,模型建立简单,计算量小。同时,该方法规划的运动轨迹是连续平滑的,无需加入插补算法。由于人工势场法的优良性能,被广泛采用在机械臂运动规划中。但作为一种局部规划算法,人工势场法存在一定的局限性,同全局算法相比,人工势场法以牺牲对全局信息的导入换取实时性。
针对传统人工势场法存在的局部最小等问题,许多学者提出了不同的改进方案。针对局部最小值问题,一些学者提出采用修改势场和目标的方法。Volpe[77]等提出了不存在局部最小值的超二次曲面势场函数,该函数形成的斥力势场在距离障碍物较远处,等势面为球对称形状,避免了同引力函数势场叠加形成局部最小值;Sato[78-79]提出了基于拉普拉斯方程的人工势场法,该方法通过修改势能函数,消除局部最小值点;王俊龙[80]提出添加虚拟障碍物,改变机械臂和势能,引导机械臂跳出局部最小值,并采用关节空间作为机械臂搜索空间以减少计算量和避免奇异点出现,如图17所示。
图17 人工势场法中机械臂障碍点与机械臂位置关系
马黎鹏[81]在实验中将蚁群算法与基于负反馈的人工势场法相结合,提高了规划算法的全局能力并且加快了收敛的速度,同时采用了虚拟目标点方法摆脱局部最小值。何兆楚等[82]利用RRT算法不易陷入局部最小值特点,将人工势场法融合RRT算法,当机械臂陷入局部最小值时,由改进RRT算法自适应设置临时目标点,脱离局部最小值,仿真实验表明,该方法在复杂环境中也具有可行性,如图18所示。
图18 存在不同障碍物下的机械臂末端运动轨迹
众多学者和研究人员采用了人工势场法规划机械臂运动轨迹,验证了人工势场法在该方面性能的优秀。对于实时性要求较高、工作环境较复杂的动态变化场景,人工势场法相较于其他方法有着巨大优势,以人工势场法为主的动态避障算法也将持续被研究。
4 总结与展望
随着工业生产场景和生产方式的转变,工业机器人的主动安全性能将会得到越来越多的关注。交互监测技术和控制技术的进步,势必会推动工业机器人安全性能的提升,本质安全将是理想机器人的必备且基础的特征。
未来工业机器人的研究应在强化安全保证和高效操作的基础上,探索提高工业机器人认知和自主操作能力,使工业机器人不仅能提高工序作业能力、减轻工人劳动强度,而且能降低对工人技术水平的要求,通过人机协作更好地完成复杂任务。与此同时,工业机器人与近年热点交互机器人之间的界限将越来越模糊,协作机器人最终将变成一个过渡概念,随着技术的发展,未来所有的机器人都应该具备与人类一起安全地协同工作的特性。