本发明属于机械臂智能控制领域,具体提供一种基于强化学习的baxter机械臂轨迹跟踪控制方法,这种方法能够在机械臂模型未知的情况下,通过强化学习策略迭代的方法计算出最优的控制策略,减小轨迹跟踪误差,从而最小化机器人系统的损失函数。
背景技术:
近年来,强化学习理论在机器人控制领域得到了广泛的关注和研究。工业机械臂作为工业生产中常见的工具被大量地运用于自动生产线中。如何把强化学习理论应用到工业机械臂的运动控制中,令其具有一定的自主学习的能力,对扩大机械臂的应用场合,降低机械臂的操作难度具有重大意义。机器人在日常使用过程中一定会发生磨损现象,机器人的系统模型也由此发生改变,这就需要不断进行校正,通过自我学习,机器人可以自动补偿磨损带来的误差,提高机器人在日常使用中的准确性,降低机器人的操作难度。同时,机器人需要对动态变化的环境做出反应,也就是说,机器人需要学习如何最佳地适应不确定的和不可预见的变化,这就可以扩大机器人的应用范围。因此,将强化学习理论应用到机械臂的运动控制中,使机器人具备一定的自主学习能力对机器人未来的发展及应用具有深远的意义。
针对解决最优反馈控制问题,传统的技术方法是首先对系统进行模型辨识,得到系统的模型,进而设计最优反馈控制器,传统的控制器有h∞控制器,或者通过解线性矩阵不等式来求得系统的可行解。但是,传统的技术存在着局限性,这种局限性是由于实际系统存在不确定性导致的,包括系统模型的不确定性以及系统外部的扰动。使用传统的方法时,系统的模型是必需的,并且模型的精度直接影响控制的准确性,即使模型可用,基于该模型获得的状态反馈控制器也仅适用于真实系统动力学的近似模型。除此之外,时变系统最优控制运用到实际系统中操作困难,成本代价高,性能一般,实际的使用价值底,因而通过数据驱动的方法,使用系统的输入输出数据来计算系统的最优控制显的很有必要。
技术实现要素:
为了克服现有技术的不足,本发明专利所考虑的具体对象为baxter机械臂,为了可以自动适应模型改变带来的模型误差,提高机器人在日常使用中的准确性,本发明提供了一种基于强化学习的baxter机械臂轨迹跟踪控制方法,具体地说,本发明提供的方法是一种基于策略迭代的无模型的算法来解决非线性、时变系统的自适应最优控制问题,在机械臂模型完全未知的情况下在线自动更新反馈控制增益,最小化系统的损失函数。
本发明为解决上述技术问题提供了如下技术方案:
一种基于强化学习的baxter机械臂轨迹跟踪控制方法,包括以下步骤:
步骤1),对baxter机械臂前三个关节进行模型辨识,确定机械臂的动力学方程,通过系统辨识获得的动力学方程仅用于在仿真时获取机械臂前三个关节的位置和速度跟踪误差,n自由度刚性机械臂的连续时间动力学模型由式(1)所表示
其中
步骤2),建立机械臂的状态空间方程并离散化,过程如下:
机械臂的状态变量表示为一个(2n×1)的向量
则机械臂的状态空间方程表示为
其中u=τ是输入转矩向量,y是输出向量;矩阵ac和bc定义如下
其中on表示(n×n)的零矩阵,in表示(n×n)的单位矩阵,式(3)中的其他两项分别为
其中0n表示为(n×1)的零向量;
假设输出变量在固定的采样时间t内进行测量,且输入扭矩在每个时间间隔内保持不变,因此,将连续的机械臂模型转化为离散的模型;
其中
步骤3),基于强化学习中策略迭代方法设计自适应反馈控制器,从机械臂中采集当前机械臂前三个关节的位置和速度跟踪误差,根据历史的输入输出信息计算出最优的状态反馈控制增益,过程如下:
根据式(7)所描述的机器人状态空间方程,机器人的二次性能指数表示为
其中γ是折扣因子,取值范围为(0,1]之间,ru=rut>0,qy=qyt≥0分别是输入输出的权值矩阵,通过最小化系统的性能指数可以找到最优的状态反馈增益,这个最优化问题等价于求解线性二次调节器lqr问题,在求解动态规划问题时,需要知道系统的状态空间方程,为了避免在求解过程中使用系统的参数矩阵,采用了策略迭代的方法,根据系统的输入输出数据计算出最优的反馈控制策略。策略迭代过程中的贝尔曼方程为
式(9)左边是机械臂包含动作的价值函数,其中h是一个正定矩阵,通过使用最小二乘法可将h矩阵计算出来,然后根据式(10)进行策略的更新
fj 1=-(huuj 1)-1huxj 1(10)
其中
进一步,所述方法还包括以下步骤:
步骤4),在仿真软件中进行调试,验证本策略迭代算法的可行性,过程如下:
4.1)首先对机械臂进行初始化,选择一个初始的状态反馈增益f0,和初始的黎卡提方程解矩阵h0,且初始的状态反馈增益并不要求保证机械臂是稳定的,h是一个对称的矩阵,含有(n ku)(n ku 1)个未知的参数,其中ku是输入u的个数,n是机械臂系统状态的个数;
4.2)根据采集到机械臂前三个关节的位置和速度跟踪误差,通过最小二乘法计算
将机器人系统k时刻的价值函数
认为最优的控制策略为μi(x(k)),使用递归的最小二乘法去获得对应的权值矩阵
其中j表示第j次对
4.3)计算得到估计的hj 1矩阵之后,根据式(10)计算新的最优状态反馈控制增益fj 1,
4.4)判断||hj 1-hj||f向量是否小于阈值ε,如果||hi 1-hi||f<ε则停止更新策略,反之则继续进行策略迭代,更新下一个控制策略。
本发明的有益效果为:自动适应模型改变带来的模型误差,提高机器人在日常使用中的准确性。
附图说明
图1是策略迭代算法流程图;
图2是机械臂前三个关节的状态变化仿真图;
图3是机械臂关节状态的权值矩阵h参数变化仿真图;
图4是机械臂的状态反馈增益k1变化图;
图5是机械臂的状态反馈增益k2变化图;
图6是机械臂的状态反馈增益k3变化图;
图7是机械臂的输入关节转矩图;
图8是机械臂自适应控制下系统损失函数变化图。
具体实施方式
为使本发明的目的、技术方案和优点更加清晰,下面结合附图和仿真实验对本发明的技术方案作进一步描述。
参照图1~图8,一种基于强化学习的baxter机械臂轨迹跟踪控制方法,首先对baxter机械臂前三个关节进行系统辨识,确定其连续时间的状态空间方程并将之离散化,得到离散的状态空间模型,该步骤仅用于在仿真时获取机器人前三个关节下一时刻的位置和速度跟踪误差;首先给定机械臂前三个关节一个初始状态,按照固定的采样时间测量并记录三个关节下一时刻的位置和速度跟踪误差,对采集到的位置和速度信息预处理之后使用递归的最小二乘法计算最优控制策略所对应的权值矩阵h,最后根据权值矩阵计算出下一时刻的最优反馈控制。
本发明的基于策略迭代的baxter机械臂自适应最优控制方法,包括以下步骤:
1)对机械臂进行模型辨识得到系统的动力学方程;
2)将机械臂的动力学方程转化为连续的状态空间方程并离散化;
3)基于强化学习策略迭代算法设计机械臂自适应最优控制器;
4)通过仿真平台进行仿真实验,验证算法的可行性。
进一步,所述步骤1)中,对baxter机械臂前三个关节进行模型辨识,确定机械臂的动力学方程。通过系统辨识获得的动力学方程仅用于在仿真时获取机械臂前三个关节的位置和速度状态。n自由度刚性机械臂的连续时间动力学模型由式(1)所表示
其中
步骤2),建立机械臂的状态空间方程并离散化,过程如下:
机械臂的状态变量表示为一个(6×1)的向量
则机械臂的状态空间方程表示为
其中u=τ是输入转矩向量,y是输出向量;矩阵ac和bc定义如下
式(3)中的其他两项分别为
其中o3表示为(3×3)的零矩阵,03表示为(3×1)的零向量;
假设采样时间t=0.016s,输出变量在固定的采样时间t内进行测量,且输入扭矩在每个时间间隔内保持不变,因此,故将连续的机械臂模型转化为离散的模型;
x(k 1)=ax(k) h(x(k)) b(x(k))u(k) η(k,x(k),u(k))(7)
其中
步骤3),基于强化学习中策略迭代方法设计自适应反馈控制器,从机械臂中采集当前机械臂前三个关节的位置和速度跟踪误差,根据历史的输入输出信息计算出最优的状态反馈控制增益,过程如下:
根据式(7)所描述的机械臂状态空间方程,机械臂的二次性能指数表示为
其中γ是折扣因子,取值为1,ru=rut>0,qy=qyt≥0分别是输入输出的权值矩阵,通过最小化系统的性能指数可以找到最优的状态反馈增益,这个最优化问题等价于求解线性二次调节器(lqr)问题,在求解动态规划问题时,需要知道系统的状态空间方程,为了避免在求解过程中使用系统的参数矩阵,采用了策略迭代的方法,根据系统的输入输出数据计算出最优的反馈控制策略,在策略迭代过程中的贝尔曼方程为
其中
式(9)左边是机械臂包含动作的价值函数,其中h是一个正定矩阵,通过使用最小二乘法将h矩阵计算出来,然后根据式(10)进行策略的更新
fj 1=-(huuj 1)-1huxj 1(10)
其中
步骤4),在仿真软件中进行调试,验证本策略迭代算法的可行性,过程如下:
4.1)首先对机械臂进行初始化,初始状态为[5678910]t,选择一个初始的状态反馈增益f0=o3×6,和初始的黎卡提方程解矩阵h0=o9×9,且初始的状态反馈增益并不要求保证机械臂是稳定的。h是一个对称的矩阵,含有(n ku)(n ku 1)=(9×10)/2=45个未知的参数,其中ku是输入u的个数,n是机械臂状态的个数;
4.2)采集到机械臂前三个关节的位置和速度跟踪误差,并通过最小二乘法计算
将机械臂k时刻的价值函数
认为最优的控制策略为μi(x(k)),使用递归的最小二乘法去获得对应的权值矩阵
其中j表示第j次对
4.3)计算得到估计的hj 1矩阵之后,根据式(10)计算新的最优状态反馈控制增益fj 1;
4.4)判断||hj 1-hj||f向量是否小于阈值ε=0.01,如果||hi 1-hi||f<ε则停止更新策略,反之则继续进行策略迭代,更新下一个控制策略。
从实验结果可以看出,本发明能够在没有给定机械臂初始反馈控制增益的情况下,系统能够自动更新到最佳的反馈控制增益,并得到最小的损失函数,因为反馈控制增益的更新只与输入输出数据有关,所以当系统的模型参数发生改变时,自适应控制器仍能得到最优的反馈控制增益,从而提高了机械臂在使用过程中的稳定性。从实际的能量损耗方面看,自适应反馈控制下的能够在最小化能量损耗的情况下保证系统性能最优。自适应反馈控制的这种优势对实际的工业机械臂控制具有重要的意义。
以上结合附图详细说明和陈述了本发明的实施方式,但并不局限于上述方式。在本领域的技术人员所具备的知识范围内,只要以本发明的构思为基础,还可以做出多种变化和改进。
1.一种基于强化学习的baxter机械臂轨迹跟踪控制方法,其特征在于,所述方法包括以下步骤:
步骤1),对baxter机械臂前三个关节进行模型辨识,确定机械臂的动力学方程,通过系统辨识获得的动力学方程仅用于在仿真时获取机械臂前三个关节的位置和速度跟踪误差,n自由度刚性机械臂的连续时间动力学模型由式(1)所表示
其中
步骤2),建立机械臂的状态空间方程并离散化,过程如下:
机械臂的状态变量表示为一个(2n×1)的向量
则机械臂的状态空间方程表示为
其中u=τ是输入转矩向量,y是输出向量;矩阵ac和bc定义如下
其中on表示(n×n)的零矩阵,in表示(n×n)的单位矩阵,式(3)中的其他两项分别为
其中0n表示为(n×1)的零向量;
假设输出变量在固定的采样时间t内进行测量,且输入扭矩在每个时间间隔内保持不变,因此,将连续的机械臂模型转化为离散的模型;
其中
步骤3),基于强化学习中策略迭代方法设计自适应反馈控制器,从机械臂中采集当前机械臂前三个关节的位置和速度跟踪误差,根据历史的输入输出信息计算出最优的状态反馈控制增益,过程如下:
根据式(7)所描述的机器人状态空间方程,机器人的二次性能指数表示为
其中γ是折扣因子,取值范围为(0,1]之间,ru=rut>0,qy=qyt≥0分别是输入输出的权值矩阵,通过最小化系统的性能指数可以找到最优的状态反馈增益,这个最优化问题等价于求解线性二次调节器lqr问题,在求解动态规划问题时,需要知道系统的状态空间方程,为了避免在求解过程中使用系统的参数矩阵,采用了策略迭代的方法,根据系统的输入输出数据计算出最优的反馈控制策略。策略迭代过程中的贝尔曼方程为
式(9)左边是机械臂包含动作的价值函数,其中h是一个正定矩阵,通过使用最小二乘法可将h矩阵计算出来,然后根据式(10)进行策略的更新
fj 1=-(huuj 1)-1huxj 1(10)
其中
2.如权利要求1所述的一种基于强化学习的baxter机械臂轨迹跟踪控制方法,其特征在于,所述方法还包括以下步骤:
步骤4),在仿真软件中进行调试,验证本策略迭代算法的可行性,过程如下:
4.1)首先对机械臂进行初始化,选择一个初始的状态反馈增益f0,和初始的黎卡提方程解矩阵h0,且初始的状态反馈增益并不要求保证机械臂是稳定的,h是一个对称的矩阵,含有(n ku)(n ku 1)个未知的参数,其中ku是输入u的个数,n是机械臂系统状态的个数;
4.2)根据采集到机械臂前三个关节的位置和速度跟踪误差,通过最小二乘法计算
将机器人系统k时刻的价值函数
认为最优的控制策略为μi(x(k)),使用递归的最小二乘法去获得对应的权值矩阵
其中j表示第j次对
4.3)计算得到估计的hj 1矩阵之后,根据式(10)计算新的最优状态反馈控制增益fj 1,
4.4)判断||hj 1-hj||f向量是否小于阈值ε,如果||hi 1-hi||f<ε则停止更新策略,反之则继续进行策略迭代,更新下一个控制策略。
技术总结