基于GA-BP神经网络的接触式人机协作意图理解方法研究
2019-11-27沈永旺李铁军
张 蕊,杨 冬,沈永旺,李铁军
(河北工业大学 机械工程学院,天津 300132)
0 引言
随着机器人技术研究与应用领域的不断发展与进步,以视觉、听觉、触觉等为交互信息的人机交互方式近年来受到众多学者和技术人员的广泛关注[1]。其中,以触觉为交互信息的人机协作(接触式人机协作)作为一个快速发展的领域,已成为一个新的研究热点[2]。
接触式人机协作在军事、航天、工业、康复医疗、助老助残等领域均有广泛的应用价值。军事方面,外骨骼机器人采用人体的力信息驱动机器人运动,实现力的放大,帮助战士在负重较大的武器装备时实现快速移动[3-4]。在航天领域,宇航员通过力的交互方式与机器人协作实现太空舱的保养与维修等工作[5]。除此以外,人机搬运也是接触式人机协作的一类研究热点,合作者与机器人直接通过物体进行接触力传递,实现共同搬运任务[6-7]。接触式人机协作还包括一些穿戴装置的研究,如康复训练机器人[8]和助老助残机器人[9]。
虽然接触式人机协作得到了学术界和应用界的广泛关注,也取得了一定的研究成果,但至今仍然存在环境感知与协作意图理解能力差、关节臂接触信息难以估计、运动柔顺性差、协作效率低等问题。为此,本文针对接触式人机协作中的意图理解问题,提出了一种基于GA-BP神经网络的意图理解方法,并通过实验验证了该方法在减小合作者作用力与提升人机协作的运动同步性方面的有效性。
1 接触式人机协作运动模型的建立与分析
为了防止验证设备过于复杂和多自由度运动控制耦合对实验产生的影响,实验采用单自由度平移机器人系统与人协作共同完成既定任务,交互系统原理图及实物图如图1所示,系统参数如表1所示。本文只提取滑台运动方向的一维力信息。
图1 人机协作系统原理图及实物图
名称参数名称参数工业控制计算机研华IPC-610六维力传感器ATI-SI125机器人控制器凌华PCI-8258伺服电机及驱动器安川交流伺服驱动器400W,电机额定扭矩1.27N.m
为了采集机器人当前的末端位置和速度,本文中采用伺服电机编码器的返回值,再由关节空间和笛卡尔空间的转换关系得到。基于以上实验设备,具体任务表现为:实现机器人的末端(滑台)位置与握于力传感器的手的运动同步。
合作者将其意图由大脑通过神经信号传递给上肢,上肢接收运动命令后,按照意图执行相应运动。近年来,研究人机协作常以上肢动态模型切入,但人体上肢的运动过程复杂多变,因此,建立一个精确、时变的人体上肢动力学模型是非常困难的,甚至不可能实现[10]。为了简化人体上肢模型,以二阶质量-弹簧-阻尼系统近似人体上肢动力学模型的方式普遍被研究者所接受[11-12]。
基于以上分析,本文建立了人体上肢与机器人的协作模型,如图2所示。
图2 人体上肢与机器人协作模型
机器人:
(1)
合作者:
(2)
图3 人体上肢动力学模型估计操作者意图原理图
然而,在实际工作中,人的意图是根据人机协作场景、任务状态、协作双方的条件、目标的改变等一系列影响因素不断发生变化的。因此,通过人体上肢动力学模型估计人的意图的方法存在诸多不合理假设,实际估计的人的意图并不理想[15]。
2 基于GA-BP神经网络的合作者意图理解方法
2.1 BP神经网络
本文以只有一层隐含层的三层BP神经网络为例,如图4所示。
图4 BP神经网络结构原理图
2.2 BP神经网络学习算法
BP算法的基本思想是把学习过程分为正向传播与误差反传两个阶段,通过不断调整网络的权值和阈值,直至网络的实际输出值和期望输出值的误差达到预期精度要求。
根据本文采用的三层BP神经网络结构,设输入层、隐含层和输出层节点数分别为n、q、m,输入样本总数为P,xpi为第p个样本的第i个输入值,隐含层第k个节点的输出为:
(3)
输出层第j个节点的输出为:
j=0,1,…,m
(4)
神经元激励函数g(·)主要有线性函数、阈值函数和Sigmoid函数(又称S函数),由于S函数光滑可微,在分类时比线性函数更精确,容错性更好,因此选用标准的S函数g(x)=1/1+e-x作为神经元的激励函数,其导数满足:
g′=g(1-g)
(5)
定义误差函数:
(6)
(1)隐含层权值调整
定义误差信号:
其中第1项为:
第2项为:
则误差信号为:
(7)
综上可知,隐含层神经网络的权值调整公式为:
(8)
其中,η称为学习率,一般取值范围为0.1~0.3。
(2)输出层权值调整
定义误差信号为:
其中第1项为:
第2项为:
则误差信号为:
δpj=(dpj-ypj)ypj(1-ypj)
(9)
综上可知,输出层神经网络的权值调整公式为:
(10)
2.3 基于遗传算法的BP神经网络优化
BP神经网络作为目前应用最多的一种神经网络形式之一, 具有强大的非线性映射能力、自学习与自适应能力、泛化及容错能力[16]。然而,随着对神经网络研究的不断深入,BP神经网络也逐渐显现出自身的不足,如:全局搜索能力差、易陷入局部极值、收敛速度慢、容易出现“过拟合”现象[17-18]。因此,本文采用遗传算法同时优化BP神经网络的权值、阈值和拓扑结构,来弥补BP神经网络的缺陷。
GA+BP算法的适应度函数建立在BP神经网络总误差基础上,设每条染色体的适应度函数为:
(11)
GA-BP神经网络操作流程如图5所示。
图5 GA-BP神经网络操作流程图
3 实验验证
3.1 自适应阻抗控制器设计
为了获取BP神经网络的训练数据,采用自适应阻抗控制方法对数据进行采集,采集的数据分为训练数据和验证数据。自适应阻抗控制器如图6所示。自适应阻抗控制器:
(12)
式中,Ω为速度补偿项,fh、fd表示实际作用力与期望交互力;fd=[-t,t],t为正向趋近于0的常数。
速度补偿项:
(13)
其中,λ为控制器采样周期,η为更新率,b为常数。
图6 自适应阻抗控制原理图
基于上文单自由度人机协作系统,建立了如图7所示的数据采集流程图。
在数据采集阶段,为了使采集到的数据最大程度的覆盖人机协作空间数据,使训练的样本更具有代表性,需要合作者在数据采集的过程中尽量以多个速度在机器人的运动空间内移动。设定实验装置的运行频率为1kHz,采样频率为100Hz,整个采集过程持续6s,重复采样过程3次。
图7 数据采集流程图
根据以上实验,最终获3×100×6=1800组训练数据样本,从每次采样过程中得到的数据(100×3=300)中随机抽取100组数据作为检验数据,共300组检验数据。
3.2 GA-BP神经网络参数设置
3.2.1 BP神经网络参数设置
(1)输入层与输出层参数设置
(2)步长取值
步长取值的大小影响着整个神经网络的结果的好坏。经过测试,本文将步长设定为 0.05。实验结果见表2。
表2 训练步长对系统的影响
(3)隐含层节点数量设置
根据经验公式,隐含层节点的数量:
(14)
其中,q、n、m分别为隐含层、输入层和输出层节点数目,a为1~10之间的调节常数。经过实验反复测试,本文将BP神经网络的隐含层节点数设定为15。实验结果见表3。
表3 隐含层节点数量对系统的影响
3.2.2 遗传算法的参数设计
(1)种群规模
种群规模(S)的大小对于遗传算法收敛的速度以及能否达到预期优化结果有很大影响。根据实际情况,本文将种群规模设定为100。
(2)迭代次数
遗传算法的终止条件为:在限定的迭代次数中达到期望值或在没有达到收敛精度的情况下,达到了迭代次数上限。本文根据实际情况将迭代次数设为500。
图8为种群的平均适应度值和最优适应度值得变化曲线。由图可知,随着进化代数的增加,最优个体的适应度值一直在增加,体现了种群的最好个体在逐代进化的过程。同时,种群个体的平均适应度值逐渐向最优适应度值靠近,说明了将适应度值高的个体保留并且进化,最终获得平均适应度值较高的种群。适应度值变化曲线说明了遗传算法对BP神经网络确实进行了优化,得到了较好的网络参数。
3.3 数据归一化处理
由于BP神经网络选择的激励函数为单极性Sigmoid函数,值域有限,需将初始数据映射到激励函数的值域内。因此对初始数据进行归一化处理,转换为[0,1]之间的处理数据。归一化公式如下所示:
(15)
其中,输入向量为x,max、min分别表示x的最大值与最小值,归一化后的输出向量为y。
综上所述,在接触式人机协作过程中,人的意图体现于系统的动态表现,因此可以通过系统的外在表现信息对人的意图进行估计。因此,本文提出了一种基于遗传算法优化改进BP神经网络(简称GA-BP神经网络)的合作者意图理解方法,其原理如图9所示。
图9 GA-BP神经网络的合作者意图理解原理图
4 实验结果与分析
4.1 预测模型准确性分析
为检验本文建立的GA-BP神经网络的预测效果,采用在3.1节中基于自适应阻抗控制采集的检验样本进行检测。通过300组检验数据,得到如图10所示的GA-BP神经网络的合作者意图的预测值与真实值数据。
图10 GA-BP神经网络的合作者意图的预测值与真实值
4.2 人机运动同步性和合作者交互力分析
为了验证本文所提GA-BP神经网络识别合作者意图的方法具有更优异的人机运动同步性,可降低交互力,采用自适应阻抗控制与本文方法进行了对比实验。
基于本文实验装置,分别采用自适应阻抗控制方法和GA-BP神经网络的方法进行实验,分别绘制两种方法的速度跟踪曲线,如图11和图12所示。
图11 自适应阻抗控制方法速度跟踪曲线图
由图11可知,在采用自适应阻抗控制的方法实现接触式人机协作过程中,实际机器人的跟踪速度明显滞后于合作者的期望速度,这一阻抗控制固有的延时特性限制了接触式人机协作过程中对于人机同步性的要求,机器人一直处于被动跟随状态。
图12 GA-BP神经网络方法的速度跟踪曲线图
由图12可知,相比自适应阻抗控制方法,本文提出的GA-BP神经网络的合作者意图识别方法,消除了自适应阻抗控制方法带给系统的延时,实现了接触式人机协作中机器人与合作者运动同步。
为了进一步说明本文提出的意图理解方法能够减小合作者交互力,使其能够更加轻松完成合作任务,分别采用自适应阻抗控制和GA-BP神经网络进行实验,交互过程中,合作者在两次实验中,尽力将机器人末端速度和运行轨迹保持一致,提取合作者的交互力信息,如图13所示。
图13 自适应阻抗控制方法与GA-BP神经网络方法交互力对比曲线图
对比两种控制方法,由图13可知,相比于自适应阻抗控制方法,GA-BP神经网络的意图理解方法能够很大程度上减小合作者对系统的作用力,效果明显。
5 结论
本文采用了机器学习的方法(GA-BP神经网络模型)实现了对接触式人机协作中合作者意图的识别。实验结果表明,GA-BP神经网络能够准确的理解合作者的意图,改善了接触式人机协作中运动同步性,有效减小了交互过程中合作者作用力,降低了合作者的努力程度,使接触式人机协作变得更加柔顺,提高了机器人的智能化水平,为接触式人机协作中合作者意图理解等后续研究奠定了基础。