基于强化学习的机器人曲面恒力跟踪研究
Research on robot constant force control of surface tracking based on reinforcement learning
收稿日期: 2018-08-2
Received: 2018-08-2
作者简介 About authors
张铁(1968—),男,博导,从事工业机器人、服务机器人中的移动机器人的关键技术等研究.oricid.crg/0000-0001-9716-3970.E-mail:
针对机器人末端执行器和曲面工件接触时难以得到恒定接触力的问题,建立机器人末端执行器与曲面工件的接触模型.构建曲面接触力坐标系与机器人传感器测量坐标系之间的关系,利用基于概率动力学模型的强化学习(PILCO)算法对模型输出参数与接触状态的关系进行学习,对部分接触状态进行预测,强化学习根据预测的状态优化机器人位移输入参数,得到期望跟踪力信号. 实验中,将强化学习的输入状态改为一段时间内的状态平均值以减少接触状态下信号的干扰. 实验结果表明,利用PILCO算法在迭代8次后能够得到较稳定的力,相比于模糊迭代算法收敛速度较快,力误差绝对值的平均值减少了29%.
关键词:
The contact model between robot end-effector and surface was established in order to solve the problem that it is difficult to obtain contact force when a robot end effector contacts with the curved workpiece. The relationship between the contact force coordinate system of the curved surface and the measuring coordinate system of the robot sensor was constructed. The relationship between the output parameters of the model and the contact state was analyzed based on probabilistic inference and learning for control (PILCO) which was a reinforcement learning algorithm based on a probabilistic dynamics model. The partial contact state was forecasted according to the output state, and the displacement input parameters of the robot were optimized to achieve a constant force by the reinforcement learning algorithm. The input state of the reinforcement learning was modified to an average state value over a period of time, which reduced the interference to the input state value during experiments. The experimental results showed that the algorithm obtained stable force after 8 iterations. The convergence speed was faster compared with the fuzzy iterative algorithm, and the average absolute value of the force error was reduced by 29%.
Keywords:
本文引用格式
张铁, 肖蒙, 邹焱飚, 肖佳栋.
ZHANG Tie, XIAO Meng, ZOU Yan-biao, XIAO Jia-dong.
诸多学者对跟踪场景中的力控制算法进行研究,并在传统的力控制算法中加入了智能算法,如Tung等[4]在控制器中加入了自适应模糊控制算法,在线优化了控制规则;Abu-Mallouh等[5]使用神经网络,补偿了跟踪时系统滞后造成的误差和库仑摩擦力;Li等[6]利用神经网络,对未知的跟踪环境进行分类;Ye等[7]采用模糊控制方法,在线调整机器人阻抗模型中的阻尼刚度参数. 智能算法[8-10]应用在跟踪实验时,往往需要先获取先验知识和模型,先验知识和模型的准确程度决定了控制算法的好坏;强化学习不需要人为地选取先验模型,在与环境反复交互的过程中,能够自主地发现最优行为,减轻人工作业的难度,达到较好的控制效果. 强化学习在机器人实际应用中已经取得了较好的效果[11-15].
本文对机器人曲面恒力跟踪场景中机器人末端执行器的受力进行分析,对接触过程进行建模. 利用概率动力学模型,对机器人的接触状态进行拟合和预测,强化学习在概率动力学模型中搜索策略,推理机器人的输出控制参数. 在实验中,将强化学习的输入状态改为一段时间内的状态平均值,以减少接触状态下信号的干扰,最终得到稳定的跟踪力.
1. 机器人末端执行器的受力分析
机器人恒力跟踪实验平台如图1所示,六维力传感器安装在机器人的末端,传感器坐标系{T}、工作台坐标系{S}和机器人基坐标系{B}的姿态相同. 机器人始终保持vs的速度沿着Vx方向运动,如图2所示,当机器人末端执行器和工件接触后,机器人末端执行器会根据受力的大小在Vy方向微小地移动,从而调整机器人和工件的接触状态,其中机器人运动坐标系{V}相对于传感器坐标系{T}的姿态始终保持不变. 当末端执行器与曲面工件接触时,如图3所示,末端执行器受到曲面的法向力Fn和切向力Fτ,恒定的Fn能够反映出曲线的轮廓. 为了得到Fn,需要将曲面接触力坐标系{C}中的力映射到已知的传感器坐标系{T}中,曲面接触力坐标系{C}中心与传感器坐标系{T}中心重合,曲面接触力坐标系的X轴方向与曲面的切向方向相同,Y轴方向始终垂直于曲面轮廓,由图3的受力分析结果可得,Fn和Fτ为
图 1
图 2
图 3
式中:TFx和TFy分别为传感器坐标系{T}坐标系下X和Y方向的力由六维力传感器测得;
式(1)中夹角
式中:
式中:
2. 接触过程的显式力控制
机器人末端执行器与环境是刚性接触,接触过程中振动较大,造成Fn波动很大,需要利用机器人力控制算法调整机器人与环境的接触状态,从而达到期望的接触效果. 机器人力控制算法有阻抗控制、导纳控制、力位混合控制等[20],在机器人曲面跟踪场景中期望的接触力是恒定的,显式力控制比较适用于该场景[21]. 显式力控制是将末端执行器与接触面之间的实际接触力和期望的接触力进行比较,根据力误差调整机器人状态,以达到期望的力. 显式控制分为基于力的显式力控制和基于位置的显式力控制[22],基于力的显式力控制根据期望与实际的力之差调节机器人的关节力矩以实现恒力控制;基于位置的显式力控制将期望与实际的力之差转化为机器人的偏移位移,从而改变机器人当前的位置,间接调节接触力. 由于基于位置的显式力控制比较容易实现,选择该算法.
基于位置的显式力控制的控制流程如图4所示.将Fn与期望力Fd进行比较后得到力误差,力控制器将力误差转化为机器人的位移调整量,控制器根据位移调整量的大小发送一个相对位置命令后,机器人高精度的位置控制器及时调整机器人的位移,从而间接控制机器人与环境接触力. 在系统是非线性的情况下,基于位置的显式力控制器也容易于实现,具有较好的鲁棒性.
图 4
力控制器通常选择PD、PI或PID控制器[23],由于PD算法不会产生积分失控,容易获得较好的调节品质. 选择PD控制器,仅在一维方向上进行分析,控制器设计为
式中:
在机器人与环境接触过程中,当kp和kd不协调时,机器人与环境会产生剧烈的碰撞或者过度的挤压,造成接触力突然过大或过小,有可能损坏机器人和配套设施. 需要限制比例参数的范围,将控制器设计为
式中:kp和kd设置为定值,保证机器人和环境始终处于接触状态,同时接触力不会过大或过小;kΔp为偏移参数,用于调节机器人的位置.
3. 基于强化学习的控制参数的优化
kΔp的优化过程是比较繁琐的,强化学习可以很好地解决这种序贯决策问题,它可以根据机器人与环境接触的状态调整参数以达到最优奖励值,从而得到最优策略. 在有模型强化学习中,基于概率动力学模型的PILCO算法在实际应用中迭代次数较小,数据利用效率较高[24],比较适用于机器人恒力跟踪场景. 在该场景中,可以将PILCO算法分为概率动力学模型学习、强化学习最优策略的学习和恒力跟踪实验的策略应用3个部分.
3.1. 概率动力学模型学习
在经典的控制中,一般需要使用函数逼近方法来获得模型. 在选择高次多项式或非参数模型的情况下,当参数过多或模型较复杂时会导致过度拟合,模型会被覆盖,开始产生拟合噪声[25]. PILCO的模型是概率动力学模型,在模型拟合时将不确定性纳入考虑中,即在模型拟合时将模型的不确定性考虑成与模型不相关的噪声,由于考虑了模型的不确性,与传统的函数逼近方法相比,得到的模型偏差较小.
假设动态系统t时刻的状态和t−1时刻的状态、输出相关,模型为
在标准的高斯回归模型中,假设数据模型输入值为数组,其中包括状态值和参数输入值,即
令
式中:xp、xq为属于
式中:D为输入空间的维数;
在得到超参数后,对输入参数进行高斯过程回归预测:当输入测试参数为x*时,根据先验概率得到后验概率分布:
式中:y*为预测输出值;k*=k(X, x*), k**=k(x*, x*).
3.2. 强化学习的最优策略的学习
强化学习是以马尔科夫决策过程为理论基础的. 马尔科夫决策过程由一个元组构成M=(S,A,P,r,ρ0,γ),其中S为系统状态集合;A为动作集合;P为状态的转移概率,概率动力学模型已经求出;r为回报函数;ρ0为初始状态;γ为折扣因子,一般取值为[0, 1][26]. 强化学习主体(agent)在与环境交互过程中,通过选择不同策略,即根据不同的状态选择合适的动作得到不同的奖励,最终得到最优解. 强化学习算法的种类有很多,大体可以分为基于策略的强化学习和基于价值的强化学习. 基于策略的强化学习比较适合动作为连续集的场景,适合机器人跟踪场景. 基于策略的强化学习结构如图5所示,主体的策略π更新过程是通过改变策略参数φ实现的,φ的更新的步长与目标函数(该场景中设置为强化学习期望回报)的梯度有关. 强化学习期望回报与奖励函数和状态概率分布有关,奖励函数用于衡量机器人的实际状态到期望状态的距离. 在机器人跟踪领域中,主体目标是寻找到最优的策略,最优策略是对长期的策略进行评估,可以利用3.1节中概率动力模型中学习到的模型,对长期的回报进行近似的推断,在得到强化学习中的目标函数后,根据目标函数梯度改变输入的策略,直至更新的策略满足最优解.
图 5
强化学习的期望回报为
式中:
其中,||x−xtarget||W为x和xtarget之间的马氏距离,W为加权因子,xtarget为目标状态,
在策略和状态关系通过策略参数线性化或者非线性化后,最优策略由最优策略参数确定,当策略满足以下条件时即为最优策略:
为了得到最优策略参数,需要求解期望回报相对于策略参数的梯度,令:
式中:
在得到所有梯度后,利用共轭梯度法可得策略参数更新步长,详细推导见文献[25].通过不停地迭代,直至策略参数满足式(15)最优策略条件.
3.3. 恒力跟踪实验中策略应用
由于机器人与环境接触过程具有不确定性,在相同的偏移参数kΔp下,相同时刻得到的状态x会不同,直接利用某时刻的状态进行计算会导致采集数据误差较大. 初始状态下,将接触过程平均分成30个时间段,假设在不同时间段内策略对各段接触的影响是相互独立的,提取每个时间段内力信号,求出Fn与Fd之差Δf,Δf的平均力
机器人的状态值和偏移参数之间的关系需要非线性化处理,由于RBF网路有较好的输入和输出的映射功能,可以任意精度地逼近任意的非线性函数,同时具有唯一的最佳逼近特征,学习和收敛的速度较快. 在实验中,选择高斯内核的RBF网络,将偏移参数和状态x关系非线性化为
式中:n为节点;
图 6
为了方便计算,需要对RBF的输入值作归一化处理,使输入值为[−1, 1]. 实验中,期望目标值xtarget由平均力和力的方差构成,即xtarget=[favetarget,f vartarget],其中平均力和力的方差的目标都为0.
4. 恒力跟踪实验结果与分析
实验装置如图7所示,由机器人、控制器、倍福模块、六维力传感器和上位机构成. 机器人采用安川MH24;六维力传感器选用德国的ME-FKD40;力信号通过倍福模块采集并传送给上位机,利用上位机运行力控制器(式(5))中的算法,将输出信号传送给倍福模块,并由倍福模块转化为电压信号;控制器内置软件接收倍福−10~10 V的模拟信号产生位移偏移,位移偏移的方向与模拟信号电压符号相关,位移偏移与电压绝对值成正比;控制器可以将机器人的关节角度传送给上位机. 实验时,上位机采集六维力传感器中Fx和Fy的力信号,离线运行算法后,得到偏移参数后进行下一次实验.
图 7
图 8
在kΔp的范围内随机选取30个参数作为初始随机策略,同时参数分布符合高斯分布,实验流程如图9所示. 在执行策略后,将得到的实验数据归一化处理,方便后续处理,利用采集的数据求出模型的超参数,得到概率动力模型. 在该模型下,不断更新策略的参数改变策略,求出最优策略,继续实验直至接触力与期望力的误差小于3 N.
图 9
图 9 基于PILCO的恒力跟踪实验流程图
Fig.9 Experimental flow chart of constant force tracking based on PILCO
在初始参数下,得到的力信号如图10(a)所示,期望值30 N内层的虚线范围为±2 N,外层的虚线范围为±3 N. 在随机策略下,接触过程中前期波动较大,后期波动小. 机器人末端执行器在与曲面工件轮廓前期接触时,x方向挤压力波动较大,因此Fn波动较大;机器人末端执行器在与曲面工件轮廓后期接触时,x方向挤压力相对较小同时波动不大,因此Fn的变化相对前期较小,所以相对平稳.
图 10
图 10 PICLO算法第1~4次迭代过程法
Fig.10 First to fourth iterative processes of PICLO algorithm
图 11
图 11 PICLO算法第5~8次迭代过程
Fig.11 Fifth to eighth iterative processes of PICLO algorithm
迭代时力误差绝对值的最大值|Δf |max、力误差绝对值的平均值
表 1 PILCO迭代过程中力误差参数的对比
Tab.1
迭代次数 | 力误差 | ||
|Δf |max/N | | Δfs /N | |
1 | 16.442 7 | 1.707 9 | 3.108 1 |
2 | 10.184 9 | 1.134 9 | 1.758 9 |
3 | 11.647 8 | 0.944 8 | 1.510 0 |
4 | 12.292 2 | 0.958 1 | 1.604 6 |
5 | 12.397 4 | 1.120 5 | 1.793 6 |
6 | 10.817 4 | 1.085 5 | 1.619 9 |
7 | 11.984 2 | 0.890 6 | 1.501 7 |
8 | 11.395 5 | 0.855 4 | 1.440 8 |
在迭代过程中,PILCO算法对每一个时间段内的奖励函数的值(见式(13))进行预测,奖励函数的值能够反映机器人当前时间段的状态与期望目标状态的偏差. 如图12所示,预测奖励函数的值为实线,上下的范围为误差范围,实际的奖励函数的值为带星号的实线,当奖励函数的值接近0时,接触状态接近期望的状态. 第1次迭代过程时,由于采集的数据较少,PILCO算法对机器人与环境接触的状态进行推理时,预测的状态和实际的状态有一定差距;当采集的数据增加后,在第8次迭代中,实际的奖励函数的值在预测的奖励函数的值的范围之内,预测的状态真实地反映了实际中的状态,证明了策略的准确性.
图 12
图 12 第1次和第8次迭代时PILCO预测的奖励函数值和实际的奖励函数值
Fig.12 Predicted reward and actual reward of 1st and 8th PILCO iterations
将PILCO算法和机器人恒力跟踪的模糊迭代算法进行比较,其中恒力跟踪的模糊迭代算法应用的原理是根据机器人与环境的接触力的大小离线迭代机器人的轨迹,同时在迭代过程中利用模糊算法补偿机器人的轨迹. 2种算法的效果对比如图13所示. PILCO算法的迭代次数为8次,模糊迭代算法迭代了18次;PILCO算法中法向力与期望力的误差大部分为±2 N,模糊迭代算法中为±3 N;PILCO算法在冲击阶段的效果较差,模糊迭代算法可以对每个过程都进行调节,因此在冲击阶段的控制效果较好. 当机器人与环境的接触力第1次达到期望力至机器人离开环境这段时间内,PILCO算法和模糊迭代算法的力误差绝对值的最大值、力误差绝对值的平均值和力误差的标准差的对比如表2所示. PILCO算法和模糊迭代算法的力误差标准差相差不大,PILCO算法的力误差绝对值平均值比模糊迭代算法减小了29%.
图 13
图 13 PILCO算法和模糊迭代算法的结果对比图
Fig.13 Comparison of results between PILCO algorithm and fuzzy iterative algorithm
表 2 PILCO算法和模糊迭代算法的对比
Tab.2
算法 | 力误差 | ||
|Δf |max/N | | Δfs /N | |
PILCO | 11.395 5 | 0.855 4 | 1.440 8 |
模糊迭代 | 3.313 2 | 1.209 2 | 1.342 3 |
5. 结 语
机器人末端执行器对曲面工件轮廓进行恒力跟踪实验时,对末端执行器的受力进行分析,使用机器人显式力控制对机器人的位移进行调整. 为了得到恒定的接触力,通过有模型强化学习PILCO算法,对接触过程中的状态和输入参数的关系进行学习,自主地得到输出参数. 在实验中,将强化学习的输入状态改为一段时间内的状态平均值,以减少接触状态下信号的干扰. 实验结果显示,接触力的误差大部分小于2 N. 将PILCO算法和模糊迭代算法的效果进行对比可知,PILCO算法的迭代次数较少,跟踪力的稳定性效果更好,力误差绝对值的平均值比模糊迭代算法减少了29%.
参考文献
Enhanced stiffness modeling, identification and characterization for robot manipulators
[J].DOI:10.1109/TRO.2004.842347 [本文引用: 1]
机器人制孔姿态优化与光顺
[J].
Posture optimization and smoothness for robot drilling
[J].
Application of fuzzy on-line self-adaptive controller for a contour tracking robot on unknown contours
[J].DOI:10.1016/0165-0114(95)00272-3 [本文引用: 1]
Surface tracking with robot force control in unknown environment
[J].DOI:10.4028/www.scientific.net/AMR.328-330 [本文引用: 1]
A study of force and position tracking control for robot contact with an arbitrarily inclined plane
[J].
Adaptive variable impedance control for dynamic contact force tracking in uncertain environment
[J].DOI:10.1016/j.robot.2018.01.009 [本文引用: 1]
Precision contouring control of five degree of freedom robot manipulators with uncertainty
[J].
Reinforcement learning in robotics: a survey
[J].DOI:10.1177/0278364913495721 [本文引用: 1]
Learning to select and generalize striking movements in robot table tennis
[J].
Reinforcement learning algorithms for robotic navigation in dynamic environments
[J].DOI:10.1016/S0019-0578(07)60032-9 [本文引用: 1]
Deep reinforcement learning: a brief survey
[J].DOI:10.1109/MSP.2017.2743240 [本文引用: 1]
Survey of model-based reinforcement learning: applications on robotics
[J].
An overview of robot force control
[J].DOI:10.1017/S026357479700057X [本文引用: 1]
A position-based explicit force control strategy based on online trajectory prediction
[J].
A theoretical and experimental investigation of explicit force control strategies for manipulators
[J].DOI:10.1109/9.262033 [本文引用: 1]
/
〈 |
|
〉 |
