CN111983924A - 基于强化学习的机器人时间最优轨迹规划方法及控制器 - Google Patents

基于强化学习的机器人时间最优轨迹规划方法及控制器 Download PDF

Info

Publication number
CN111983924A
CN111983924A CN202010746579.1A CN202010746579A CN111983924A CN 111983924 A CN111983924 A CN 111983924A CN 202010746579 A CN202010746579 A CN 202010746579A CN 111983924 A CN111983924 A CN 111983924A
Authority
CN
China
Prior art keywords
path
reinforcement learning
action
state
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010746579.1A
Other languages
English (en)
Other versions
CN111983924B (zh
Inventor
李琳
肖佳栋
张铁
邹焱飚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Zhongshan Institute of Modern Industrial Technology of South China University of Technology
Original Assignee
South China University of Technology SCUT
Zhongshan Institute of Modern Industrial Technology of South China University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT, Zhongshan Institute of Modern Industrial Technology of South China University of Technology filed Critical South China University of Technology SCUT
Priority to CN202010746579.1A priority Critical patent/CN111983924B/zh
Publication of CN111983924A publication Critical patent/CN111983924A/zh
Application granted granted Critical
Publication of CN111983924B publication Critical patent/CN111983924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了基于强化学习的机器人时间最优轨迹规划方法及控制器,所述方法包括以下步骤:S1将任务路径的各关节参数输入到路径参数化模块转化为关于末端路径的标量参数;S2将参数化后的路径输入到路径离散化模块进行路径离散化;S3将离散化后的路径输入到强化学习模块中构建强化学习环境;S4使用强化学习模块学习最优的策略轨迹;S5运行策略轨迹获得反馈的关节力矩;S6将反馈的关节力矩输入到强化学习模块从而对强化学习环境进行修正;S7使用强化学习模块学习最优的策略轨迹;S8重复步骤S5‑步骤S7,直到强化学习环境不再更新。

Description

基于强化学习的机器人时间最优轨迹规划方法及控制器
技术领域
本发明涉及机器人控制器及方法,尤其是基于强化学习的机器人时间最优轨迹规划方法及控制器。
背景技术
在利用机器人进行搬运,装配,机加工等场合时,为了提高机器人的工作效率,应该使机器人始终处于允许的最大速度下工作,这种为了减少机器人执行任务的时间,使机器人在临界条件下运动的轨迹规划方法称为时间最优轨迹规划方法。
在使用机器人进行时间最优轨迹规划时,通常需要利用机器人的动力学模型通过求解力矩约束不等式方程组进行求解,如文献(Bobrow J,Dubowsky S,Gibision J.Time-Optimal Control of Robotic Manipulators Along Specified Paths[J].TheInternational journal of robotics research.1985,4(3):3-17.)(王陈琪.高速高精度平面并联机器人时间最优控制系统的研究[D].哈尔滨:哈尔滨工业大学,2006.)(Steinhauser A,Swevers J.An Efficient Iterative Learning Approach to Time-Optimal Path Tracking for Industrial Robots[J].IEEE Transactions onIndustrial Informatics.2018,14(11):5200-5207.)。但是由于文献提到的不可避免的模型——对象不匹配现象(model-plant mismatch),模型并不能完全反映真实情况,这导致了有些情况下运行基于动力学模型规划得到的时间最优轨迹之后会出现测量力矩超出约束限制的情况,导致规划结果不可行。或由于动力学模型的不准确导致规划得到的时间最优轨迹是次优的。
发明内容
为了解决上述问题,本发明的目的是提供一种基于强化学习的机器人时间最优轨迹规划方法及控制器,通过强化学习方法不需要知道模型便能进行学习的特点,消除模型对象不匹配问题,最终获得使实际测量力矩满足约束条件限制,并使轨迹规划结果更加接近最优解。
本发明至少通过如下技术方案之一实现。
基于强化学习的机器人时间最优轨迹规划方法,包括以下步骤:
S1将任务路径的各关节参数输入到路径参数化模块转化为关于末端路径的标量参数;
S2将参数化后的路径输入到路径离散化模块进行路径离散化;
S3将离散化后的路径输入到强化学习模块中构建强化学习环境;
S4使用强化学习模块学习最优的策略轨迹;
S5运行策略轨迹获得反馈的关节力矩;
S6将反馈的关节力矩输入到强化学习模块从而对强化学习环境进行修正;
S7在更新后的强化学习环境中,使用强化学习模块学习新的最优策略轨迹;
S8重复步骤S5-步骤S7,直到强化学习环境不再更新。
优选的,步骤S1的将任务路径的各关节参数输入到路径参数化模块转化为关于末端路径的标量参数,具体包括以下步骤:
S11获取任务路径的时间序列的各关节角位移;
S12将各关节角度代入机器人正运动学方程获得时间序列的笛卡尔空间位移;
其中,上述机器人正运动学方程为采用如下的矩阵表达式
Figure BDA0002608570510000021
其中px、py、pz表示机器人末端坐标相对于基坐标的位置在极坐标x、y、z轴方向的分量,通过计算相邻时间间隔px、py、pz的变化得到笛卡尔空间位移;nx、ny、nz表示末端姿态的X轴方向在极坐标x、y、z方向的分量;ox、oy、oz表示末端姿态的Y轴方向在极坐标x、y、z方向的分量;ax、ay、az表示末端姿态的Z轴方向在极坐标x、y、z方向的分量;
矩阵Γ由各轴的相邻坐标系的变换矩阵相乘得到,即
Figure BDA0002608570510000022
其中
Figure BDA0002608570510000023
为机器人总的关节数,相邻坐标系的变换矩阵表达式如下
Figure BDA0002608570510000024
其中表示机器人任一关节,
Figure BDA00026085705100000318
表示第轴的坐标系的Z轴绕着根据右手定则确定的X轴转到第+1轴的坐标系的Z轴需要的角位移,
Figure BDA00026085705100000319
表示第轴的坐标系的Z轴沿着根据右手定则确定的X轴到第+1轴的坐标系的Z轴的垂直距离,
Figure BDA00026085705100000320
表示根据右手定则确定的第轴的坐标系的X轴沿着第+1轴的Z轴到第+1轴的坐标系的X轴的距离,
Figure BDA00026085705100000321
表示根据右手定则确定的第轴的坐标系的X轴沿着第+1轴的Z轴转动到第+1轴的坐标系的X轴的角位移;
S13根据笛卡尔空间位移计算机器人的路径弧长,并取位移在总弧长的占比作为机器人在任一时刻的标量位移s;
S14使用分段最小二乘方法拟合关节角位移q关于标量位移s的函数q(s);
S15对函数q(s)进行求导,获得路径曲率q′(s)和路径曲率变化率q″(s)。
优选的,步骤S2的将参数化后的路径输入到路径离散化模块进行路径离散化;具体包括以下步骤:
S21设定路径曲率之差的阈值σ以及路径曲率变化率之差的阈值
Figure BDA0002608570510000031
S22设定m=1,κ=n=时间序列数,将各时间序列的路径标量位移按时间顺序构成集合
Figure BDA0002608570510000032
其中m,κ,n均表示中间变量;
S23当m<n时,如果
Figure BDA0002608570510000033
Figure BDA0002608570510000034
则令m=m+1,否则取集合
Figure BDA0002608570510000035
中第m-1个数放入集合
Figure BDA0002608570510000036
并令κ=m;上式中max()表示取最大值,
Figure BDA0002608570510000037
Figure BDA0002608570510000038
表示集合
Figure BDA0002608570510000039
中的第κ个数和第m个数,下标i表示机器人的第i个关节,
Figure BDA00026085705100000310
表示当路径位移为集合
Figure BDA00026085705100000311
中的第κ个数的值时的第i个关节的路径曲率,
Figure BDA00026085705100000312
表示当路径位移为集合
Figure BDA00026085705100000313
中的第κ个数的值时的第i个关节的路径曲率变化率,
Figure BDA00026085705100000314
表示当路径位移为集合
Figure BDA00026085705100000315
中的第m个数的值时的第i个关节的路径曲率,
Figure BDA00026085705100000316
表示当路径位移为集合
Figure BDA00026085705100000317
中的第m个数的值时的第i个关节的路径曲率变化率;
S24重复步骤S23直到m≥n,则集合N就是离散化后的路径标量位移的集合。
优选的,步骤S3的将离散化后的路径输入到强化学习模块中构建强化学习环境,具体包括以下步骤:
S31将相平面
Figure BDA0002608570510000041
分割为N×M的网格;所述网格分割方法具体包括以下步骤:
S311设定机器人运行时允许的各关节最大允许速度
Figure BDA0002608570510000042
最大允许加速度
Figure BDA0002608570510000043
最小允许速度
Figure BDA0002608570510000044
最大允许加速度
Figure BDA0002608570510000045
S312根据不等式组
Figure BDA0002608570510000046
求得每个离散点允许的最大路径标量速度,式中
Figure BDA0002608570510000047
表示机器人的末端标量速度,
Figure BDA0002608570510000048
表示机器人的末端标量加速度,q′i(s)和q″i(s)表示机器人的第i关节在末端标量位移为s时的函数q(s)的一阶导数和二阶导数;
S313设定在相平面
Figure BDA0002608570510000049
上要划分的网格尺寸N×M,其中N是沿着s方向要离散的网格数,沿着s方向的分割方法为步骤S2的的离散化,从而将相平面
Figure BDA00026085705100000410
沿s方向分割为N部分,M是沿着
Figure BDA00026085705100000411
方向要离散的网格数;
S314以各离散点中最大的路径标量速度作为速度上限
Figure BDA00026085705100000412
Figure BDA00026085705100000413
为步长,将相平面
Figure BDA00026085705100000414
沿
Figure BDA00026085705100000415
方向分割为M部分;
S315将相平面
Figure BDA00026085705100000416
分割为N×M的网格,每个网格点即为一个状态,当前网格点到下一个网格点的移动即为一个动作;
S32设定强化学习的状态值函数,所述状态值函数为:
Q(Sk,Ak)←Q(Sk,Ak)+α[Rk+1+γQ(Sk+1,Ak+1)-Q(Sk,Ak)]
式中Sk表示相平面上的第k个状态,Ak表示在第k个状态时选择的动作,Q()表示在状态Sk时选择动作Ak对应的Q值表上的值,α表示学习系数,γ表示折扣因子,Rk+1表示在状态Sk时执行动作Ak获得的奖励或惩罚,箭头←表示箭头右边的值赋值给左边;
S33设定强化学习的搜索策略,所述的搜索策略为贪婪策略,其具体步骤为:
S331设定贪婪因子ε,其取值范围在0到1之间;
S332随机生成一个在0到1之间的数λ;
S333如果λ<ε,则执行探索,在动作范围内随机选取一个动作;如果λ≥ε,则选取动作范围内具体最大路径标量速度的动作;
S34设定强化学习的动作奖励和惩罚,所述动作奖励和惩罚的表达式如下
Figure BDA0002608570510000051
其中,
Figure BDA0002608570510000052
Figure BDA0002608570510000053
表示在第k-1和k个状态选择的动作得到的状态对应的路径标量速度;
当程序选择的动作指向的下一个状态违反约束条件,即违反步骤S312不等式组或当前状态的动作范围内没有动作可选择时,则获得惩罚,否则,当程序选择的动作指向的下一个状态不违反约束条件时,则得到奖励;
S35设定强化学习的动作选择范围,所述动作范围选择设定步骤具体如下:
S351根据式
Figure BDA0002608570510000054
计算当前状态的最大标量加速度
Figure BDA0002608570510000055
以及最小标量加速度
Figure BDA0002608570510000056
S352根据匀加速运动方程
Figure BDA0002608570510000057
求得下一状态允许的最大/最小标量速度,标量速度范围内Q值大于0的网格点即为可供选择的动作范围。
优选的,步骤S4的使用强化学习模块学习最优的策略轨迹,具体包括以下步骤:
S41初始化Q值表,将Q值表上的值都设置为0,设定最大学习次数并初始化学习次数为1;
S42当学习次数<最大学习次数时,转到步骤S44,否则转到步骤S49;
S43令k=1,初始化奖励值Rk+1=0,从起始状态(0,0)开始学习过程,计算下一状态动作范围,并使用贪婪策略从动作范围中选取出动作Ak
S44当k≤N并且Rk+1≥0时,转到步骤S45;
S45执行动作Ak,获得奖励或惩罚Rk+1和状态Sk+1,并计算下一状态动作范围;
S46如果奖励或惩罚Rk+1<0或下一状态动作范围为空,则转到步骤S47,否则转到步骤S48;
S47令Q(sk+1,Ak+1)=0,并根据步骤S32的状态值函数更新动作Q值,同时为了加速惩罚,对这段探索过程中的所有动作都添加一个惩罚项进行惩罚,具体做法为对于从1逐渐增大到k的整数j,有Q(Sj,Aj)=Q(Sj,Aj)+ρk-jRk+1,其中ρ为惩罚因子,其取值范围为0<ρ<1,之后令学习次数+1并转到步骤S42;
S48在状态Sk+1计算动作范围,并通过贪婪策略从动作范围中选取动作Ak+1,之后根据步骤S32的状态值函数更新动作Q值,令Sk←Sk+1,Ak←Ak+1,k←k+1,并转到步骤S45;
S49当学习次数到达最大学习次数时,令贪婪因子ε=0重新进行学习过程,即在从状态(0,0)开始学习时,不会再进行探索,而会直接选取当前动作范围内具有最大路径标量速度的动作,从而获得在最大学习次数下所能获得的最优策略轨迹,同时将训练后的Q值表保存到存储模块中,在下一次训练时调用训练过的Q值表,节省学习时间。
优选的,步骤S6的将反馈的关节力矩输入到强化学习模块从而对强化学习环境进行修正,具体做法为:在获得测量力矩之后,如果某一状态点对应的测量力矩超过给定力矩约束的限制,即将相平面上的该状态点设为不可行状态,当在该状态的前一状态通过贪婪策略刚好选择的动作指向该不可行状态时,将之视为违反约束条件的情况并直接对相应动作的Q值进行惩罚。
根据所述的一种基于强化学习的机器人时间最优轨迹规划方法的控制器,包括路径参数化模块、路径离散化模块、强化学习模块和存储模块;
所述路径参数化模块,用于将机器人关节参数转化为关于末端路径的标量参数;
所述路径离散化模块,用于将机器人末端的连续任务路径离散化为若干个离散点;
所述强化学习模块,用于构建机器人时间最优轨迹规划的强化学习环境以及在强化学习环境中学习最优策略轨迹;
所述存储模块,用于存储强化学习的学习数据。
与现有的技术相比,本发明的有益效果为:
本发明所提出的方法不需要推导机器人的动力学模型,适用于结构复杂的机器人。本发明避免了模型-对象不匹配问题,所提出的方法能够真正实现使机器人的真实测量力矩限制在限定的约束条件范围内,更接近真实的时间最优规矩规划最优解。
附图说明
图1为实施例中一种基于强化学习的机器人时间最优轨迹规划方法的流程图。
具体实施方式
下面通过具体实例对本发明的目的作进一步详细地描述,实例不能在此一一赘述,但本发明的实施方式并不因此限定于以下实例。
本实施例的一种基于强化学习的机器人时间最优轨迹规划控制器,所述轨迹规划控制器包括路径参数化模块、路径离散化模块、强化学习模块和存储模块;
路径参数化模块,用于将机器人关节参数转化为关于末端路径的标量参数;
路径离散化模块,用于将机器人末端的连续任务路径离散化为若干个离散点;
强化学习模块,用于构建机器人时间最优轨迹规划的强化学习环境以及在强化学习环境中学习最优策略轨迹;
存储模块用于存储强化学习的学习数据。
如图1所示的一种基于强化学习的时间最优轨迹规划控制器的规划方法,包括以下步骤:
Step1.获取任务路径
通过在示教器上规划机器人的任务路径并运行然后进行采样,获得固定采样周期时间序列的机器人各关节脉冲序列,并转化为相应的角度。
Step2.路径参数化,将任务路径的各关节参数输入到路径参数化模块转化为关于末端路径的标量参数;
将机器人各关节的角度输入到机器人正运动学方程得到笛卡尔空间的坐标。用l()表示机器人的路径弧长函数,l(o)表示机器人的第o个脉冲序列时的路径弧长。从而可以计算出机器人末端的路径弧长l(o)为:
Figure BDA0002608570510000071
式中ΔX,ΔY,ΔY表示相邻时间间隔的末端路径位移,o表示机器人走完这段路径总的采样周期数。从而计算时间序列t的机器人末端路径标量参数位移s(t):
s(t)=l(t)/l(o)
采用分段最小二乘法拟合机器人各关节角度q关于路径标量参数位移s的函数q(s),对q(s)进行求导得到路径曲率q′(s)和路径曲率变化率q″(s)。
Step3.将参数化后的路径输入到路径离散化模块进行路径离散化,具体包括以下步骤:
Step31设定路径曲率之差的阈值σ以及路径曲率变化率之差的阈值
Figure BDA0002608570510000081
Step32设定m=1,κ=n=时间序列数,将各时间序列的路径标量位移按时间顺序构成集合
Figure BDA0002608570510000082
其中m,κ,n无特殊含义,为步骤需要的中间变量;
Step33当m<n时,如果
Figure BDA0002608570510000083
Figure BDA0002608570510000084
则令m=m+1,否则取集合
Figure BDA0002608570510000085
中第m-1个数放入集合
Figure BDA0002608570510000086
并令κ=m;上式中max()表示取最大值,
Figure BDA0002608570510000087
Figure BDA0002608570510000088
表示集合
Figure BDA0002608570510000089
中的第κ个数和第m个数,下标i表示机器人的第i个关节,
Figure BDA00026085705100000810
表示当路径位移为集合
Figure BDA00026085705100000811
中的第κ个数的值时的第i个关节的路径曲率,
Figure BDA00026085705100000812
表示当路径位移为集合
Figure BDA00026085705100000813
中的第κ个数的值时的第i个关节的路径曲率变化率,表示当路径位移为集合
Figure BDA00026085705100000815
中的第m个数的值时的第i个关节的路径曲率,
Figure BDA00026085705100000816
表示当路径位移为集合
Figure BDA00026085705100000817
中的第m个数的值时的第i个关节的路径曲率变化率;
Step34重复步骤Step33直到m≥n,则集合N就是离散化后的路径标量位移的集合。
S4.将离散化后的路径输入到强化学习模块中构建强化学习环境,具体包括以下步骤:
Step41将相平面
Figure BDA00026085705100000818
分割为N×M的网格;所述网格分割方法具体包括以下步骤:
Step411设定机器人运行时允许的各关节最大允许速度
Figure BDA00026085705100000819
最大允许加速度
Figure BDA00026085705100000820
最小允许速度
Figure BDA00026085705100000821
最大允许加速度
Figure BDA00026085705100000822
Step412根据不等式组
Figure BDA00026085705100000823
求得每个离散点允许的最大路径标量速度,式中
Figure BDA00026085705100000824
表示机器人的末端标量速度,
Figure BDA0002608570510000091
表示机器人的末端标量加速度,q′i(s),q″i(s)表示机器人的第i关节在末端标量位移为s时的函数q(s)的一阶导数和二阶导数;
Step413设定在相平面
Figure BDA0002608570510000092
上要划分的网格尺寸N×M,其中N是沿着s方向要离散的网格数,沿着s方向的分割方法为步骤Step3的的离散化,从而将相平面
Figure BDA0002608570510000093
沿s方向分割为N部分,M是沿着
Figure BDA0002608570510000094
方向要离散的网格数;
Step414以各离散点中最大的路径标量速度作为速度上限
Figure BDA0002608570510000095
Figure BDA0002608570510000096
为步长,将相平面
Figure BDA0002608570510000097
沿
Figure BDA0002608570510000098
方向分割为M部分;
Step415将相平面
Figure BDA0002608570510000099
分割为N×M的网格,每个网格点即为一个状态,当前网格点到下一个网格点的移动即为一个动作;
Step42设定强化学习的状态值函数,所述状态值函数为:
Q(Sk,Ak)←Q(Sk,Ak)+α[Rk+1+γQ(Sk+1,Ak+1)-Q(Sk,Ak)]
式中Sk表示相平面上的第k个状态,Ak表示在第k个状态时选择的动作,Q()表示在状态Sk时选择动作Ak对应的Q值表上的值,α表示学习系数,γ表示折扣因子,Rk+1表示在状态Sk时执行动作Ak获得的奖励或惩罚,箭头←表示箭头右边的值赋值给左边;
Step43设定强化学习的搜索策略,所述的搜索策略为贪婪策略,其具体步骤为:
Step431设定贪婪因子ε,其取值范围在0到1之间;
Step432随机生成一个在0到1之间的数λ;
Step433如果λ<ε,则执行探索,在动作范围内随机选取一个动作;如果λ≥ε,则选取动作范围内具体最大路径标量速度的动作;
Step44设定强化学习的动作奖励和惩罚,所述动作奖励和惩罚的表达式如下
Figure BDA00026085705100000910
其中,
Figure BDA00026085705100000911
表示在第k-1和k个状态选择的动作得到的状态对应的路径标量速度;
当程序选择的动作指向的下一个状态违反约束条件,即违反步骤Step412不等式组或当前状态的动作范围内没有动作可选择时,则获得惩罚,否则,当程序选择的动作指向的下一个状态不违反约束条件时,则得到奖励;
Step45设定强化学习的动作选择范围,所述动作范围选择设定步骤具体如下:
Step451根据式
Figure BDA0002608570510000101
计算当前状态的最大标量加速度
Figure BDA0002608570510000102
以及最小标量加速度
Figure BDA0002608570510000103
Step452根据匀加速运动方程
Figure BDA0002608570510000104
求得下一状态允许的最大/最小标量速度,标量速度范围内Q值大于0的网格点即为可供选择的动作范围。
Step5使用强化学习模块学习最优的策略轨迹,具体包括以下步骤:
Step51如果Q值表还没被训练过,则初始化Q值表,将Q值表上的值都设置为0,设定最大学习次数并初始化学习次数为1;
Step52当学习次数<最大学习次数时,转到步骤S54,否则转到步骤S59;
Step53令k=1,初始化奖励值Rk+1=0,从起始状态(0,0)开始学习过程,计算下一状态动作范围,并使用贪婪策略从动作范围中选取出动作Ak
Step54当k≤N并且Rk+1≥0时,转到步骤S55;
Step55执行动作Ak,获得奖励或惩罚Rk+1和状态Sk+1,并计算下一状态动作范围;
Step56如果奖励或惩罚Rk+1<0或下一状态动作范围为空,则转到步骤Step57,否则转到步骤Step58;
Step57令Q(sk+1,Ak+1)=0,并根据状态值函数更新动作Q值,同时为了加速惩罚,对这段探索过程中的所有动作都添加一个惩罚项进行惩罚,具体做法为对于从1逐渐增大到k的整数j,有Q(Sj,Aj)=Q(Sj,Aj)+ρj-jRk+1,其中ρ为惩罚因子,其取值范围为0<ρ<1,之后令学习次数+1并转到步骤Step52;
Step58在状态Sk+1计算动作范围,并通过贪婪策略从动作范围中选取动作Ak+1,之后根据状态值函数更新动作Q值,然后令Skk+1,Ak←Ak+1,k←k+1,并转到步骤Step55;
Step59当学习次数到达最大学习次数时,令贪婪因子ε=0重新进行学习过程,即程序在从状态(0,0)开始学习时,不会再进行探索,而会直接选取当前动作范围内具有最大路径标量速度的动作,从而获得在最大学习次数下所能获得的最优策略轨迹,同时将训练后的Q值表保存到存储模块中,在下一次训练时调用训练过的Q值表,节省学习时间。
Step6生成控制指令
首先,求出到达每个路径离散点k所需要的时间t(k)。具体做法为:
由匀加速运动方程,规划完成时间最优轨迹后路径离散点的加速度
Figure BDA0002608570510000111
Figure BDA0002608570510000112
其中s(k)表示第k个离散点所对应的路径位移,
Figure BDA0002608570510000113
表示第k个离散点所对应的路径速度,
Figure BDA0002608570510000114
表示第k个离散点所对应的路径加速度;
由速度加速度方程,可求出到达每个路径离散点k所需要的时间t(k)
Figure BDA0002608570510000115
求得到达每个路径离散点的时间之后,便可求得每个控制周期的路径标量位移;若要求第n个控制周期的标量位移,到达该控制点的时间即为nT,其中T为控制周期。假设该控制时间与到达路径离散点k所需要的时间t(k)最接近,则这两点的时间间隔为
Δt=nT-t(k)
根据匀加速运动方程,该控制点的路径位移即为
Figure BDA0002608570510000116
从而可以求得每个控制周期的路径标量位移,再代入函数q(s)即可求得每个控制周期的关节角度,最后将关节角度转化为关节脉冲指令传输到机器人控制器运行。
Step7下发到机器人控制柜运行
将步骤Step7获得的关节脉冲指令通过示教器下发到机器人控制柜以控制关节电机运转。
Step8获得反馈测量力矩
通过控制柜反馈回来的信号,可以获得机器人在运行过程中各关节的反馈测量力矩。
Step9判断反馈测量力矩是否超限
将反馈回来的测量力矩与机器人电机运行的安全力矩约束条件进行比较,以判断反馈测量力矩是否出现超限情况,如果没有,则转到步骤S11,否则转到步骤Step10。
Step10更新强化学习环境
在获得测量力矩之后,如果某一状态点对应的测量力矩超过给定力矩约束的限制,即将相平面上的该状态点设为不可行状态,当程序在该状态的前一状态通过贪婪策略刚好选择的动作指向该不可行状态时,将之视为违反约束条件的情况并直接对相应动作的Q值进行惩罚。再返回步骤Step5。
Step11当反馈测量力矩不再超限的时候,结束程序,获得使反馈测量力矩满足约束条件的时间最优轨迹。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.基于强化学习的机器人时间最优轨迹规划方法,其特征在于,包括以下步骤:
S1将任务路径的各关节参数输入到路径参数化模块转化为关于末端路径的标量参数;
S2将参数化后的路径输入到路径离散化模块进行路径离散化;
S3将离散化后的路径输入到强化学习模块中构建强化学习环境;
S4使用强化学习模块学习最优的策略轨迹;
S5运行策略轨迹获得反馈的关节力矩;
S6将反馈的关节力矩输入到强化学习模块从而对强化学习环境进行修正;
S7在更新后的强化学习环境中,使用强化学习模块学习新的最优策略轨迹;
S8重复步骤S5-步骤S7,直到强化学习环境不再更新。
2.根据权利要求1所述的基于强化学习的机器人时间最优轨迹规划方法,其特征在于,步骤S1的将任务路径的各关节参数输入到路径参数化模块转化为关于末端路径的标量参数,具体包括以下步骤:
S11获取任务路径的时间序列的各关节角位移;
S12将各关节角度代入机器人正运动学方程获得时间序列的笛卡尔空间位移;
其中,上述机器人正运动学方程为采用如下的矩阵表达式
Figure FDA0002608570500000011
其中px、py、pz表示机器人末端坐标相对于基坐标的位置在极坐标x、y、z轴方向的分量,通过计算相邻时间间隔px、py、pz的变化得到笛卡尔空间位移;nx、ny、nz表示末端姿态的X轴方向在极坐标x、y、z方向的分量;ox、oy、oz表示末端姿态的Y轴方向在极坐标x、y、z方向的分量;ax、ay、az表示末端姿态的Z轴方向在极坐标x、y、z方向的分量;
矩阵Γ由各轴的相邻坐标系的变换矩阵相乘得到,即
Figure FDA0002608570500000012
其中
Figure FDA0002608570500000013
为机器人总的关节数,相邻坐标系的变换矩阵表达式如下
Figure FDA0002608570500000021
其中表示机器人任一关节,
Figure FDA00026085705000000218
表示第轴的坐标系的Z轴绕着根据右手定则确定的X轴转到第+1轴的坐标系的Z轴需要的角位移,
Figure FDA00026085705000000219
表示第轴的坐标系的Z轴沿着根据右手定则确定的X轴到第+1轴的坐标系的Z轴的垂直距离,
Figure FDA00026085705000000220
表示根据右手定则确定的第轴的坐标系的X轴沿着第+1轴的Z轴到第+1轴的坐标系的X轴的距离,
Figure FDA00026085705000000221
表示根据右手定则确定的第轴的坐标系的X轴沿着第+1轴的Z轴转动到第+1轴的坐标系的X轴的角位移;
S13根据笛卡尔空间位移计算机器人的路径弧长,并取位移在总弧长的占比作为机器人在任一时刻的标量位移s;
S14使用分段最小二乘方法拟合关节角位移q关于标量位移s的函数q(s);
S15对函数q(s)进行求导,获得路径曲率q′(s)和路径曲率变化率q″(s)。
3.根据权利要求1所述的基于强化学习的机器人时间最优轨迹规划方法,其特征在于,步骤S2的将参数化后的路径输入到路径离散化模块进行路径离散化;具体包括以下步骤:
S21设定路径曲率之差的阈值σ以及路径曲率变化率之差的阈值
Figure FDA0002608570500000022
S22设定m=1,κ=n=时间序列数,将各时间序列的路径标量位移按时间顺序构成集合
Figure FDA0002608570500000023
其中m,κ,n均表示中间变量;
S23当m<n时,如果
Figure FDA0002608570500000024
Figure FDA0002608570500000025
则令m=m+1,否则取集合
Figure FDA0002608570500000026
中第m-1个数放入集合
Figure FDA0002608570500000027
并令κ=m;上式中max()表示取最大值,
Figure FDA0002608570500000028
Figure FDA0002608570500000029
表示集合
Figure FDA00026085705000000222
中的第κ个数和第m个数,下标i表示机器人的第i个关节,
Figure FDA00026085705000000210
表示当路径位移为集合
Figure FDA00026085705000000211
中的第κ个数的值时的第i个关节的路径曲率,
Figure FDA00026085705000000212
表示当路径位移为集合
Figure FDA00026085705000000213
中的第κ个数的值时的第i个关节的路径曲率变化率,
Figure FDA00026085705000000214
表示当路径位移为集合
Figure FDA00026085705000000215
中的第m个数的值时的第i个关节的路径曲率,
Figure FDA00026085705000000216
表示当路径位移为集合
Figure FDA00026085705000000217
中的第m个数的值时的第i个关节的路径曲率变化率;
S24重复步骤S23直到m≥n,则集合N就是离散化后的路径标量位移的集合。
4.根据权利要求1所述的基于强化学习的机器人时间最优轨迹规划方法,其特征在于,步骤S3的将离散化后的路径输入到强化学习模块中构建强化学习环境,具体包括以下步骤:
S31将相平面
Figure FDA0002608570500000031
分割为N×M的网格;所述网格分割方法具体包括以下步骤:
S311设定机器人运行时允许的各关节最大允许速度
Figure FDA0002608570500000032
最大允许加速度
Figure FDA0002608570500000033
最小允许速度
Figure FDA0002608570500000034
最大允许加速度
Figure FDA0002608570500000035
S312根据不等式组
Figure FDA0002608570500000036
求得每个离散点允许的最大路径标量速度,式中
Figure FDA0002608570500000037
表示机器人的末端标量速度,
Figure FDA0002608570500000038
表示机器人的末端标量加速度,q′i(s)和q″i(s)表示机器人的第i关节在末端标量位移为s时的函数q(s)的一阶导数和二阶导数;
S313设定在相平面
Figure FDA0002608570500000039
上要划分的网格尺寸N×M,其中N是沿着s方向要离散的网格数,沿着s方向的分割方法为步骤S2的的离散化,从而将相平面
Figure FDA00026085705000000310
沿s方向分割为N部分,M是沿着
Figure FDA00026085705000000311
方向要离散的网格数;
S314以各离散点中最大的路径标量速度作为速度上限
Figure FDA00026085705000000312
Figure FDA00026085705000000313
为步长,将相平面
Figure FDA00026085705000000314
沿
Figure FDA00026085705000000315
方向分割为M部分;
S315将相平面
Figure FDA00026085705000000316
分割为N×M的网格,每个网格点即为一个状态,当前网格点到下一个网格点的移动即为一个动作;
S32设定强化学习的状态值函数,所述状态值函数为:
Q(Sk,Ak)←Q(Sk,Ak)+α[Rk+1+γQ(Sk+1,Ak+1)-Q(Sk,Ak)]
式中Sk表示相平面上的第k个状态,Ak表示在第k个状态时选择的动作,Q()表示在状态Sk时选择动作Ak对应的Q值表上的值,α表示学习系数,γ表示折扣因子,Rk+1表示在状态Sk时执行动作Ak获得的奖励或惩罚,箭头←表示箭头右边的值赋值给左边;
S33设定强化学习的搜索策略,所述的搜索策略为贪婪策略,其具体步骤为:
S331设定贪婪因子ε,其取值范围在0到1之间;
S332随机生成一个在0到1之间的数λ;
S333如果λ<ε,则执行探索,在动作范围内随机选取一个动作;如果λ≥ε,则选取动作范围内具体最大路径标量速度的动作;
S34设定强化学习的动作奖励和惩罚,所述动作奖励和惩罚的表达式如下
Figure FDA0002608570500000041
其中,
Figure FDA0002608570500000042
Figure FDA0002608570500000043
表示在第k-1和k个状态选择的动作得到的状态对应的路径标量速度;
当程序选择的动作指向的下一个状态违反约束条件,即违反步骤S312不等式组或当前状态的动作范围内没有动作可选择时,则获得惩罚,否则,当程序选择的动作指向的下一个状态不违反约束条件时,则得到奖励;
S35设定强化学习的动作选择范围,所述动作范围选择设定步骤具体如下:
S351根据式
Figure FDA0002608570500000044
计算当前状态的最大标量加速度
Figure FDA0002608570500000045
以及最小标量加速度
Figure FDA0002608570500000046
S352根据匀加速运动方程
Figure FDA0002608570500000047
求得下一状态允许的最大/最小标量速度,标量速度范围内Q值大于0的网格点即为可供选择的动作范围。
5.根据权利要求1所述基于强化学习的机器人时间最优轨迹规划方法,其特征在于,步骤S4的使用强化学习模块学习最优的策略轨迹,具体包括以下步骤:
S41初始化Q值表,将Q值表上的值都设置为0,设定最大学习次数并初始化学习次数为1;
S42当学习次数<最大学习次数时,转到步骤S44,否则转到步骤S49;
S43令k=1,初始化奖励值Rk+1=0,从起始状态(0,0)开始学习过程,计算下一状态动作范围,并使用贪婪策略从动作范围中选取出动作Ak
S44当k≤N并且Rk+1≥0时,转到步骤S45;
S45执行动作Ak,获得奖励或惩罚Rk+1和状态Sk+1,并计算下一状态动作范围;
S46如果奖励或惩罚Rk+1<0或下一状态动作范围为空,则转到步骤S47,否则转到步骤S48;
S47令Q(sk+1,Ak+1)=0,并根据步骤S32的状态值函数更新动作Q值,同时为了加速惩罚,对这段探索过程中的所有动作都添加一个惩罚项进行惩罚,具体做法为对于从1逐渐增大到k的整数j,有Q(Sj,Aj)=Q(Sj,Aj)+ρk-jRk+1,其中ρ为惩罚因子,其取值范围为0<ρ<1,之后令学习次数+1并转到步骤S42;
S48在状态Sk+1计算动作范围,并通过贪婪策略从动作范围中选取动作Ak+1,之后根据步骤S32的状态值函数更新动作Q值,令Sk←Sk+1,Ak←Ak+1,k←k+1,并转到步骤S45;
S49当学习次数到达最大学习次数时,令贪婪因子ε=0重新进行学习过程,即在从状态(0,0)开始学习时,不会再进行探索,而会直接选取当前动作范围内具有最大路径标量速度的动作,从而获得在最大学习次数下所能获得的最优策略轨迹,同时将训练后的Q值表保存到存储模块中,在下一次训练时调用训练过的Q值表,节省学习时间。
6.根据权利要求1所述的基于强化学习的机器人时间最优轨迹规划方法,其特征在于,步骤S6的将反馈的关节力矩输入到强化学习模块从而对强化学习环境进行修正,具体做法为:在获得测量力矩之后,如果某一状态点对应的测量力矩超过给定力矩约束的限制,即将相平面上的该状态点设为不可行状态,当在该状态的前一状态通过贪婪策略刚好选择的动作指向该不可行状态时,将之视为违反约束条件的情况并直接对相应动作的Q值进行惩罚。
7.根据权利要求1所述的基于强化学习的机器人时间最优轨迹规划方法的控制器,其特征在于,包括路径参数化模块、路径离散化模块、强化学习模块和存储模块;
所述路径参数化模块,用于将机器人关节参数转化为关于末端路径的标量参数;
所述路径离散化模块,用于将机器人末端的连续任务路径离散化为若干个离散点;
所述强化学习模块,用于构建机器人时间最优轨迹规划的强化学习环境以及在强化学习环境中学习最优策略轨迹;
所述存储模块,用于存储强化学习的学习数据。
CN202010746579.1A 2020-07-29 2020-07-29 基于强化学习的机器人时间最优轨迹规划方法及控制器 Active CN111983924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010746579.1A CN111983924B (zh) 2020-07-29 2020-07-29 基于强化学习的机器人时间最优轨迹规划方法及控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010746579.1A CN111983924B (zh) 2020-07-29 2020-07-29 基于强化学习的机器人时间最优轨迹规划方法及控制器

Publications (2)

Publication Number Publication Date
CN111983924A true CN111983924A (zh) 2020-11-24
CN111983924B CN111983924B (zh) 2022-03-15

Family

ID=73445827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010746579.1A Active CN111983924B (zh) 2020-07-29 2020-07-29 基于强化学习的机器人时间最优轨迹规划方法及控制器

Country Status (1)

Country Link
CN (1) CN111983924B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113062601A (zh) * 2021-03-17 2021-07-02 同济大学 一种基于q学习的混凝土布料机器人轨迹规划方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221538A (zh) * 2019-04-26 2019-09-10 华南理工大学 一种结合迭代学习的时间最优轨迹规划控制器及方法
CN110434851A (zh) * 2019-06-24 2019-11-12 浙江工业大学 一种5自由度机械臂逆运动学求解方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221538A (zh) * 2019-04-26 2019-09-10 华南理工大学 一种结合迭代学习的时间最优轨迹规划控制器及方法
CN110434851A (zh) * 2019-06-24 2019-11-12 浙江工业大学 一种5自由度机械臂逆运动学求解方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
EE SOONGLOW等: "Solving the optimal path planning of a mobile robot using improved Q-learning", 《ROBOTICS AND AUTONOMOUS SYSTEMS》 *
JIADONG XIAO等: "Reinforcement Learning for Robotic Time-optimal Path Tracking Using Prior Knowledge", 《ARXIV》 *
吴垚: "基于强化学习的双足周期步行控制研究", 《中国博士学位论文全文数据库 信息科技辑》 *
庞文砚等: "基于强化学习的部分线性离散时间系统的最优输出调节", 《自动化学报》 *
陈才等: "基于Matlab的MOTOMAN_MH12机器人正运动学仿真", 《电子世界》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113062601A (zh) * 2021-03-17 2021-07-02 同济大学 一种基于q学习的混凝土布料机器人轨迹规划方法
CN113062601B (zh) * 2021-03-17 2022-05-13 同济大学 一种基于q学习的混凝土布料机器人轨迹规划方法

Also Published As

Publication number Publication date
CN111983924B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
US11235461B2 (en) Controller and machine learning device
EP3602209B1 (en) Model predictive control system and method for controlling operation of machine
CN106218922B (zh) 挠性敏捷卫星的联合执行机构控制方法
Singh Reinforcement learning with a hierarchy of abstract models
US8774968B2 (en) Trajectory planning method, trajectory planning system and robot
CN108326852A (zh) 一种多目标优化的空间机械臂轨迹规划方法
CN106078741A (zh) 基于确定学习理论的性能受限柔性机械臂控制方法
CN110154024B (zh) 一种基于长短期记忆神经网络增量模型的装配控制方法
CN113687659B (zh) 一种基于数字孪生的最优轨迹生成方法及系统
JP2019098439A (ja) 振動抑制装置
CN111983924B (zh) 基于强化学习的机器人时间最优轨迹规划方法及控制器
Duan et al. Sim-to-real learning of footstep-constrained bipedal dynamic walking
He et al. Immune optimization based multi-objective six-DOF trajectory planning for industrial robot manipulators
CN112571420A (zh) 一种未知参数下的双功能模型预测控制方法
CN100435050C (zh) 欠驱动双摆系统摆杆杂技动作控制方法
CN107894709A (zh) 基于自适应评价网络冗余机器人视觉伺服控制
CN114800523A (zh) 机械臂轨迹修正方法、系统、计算机及可读存储介质
CN114967472A (zh) 一种无人机轨迹跟踪状态补偿深度确定性策略梯度控制方法
Abouheaf et al. An online reinforcement learning wing-tracking mechanism for flexible wing aircraft
Kuntze Position control of industrial robots—impacts, concepts and results
Nirmala et al. Intellectual method of guiding mobile robot navigation using reinforcement learning algorithm
Alatartsev Robot trajectory optimization for relaxed effective tasks
CN117494919B (zh) 一种基于多机器人协同码垛作业的路径规划方法及装置
Nomanfar et al. Reinforcement Learning Control for Cable-Driven Parallel Robot
CN117506893A (zh) 基于双重规划和自主学习的机械臂路径规划和控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant