一种机械臂及其控制系统与方法与流程

文档序号:14850936发布日期:2018-07-03 22:55阅读:213来源:国知局
一种机械臂及其控制系统与方法与流程

本发明涉及工业机器人技术领域,特别涉及一种机械臂及其控制系统与方法。



背景技术:

随着机器人技术在近半个世纪来的迅速发展,越来越多的机器人在各领域中得到广泛的应用,机器人技术已成为国际公认的战略前沿技术。机器人在运行过程中,需要有可靠的能量供给,而在能源紧缺的21世纪,如何有效地使用有限的能源能量,延长机器人的运行时间变得至关重要。

针对机器人运动控制方面的耗能研究很少,尤其机械臂在运动过程中反复转动各关节角度,能量损耗较大,因此深入研究机器人运动控制与能量消耗之间的关系是必要而实用的。

发明专利申请号201080045058.8的《用于减少工业机器人的能量消耗的方法和工业机器人系统》中的发明是本发明涉及一种用于减少工业机器人的能量消耗的方法,该工业机器人包括具有可相对于彼此绕多个轴移动的多个臂的操纵器。所述工业机器人被配置为在工作周期期间执行工作,并包括具有可相对于彼此绕多个轴移动的多个臂和用于对轴的移动进行致动的电动机的操纵器。在工作周期的至少一部分期间,关于使机器人的能量消耗最小化确定在机器人遵循指定几何路径时用于机器人的轴的速度分布,并确定轴在静止不动期间是否应被机械地锁定以便减少能量消耗。该专利申请的缺点是没有考虑到机器人运动控制中的能耗问题,多关节机器人在关节控制时消耗了较多的能量,且电机能耗较大。



技术实现要素:

本发明的目的是提供一种机械臂及其控制系统与方法,可以降低机械臂运行所需的能量,使得机械臂在各个运动姿态中通过关节转角与速度协调减少能量损耗。

为实现上述目的,本发明提供一种用于机械臂的控制方法,包括:

控制全部关节控制器同时启动,进入加速阶段;

经过第一预设时间后,控制全部所述关节控制器以各自当前速度运行,进入匀速运行阶段;

经过第二预设时间后,控制全部所述关节控制器进行减速阶段,并在第三预设时间段内全部减速为零。

基于机械臂在运动过程中需要反复转动各关节,能量损耗较大,本发明所提出的机械臂控制方法,使得机械臂工作过程中的能量消耗降低,其核心在于梯形升降速控制方法,通过设定关节控制器各运动阶段的时间参数,减小关节控制器的能耗,解决了机械臂能量消耗最小化的问题。通过采用梯形升降速控制方法,使得机器臂在各个运动姿态中通过关节转角与速度协调减少能量损耗,且机械臂的可控速度范围大,控制灵活,同时也提升了关节控制器的可用寿命。

优选地,所述控制全部关节控制器同时启动,进入加速阶段具体为:

计算在加速阶段内的每一个插补周期结束时刻,所需旋转角度最大的关节所对应的所述关节控制器的运行速度;

根据全部所述运行速度计算得到全部插补周期结束时刻所需旋转角度最大的关节的旋转角度;

根据全部所述旋转速度计算得到全部所述关节控制器在每一个插补周期内的脉冲个数。

优选地,所述计算在加速阶段内的每一个插补周期结束时刻,所需旋转角度最大的关节所对应的所述关节控制器的运行速度具体为:

计算所需旋转角度最大的关节所对应的所述关节控制器在每一个插补周期结束时刻的运行速度vn1;

其中:vn1=((vm-v0)×tn1)/t1+v0,vm为所需旋转角度最大的所述关节所对应的所述控制器的最大运行速度,v0为所需旋转角度最大的所述关节所对应的所述控制器的初始运行速度,tn1为不同插补周期的结束时刻,t1为所述加速阶段的时长。

优选地,所述根据全部所述运行速度计算得到全部插补周期结束时刻所需旋转角度最大的关节的旋转角度具体为:

根据公式:

计算在每一个插补周期结束时刻,所需旋转角度最大的关节的旋转角度θn1,其中:vm为所需旋转角度最大的所述关节所对应的所述控制器的最大运行速度,v0为所需旋转角度最大的所述关节所对应的所述控制器的初始运行速度,tn1为不同插补周期的结束时刻,t1为所述加速阶段的时长。

优选地,所述根据全部所述旋转速度计算得到全部所述关节控制器在每一个插补周期内的脉冲个数具体为:

根据公式:

pn1=θn1/δm

计算在每一个插补周期内,所需旋转角度最大的关节所对应的所述关节控制器应接收到的脉冲个数pn1,其中:θn1为在每一个插补周期结束时刻,所需旋转角度最大的关节的旋转角度,δm为所需旋转角度最大的关节的脉冲当量;

根据所需旋转角度最大的关节所对应的所述关节控制器应接收到的脉冲个数pn1与其他关节所对应的所述关节控制器应接收到的脉冲个数pni之间的比例数k,计算得到在每一个插补周期内,全部所述关节控制器应接收到的脉冲个数pni。

本发明还提供一种用于机械臂的控制系统,包括:

加速阶段控制模块:用于控制全部关节控制器同时启动,进入加速阶段;

匀速阶段控制模块:用于经过第一预设时间后,控制全部所述关节控制器以各自当前速度运行,进入匀速运行阶段;

减速阶段控制模块:用于经过第二预设时间后,控制全部所述关节控制器进行减速阶段,并在第三预设时间段内全部减速为零。

优选地,所述加速阶段控制模块包括:

运行速度计算单元:用于计算在加速阶段内的每一个插补周期结束时刻,所需旋转角度最大的关节所对应的所述关节控制器的运行速度;

旋转角度计算单元:用于根据全部所述运行速度计算得到全部插补周期结束时刻所需旋转角度最大的关节的旋转角度;

脉冲个数计算单元:用于根据全部所述旋转速度计算得到全部所述关节控制器在每一个插补周期内的脉冲个数。

本发明还提供一种机械臂,包括如上述的控制系统。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的用于机械臂的控制方法的流程图;

图2为机械臂关节协调控制过程的流程图;

图3为梯形升降速控制方法;

图4为本发明实施例所提供的用于机械臂的控制系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

请参考图1至图4,图1为本发明实施例所提供的用于机械臂的控制方法的流程图;图2为机械臂关节协调控制过程的流程图;图3为梯形升降速控制方法;图4为本发明实施例所提供的用于机械臂的控制系统的结构框图。

本发明提供的一种用于机械臂的控制方法,如说明书附图1所示,主要包括:

s1、控制全部关节控制器同时启动,进入加速阶段;

s2、经过第一预设时间后,控制全部所述关节控制器以各自当前速度运行,进入匀速运行阶段;

s3、经过第二预设时间后,控制全部所述关节控制器进行减速阶段,并在第三预设时间段内全部减速为零。

基于机械臂在运动过程中需要反复转动各关节,能量损耗较大,本发明所提出的机械臂控制方法,使得机械臂工作过程中的能量消耗降低,其核心在于梯形升降速控制方法,通过设定伺服电机各运动阶段的时间参数,减小伺服电机的能耗,解决了机械臂能量消耗最小化的问题。

要实现机械臂的多关节协调控制,就必须根据机械臂的关节运动轨迹来求解出各个关节的转角角度。为了能够得到稳定的机械臂的关节运动轨迹,使用基于曲线拟合的方法来生成机械臂关节运动轨迹,让机械臂自主搜索良好的运动轨迹。在得到机械臂关节运动轨迹的基础上,利用机械臂逆运动学计算来求解各关节的转角角度,即机械臂各个姿态的关节角度,进而对各个关节运动进行协调控制。由于经机械臂逆运动学求解出的是各个关节的转角角度,并且关节控制器采用的是伺服电机,因此要实现机械臂的多关节协调控制还必须对这些角度进行插补,将插补结果送入位置伺服控制系统,控制伺服电机转动,附图2为机械臂关节协调控制过程。

结合附图3可知,在0~t1时间段内为加速阶段,在t1~t2时间段内为匀速运行阶段,在t2~t时间段内为减速阶段;其中,0~t1时间段也即第一预设时间,t1~t2时间段也即第二预设时间,t2~t时间段也即第三预设时间。v1~vn分别代表了n个关节的运行速度。

假设机器臂共有n个关节,每个关节均采用伺服电机作为关节控制器。由于各个关节在其运动过程中的作用及其内部结构不同,各个关节所允许的最大速度、最大加速度也就不同。多关节协调控制就是要求这n个伺服电机在时间[0,t1]内,n个驱动关节运动的伺服电机以不同的加速度同时启动;在时间[t1,t2]内,同时进入稳定状态;在时间[t2,t]内,又同时进入减速阶段,到达时间t时(t为机器臂从一个姿态到另一个姿态的时间),n个伺服电机同时停止,整体呈现出一种加速上升、匀速运动、减速下降的运动过程,即每个关节的运动速度曲线均为梯形升降速速度曲线。在这里,机器臂的全部关节均同时启动与同时停止,否则机器臂无法按照预设轨迹运行;也即上述步骤s1至步骤s3所执行的全部过程。

针对说明书附图3所示的梯形升降控制法,其示出了各个关节的速度随时间的变化,然而各个关节的速度随时间的变化是基于各自所对应的关节控制器的运动变化而来,因此可以将附图3看成是各个关节所分别对应的关节控制器的运动变化趋势。

为了实现这一目的,就必须保证对各个关节角度的插补结果是协调的。具体来说,上述步骤s1具体为:

计算在加速阶段内的每一个插补周期结束时刻,所需旋转角度最大的关节所对应的所述关节控制器的运行速度;

根据全部所述运行速度计算得到全部插补周期结束时刻所需旋转角度最大的关节的旋转角度;

根据全部所述旋转速度计算得到全部所述关节控制器在每一个插补周期内的脉冲个数。

其中,每一个插补周期的时长固定,其具体时长可以根据实际需要而定,当时长确定后,将加速阶段[0,t1]分割为若干个插补周期;机械臂中所需旋转角度最大的关节需要首先运行;本文中需要首先计算在加速阶段内的每一个插补周期结束时刻,所需旋转角度最大的关节所对应的所述关节控制器的运行速度,这一过程包括:

计算所需旋转角度最大的关节所对应的所述关节控制器在每一个插补周期结束时刻的运行速度vn1;

其中:vn1=((vm-v0)×tn1)/t1+v0,vm为所需旋转角度最大的所述关节所对应的所述控制器的最大运行速度,v0为所需旋转角度最大的所述关节所对应的所述控制器的初始运行速度,tn1为不同插补周期的结束时刻,t1为所述加速阶段的时长。

而后执行“根据全部所述运行速度计算得到全部插补周期结束时刻所需旋转角度最大的关节的旋转角度”这一步骤,具体为:

根据公式:

计算在每一个插补周期结束时刻,所需旋转角度最大的关节的旋转角度θn1,其中:vm为所需旋转角度最大的所述关节所对应的所述控制器的最大运行速度,v0为所需旋转角度最大的所述关节所对应的所述控制器的初始运行速度,tn1为不同插补周期的结束时刻,t1为所述加速阶段的时长。

最后执行“根据全部所述旋转速度计算得到全部所述关节控制器在每一个插补周期内的脉冲个数”,具体为:

根据公式:

pn1=θn1/δm

计算在每一个插补周期内,所需旋转角度最大的关节所对应的所述关节控制器应接收到的脉冲个数pn1,其中:θn1为在每一个插补周期结束时刻,所需旋转角度最大的关节的旋转角度,δm为所需旋转角度最大的关节的脉冲当量;

根据所需旋转角度最大的关节所对应的所述关节控制器应接收到的脉冲个数pn1与其他关节所对应的所述关节控制器应接收到的脉冲个数pni之间的比例数k,计算得到在每一个插补周期内,全部所述关节控制器应接收到的脉冲个数pni。

也即,本申请可以将各个关节所允许的最大加速度作为各个关节的加速度,将机器臂从一个运动姿态到另一个运动姿态的时间[0,t]作为各个关节进行插补的总时间,且在时间[0,t]内关节转角为θ。首先,对脉冲总数最大的那个关节先进行插补(脉冲总数=某关节转角角度/该关节脉冲当量),然后用这个关节的插补结果去乘以各关节脉冲总数之间的比例,从而得到剩余关节的插补结果,这样不但可以实现各个关节同时启动、同时停止,而且各个关节在每一个插补周期内的转角角度也都是协调的。这里对于脉冲总数最大的那个关节进行插补时,采用梯形升降速控制方法,也即附图3所示。梯形升降速控制方法的速度曲线由加速段、匀速段和减速段组成,设脉冲总数最大的关节(所需旋转角度最大的关节vn)在匀速段的稳定速度为vm。

具体来说,针对脉冲总数最大的关节(所需旋转角度最大的关节)来说,假设在时间[0,t]内的关节转角角度为θ,则在时间[0,t1]内的速度曲线方程为:

v=at+b(1)

满足边界条件:

根据边界条件,可以计算出梯形升降速曲线中的参数值:

由式(1)~(3)可知速度曲线方程为:

其中,0≤t≤t1。

设该机器臂伺服控制系统的关节插补周期(即位控周期)为ta,则加速段的插补周期个数为t1/ta(单位:个),假设tn1为第一个插补周期结束的时间,即tn1=ta。则tn1时刻的速度vn1为:

则在时间[0,tn1]内(即第一个插补周期内),此关节所转角度为

同时θn1也是驱动此关节的伺服电机的输出轴转角。

假设脉冲总数最大的这个关节的脉冲当量为δm,则在加速段的第一个插补周期内的脉冲个数为:

pn1=θn1/δm(7)

根据上述方法,可以求解出脉冲总数最大的关节(所需旋转角度最大的关节)在剩余加速阶段、匀速阶段、减速阶段的插补周期内的脉冲个数,即完成了对此关节的插补。然后用这个关节的插补结果乘以各关节脉冲总数之间的比例数,得到其余关节的插补结果,将各个关节的插补结果送入位置伺服控制系统,控制伺服电机转动。这样所有的关节运动均由梯形升降速控制算法进行控制,且相互之间是协调的,实现了机器臂的多关节协调运动。其中,当各个关节所需旋转角度确定后,各个关节的脉冲总数之间的比例数也就确定下来,由此可知全部关节在加速阶段、匀速阶段、减速阶段的插补周期内的脉冲个数,从而降低机械臂运行所需的能量,使得机械臂在各个运动姿态中通过关节转角与速度协调减少能量损耗。

由于在机械臂的运动控制系统中往往采用伺服电机作为关节驱动器,运动控制系统会随着伺服电机的功率耗散而升温,并且伺服电机在工作过程中将电能转换为机械能来驱使关节运动时产生了热损耗,消耗了机器臂的大部分能量。为了使机器人能量消耗最小,就必须要求伺服电机功率耗散达到最小,也要考虑伺服电机升温最小化。

假设机器臂的一个机械负载的组成为负载惯量jl、旋转力矩tl,伺服电机旋转的弧度为θ,即机器臂关节转角为θ,且运行时间为t,t由关节的运动速度来决定。驱动关节运动的伺服电机的速度曲线必须满足使电机在t秒内旋转θ弧度的要求,因此:

为了完成转动,伺服电机还要产生一个力矩函数:

其中,tf是由旋转力矩tl产生的一个反应值,且j为伺服电机的总转动惯量。力矩tg由电流i产生:

i=tg/km(10)

其中:km为伺服电机的力矩常数;最后在伺服电机电枢中的电流产生的功率耗散为i2r,则伺服电机在时间[0,t]内的能量消耗为:

分析结果表明,伺服电机的能耗受电机各运动阶段的时间参数的影响很大,但用来控制机器臂关节协调运动的传统的升降速控制算法并未考虑时间参数对电机能耗的影响,使伺服电机能量消耗较多,导致以伺服电机作为关节驱动器的机器臂在关节协调控制时也消耗了较多的能量。因此需要通过对伺服电机进行耗能分析来改进梯形升降速控制算法,合理设定伺服电机各运动阶段的时间参数,减小伺服电机的能耗,使机器臂在关节控制中的能量消耗达到最小。

机械臂的能量消耗最小,就是在关节协调控制过程中要求伺服电机的平均热损耗最小。因此把机器臂关节运动控制系统中的能量最小消耗定义为伺服电机功率耗散最小或电机升温最小。由于关节协调控制中运用了梯形升降速速度曲线,且根据对伺服电机在时间[0,t]内的能量消耗e中的三个积分项的分析可知,机器臂在关节控制中的能量消耗最小即在控制过程中伺服电机的平均热损耗最小,就是使伺服电机的能量消耗e中的第一个积分项最小,忽略第二、第三积分项。由此得到梯形升降速算法的能量函数为:

其中:m=2/t1(t-t1)2为耗能系数。分析式(12),梯形升降速算法的能量函数为一元函数,只与耗能系数有关,即只与时间参数t1有关,其中r、j、km、θ、t均为机器臂关节控制系统中的系统参数。因此要想得到该能量函数的最小值,只需通过改进梯形升降速算法来合理设定伺服电机各运动阶段的时间参数即可。

本发明还提供一种用于机械臂的控制系统,如说明书附图4所示,主要包括:

加速阶段控制模块101:用于控制全部关节控制器同时启动,进入加速阶段;

匀速阶段控制模块102:用于经过第一预设时间后,控制全部所述关节控制器以各自当前速度运行,进入匀速运行阶段;

减速阶段控制模块103:用于经过第二预设时间后,控制全部所述关节控制器进行减速阶段,并在第三预设时间段内全部减速为零。

其中,所述加速阶段控制模块101包括:

运行速度计算单元:用于计算在加速阶段内的每一个插补周期结束时刻,所需旋转角度最大的关节所对应的所述关节控制器的运行速度;

旋转角度计算单元:用于根据全部所述运行速度计算得到全部插补周期结束时刻所需旋转角度最大的关节的旋转角度;

脉冲个数计算单元:用于根据全部所述旋转速度计算得到全部所述关节控制器在每一个插补周期内的脉冲个数。

机械臂的控制系统可以参考上文所述的机械臂的控制方法对应理解,本文将不再赘述。

除此之外,本发明所提供的一种具有控制系统的机械臂,包括上述具体实施例所描述的控制系统;机械臂的其他部分可以参照现有技术,本文不再展开。

需要说明的是,在本说明书中,诸如第一和第二之类的关系术语仅仅用来将一个实体与另外几个实体区分开来,而不一定要求或者暗示这些实体之间存在任何这种实际的关系或者顺序。

以上对本发明所提供的机械臂及其控制系统与方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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