一种基于轨迹优化的机器人振动控制器及方法与流程

文档序号:11242314阅读:990来源:国知局
一种基于轨迹优化的机器人振动控制器及方法与流程

本发明涉及一种工业机器人控制技术领域,尤其是涉及一种减少振动的基于轨迹优化的机器人振动控制器及方法。



背景技术:

工业机器人的控制目标包含对操作工具的快速和准确操作。然而由于机器人系统连杆构件及驱动原件具有的柔性特征,工业机器人在运行过程中容易面临结构性振动的问题,尤其是在机器人处于刚性较弱的位形结构、机器人作业的运动范围较大和速度较快的情况下。这一问题将引发机器人末端执行器非受控的运动,对工业机器人的作业精度产生较大的影响,不利于机器人系统的稳定运行,影响工业机器人的性能。此外,运行过程中的非受控运动也对工业机器人的运行安全产生影响,不利于生产作业的平稳进行。

现有机器人减震控制技术大致分为两类:通过增设机械装置来实现对机器人运行的减振控制和构建反馈控制器来实现对机器人系统的振动控制。前者通过在机器人系统中增加额外的机械结构,改善机器人的动力学特性,从而改善机器人运行过程中的振动现象。例如,申请公布号为cn102829118a中的发明专利,公开了一种机器人耗能减振方法及实现装置。这种通过机械装置实现减震控制的方法,需要系统增加额外的硬件,增加了系统复杂度和成本。并且设计方法需要根据机器人系统具体机械特性进行复杂的运算,不具备普遍性,难以广泛应用。

构建反馈控制器的减振控制方法多利用加速度/振动传感器来获取机器人的运行状态,并通过复杂的控制算法构建反馈控制器来实现对机器人系统的振动控制,例如请公布号为cn106094528a中的发明专利。这类方法的控制器结构和设计过程较为复杂,对控制器的运算能力要求较高,不利于相应技术的普及和推广。此外,上述减振控制器设计方法主要针对机器人点到点的操作运动过程,而未涉及到连续作业轨迹的跟踪执行。对于连续的作业任务,如喷涂、切割、打磨等操作,往往需要控制末端执行器的位置姿态进行连续精确的变化。上述减振控制器设计方法并未考虑到机器人运行状态中机器人的位置-姿态控制,难以满足实际作业需求。



技术实现要素:

本发明主要是解决现有技术中工业机器人在运行过程中机械连杆和传动元件引发的结构性振动的问题,提供了一种减少振动的基于轨迹优化的机器人振动控制器及方法。

本发明的上述技术问题主要是通过下述技术方案得以解决的:一种基于轨迹优化的机器人振动控制器,其特征在于包括依次相连的任务输入模块、调整模块、控制输出模块,调整模块包括依次相连的轨迹规划单元、运动学求解单元、振动检测单元和轨迹优化单元,任务输入模块与轨迹规划单元相连,轨迹优化单元与控制输出模块相连;

轨迹规划单元:根据输入的操作任务,生成末端执行器在操作空间离散化的操作任务坐标序列;

运动学求解单元:根据操作任务坐标序列,执行运动学逆解计算,生成控制机器人运动所需的关节位形指令序列;

振动检测单元:根据关节位形指令序列通过差分运算获得机器人执行操作任务所需的关节速度曲线,并根据各个关节的共振速度核心区间,判断相应关节是否引发系统振动;

轨迹优化单元:根据判断结果对振动区间段的速度轨迹进行优化调整。

本发明通过对机器人任务轨迹的规划调整,降低了机器人关节运动在振动区间的运行时间,减缓了机器人由于系统柔性引发的振动现象,从而保证了机器人作业的连续、平稳运行,提高了机器人的作业精度。任务输入模块用于输入机器人操作任务,控制输出模块将优化后的关节速度曲线转换成关节位形指令序列,发送给末端执行器。

一种基于轨迹优化的机器人振动控制方法,采用权利要求1中的控制器,包括以下步骤:

s1.确定机器人各关节共振速度调节区间;

s2.根据输入操作任务生成操作任务轨迹;

s3.对任务轨迹进行运动学求解,获得控制机器人运动所需的关节位形指令序列;

s4.根据关节位形指令序列对各关节振动进行预判断;

s5.对关节在振动区间段的轨迹进行优化调整;

s6.根据优化后的速度曲线转换成关节位形指令序列。

本发明方法通过对机器人任务轨迹的规划调整,降低了机器人关节运动在振动区间的运行时间,减缓了机器人由于系统柔性引发的振动现象,从而保证了机器人作业的连续、平稳运行,提高了机器人的作业精度。控制器采用的轨迹调整方法,仅仅针对机器人关节在振动区间内的运行状态进行调整,不影响机器人作业时间,并且不影响作业任务的空间曲线形状,适合对连续作业轨迹的跟踪执行。本发明无需在机器人系统中增加额外的振动传感器等附加元件。

由运动学理论可知,关节运动穿越共振速度区间所需的时间t为:其中:v1为进入共振速度区间的关节速度,v2为离开共振速度区间的关节速度,a(t)为关节运动对应的加速度。假定共振速度区间内,系统振动的自然频率ω变化较小,近似为常数,则穿越振动区间所带来的波动次数n约为:f是振动频率。通过对机器人关节速度曲线进行优化调整,可使机器人相应关节速度处于共振速度区间内的时间t减小,此时机器人系统发生振动的次数n也将减小。操作任务轨迹执行跟踪偏差e(t)的平方误差积分指标的积分区间减小,因而指标值也相应的减小,从而提升了机器人对操作任务的执行精度,改善了机器人在共振速度区间内运行的性能。

作为一种优选方案,步骤s1中各关节共振调节速度区间的获取步骤包括:

s11.根据机器人系统固有振动系数计算得到共振速度v0,根据机器人刚性和机械系数获得共振速度核心区间[v10v20];

s12.根据共振速度核心区间[v10v20]设定关节的共振速度调节区间[v1v2]。

对于具有柔性元件的机器人系统,需要确定其共振速度区间范围,以确定振动优化控制的目标。对于关节具有柔性机器人,由于采用柔性传动元件,其关节具有柔性特征。例如,采用谐波减速机的机器人,根据谐波齿轮的传动特性可知:谐波齿轮转动一圈,将产生两个谐波激励。当机器人系统运行在系统固有振动频率时,机器人的谐波传统将导致结构发生共振。该共振转速可通过固有振动系数计算得到。

作为一种优选方案,步骤s2中操作任务轨迹生成步骤包括:

s21.根据输入的操作任务生成操作任务空间内末端执行器连续运动的轨迹曲线;

s22.将运动轨迹曲线离散化,获得操作任务空间内的任务位置/姿态目标点序列。

本方案根据操作任务生成空间内目标点序列,该方法为已知技术。由于现代机器人系统多采用数字计算机进行控制,操作任务轨迹应当进行相应的离散化。

作为一种优选方案,步骤s3中关节位形指令序列获取具体过程为:根据机器人系统的结构参数,对任务位置/姿态目标点序列进行运动学求解,得到机器人操作任务所对应的关节空间位形坐标,将关节空间位形坐标作为关节空间位形指令序列。

作为一种优选方案,步骤s4中对各关节振动进行预判断的具体过程包括:

s41.根据关节空间位形指令序列,通过差分运算获得相应关节运动对应的速度,并生成速度曲线;

s42.根据获得的共振速度核心区间,检测是否有关节的运动速度进入共振速度核心区间并发生共振;

s43.若有则确定相应关节在进入和离开共振速度调节区间时该关节位形坐标、关节速度和关节加速度。关节加速度由关节速度通过差分运算可以获得。

作为一种优选方案,步骤s5中优化调整的具体步骤包括:

s51.记关节速度曲线在共振速度v0时对应的关节坐标p0,关节加速度a0,对应的时刻t0;

关节速度曲线在共振速度调节区间边界v2处时对应的关节坐标p2,关节加速度a2,对应的时刻t2;

关节速度曲线在共振速度调节区间边界v1处时对应的关节坐标p1,关节加速度a1,对应的时刻t1;

s52.对关节坐标进行五阶多项式规划,设关节坐标p对应的五阶多项式曲线为

p(t)=a·t5+b·t4+c·t3+d·t2+e·t1+f·t0

其中a、b、c、d、e、f为多项式参数,

关节对应的速度曲线为

关节对应的加速度曲线为

s53.将关节共振速度v0处关节加速度调整为k·a0,其中k为调节参数,k≥1;

将关节共振速度v0处对应的关节坐标调整为λp1+(1-λ)p2,其中为λ调节参数,λ∈[0.51];k和λ根据经验选取,可以根据实际需求设定附加优化指标对k和λ进行进一步优化。

s54.分别对共振速度调节区间[v1v0]和[v0v2]内的关节速度进行规划调整,

子区间[v1v0]的边界约束条件为:

p1=p(t1)=a·t15+b·t14+c·t13+d·t12+e·t11+f·t10

v1=v(t1)=5a·t14+4b·t13+3c·t12+2d·t11+1e·t10

a1=a(t1)=20a·t13+12b·t12+6c·t11+2d·t10

λp1+(1-λ)p2=a·t05+b·t04+c·t03+d·t02+e·t01+f·t00

v0=v(t0)=5a·t04+4b·t03+3c·t02+2d·t01+1e·t00

k·a0=a(t0)=20a·t03+12b·t02+6c·t01+2d·t00

根据上述边界条件求出子区间[v1v0]对应的多项式系数a、b、c、d、e、f;

子区间[v0v2]的边界约束条件为:

p2=p(t2)=a·t25+b·t24+c·t23+d·t22+e·t21+f·t20

v2=v(t2)=5a·t24+4b·t23+3c·t22+2d·t21+1e·t20

a2=a(t2)=20a·t23+12b·t22+6c·t21+2d·t20

λp1+(1-λ)p2=a·t05+b·t04+c·t03+d·t02+e·t01+f·t00

v0=v(t0)=5a·t04+4b·t03+3c·t02+2d·t01+1e·t00

k·a0=a(t0)=20a·t03+12b·t02+6c·t01+2d·t00

根据上述边界条件求出子区间[v0v2]对应的多项式系数a、b、c、d、e、f;

s55.根据速度子区间[v1v0]和[v0v2]内求得的多项式系数,分别确定子区间内的速度曲线,完成对关节速度的调节。

因此,本发明的优点是:1.通过对机器人任务轨迹的规划调整,降低了机器人关节运动在振动区间的运行时间,减缓了机器人由于系统柔性引发的振动现象,从而保证了机器人作业的连续、平稳运行,提高了机器人的作业精度。2.控制器采用的轨迹调整方法,仅仅针对机器人关节在振动区间内的运行状态进行调整,不影响机器人作业时间,并且不影响作业任务的空间曲线形状,适合对连续作业轨迹的跟踪执行。3.本发明无需在机器人系统中增加额外的振动传感器等附加元件。

附图说明

附图1是本发明的一种结构框示图;

附图2是本发明方法的一种流程示意图;

附图3是本发明实施例2中轨迹优化前后速度曲线图;

附图4是本发明实施例3中优化前任务对应的关节速度曲线图;

附图5是本发明实施例3中优化后任务对应的关节速度曲线图;

附图6是本发明实施例3中优化前后关节2速度对比图;

附图7是本发明实施例3中优化前后关节2速度进入共振速度区间的局部对比图;

附图8是本发明实施例3中优化前后关节2速度离开共振速度区间的局部对比图。

1-任务输入模块2-调整模块21-轨迹规划单元22-运动学求解单元23-振动检测单元24-轨迹优化单元3-控制输出模块。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

实施例1:

本实施例一种基于轨迹优化的机器人振动控制器,如图1所示,包括依次相连的任务输入模块1、调整模块2、控制输出模块3,调整模块包括依次相连的轨迹规划单元21、运动学求解单元22、振动检测单元23和轨迹优化单元24,任务输入模块与轨迹规划单元相连,轨迹优化单元与控制输出模块相连;

轨迹规划单元:根据输入的操作任务,生成末端执行器在操作空间离散化的操作任务坐标序列;

运动学求解单元:根据操作任务坐标序列,执行运动学逆解计算,生成控制机器人运动所需的关节位形指令序列;

振动检测单元:根据关节位形指令序列通过差分运算获得机器人执行操作任务所需的关节速度曲线,并根据各个关节的共振速度核心区间,判断相应关节是否引发系统振动;

轨迹优化单元:根据判断结果对振动区间段的速度轨迹进行优化调整。

一种基于轨迹优化的机器人振动控制方法,如图2所示,包括以下步骤:

s1.确定机器人各关节共振速度调节区间;具体包括:

s11.根据机器人系统固有振动系数计算得到共振速度v0,根据机器人刚性和机械系数获得共振速度核心区间[v10v20];

s12.根据共振速度核心区间[v10v20]设定关节的共振速度调节区间[v1v2]。

s2.根据输入操作任务生成操作任务轨迹;具体包括:

s21.根据输入的操作任务生成操作任务空间内末端执行器连续运动的轨迹曲线;

s22.将运动轨迹曲线离散化,获得操作任务空间内的任务位置/姿态目标点序列。

s3.对任务轨迹进行运动学求解,获得控制机器人运动所需的关节位形指令序列;具体过程为:根据机器人系统的结构参数,对任务位置/姿态目标点序列进行运动学求解,得到机器人操作任务所对应的关节空间位形坐标,将关节空间位形坐标作为关节空间位形指令序列。

s4.根据关节位形指令序列对各关节振动进行预判断;具体过程包括:

s41.根据关节空间位形指令序列,通过差分运算获得相应关节运动对应的速度,并生成速度曲线;

s42.根据获得的共振速度核心区间,检测是否有关节的运动速度进入共振速度核心区间并发生共振;

s43.若有则确定相应关节在进入和离开共振速度调节区间时该关节位形坐标、关节速度和关节加速度。

s5.对关节在振动区间段的速度曲线进行优化调整;具体步骤包括:

s51.记关节速度曲线在共振速度v0时对应的关节坐标p0,关节加速度a0,对应的时刻t0;

关节速度曲线在共振速度调节区间边界v2处时对应的关节坐标p2,关节加速度a2,对应的时刻t2;

关节速度曲线在共振速度调节区间边界v1处时对应的关节坐标p1,关节加速度a1,对应的时刻t1;

s52.对关节坐标进行五阶多项式规划,设关节坐标p对应的五阶多项式曲线为

p(t)=a·t5+b·t4+c·t3+d·t2+e·t1+f·t0

其中a、b、c、d、e、f为多项式参数,

关节对应的速度曲线为

关节对应的加速度曲线为

s53.将关节共振速度v0处关节加速度调整为k·a0,其中k为调节参数,k≥1;

将关节共振速度v0处对应的关节坐标调整为λp1+(1-λ)p2,其中为λ调节参数,λ∈[0.51];k和λ根据经验选取,可以根据实际需求设定附加优化指标对k和λ进行进一步优化。

s54.分别对共振速度调节区间[v1v0]和[v0v2]内的关节速度进行规划调整,

子区间[v1v0]的边界约束条件为:

p1=p(t1)=a·t15+b·t14+c·t13+d·t12+e·t11+f·t10

v1=v(t1)=5a·t14+4b·t13+3c·t12+2d·t11+1e·t10

a1=a(t1)=20a·t13+12b·t12+6c·t11+2d·t10

λp1+(1-λ)p2=a·t05+b·t04+c·t03+d·t02+e·t01+f·t00

v0=v(t0)=5a·t04+4b·t03+3c·t02+2d·t01+1e·t00

k·a0=a(t0)=20a·t03+12b·t02+6c·t01+2d·t00

根据上述边界条件求出子区间[v1v0]对应的多项式系数a、b、c、d、e、f;

子区间[v0v2]的边界约束条件为:

p2=p(t2)=a·t25+b·t24+c·t23+d·t22+e·t21+f·t20

v2=v(t2)=5a·t24+4b·t23+3c·t22+2d·t21+1e·t20

a2=a(t2)=20a·t23+12b·t22+6c·t21+2d·t20

λp1+(1-λ)p2=a·t05+b·t04+c·t03+d·t02+e·t01+f·t00

v0=v(t0)=5a·t04+4b·t03+3c·t02+2d·t01+1e·t00

k·a0=a(t0)=20a·t03+12b·t02+6c·t01+2d·t00

根据上述边界条件求出子区间[v0v2]对应的多项式系数a、b、c、d、e、f;

s55.根据速度子区间[v1v0]和[v0v2]内求得的多项式系数,分别确定子区间内的速度曲线,完成对关节速度的调节。

s6.根据优化后的速度曲线转换成关节位形指令序列。

实施例2:

本实施例采用具体的例子对单关节运动过程进行振动优化调整结果进行说明。为了不失一般性,考虑单关节做一段加速度恒定的运动,并对运动的边界条件做归一化处理,即关节初始位置为p(0)=0弧度,初始速度为v(0)=0弧度/秒,初始加速度为a(0)=0弧度/秒2,运动过程持续时长为1秒,运动过程结束时,期望位置目标为p(1)=0.5弧度,期望速度为v(1)=1弧度/秒,期望加速度为a(1)=1弧度/秒2

假定系统发生振动对应的关节速度为v=0.5弧度/秒,振动对应的速度区间为[0.3,0.7]弧度/秒。当未做轨迹优化时,由匀加速直线运动过程可知,关节运动在振动速度区间的运行时长为0.4秒,如图3终点线所示。

现采用优化方法对机器人的运动轨迹进行优化调整,所得优化曲线结果如图3中虚线所示。此时,关节运动在振动速度区间的运行时长为0.12秒。对比于未优化的结果,关节运动处于振动速度区间的运行时长缩短70%,机器人系统运行的振动次数被大大降低,改善了机器人运行过程中的平稳性。

实施例3:

本实施例采用具体的例子对多关节机器人系统振动控制结构结果进行说明。在此给出基于puma560的六轴通用机器人平台进行的轨迹优化数值仿真结果。假定puma560初始关节位形坐标为qn=[0π/2π0π/20]弧度。操作任务为控制末端法兰盘沿竖直方向向上运动0.5米并保存姿势不变,运动过程持续时间为1秒,并设定机器人关节2的共振速度区为0.475至0.525弧度/秒,区间长度约为50转/分。机器人系统的伺服控制频率为5khz,控制周期为200微秒。在未经轨迹优化时,操作任务所对应的关节速度曲线如图4所示。

关节2在振动速度区间运行周期计数(振动次数)为136。现采用轨迹优化方法对关节轨迹进行调整。得到的操作任务速度曲线如图5所示:关节2在振动速度区间内运行的时间长度为56周期,相对于未经优化的结果减少了58.8%,机器人在执行操作任务的过程中由关节2引起的振动大大降低。优化前后,关节2速度曲线对比如图6所示。可以看到,仅仅在振动速度区间内,两者的规划结果存在差异,如图7和图8所示。从图中可以看到,经过优化后的关节2速度穿越振动速度区间的时间减少,降低了振动导致的任务执行偏差。而在振动速度区间外,经优化后的执行轨迹与优化之前的结果保持一致,保持了操作任务的执行精度。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

尽管本文较多地使用了任务输入模块、调整模块、轨迹规划单元、运动学求解单元等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1