一种结合迭代学习的时间最优轨迹规划控制器及方法技术

技术编号:22074709 阅读:67 留言:0更新日期:2019-09-12 13:49
本发明专利技术公开了一种结合迭代学习的时间最优轨迹规划控制器及方法,所述控制器包括路径离散模块、轨迹规划模块、迭代学习模块和存储模块;路径离散模块,用于将任务路径离散化;轨迹规划模块,获得时间最优轨迹;迭代学习模块用于补偿动力学模型误差;存储模块存储每次迭代的迭代数据。所述方法包括以下步骤:S1、将连续任务路径输入到路径离散模块将路径离散化;S2、将路径离散化后的结果输入到轨迹规划模块,获得时间最优轨迹;S3、运行轨迹获得反馈力矩;S4、将计算结果和存储模块中的迭代数据输入到迭代学习模块中,输出迭代学习补偿项;S5、更新关节空间动力学模型;S6、重复步骤S2‑步骤S5直到动力学模型不再更新。

A Time-Optimal Trajectory Planning Controller and Method Based on Iterative Learning

【技术实现步骤摘要】
一种结合迭代学习的时间最优轨迹规划控制器及方法
本专利技术涉及机器人控制器及方法,尤其是一种结合迭代学习的时间最优轨迹规划控制器及方法。
技术介绍
在利用机器人进行搬运,装配,机加工等场合时,为了提高机器人的工作效率,应该使机器人始终处于允许的最大速度下工作,这种为了减少机器人执行任务的时间,使机器人在临界条件下运动的轨迹规划方法称为时间最优轨迹规划方法。在使用动力学模型进行最优轨迹规划时,由于动力学模型并不是完全准确的,这导致了不可避免的模型工厂不匹配问题,造成通过动力学约束求得的时间最优轨迹不是最优解。
技术实现思路
本专利技术的目的是提供一种结合迭代学习的时间最优轨迹规划控制器及方法,通过迭代学习方法消除模型工厂不匹配(model-plantmismatch)问题,最终使时间最优轨迹接近最优解,同时通过准确的预测力矩进行力矩前馈控制,提高机器人高速状态下的跟踪精度,用于生成机器人沿着给定路径运行时操作时间最短的控制指令以及提高跟踪时的跟踪性能。本专利技术采用以下的技术方案。一种结合迭代学习的时间最优轨迹规划控制器,所述轨迹规划控制器包括路径离散模块、轨迹规划模块、迭代学习模块和存储模块;路径离散模块,用于将机器人的任务路径离散化;轨迹规划模块用于获得时间最优轨迹,具体是根据约束条件,建立每个离散点的关节空间动力学模型,并将关节空间动力学模型转化到路径空间动力学模型并构建非线性优化模型,通过非线性求解工具求得机器人的时间最优轨迹,从而求得最优路径-时间函数,将控制周期代入最优位移-时间函数得到每个控制周期的最优位移,从而得到每个控制周期各关节的角度,并根据电机每圈脉冲数以及减速器传动比将每个控制周期各关节角度并转化为每个控制周期的脉冲指令,同时计算相应的力矩作为前馈力矩,并将脉冲指令和前馈力矩用于机器人的控制;迭代学习模块用于补偿动力学模型误差,提高动力学模型精度,从而获得最优解和提高跟踪性能,具体是利用轨迹运行后获得的反馈力矩和前馈力矩以及存储模块中的上一次迭代的力矩偏差和迭代学习补偿项输入迭代学习控制器来获得新的迭代学习补偿项,用于补偿关节空间动力学模型的建模误差,从而更新轨迹规划模块中的动力学模型,用于轨迹规划模块进行轨迹规划;存储模块用于存储每次迭代的迭代数据,以用于下一次迭代;迭代数据包括前馈力矩、反馈力矩、力矩偏差和迭代学习补偿项。一种结合迭代学习的时间最优轨迹规划方法,包括以下步骤:S1.通过离线规划或利用示教器获得机器人的连续任务路径,并将连续任务路径输入到路径离散模块将路径离散化;S2.将路径离散化后的结果输入到轨迹规划模块,获得时间最优轨迹,并转化为相应的脉冲指令,再将脉冲指令和前馈力矩下发到机器人控制柜;S3.运行轨迹获得反馈力矩;S4.计算前馈力矩和反馈力矩的力矩偏差,将计算结果和存储模块中的迭代数据输入到迭代学习模块中更新迭代学习补偿项,输出新的迭代学习补偿项;S5.利用新的迭代学习补偿项更新迹规划模块中的关节空间动力学模型,用于轨迹规划模块中重新规划和运行;S6.重复步骤S2-步骤S5直到关节空间动力学模型不再更新。进一步的,步骤S1的路径离散模块将连续的任务路径离散为N个离散点,并假设相邻两点之间为匀加速运动。进一步的,步骤S2具体包括以下步骤:S21.建立每个离散点的机器人关节空间动力学模型,并根据动力学约束条件建立关节空间的力矩约束不等式方程组以及根据运动学约束条件建立速度约束不等式方程组和加速度约束不等式方程组;S22.将步骤S21得到的关节空间的约束不等式方程组转化为路径空间的约束不等式方程组,并根据优化目标,构建非线性优化模型;S23.根据非线性优化模型通过非线性求解工具求解机器人的时间最优轨迹;非线性求解工具包括python的CasADi、matlab的yamlip、sedumi和fmincon等;S24.根据时间最优轨迹得到最优位移-时间函数,将控制周期代入最优位移时间函数得到每个控制周期的最优位移,从而得到每个控制周期各关节角度,并根据电机每圈脉冲数以及减速器传动比将每个控制周期各关节角度转化为每个控制周期的脉冲指令,同时计算相应的力矩作为前馈力矩,用于后续控制。进一步的,步骤S21具体包括如下:建立如下的关节空间动力学模型的基础形式:其中,τ表示n×1阶关节力矩矢量,即[τ1τ2…τn]T,其中n表示机器人关节数,τn表示第n个关节的力矩矢量,上标T表示转置,M(q)表示n×n阶正定质量矩阵;q表示n×1阶关节角度矢量,即[q1q2…qn],qn表示第n个关节的矢量;表示n×1阶关节加速度矢量,即表示第n个关节的加速度矢量;B(q)表示n×n(n-1)/2阶的哥氏力系数矩阵,表示n(n-1)/2×1阶的关节速度积矢量,即表示n×1阶关节速度矢量,即表示第n个关节的速度矢量;C(q)是n×n阶离心力系数矩阵,而是n×1阶矢量,即Fv表示n×1阶粘滞摩擦力向量;Fc表示n×1阶库伦摩擦力向量;G(q)表示重力向量;δl(q)是n×1阶迭代学习补偿向量,即[δ1,l(q1)δ2,l(q2)…δn,l(qn)]T,l为迭代次数,在没有迭代即l=0时δl(q)设置为n×1阶0向量;sign表示符号函数;根据式(1)建立离散点k的关节空间动力学模型:其中,k表示离散点,N表示总的离散点数,τ(k)表示n×1阶关节力矩矢量,即[τ1(k)τ2(k)…τn(k)]T,其中n表示机器人关节数,τn(k)表示第n个关节的力矩矢量,上标T表示转置,M(q(k))表示n×n阶正定质量矩阵;q(k)表示n×1阶关节角度矢量,即[q1(k)q2(k)…qn(k)],qn(k)表示第n个关节的矢量;表示n×1阶关节加速度矢量,即表示第n个关节的加速度矢量;B(q(k))表示n×n(n-1)/2阶的哥氏力系数矩阵,表示n(n-1)/2×1阶的关节速度积矢量,即表示n×1阶关节速度矢量,即表示第n个关节的速度矢量;C(q(k))是n×n阶离心力系数矩阵,而是n×1阶矢量,即Fv表示粘滞摩擦力向量;Fc表示库伦摩擦力向量;G(q(k))表示重力向量;δl(q(k))是n×1阶迭代学习补偿向量,即[δ1,l(q1(k))δ2,l(q(k))…δn,l(q(k))]T,l为迭代次数,在没有迭代即l=0时δl(q(k))设置为n×1阶0向量;sign表示符号函数;设定动力学约束条件为:τmin(k)≤τ(k)≤τmax(k)其中,τmin(k)表示离散点k的最小约束力矩,τmax(k)表示离散点k的最大约束力矩;设定运动学约束条件为:其中,表示离散点k的最小约束速度,表示离散点k的最大约束速度,表示离散点k的最小约束加速度,表示离散点k的最大约束加速度;从而得到关节空间的约束不等式方程组为:进一步的,步骤S22具体包括如下:根据链式规则,将离散点k的速度和加速度分解为如下的路径空间中路径速度和路径加速度的方程:上式中,为了与关节空间区分开来,将路径空间的关节角度q(s(k))表示,其与q(k)是等价的,也表示在路径位移为s(k)时,路径函数q(s)的值;关节速度用表示,其与是等价的;将关节加速度用表示,其与是等价的;是路径速度,是路径位移s(k)对时间t的一阶导数;是路径加速度,是路径位移s(本文档来自技高网...

【技术保护点】
1.一种结合迭代学习的时间最优轨迹规划控制器,其特征在于,所述轨迹规划控制器包括路径离散模块、轨迹规划模块、迭代学习模块和存储模块;路径离散模块用于将机器人的任务路径离散化;轨迹规划模块用于获得时间最优轨迹,具体是根据约束条件,建立每个离散点的关节空间动力学模型,并将关节空间动力学模型转化到路径空间动力学模型并构建非线性优化模型,通过非线性求解工具求得机器人的时间最优轨迹,从而求得最优路径‑时间函数,将控制周期代入最优位移‑时间函数得到每个控制周期的最优位移,从而得到每个控制周期各关节的角度,并根据电机每圈脉冲数以及减速器传动比将每个控制周期各关节角度并转化为每个控制周期的脉冲指令,同时计算相应的力矩作为前馈力矩,并将脉冲指令和前馈力矩用于机器人的控制;迭代学习模块用于补偿动力学模型误差,提高动力学模型精度,从而获得最优解和提高跟踪性能,具体是利用轨迹运行后获得的反馈力矩和前馈力矩以及存储模块中的上一次迭代的力矩偏差和迭代学习补偿项输入迭代学习控制器来获得新的迭代学习补偿项,用于补偿关节空间动力学模型的建模误差,从而更新轨迹规划模块中的动力学模型,用于轨迹规划模块进行轨迹规划;存储模块用于存储每次迭代的迭代数据,以用于下一次迭代;迭代数据包括前馈力矩、反馈力矩、力矩偏差和迭代学习补偿项。...

【技术特征摘要】
1.一种结合迭代学习的时间最优轨迹规划控制器,其特征在于,所述轨迹规划控制器包括路径离散模块、轨迹规划模块、迭代学习模块和存储模块;路径离散模块用于将机器人的任务路径离散化;轨迹规划模块用于获得时间最优轨迹,具体是根据约束条件,建立每个离散点的关节空间动力学模型,并将关节空间动力学模型转化到路径空间动力学模型并构建非线性优化模型,通过非线性求解工具求得机器人的时间最优轨迹,从而求得最优路径-时间函数,将控制周期代入最优位移-时间函数得到每个控制周期的最优位移,从而得到每个控制周期各关节的角度,并根据电机每圈脉冲数以及减速器传动比将每个控制周期各关节角度并转化为每个控制周期的脉冲指令,同时计算相应的力矩作为前馈力矩,并将脉冲指令和前馈力矩用于机器人的控制;迭代学习模块用于补偿动力学模型误差,提高动力学模型精度,从而获得最优解和提高跟踪性能,具体是利用轨迹运行后获得的反馈力矩和前馈力矩以及存储模块中的上一次迭代的力矩偏差和迭代学习补偿项输入迭代学习控制器来获得新的迭代学习补偿项,用于补偿关节空间动力学模型的建模误差,从而更新轨迹规划模块中的动力学模型,用于轨迹规划模块进行轨迹规划;存储模块用于存储每次迭代的迭代数据,以用于下一次迭代;迭代数据包括前馈力矩、反馈力矩、力矩偏差和迭代学习补偿项。2.一种利用权利要求1所述轨迹规划控制器的结合迭代学习的时间最优轨迹规划方法,其特征在于,包括以下步骤:S1.通过离线规划或利用示教器获得机器人的连续任务路径,并将连续任务路径输入到路径离散模块将路径离散化;S2.将路径离散化后的结果输入到轨迹规划模块,获得时间最优轨迹,并转化为相应的脉冲指令,再将脉冲指令和前馈力矩下发到机器人控制柜;S3.运行轨迹获得反馈力矩;S4.计算前馈力矩和反馈力矩的力矩偏差,将计算结果和存储模块中的迭代数据输入到迭代学习模块中更新迭代学习补偿项,输出新的迭代学习补偿项;S5.利用新的迭代学习补偿项更新迹规划模块中的关节空间动力学模型,用于轨迹规划模块中重新规划和运行;S6.重复步骤S2-步骤S5直到关节空间动力学模型不再更新。3.根据权利要求2所述的一种结合迭代学习的时间最优轨迹规划方法,其特征在于,步骤S1的路径离散模块将连续的任务路径离散为N个离散点,并假设相邻两点之间为匀加速运动。4.根据权利要求2所述的一种结合迭代学习的时间最优轨迹规划方法,其特征在于,步骤S2具体包括以下步骤:S21.建立每个离散点的机器人关节空间动力学模型,并根据动力学约束条件建立关节空间的力矩约束不等式方程组以及根据运动学约束条件建立速度约束不等式方程组和加速度约束不等式方程组;S22.将步骤S21得到的关节空间的约束不等式方程组转化为路径空间的约束不等式方程组,并根据优化目标,构建非线性优化模型;S23.根据非线性优化模型通过非线性求解工具求解机器人的时间最优轨迹;非线性求解工具包括python的CasADi、matlab的yamlip、sedumi和fmincon;S24.根据时间最优轨迹得到最优位移-时间函数,将控制周期代入最优位移时间函数得到每个控制周期的最优位移,从而得到每个控制周期各关节角度,并根据电机每圈脉冲数以及减速器传动比将每个控制周期各关节角度转化为每个控制周期的脉冲指令,同时计算相应的力矩作为前馈力矩,用于后续控制。5.根据权利要求4所述的一种结合迭代学习的时间最优轨迹规划方法,其特征在于,步骤S21具体包括如下:建立如下的关节空间动力学模型的基础形式:其中,τ表示n×1阶关节力矩矢量,即[τ1τ2…τn]T,其中n表示机器人关节数,τn表示第n个关节的力矩矢量,上标T表示转置,M(q)表示n×n阶正定质量矩阵;q表示n×1阶关节角度矢量,即[q1q2…qn],qn表示第n个关节的矢量;表示n×1阶关节加速度矢量,即表示第n个关节的加速度矢量;B(q)表示n×n(n-1)/2阶的哥氏力系数矩阵,表示n(n-1)/2×1阶的关节速度积矢量,即表示n×1阶关节速度矢量,即表示第n个关节的速度矢量;C(q)是n×n阶离心力系数矩阵,而是n×1阶矢量,即Fv表示n×1阶粘滞摩擦力向量;Fc表示n×1阶库伦摩擦力向量;G(q)表示重力向量;δl(q)是n×1阶迭代学习补偿向量,即[δ1,l(q1)δ2,l(q2)…δn,l(qn)]T,l为迭代次数,在没有迭代即l=0时δl(q)设置为n×1阶0向量;sign表示符号函数;根据式(1)建立离散点k的关节空间动力学模型:其中,k表示离散点,N表示总的离散点数,τ(k)表示n×1阶关节力矩矢量,即[τ1(k)τ2(k)…τn(k)]T,其中n表示机器人关节数,τn(k)表示第n个关节的力矩矢量,上标T表示转置,M(q(k))表示n×n阶正定质量矩阵;q(k)表示n×1阶关节角度矢量,即[q1(k)q2(k)…qn(k)],qn(k)表示第n个关节的矢量;表示n×1阶关节加速度矢量,即表示第n个关节的加速度矢量;B(q(k))表示n×n(n-1)/2阶的哥氏力系数矩阵,表示n(n-1)/2×1阶的关节速度积矢量,即表示n×1阶关节速度矢量,即表示第n个关节的速度矢量;C(q(k))是n×n阶离心力系数矩阵,而是n×1阶矢量,即Fv表示粘滞摩擦力向量;Fc表示库伦摩擦力向量;G(q(k))表示重力向量;δl(q(k))是n×1阶迭代学习补偿向量,即[δ1,l(q1(k))δ2,l(q(k))…δn,l(q(k))]T,l为迭代次数,在没有迭代即l=0时δl(q(k))设置为n×1阶0向量;sign表示符号函数;设定动力学约束条件为:τmin(k)≤τ(k)≤τmax(k)其中,τmin(k)表示离散点k的最小约束力矩,τmax(k)表示离散点k的最大约束力矩;设定运动学约束条件为:其中,表示离散点k的最小约束速度,表示离散点k的最大约束速度,表示离散点k...

【专利技术属性】
技术研发人员:李琳肖佳栋张铁邹焱飚
申请(专利权)人:华南理工大学中山市华南理工大学现代产业技术研究院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1