浙江大学学报(工学版), 2019, 53(10): 1865-1873 doi: 10.3785/j.issn.1008-973X.2019.10.003

机械与能源工程

基于强化学习的机器人曲面恒力跟踪研究

张铁,, 肖蒙, 邹焱飚, 肖佳栋

Research on robot constant force control of surface tracking based on reinforcement learning

ZHANG Tie,, XIAO Meng, ZOU Yan-biao, XIAO Jia-dong

收稿日期: 2018-08-2  

Received: 2018-08-2  

作者简介 About authors

张铁(1968—),男,博导,从事工业机器人、服务机器人中的移动机器人的关键技术等研究.oricid.crg/0000-0001-9716-3970.E-mail:merobot@scut.edu.cn , E-mail:merobot@scut.edu.cn

摘要

针对机器人末端执行器和曲面工件接触时难以得到恒定接触力的问题,建立机器人末端执行器与曲面工件的接触模型.构建曲面接触力坐标系与机器人传感器测量坐标系之间的关系,利用基于概率动力学模型的强化学习(PILCO)算法对模型输出参数与接触状态的关系进行学习,对部分接触状态进行预测,强化学习根据预测的状态优化机器人位移输入参数,得到期望跟踪力信号. 实验中,将强化学习的输入状态改为一段时间内的状态平均值以减少接触状态下信号的干扰. 实验结果表明,利用PILCO算法在迭代8次后能够得到较稳定的力,相比于模糊迭代算法收敛速度较快,力误差绝对值的平均值减少了29%.

关键词: 机器人 ; 曲面跟踪 ; 力控制 ; 基于概率动力学模型的强化学习(PILCO) ; 强化学习

Abstract

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: robot ; contour tracking ; force control ; probabilistic inference and learning for control (PILCO) ; reinforcement learning

PDF (1638KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张铁, 肖蒙, 邹焱飚, 肖佳栋. 基于强化学习的机器人曲面恒力跟踪研究. 浙江大学学报(工学版)[J], 2019, 53(10): 1865-1873 doi:10.3785/j.issn.1008-973X.2019.10.003

ZHANG Tie, XIAO Meng, ZOU Yan-biao, XIAO Jia-dong. Research on robot constant force control of surface tracking based on reinforcement learning. Journal of Zhejiang University(Engineering Science)[J], 2019, 53(10): 1865-1873 doi:10.3785/j.issn.1008-973X.2019.10.003

利用机器人末端执行器对曲面工件进行跟踪,能够得到曲面工件的轮廓,精确的轮廓轨迹可以为机加工提供初始轨迹. 机器人在运动过程中由于自身刚度不足[1-2]和外界环境的变化[3]导致接触力不稳定同时波动较大,利用机器人力控制算法能够有效地保持接触力的稳定.

诸多学者对跟踪场景中的力控制算法进行研究,并在传统的力控制算法中加入了智能算法,如Tung等[4]在控制器中加入了自适应模糊控制算法,在线优化了控制规则;Abu-Mallouh等[5]使用神经网络,补偿了跟踪时系统滞后造成的误差和库仑摩擦力;Li等[6]利用神经网络,对未知的跟踪环境进行分类;Ye等[7]采用模糊控制方法,在线调整机器人阻抗模型中的阻尼刚度参数. 智能算法[8-10]应用在跟踪实验时,往往需要先获取先验知识和模型,先验知识和模型的准确程度决定了控制算法的好坏;强化学习不需要人为地选取先验模型,在与环境反复交互的过程中,能够自主地发现最优行为,减轻人工作业的难度,达到较好的控制效果. 强化学习在机器人实际应用中已经取得了较好的效果[11-15].

强化学习与机器人结合时,使用的算法通常可以分为无模型强化学习和有模型强化学习[16],无模型强化学习算法虽然具有一定的通用性,但是需要同外界环境进行的交互次数较多,在实际应用中效率较低. 有模型强化学习算法构建了模型,提高了数据利用率,同时在交互过程中模型会不断地修正,因此在实际应用中比无模型强化学习交互的次数少,成为研究的热点. 有模型强化学习中,基于概率动力学模型的强化学习算法(PILCO)的收敛速度快,在实际中有较好的应用[17-19],机器人恒力跟踪场景可以重复实验,有利于满足该算法的要求,因此可以将强化学习应用到机器人恒力跟踪场景中.

本文对机器人曲面恒力跟踪场景中机器人末端执行器的受力进行分析,对接触过程进行建模. 利用概率动力学模型,对机器人的接触状态进行拟合和预测,强化学习在概率动力学模型中搜索策略,推理机器人的输出控制参数. 在实验中,将强化学习的输入状态改为一段时间内的状态平均值,以减少接触状态下信号的干扰,最终得到稳定的跟踪力.

1. 机器人末端执行器的受力分析

机器人恒力跟踪实验平台如图1所示,六维力传感器安装在机器人的末端,传感器坐标系{T}、工作台坐标系{S}和机器人基坐标系{B}的姿态相同. 机器人始终保持vs的速度沿着Vx方向运动,如图2所示,当机器人末端执行器和工件接触后,机器人末端执行器会根据受力的大小在Vy方向微小地移动,从而调整机器人和工件的接触状态,其中机器人运动坐标系{V}相对于传感器坐标系{T}的姿态始终保持不变. 当末端执行器与曲面工件接触时,如图3所示,末端执行器受到曲面的法向力Fn和切向力Fτ,恒定的Fn能够反映出曲线的轮廓. 为了得到Fn,需要将曲面接触力坐标系{C}中的力映射到已知的传感器坐标系{T}中,曲面接触力坐标系{C}中心与传感器坐标系{T}中心重合,曲面接触力坐标系的X轴方向与曲面的切向方向相同,Y轴方向始终垂直于曲面轮廓,由图3的受力分析结果可得,FnFτ

图 1

图 1   机器人恒力跟踪实验平台

Fig.1   Robotic constant force tracking experiment platform


图 2

图 2   机器人末端局部图

Fig.2   Partial detail of robot end effector


图 3

图 3   机器人末端受力分析图

Fig.3   Force analysis of robot end effector


$\left. \begin{gathered} {F_{\text{τ}} } = { - ^T}{F_x}\cos \theta { - ^T}{F_y}\sin \theta {\text{,}} \\ {F_{\rm n}} = { - ^T}{F_x}\sin \theta { + ^T}{F_y}\cos \theta {\text{。}} \\ \end{gathered} \right\} $

式中:TFxTFy分别为传感器坐标系{T}坐标系下XY方向的力由六维力传感器测得; $\theta $XTXC之间的夹角.

式(1)中夹角 $\theta $未知,因此需要对 $\theta $进行估计, $\theta $等于曲面的切线倾斜角. 当机器人末端与曲面接触不分离时,在一个采样周期内,通过得到Vx方向和Vy方向的位移可以求得该周期内角度的正切值,反正切运算后可得一个采样周期内曲面的切线倾斜角:

$\left. \begin{aligned} & \tilde \theta = {\rm arctan}\left({{{v_{\rm{s}}}\Delta t}}/{{\Delta y}}\right) {\text{,}} \\ & \Delta y = kv\Delta t {\text{。}} \end{aligned} \right\}$

式中: $\widetilde \theta $为一个采样周期内的曲线倾斜角;vs为机器人沿着Vx方向的速度; $\Delta t$为机器人沿着Vx方向每个周期的时间; $\Delta y$为机器人沿着Vy方向的偏移量,其大小与上位机在每个周期内给机器人的偏置电压成正比;v为偏置电压; $k$为常数. 由于工件曲面没有突变的轮廓,则 $\widetilde \theta $的曲线较平滑,然而实验时 $\widetilde \theta $包含较多的噪声和干扰,需要对 $\widetilde \theta $进行滤波以便满足实际的需要,滤波选用平均值滤波:

${\theta _{{t}}} =\left\{ \begin{aligned} &\sum\limits_{t=1}^i {{{\tilde \theta }_{{t}}}} /t, \quad t \leqslant i \leqslant w; \\ & \sum\limits_{t=i - w + 1}^i {{{\tilde \theta }_{{t}}}} /w, \quad w \leqslant t \leqslant i. \\ \end{aligned} \right.$

式中: ${\theta _{{t}}}$t时刻滤波后的曲面切线倾斜角, ${\tilde \theta _{{i}}}$i时刻的曲面切线倾斜角,w为滤波窗口常数. 滤波后得到 $\theta $的平均误差小于5°,满足实际应用的需要.

2. 接触过程的显式力控制

机器人末端执行器与环境是刚性接触,接触过程中振动较大,造成Fn波动很大,需要利用机器人力控制算法调整机器人与环境的接触状态,从而达到期望的接触效果. 机器人力控制算法有阻抗控制、导纳控制、力位混合控制等[20],在机器人曲面跟踪场景中期望的接触力是恒定的,显式力控制比较适用于该场景[21]. 显式力控制是将末端执行器与接触面之间的实际接触力和期望的接触力进行比较,根据力误差调整机器人状态,以达到期望的力. 显式控制分为基于力的显式力控制和基于位置的显式力控制[22],基于力的显式力控制根据期望与实际的力之差调节机器人的关节力矩以实现恒力控制;基于位置的显式力控制将期望与实际的力之差转化为机器人的偏移位移,从而改变机器人当前的位置,间接调节接触力. 由于基于位置的显式力控制比较容易实现,选择该算法.

基于位置的显式力控制的控制流程如图4所示.将Fn与期望力Fd进行比较后得到力误差,力控制器将力误差转化为机器人的位移调整量,控制器根据位移调整量的大小发送一个相对位置命令后,机器人高精度的位置控制器及时调整机器人的位移,从而间接控制机器人与环境接触力. 在系统是非线性的情况下,基于位置的显式力控制器也容易于实现,具有较好的鲁棒性.

图 4

图 4   基于位置的显式力控制

Fig.4   Explicit force control based on position control


力控制器通常选择PD、PI或PID控制器[23],由于PD算法不会产生积分失控,容易获得较好的调节品质. 选择PD控制器,仅在一维方向上进行分析,控制器设计为

$\left. \begin{gathered} \Delta {u_{{t}}} = {k_{\rm{p}}}(\Delta {f_{{t}}} - \Delta {f_{{{t - 1}}}}) + {k_{\rm{d}}}\Delta {f_{{t}}} {\text{,}} \\ \Delta {f_{{t}}} = {F_{\rm{n}}} - {F_{\rm{d}}} {\text{,}} \\ {u_t} = {u_{t - 1}} + \Delta {u_{{t}}} {\text{,}} \\ \Delta {x_t} = g(\Delta {u_t}). \\ \end{gathered} \right\}$

式中: $\Delta {u_{{t}}}$t时刻增加的输出量,实验中输出量为偏置电压; ${u_t}$t时刻的输出量;kpkd为比例参数; $\Delta {f_{{t}}}$t时刻法向力与期望力之差; $\Delta {x_t}$t时刻机器人位移改变量,与输出量有关,用g表示,当机器人系统参数不变时,两者的关系是确定不变的.

在机器人与环境接触过程中,当kpkd不协调时,机器人与环境会产生剧烈的碰撞或者过度的挤压,造成接触力突然过大或过小,有可能损坏机器人和配套设施. 需要限制比例参数的范围,将控制器设计为

$\Delta {u_{{t}}} = ({k_{\rm{p}}} + {k_{{\rm{\Delta p}}}})(\Delta {f_{{t}}} - \Delta {f_{{{t - 1}}}}) + {k_{\rm{d}}}\Delta {f_{{t}}}.$

式中:kpkd设置为定值,保证机器人和环境始终处于接触状态,同时接触力不会过大或过小;kΔp为偏移参数,用于调节机器人的位置.

3. 基于强化学习的控制参数的优化

kΔp的优化过程是比较繁琐的,强化学习可以很好地解决这种序贯决策问题,它可以根据机器人与环境接触的状态调整参数以达到最优奖励值,从而得到最优策略. 在有模型强化学习中,基于概率动力学模型的PILCO算法在实际应用中迭代次数较小,数据利用效率较高[24],比较适用于机器人恒力跟踪场景. 在该场景中,可以将PILCO算法分为概率动力学模型学习、强化学习最优策略的学习和恒力跟踪实验的策略应用3个部分.

3.1. 概率动力学模型学习

在经典的控制中,一般需要使用函数逼近方法来获得模型. 在选择高次多项式或非参数模型的情况下,当参数过多或模型较复杂时会导致过度拟合,模型会被覆盖,开始产生拟合噪声[25]. PILCO的模型是概率动力学模型,在模型拟合时将不确定性纳入考虑中,即在模型拟合时将模型的不确定性考虑成与模型不相关的噪声,由于考虑了模型的不确性,与传统的函数逼近方法相比,得到的模型偏差较小.

假设动态系统t时刻的状态和t−1时刻的状态、输出相关,模型为

${{ x}_{{t}}} = f({{ x}_{{{t - 1}}}},{{ u}_{{{t - 1}}}}).$

在标准的高斯回归模型中,假设数据模型输入值为数组,其中包括状态值和参数输入值,即 ${{X}} = [ \left( {{x_1},{u_1}} \right),\left( {{x_2},{u_{\rm{2}}}} \right), \cdots ,({x_{{n}}},{u_{{n}}})\}]$,模型训练目标值为 ${{Y}} \!=[{y_1},{y_2}, \cdots ,{y_{{n}}}]$,其中 ${y_{{t}}}{\rm{ }} \!=\! {x_{{t}}} - {x_{{{t - 1}}}} + {\xi _{{t}}},$ ${x_{{t}}} \in {{X}},$ ${y_{{t}}} \in {{Y}},$ $\xi $为独立的高斯噪声,即 $\xi$ 满足: ${\rm N}(0,{\sigma_\xi^2}) $分布. 为了得到训练目标的值,根据模型在t−1时刻的值对t时刻进行一步的预测,概率满足高斯分布:

$\left. \begin{split} &p({x_{{t}}}|{x_{{{t - 1}}}},{u_{{{t - 1}}}}) = N\left({x_{{t}}}|{\mu _{{t}}},{\sigma ^2_{\xi{t}}}\right),\\ &{\mu _t} = {x_{{{t - 1}}}} + {E}[{y_{{t}}}],\\ &{\sigma ^2_{\xi{t}}} = {{\mathop{\rm var}} }[{y_{{t}}}]. \end{split} \right\}$

$\tilde x = ({x,u})$,内核函数选择平方指数协方差:

$k({{ x}_{\rm{p}}},{{ x}_{\rm{q}}}) = {\alpha ^2}\exp \;\left[ - \frac{1}{2}{({{ x}_{\rm{p}}} - {{ x}_{\rm{q}}})^{\rm T}}{{{\varLambda }}^{ - 1}}({{ x}_{\rm{p}}} - {{ x}_{\rm{q}}})\right]{\text{.}} $

式中:xpxq为属于 $\tilde x$的任意元素; $\alpha $为函数f信号方差; ${\varLambda }$为特征长度li的平方对应的对角矩阵,即 ${{\varLambda }} = {\rm diag} \;([{l_1}^2, \cdots ,{l_{{n}}}^2])$. 假设超参数为θp,包括特征长度l1,···,ln,信号方差α2和噪声方差 ${\sigma _{\xi{}}}$,在θp和输入XY概率的对数的似然边际为

$ \begin{split} \log p({{Y}}|{{X}},{{\theta }_{\rm p}}) =& - \frac{1}{2}{{{Y}}^{\rm T}}{({{{K}}_\theta } + {\delta _\varepsilon }^2{{I}})^{ - 1}}{{Y}} - \\&\frac{1}{2}\log |{{{K}}_\theta } + {\delta _\varepsilon }^2{{I}}{|^{ - 1}} - \frac{D}{2}\log\; (2{\text π} ). \end{split} $

式中:D为输入空间的维数; ${{{K}}_{\theta {\rm p}}}$为关于θp的核函数;I为单位矩阵. 超参数值可以通过Ⅱ型超参数最大似然估计(ML-Ⅱ)获得[25]

$ {\hat {\bf\theta }} \in \arg \mathop {\max }\limits_{ \theta_{\rm p}} \log p({{Y}}|{{X}},{{\theta }}_{\rm p}). $

在得到超参数后,对输入参数进行高斯过程回归预测:当输入测试参数为x*时,根据先验概率得到后验概率分布:

$P\left( {{{ y}^*}|{{ x}^*}} \right) = N({{ k}_*}^{\rm T}{\left( {{{K}} + {\sigma _\varepsilon }^2{{I}}} \right)^{ - 1}}{ Y},{{ k}_{**}} - {{ k}_*}^{\rm T}{({{K}} + {\sigma _\varepsilon }^2{{I}})^{ - 1}}{{ k}_*}).$

式中:y*为预测输出值;k*=k(X, x*), k**=k(x*, x*).

3.2. 强化学习的最优策略的学习

强化学习是以马尔科夫决策过程为理论基础的. 马尔科夫决策过程由一个元组构成M=(SAPrρ0γ),其中S为系统状态集合;A为动作集合;P为状态的转移概率,概率动力学模型已经求出;r为回报函数;ρ0为初始状态;γ为折扣因子,一般取值为[0, 1][26]. 强化学习主体(agent)在与环境交互过程中,通过选择不同策略,即根据不同的状态选择合适的动作得到不同的奖励,最终得到最优解. 强化学习算法的种类有很多,大体可以分为基于策略的强化学习和基于价值的强化学习. 基于策略的强化学习比较适合动作为连续集的场景,适合机器人跟踪场景. 基于策略的强化学习结构如图5所示,主体的策略π更新过程是通过改变策略参数φ实现的,φ的更新的步长与目标函数(该场景中设置为强化学习期望回报)的梯度有关. 强化学习期望回报与奖励函数和状态概率分布有关,奖励函数用于衡量机器人的实际状态到期望状态的距离. 在机器人跟踪领域中,主体目标是寻找到最优的策略,最优策略是对长期的策略进行评估,可以利用3.1节中概率动力模型中学习到的模型,对长期的回报进行近似的推断,在得到强化学习中的目标函数后,根据目标函数梯度改变输入的策略,直至更新的策略满足最优解.

图 5

图 5   基于策略的强化学习结构图

Fig.5   Structure chart of policy-based reinforcement learning


强化学习的期望回报为

$\left. \begin{aligned} {V^\pi } =& \sum\limits_{t = 1}^T {E[c({{ x}_{{t}}})|{\text π}]} ,P({{ x}_0}) = N({\mu _0},{\sigma _0^2}); \\ {V^\pi } = &\sum\limits_{t = 1}^T {\int {c({{ x}_{{t}}})p({{ x}_{{t}}})} } {\rm d}{{ x}_{{t}}} . \\ \end{aligned} \right\}$

式中: ${V^\pi }$为在策略 $\pi $下的期望回报;初始状态 ${{ x}_0}$满足高斯分布; $p({{ x}_{{t}}})$为在状态xt下的状态的概率分布; $c({{ x}_t})$为奖励函数,

$c({ x}) = 1 - \exp\; \left.\left( - \frac{1}{2}\left\| {{ x} - {{ x}_{{\rm{target}}}}} \right\|_W^2\right/{\delta _{\rm{c}}}^2\right) {\text{,}}$

其中,||xxtarget||Wxxtarget之间的马氏距离,W为加权因子,xtarget为目标状态, ${\delta _{\rm{c}}}$为缩放因子. 在设定目标状态后,奖励函数比较容易得到,而式(12)中xt时间的状态分布 $p({{ x}_{{t}}})$是未知的,需要对 $p({{ x}_t})$进行推理:在t−1时刻,首先由 $p({{ x}_{{{t}} - 1}})$的状态分布推理出动作分布 $p({u_{{{t - 1}}}})$,其次将 $p({{ x}_{{{t}} - 1}})$$p({u_{{{{t} - 1}}}})$结合得到联合分布 $p({{ x}_{{{{t} - 1}}}},{u_{{{{t} - 1}}}})$$p({{ x}_{{{{t} - 1}}}},{u_{{{{t} - 1}}}})$可以得到状态改变量 $p({ \varDelta} _{t})$,其中 ${ { \varDelta} _{{t}}} = {{ x}_{{t}}} - {{ x}_{{{{t} - 1}}}}$,最后得到 $p({{ x}_t})$. $p({{ x}_{{t}}})$的期望和方差[25]

$\left. \begin{aligned} {\mu _{{t}}} =& {\mu _{{{{t} - 1}}}} + {\mu _{\bf \Delta} } , \\ {\sigma _{{t}}} =& {\sigma _{{{t - 1}}}} + {\sigma _\Delta } + \operatorname{cov}\; [{{ x}_{{{t - 1}}}},{{ \varDelta} _{{t}}}] + \operatorname{cov}\; [{{ \varDelta} _{{t}}},{{ x}_{{{t - 1}}}}]. \end{aligned} \right\}$

在策略和状态关系通过策略参数线性化或者非线性化后,最优策略由最优策略参数确定,当策略满足以下条件时即为最优策略:

${{\text π} ^*} \in \arg \min {V^{\text π}}({{ x}_0}).$

为了得到最优策略参数,需要求解期望回报相对于策略参数的梯度,令: ${{ \varepsilon} _t}{\bf =} {E}[c({{ x}_t})]$,则

$\frac{{{\rm d}{\varepsilon _{{t}}}}}{{{\rm d}\varphi }} = \frac{{{\rm d}{\varepsilon _{{t}}}}}{{{\rm d}p({x_{{t}}})}}\frac{{{\rm d}p({x_{{t}}})}}{{{\rm d}\varphi }} = \frac{{\partial {\varepsilon _{{t}}}}}{{\partial {\mu _{{t}}}}}\frac{{{\rm d}{\mu _{{t}}}}}{{{\rm d}\varphi }} + \frac{{\partial {\varepsilon _{{t}}}}}{{\partial {\sigma_{\xi{t}}}}}\frac{{{\rm d}{\sigma_{\xi{t}}}}}{{{\rm d}\varphi }}.$

式中: $\displaystyle{{\partial {\varepsilon _{{t}}}}}/{{\partial {\mu _{\rm{t}}}}}$$\displaystyle{{\partial {\varepsilon _t}}}/{{\partial{\sigma_{\xi{t}}}}}$在给定 $c({x_{{t}}})$后可以解析得到; $\displaystyle{{{\rm d}{\mu _t}}}/{{{\rm d}\varphi }}$$\displaystyle{{{\rm d}{\sigma_{\xi{t}}}}}/{{{\rm d}\varphi }}$可以通过t−1时刻 $\displaystyle{{{\rm d}{\mu _{t - 1}}}}/{{{\rm d}\varphi }}$$\displaystyle{{{\rm d}{\sigma_{\xi(t-1)}}}}/{{{\rm d}\varphi }}$的值递推出来:

$\left. \begin{gathered} \frac{{{\rm d}{\mu _{{t}}}}}{{{\rm d}\varphi }} = \frac{{\partial {\mu _{{t}}}}}{{\partial {\mu _{{{t - 1}}}}}}\frac{{{\rm d}{\mu _{{{t - 1}}}}}}{{{\rm d}\varphi }} + \frac{{\partial {\mu _t}}}{{\partial {\sigma_{\xi(t-1)}}}}\frac{{{\rm d}{\sigma_{\xi(t-1)}}}}{{{\rm d}\varphi }} + \frac{{\partial {\mu _{{t}}}}}{{\partial \varphi }}, \\ \frac{{{\rm d}{\sigma_{\xi{t}}}}}{{{\rm d}\varphi }} = \frac{{\partial {\sigma_{\xi{t}}}}}{{\partial {\mu _{{{t - 1}}}}}}\frac{{{\rm d}{\mu _{{{t - 1}}}}}}{{{\rm d}\varphi }} + \frac{{\partial {\sigma_{\xi{t}}}}}{{\partial{\sigma_{\xi(t-1)}}}}\frac{{{\rm d}{\sigma_{\xi(t-1)}}}}{{{\rm d}\varphi }} + \frac{{\partial {\sigma_{\xi{t}}}}}{{\partial \varphi }} . \end{gathered} \right\}$

在得到所有梯度后,利用共轭梯度法可得策略参数更新步长,详细推导见文献[25].通过不停地迭代,直至策略参数满足式(15)最优策略条件.

3.3. 恒力跟踪实验中策略应用

由于机器人与环境接触过程具有不确定性,在相同的偏移参数kΔp下,相同时刻得到的状态x会不同,直接利用某时刻的状态进行计算会导致采集数据误差较大. 初始状态下,将接触过程平均分成30个时间段,假设在不同时间段内策略对各段接触的影响是相互独立的,提取每个时间段内力信号,求出FnFd之差Δf,Δf的平均力 $f_{{\rm{ave}}}^{}$、Δf的方差 $f_{\operatorname{var} }^{}$和每段时间周期内截止时刻对应的角度 ${\theta _{}}$,构成机器人的状态值. 在更新策略 $\pi $后,得到30组新的偏移参数(kΔp=[k1Δp,k2Δp,k3Δp,···,k30Δp])和角度,下一次实验时以得到的角度为时间节点,对偏移参数进行更新.

机器人的状态值和偏移参数之间的关系需要非线性化处理,由于RBF网路有较好的输入和输出的映射功能,可以任意精度地逼近任意的非线性函数,同时具有唯一的最佳逼近特征,学习和收敛的速度较快. 在实验中,选择高斯内核的RBF网络,将偏移参数和状态x关系非线性化为

$\left. \begin{gathered} \pi ({ x},{ \varphi} ) = \sum\nolimits_{i = 1}^n {{w_{{i}}}} {\phi _{{i}}}({ x}), \\ {\phi _{{i}}}({ x}) = \exp\; \left( - \frac{1}{2}{({ x} - {{ \mu} _{{{\rm r}i}}})^{\rm T}}{{{\varGamma }}^{ - 1}}({ x} - {{ \mu} _{{{\rm r}i}}})\right). \end{gathered} \right\}$

式中:n为节点; $w$为权重; ${{ \varGamma }}$为权重矩阵; ${ \mu }$为高斯基函数的中心位置; $\varphi $为策略参数,其中包括 $\left\{ {{{ w}_{{i}}},{{\varGamma }},{{ \mu} _{\rm{r}}}} \right\}$. 算法结构如图6所示,由概率动力学模型模块和强化学习模块构成. 概率动力学模型模块输入由第j次实验的状态(包括平均力、方差和角度)和输入偏移参数构成,输出为j+1次实验的状态,强化学习模块接收第j+1次实验状态和角度后由RBF网络输出为j+1次实验的偏移参数.

图 6

图 6   PILCO算法结构图

Fig.6   Structure diagram of PILCO algorithm


为了方便计算,需要对RBF的输入值作归一化处理,使输入值为[−1, 1]. 实验中,期望目标值xtarget由平均力和力的方差构成,即xtarget=[favetarget,f vartarget],其中平均力和力的方差的目标都为0.

4. 恒力跟踪实验结果与分析

实验装置如图7所示,由机器人、控制器、倍福模块、六维力传感器和上位机构成. 机器人采用安川MH24;六维力传感器选用德国的ME-FKD40;力信号通过倍福模块采集并传送给上位机,利用上位机运行力控制器(式(5))中的算法,将输出信号传送给倍福模块,并由倍福模块转化为电压信号;控制器内置软件接收倍福−10~10 V的模拟信号产生位移偏移,位移偏移的方向与模拟信号电压符号相关,位移偏移与电压绝对值成正比;控制器可以将机器人的关节角度传送给上位机. 实验时,上位机采集六维力传感器中FxFy的力信号,离线运行算法后,得到偏移参数后进行下一次实验.

图 7

图 7   机器人恒力跟踪实验装置

Fig.7   Robotic constant force tracking experimental setup


实验使用的曲面工件如图8所示. 曲面工件的轮廓通过三维软件中样条曲线命令拉伸而成,机器人的初始轨迹如图8的虚线所示,初始轨迹的运行程序通过手动示教设定,其中A点到B点的初始轨迹为直线. 当机器人到达A点时,开始采集力信号,内置软件开始运行;机器人始终以1 mm/s的速度沿Vx方向移动,在Vy方向开始偏移,位移偏移的大小是根据显式力控制算法来实现的,其中Fd为30 N;kp=0.004,kd=0.000 02;kΔp为[0,0.02]. 当机器人达到B点时,内置软件停止运行,即偏移停止,离开B点后当力信号为0时,力信号采集结束.

图 8

图 8   被跟踪曲面工件

Fig.8   Workpiece for tracking


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


将第1次的实验结果进行离线处理,得到30组状态和偏移参数的值,输入PILCO算法,得到最优策略;重复实验8次,得到的法向力信号如图1011所示. 在7次迭代时,前期的法向力稳定且收敛. 接触过程的后期由于相对稳定,收敛速度相对较快,在迭代第8次后,法向力与期望值的误差绝对值绝大部分小于2 N,到达期望的效果.

图 11

图 11   PICLO算法第5~8次迭代过程

Fig.11   Fifth to eighth iterative processes of PICLO algorithm


迭代时力误差绝对值的最大值|Δf |max、力误差绝对值的平均值 $\left|\Delta \bar f \right| $和力误差的标准差Δfs在迭代过程中的变化如表1所示. 力误差绝对值的最大值在第1次迭代后基本没有什么变化,由于在机器人和曲面接触的过程中冲击阶段时间较短,在冲击阶段的调节的效果比较有限,力误差绝对值的最大值变化不多,而跟踪阶段力误差绝对值的平均值和力误差的标准差的总体趋势是下降的.

表 1   PILCO迭代过程中力误差参数的对比

Tab.1  Comparison of force error parameters during PILCO iterations

迭代次数 力误差
f |max/N $\left|\Delta \bar f \right| $/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

新窗口打开| 下载CSV


在迭代过程中,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  Experimental results comparison between PILCO algorithm and fuzzy iterative algorithm

算法 力误差
f |max/N $\left|\Delta \bar f \right| $/N Δfs /N
PILCO 11.395 5 0.855 4 1.440 8
模糊迭代 3.313 2 1.209 2 1.342 3

新窗口打开| 下载CSV


5. 结 语

机器人末端执行器对曲面工件轮廓进行恒力跟踪实验时,对末端执行器的受力进行分析,使用机器人显式力控制对机器人的位移进行调整. 为了得到恒定的接触力,通过有模型强化学习PILCO算法,对接触过程中的状态和输入参数的关系进行学习,自主地得到输出参数. 在实验中,将强化学习的输入状态改为一段时间内的状态平均值,以减少接触状态下信号的干扰. 实验结果显示,接触力的误差大部分小于2 N. 将PILCO算法和模糊迭代算法的效果进行对比可知,PILCO算法的迭代次数较少,跟踪力的稳定性效果更好,力误差绝对值的平均值比模糊迭代算法减少了29%.

参考文献

ALICI G, SHIRINZADEH B

Enhanced stiffness modeling, identification and characterization for robot manipulators

[J]. IEEE Transactions on Robotics, 2005, 21 (4): 554- 564

DOI:10.1109/TRO.2004.842347      [本文引用: 1]

黄奇伟, 章明, 曲巍崴, 等

机器人制孔姿态优化与光顺

[J]. 浙江大学学报: 工学版, 2015, 49 (12): 2261- 2268

[本文引用: 1]

HUANG Qi-wei, ZHANG Ming, QU Wei-wei, et al

Posture optimization and smoothness for robot drilling

[J]. Journal of Zhejiang University: Engineering Science, 2015, 49 (12): 2261- 2268

[本文引用: 1]

WINKLER A, SUCHY J. Force controlled contour following on unknown objects with an industrial robot [C]//IEEE International Symposium on Robotic and Sensors Environments (ROSE). Washington, DC: IEEE, 2013: 208-213.

[本文引用: 1]

TUNG P, FAN S

Application of fuzzy on-line self-adaptive controller for a contour tracking robot on unknown contours

[J]. Fuzzy Sets and Systems, 1996, 82 (1): 17- 25

DOI:10.1016/0165-0114(95)00272-3      [本文引用: 1]

ABU-MALLOUH M, SURGENOR B. Force/velocity control of a pneumatic gantry robot for contour tracking with neural network compensation [C]// ASME 2008 International Manufacturing Science and Engineering Conference. Evanston, Illinois, USA: ASME, 2008: 11-18.

[本文引用: 1]

LI E C, LI Z M

Surface tracking with robot force control in unknown environment

[J]. Advanced Materials Research, 2011, 328-330: 2140- 2143

DOI:10.4028/www.scientific.net/AMR.328-330      [本文引用: 1]

YE B S, SONG B, LI Z Y, et al

A study of force and position tracking control for robot contact with an arbitrarily inclined plane

[J]. International Journal of Advanced Robotic Systems, 2013, 10 (1): 1- 1

DOI:10.5772/52938      [本文引用: 1]

DUAN J J, GAN Y H, CHEN M, et al

Adaptive variable impedance control for dynamic contact force tracking in uncertain environment

[J]. Robotics and Autonomous Systems, 2018, 102: 54- 65

DOI:10.1016/j.robot.2018.01.009      [本文引用: 1]

NUCHKRUA T, CHEN S L

Precision contouring control of five degree of freedom robot manipulators with uncertainty

[J]. International Journal of Advanced Robotic Systems, 2017, 14 (1): 208- 213

WANG W C, LEE C H. Fuzzy neural network-based adaptive impedance force control design of robot manipulator under unknown environment [C]//IEEE International Conference on Fuzzy Systems. Beijing: IEEE, 2014: 1442-1448.

[本文引用: 1]

KOBER J, BAGNELL J A, PETERS J

Reinforcement learning in robotics: a survey

[J]. The International Journal of Robotics Research, 2013, 32 (11): 1238- 1274

DOI:10.1177/0278364913495721      [本文引用: 1]

NG A Y. Shaping and policy search in reinforcement learning [D]. California: University of California, Berkeley, 2003.

MÜLLING K, KOBER J, KROEMER O, et al

Learning to select and generalize striking movements in robot table tennis

[J]. The International Journal of Robotics Research, 2013, 32 (3): 263- 279

DOI:10.1177/0278364912472380     

HESTER T, QUINLAN M, STONE P. Generalized model learning for Reinforcement Learning on a humanoid robot [C]// IEEE International Conference on Robotics and Automation. Anchorage: IEEE, 2010: 2369-2374.

YEN G G, HICKEY T W

Reinforcement learning algorithms for robotic navigation in dynamic environments

[J]. ISA Transactions, 2004, 43 (2): 217- 230

DOI:10.1016/S0019-0578(07)60032-9      [本文引用: 1]

ARULKUMARAN K, DEISENROTH M P, BRUNDAGE M, et al

Deep reinforcement learning: a brief survey

[J]. IEEE Signal Processing Magazine, 2017, 34 (6): 26- 38

DOI:10.1109/MSP.2017.2743240      [本文引用: 1]

POLYDOROS A S, NALPANTIDIS L

Survey of model-based reinforcement learning: applications on robotics

[J]. Journal of Intelligent and Robotic Systems, 2017, 86 (2): 1- 21

[本文引用: 1]

DOERR A, TUONG N D, MARCO A, et al. Model-based policy search for automatic tuning of multivariate PID controllers [C]//2017 IEEE International Conference on Robotics and Automation (ICRA). Singapore: IEEE, 2017: 5295-5301.

HAN H, GAUL P, MATSUBARA T. Model-based reinforcement learning approach for deformable linear object manipulation [C]//2017 13th IEEE Conference on Automation Science and Engineering (CASE). Xi'an: IEEE, 2017: 750-755.

[本文引用: 1]

ZENG G, HEMAMI A

An overview of robot force control

[J]. Robotica, 1997, 15 (5): 473- 482

DOI:10.1017/S026357479700057X      [本文引用: 1]

SHENG X, XU L, WANG Z

A position-based explicit force control strategy based on online trajectory prediction

[J]. International Journal of Robotics and Automation, 2017, 32 (1): 93- 100

[本文引用: 1]

VOLPE R, KHOSLA P

A theoretical and experimental investigation of explicit force control strategies for manipulators

[J]. IEEE Transactions on Automatic Control, 1993, 38 (11): 1634- 1650

DOI:10.1109/9.262033      [本文引用: 1]

KOMATI B, PAC M R, RANATUNGA I, et al. Explicit force control vs impedance control for micromanipulation [C]//ASME 2013 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Portland: ASME, 2013: V001T09A018.

[本文引用: 1]

DEISENROTH M P, RASMUSSEN C E. PILCO: a model-based and data-efficient approach to policy search [C]// International Conference on International Conference on Machine Learning. Bellevue: Omnipress, 2011: 465-472.

[本文引用: 1]

DEISENROTH M P. Efficient reinforcement learning using Gaussian processes [M]. Karlsruhe, Germany: KIT, 2010.

[本文引用: 4]

SCHULMAN J, LEVINE S, MORITZ P, et al. Trust region policy optimization [C]// Proceedings of the 32nd International Conference on International Conference on Machine Learning. Lille: JMLR, 2015, 37: 1889-1897.

[本文引用: 1]

/