发明内容
针对现有精确动力学模型没有考虑不确定性的影响或者在运动过程中绳驱并联机器人发生了变化,控制性能低的问题,本发明提供一种基于深度强化学习的绳驱并联机器人控制方法。本发明方法通过强化学习算法补偿模型参数不确定性对于控制效果的负面影响并提高系统对于末端执行器质量的自适应性,实现了绳驱机器人高精度控制,灵活操作。
本发明所述基于深度强化学习的绳驱并联机器人控制方法,该方法包括以下步骤:
第一步、建立绳驱并联机器人的动力学模型:
其中,X(m)为m时刻绳驱并联机器人的末端执行器的状态误差向量,
X(m+1)为m+1时刻末端执行器的状态误差向量,
u
r(m)表示m时刻深度强化学习得到的动作控制信号,
代表在状态X(m)下采取动作控制信号u
r(m),状态转移到X(m+1)的概率;其中
代表状态空间,
代表动作空间,
代表状态转移概率;
第二步、利用Lyapunov的柔性actor-critic强化学习算法框架获取ur(m):
强化学习算法框架内建立两套深度神经网络分别用于训练估计动作价值函数
和估计策略函数π
r(u
r(m)|X(m)),两个深度神经网络的参数分别为δ
r,μ
r;
训练完成两套深度神经网络后,通过采样最优策略
获取动作控制信号u
r(m):
其中,π
r表示需要去学习的策略,
代表所有可选择的策略,
αr表示温度系数;
γ∈[0,1)为折扣因子;
ur(m+1)表示m+1时刻深度强化学习得到的动作控制信号;
为动作价值函数,采用Lyapunov函数实现,表示在采取策略π
r进行决策时,在状态X(m)下选取动作控制信号u
r(m)后,所获得的回报的期望值;
πr(ur(m)|X(m))为策略函数,表示采取所学习到的策略πr进行决策时,在状态X(m)下选取动作控制信号ur(m)的概率;
第三步、绳驱并联机器人的控制信号u(m)按下式获得:
u(m)=ua(m)+ur(m)
其中ua(m)是基本控制器输出动作控制信号,ur(m)是强化学习算法框架输出的动作控制信号。
优选地,状态误差向量X(m)按下式获取:
其中Li,i=1,2,...,2n+12为误差项,n为绳驱并联机器人驱动绳索的数量;
xp(m),yp(m),zp(m)为末端执行器的位置的离散量;
αp(m),βp(m),γp(m)为末端执行器的角度的离散量;
d[·]是[·]的微分项,表示其变化率;
[·]e(m)和[·](m)分别上述变量的期望值与实际值。
优选地,用于估计动作价值函数
的深度神经网络的参数δ
r通过最小化贝尔曼残差来训练得到。
优选地,用于估计策略函数πr(ur(m)|X(m))的深度神经网络的参数μr通过拉格朗日乘子来训练得到。
基于控制成本
与引入的熵
动作价值函数可以由下式得到:
其中,
是基于X(m+1)分布的期望值,其可由下式表示:
等式(3)中的
为状态价值函数,表示从状态X(m+1)开始,采取策略π
r进行决策所获得的回报的期望值,其可由下式得到:
其中πr(ur(m)|X(m))表示采取所学习到的策略πr进行决策时,在状态X(m)下选取ur(m)这个动作的概率。
强化学习的目标就是找到一个最优策略使得Q-函数取值最小化,即如下式所示:
为了学习到最优策略
我们需要重复策略评估和策略改进两个步骤,直到训练结束。
优选地,
策略评估过程为:
通过贝尔曼回溯操作
在策略评估中不断重复计算包含熵
的Q-函数,所述Q-函数为动作价值函数,其计算方式如下:
策略改进的过程为:
通过下式可以实现策略改进的操作:
其中
代表上一次更新的策略,
代表本次更新的策略,
代表策略
的动作价值函数,
代表KL距离,
表示归一化因子;
根据上述结论且引入Lyapunov函数后最优策略
的求解问题可以由下列带约束的优化问题表示:
本次选择Q-函数作为Lyapunov函数。
本发明的有益效果:
(1)本次将绳驱并联机器人的动力学模型描述成马尔科夫决策过程,首次提出了一种基于深度强化学习的绳驱并联机器人控制方法,相比于现有的控制方法,不需要精确辨识参数,就可以实现所需的控制性能,提高了系统的鲁棒性与自适应性。
(2)本次提出的深度强化学习方法通过引入Lyapunov函数,不仅可以保证训练的收敛性还可以保证闭环跟踪系统的稳定性。
(3)本次在深度强化学习的训练过程中引入基本控制器去生成大量有效的训练数据,可以有效地提高训练的成功率以及缩短训练的时间。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
具体实施方式一:下面结合图1和图2说明本实施方式,本实施方式所述基于深度强化学习的绳驱并联机器人控制方法,
如图1所示为n根绳索控制6个自由度的绳驱并联机器人示意图,绳驱并联机器人的末端执行器的平移向量为p
e=[x
p y
p z
p]
T,旋转向量为ψ
e=[α
p β
p γ
p]
T,因此,绳驱并联机器人的末端执行器位置运动向量为
根据拉格朗日方程动力学建模方法以及相关数学手段可以得到绳驱并联机器人的动力学模型如下式:
其中u是电机力矩为系统的输入量,x是末端执行器的位置运动向量为系统的输出量。M是正定的对称惯性矩阵,J和J
T为雅可比矩阵以及其转置。I
m,F
v,F
c分别为绳索绕线驱动装置的惯性矩阵,粘性摩擦矩阵,库仑摩擦矩阵。R
T为从电机转角到绳索长度的传动比,
为科里奥利离心式矩阵,G为重力向量。
图2中x
exp,
为轨迹规划规划得到末端执行器的期望位置,速度以及加速度向量,表示为x
exp=[x
pe,y
pe,z
pe,α
pe,β
pe,γ
pe]
T。x,
为实际系统中反馈得到的末端执行器的实际位置与速度向量,表示为x=[x,y,z,α,β,γ]
T。e
x,
为末端执行位置的误差向量及其导数,
为绳索长度的跟踪误差向量及其导数。
为绳索的期望长度及其导数可以由x
exp,
计算得到,
由实际系统中反馈的绳索的实际长度及其导数,相关参数计算方式如下式:
ex=xexp-x
x
exp,
和
作为基本控制器的输入,输出u
a。e
x,
作为强化学习控制器的输入,输出u
r。u
a与u
r叠加共同作用于绳驱并联机器人。绳驱并联机器人系统反馈实际的末端执行器位置与绳索长度x,
等式(1)所示的动力学模型考虑了非线性因素,但是忽略了参数的不确定性,因此可以将(1)中的模型视为标称模型。考虑模型参数不确定性的影响,可以将(1)中模型描述成下式:
其中MU,RTU,ImU,FvU,FcU,GU表示具有不确定性的参数,其主要由于参数辨识的不准确以及运动过程中的变化引起的,其可以表示为下式:
MU=(M+ΔM),RTU=(RT+ΔRT),ImU=(Im+ΔIm)
FvU=(Fv+ΔFv),FcU=(Fc+ΔFc),GU=(G+ΔG)
其中M,RT,Im,Fv,Fc,G为参数的标称值。
为了解决如(2)所示的由参数不确定性引起的问题,本发明给出如何设计基于强化学习的控制算法去解决由于参数不确定性引起的控制精度下降的问题。图2为基于强化学习的控制算法示意图,该算法的电机力矩控制信号u(m)的获得方式如下:
u(m)=ua(m)+ur(m)
其中ua(m)是基本控制器输出动作控制信号,ur(m)是强化学习算法框架输出的动作控制信号,ur是需要学习得到的控制信号。基本控制器ua(m)的引入,可以获得更加有效的训练数据,进而提高强化学习训练的成功率以及缩短训练时间。对于基本控制器ua(m),我们可以选择任意一个基于等式(1)所示的标称模型设计的控制方法,只要该方法可以保证标称模型系统稳定。
因此本发明主要给出一种强化学习算法去得到ur(m),该算法可以在存在参数不确定性的系统中具有较好的控制性能。下面详细介绍如何建立强化学习框架来学习ur(m),主要分为三个步骤。
第一步:将绳驱并联机器人的动力学模型描述成马尔可夫决策过程。
在强化学习中,智能体与环境一直相互交互,这个交互过程通常通过马尔可夫决策过程来表示,马尔科夫决策过程是强化学习中的一个基本框架。马尔可夫决策过程通常采用一个五元组进行表示:
其中
代表状态空间,
代表动作空间,
代表状态转移概率,
控制成本,γ∈[0,1)为折扣因子。
为了所建立的训练框架具有通用性,给出绳驱并联机器人的通用形式:n根绳索控制6个自由度的绳驱并联机器人的马尔可夫决策过程。如下式所述的误差向量X(m)被定义为马尔可夫决策过程的状态。
其中L
i,i=1,2,…,2n+12为误差项。x
p(m),y
p(m),z
p(m),α
p(m),β
p(m),γ
p(m)为末端执行器的位置与角度的离散量,
为绳索长度的离散量。d[·]是[·]的微分项,表示其变化率。[·]
e(m)和[·](m)分别上述变量的期望值与实际值。
综上,马尔可夫决策过程可以描述成下式:
其中
代表在状态X(m)下采取u
r(m)动作,状态转移到X(m+1)的概率。
第二步:给出基于Lyapunov的柔性actor-critic强化学习算法框架。
其中Dr为正定的权重矩阵。
基于上式的控制成本
与引入的熵
动作价值函数(Q-函数)可以由下式得到:
其中π
r表示需要去学习的策略,
表示在采取策略π
r进行决策时,在状态X(m)下选取u
r(m)这个动作后,所获得的回报的期望值。
是基于X(m+1)分布的期望值,其可由下式表示:
等式(3)中的
为状态价值函数,表示从状态X(m+1)开始,采取策略π
r进行决策所获得的回报的期望值,其可由下式得到:
其中πr(ur(m)|X(m))表示采取所学习到的策略πr进行决策时,在状态X(m)下选取ur(m)这个动作的概率。
等式(3)通过引入熵
可以使控制成本最低的同时使动作空间的熵最大,可以提高训练的效率。α
r为一个温度系数,代表熵
在Q-函数中的重要程度,熵
由下式表示:
强化学习的目标就是找到一个最优策略使得Q-函数取值最小化,即如下式所示:
式中
代表所有可选择的策略,
代表所学习到的最优策略。
为了学习到最优策略
我们需要重复两个步骤即策略评估和策略改进,直到训练结束。
(1)策略评估
通过贝尔曼回溯操作
可以在策略评估中不断重复计算包含熵
的Q-函数,其计算方式如下:
(2)策略改进
通过下式可以实现策略改进的操作:
其中
代表上一次更新的策略,
代表本次更新的策略,
代表策略
的动作价值函数,
代表Kullback-Leibler Divergence(KL距离),
表示归一化因子。
因此,根据上述结论且引入Lyapunov函数后最优策略
的求解问题可以由下列带约束的优化问题表示:
其中引入Lyapunov函数可以保证闭环跟踪系统的稳定性,本次选择Q-函数作为Lyapunov函数。
第三步:建立神经网络并基于训练得到的深度神经网络为马尔可夫决策过程输出最优策略。
为解决上述优化问题,我们建立两套深度神经网络进行训练学习,其中一套深度神经网络用于估计动作价值函数
另一套深度神经网络用于估计策略函数
其中δ
r,μ
r分别代表两套深度神经网络的参数。下面将给出梯度更新规则,通过如表1所示的训练流程图可以得到最优的参数
当得到最优参数后,最优策略
通过两套深度神经网络可以得到。u
r通过采样
也可以得到,那么基于强化学习的控制方法至此可以得到。
1)参数δr的更新规则
参数δr是通过最小化贝尔曼残差来训练得到,其可由下式表示:
参数δr的梯度估计如下式所示:
2)参数μr的更新规则
参数μr通过一些数学技巧例如重新参数化以及采用了拉格朗日乘子,可以由下式表示:
参数μr的梯度估计如下式所示:
3)参数αr和ξ的更新规则
下面介绍在训练过程中,需要用到的参数αr和ξ的更新规则。参数αr的更新规则为不断将下式取到最大值时的αr赋给新的αr:
J(αr)代表参数αr的性能函数。
同理参数ξ的更新规则也为不断将下式取到最大值时的ξ赋给新的ξ:
J(ξ)代表参数ξ的性能函数。
具体实施方式二:下面结合图1至图4说明本实施方式,本实施方式给出一个具体实施例。
如图1所示为n根绳索控制6个自由度的绳驱并联机器人示意图。其中O-O
XO
YO
Z为世界坐标系,P为末端执行器质心,平移向量p
e=[x
p y
p z
p]
T为质心P在世界坐标系分别沿XYZ三轴的平移,旋转向量为ψ
e=[α
p β
p γ
p]
T为质心P在世界坐标系绕XYZ三轴的转动,则运动向量
为质心P相对于世界坐标系的运动向量。
表1基于强化学习的控制算法训练流程
表2神经网络训练超参数
我们将以一个3根绳索控制3个自由度的绳驱并联机器人为例,提供一个仿真示例作为一种具体实施方式的介绍。我们选用具有期望张力补偿的增广PD控制器作为基本控制器,增广PD控制器模型如下式所示:
给定基本控制器中所示的相关参数如下所示:
Im为绳索绕线驱动装置的惯性矩阵,Im=diag(0.03562,0.03562,0.03562);
RT为从电机转角到绳索长度的传动比,RT=diag(0.06,0.06,0.06);
Fv为绳索绕线驱动装置的粘性摩擦矩阵,Fv=diag(0.3245,0.3211,0.3321);
Fc为绳索绕线驱动装置的库仑摩擦矩阵,Fc=diag(0.4567,0.4475,0.4532);
M是正定的对称惯性矩阵,M=diag(2,2,2);
K
p和K
d分别PD控制器的两个参数项,K
p=diag(20,20,20),K
d=diag(0.5,0.5,0.5);T
exp代表绳索的期望张力值,可以通过
求解得到。
其中G为重力向量,G=[0,0,-2×9.8]
T,
k
j,j=1,2,3代表沿每根绳索方向的单位向量,J和J
T为雅可比矩阵以及其转置。
给定式(2)所示的具有参数不确定性的模型中相关参数如下所示:
MU=diag(2.3,2.3,2.3),RTU=diag(0.063222,0.0646622,0.063545)
ImU=diag(0.05362,0.05262,0.05262),FvU=diag(0.6345,0.64711,0.62511)
FcU=diag(0.938571,0.91055,0.991356)
下面介绍如何得到强化学习的输出ur(m)。
首先进行第一步,将绳驱并联机器人的动力学模型描述成马尔可夫决策过程。为了构造马尔可夫决策过程,误差向量X(m)如下所述,定义为马尔可夫决策过程的状态。
其中L
i,i=1,2,...,2n+12为误差项。x
p(m),y
p(m),z
p(m)为末端执行器位置的离散量,
为绳索长度的离散量。d[·]是[·]的微分项,表示其变化率。[·]
e(m)和[·](m)分别上述变量的期望值与实际值。
综上,马尔可夫决策过程可以描述成下式:
其中
代表在状态X(m)下采取u
r(m)动作,状态转移到X(m+1)的概率。
第二步:建立引入李雅普诺夫Lyapunov约束的基于actor-critic的学习算法框架。
其中Dr=diag(25,1,25,1,25,1,25,1,25,1,25,1)为权重矩阵。
第三步,利用表2中的超参数进行深度神经网络的训练,同时在训练中会在一定范围内随机给定初始位置,以增强网络的适应性。在完成训练后选取最好的一组策略作为本次强化学习的控制策略,用以输出控制量ur(m)。
我们选取了2种具有代表性的轨迹:斜圆轨迹与斜8字轨迹进行了仿真实验,两种轨迹如下式所示:
图3和图4分别为斜圆轨迹的跟踪对比图和斜8字轨迹的跟踪对比图,其中实线代表期望轨迹,双划线BU代表基本控制器作用于具有参数不确定性的实际模型的跟踪曲线,虚线RLU代表本次提出的基于强化学习的控制方法作用于具有参数不确定性的实际模型的跟踪曲线。从图3和图4可以看出,基本控制器在模型参数不确定性的负面影响下,跟踪性能急剧下降,而本次提出的基于强化学习的控制方法可以较好地抑制参数不确定性对于跟踪效果产生的负面影响,使绳驱并联机器人系统不需要精确的辨识参数,同样可以完成较好的期望轨迹跟踪任务。
虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其它所述实施例中。