当前位置: 代码迷 >> 综合 >> 机器人“嘚瑟”怎么办?用加速度指令“hold”住它!
  详细解决方案

机器人“嘚瑟”怎么办?用加速度指令“hold”住它!

热度:8   发布时间:2024-01-14 10:12:23.0

ABB机器人的加速度设定详解

上一次的文章我们已经分享了如何针对当前的应用场景选择合适的运动指令,从而获得最快的生产节拍或者确定的机器人运动路径。其实运动指令只是影响机器人最终运动效果的要素之一,与之相关的还有一个比较重要的控制参数(或者说指令)——加速度。我们知道,一个物体由静止状态到运动状态、从运动状态到静止状态或者从上一运动状态到达下一运动状态肯定会存在一个速度的变化,而加速度正是描述或者说是控制速度变化快慢的一个参数。影响速度变化的快慢自然就会影响机器人的速度,影响速度变化的快慢也会影响运动物体(机器人)的“稳定”程度。这一次,我们就一起来看一下如何用加速度指令来“hold”住机器人。

加速度指令是独立于机器人的运动指令的,设置加速度有专门的加速度设置指令,设置合适的加速度大小可以使机器人的运动更加平稳,机器人应用都需要设置或大或小的加速度,下面就来看一下ABB机器人为我们提供的几条加速度指令。

AccSet

AccSet(Acceleration Set)用于搬运易碎品或减轻振动和路径误差。它能放慢加减速的增减率(也就是能减小在使用该指令之前的机器人原有的加速度),从而让机器人的运动更加平顺。

AccSet有两个常用的参数:

Acc:设置指令控制下的机器人加速度占原先未使用该指令时机器人加速度的百分比。

参数最大值是100%,也就是与原先机器人的加速度相同,参数最小值是20%,也就是占原先机器人加速度的1/5。如果我们设置该参数的值小于最小值也就是小于20%时,机器人也是会按照最小值20%去执行的。

Ramp:设置指令控制下机器人达到设定的最大加速度所需的时间,Ramp的最大值也是100%,相当于未使用,但最小值与Acc不同,最小值可以到10%。当该值设为最小值10%时,机器人到达最大加速度所需要的时间将会是未使用该指令时的10倍。同样如果该值的设定小于最小值10%时,机器人也还是会按照10%的效果去执行的。

下面举个例子:

AccSet 50, 100;

最大加速度设为原先的一半,到达最大加速度所需的时间不变。

AccSet 100, 50;

最大加速度不变,到达最大加速度所需的时间是原先的两倍。

看到这里,我们发现AccSet指令只是一个相对加速度设定指令,不管它的值是多少,它总是需要参照原先机器人已有的加速度来改变影响机器人现在的加速度。那么做一个极端的假设,如果原先的机器人的加速度是无穷大(也就是机器人从静止状态到达运动指令所设定的速度所需时间趋近于零)时,这个AccSet的值是不是设多少也没啥效果了?嗯……这个小伙伴们可以自己思考琢磨一下。下面我们就接着来看一下ABB为我们提供的两条“货真价实”的绝对型加速度设定指令,它们是有确切单位的,指令中设多少机器人就会按照指令中设定的多少来执行。

PathAccLim

PathAccLim(Path Acceleration Limitation)用于设置或重置沿运动路径的TCP加速度。“TCP”是这里需要注意的地方,如果机器人的TCP建立的不准的话,这条指令是不准的。直线运动的加速度控制方向自然就是沿着运动直线的方向,圆弧路径的加速度方向其实是与曲线速度方向的定义是一致的,是某一点的圆弧路径的切线方向。加速度与速度同向,则机器人做加速运动,反向则做减速运动。

PathAccLim指令也有两个参数,一个是AccLim,用于设定加速运动时加速度的值,另一个是DecelLim,用于设定减速运动时加速度的值。他们的单位都是“m/s 2”。通常情况下,加速度与减速度建议对称设置,也就是两个参数设置成相同的值。

下面举个例子。

PathAccLim TRUE \AccMax := 4, TRUE \DecelMax := 4;

将机器人的TCP加速加速度设为4 m/s 2,减速加速度设为4 m/s 2。

PathAccLim FALSE, FALSE;

将机器人TCP的加速度与减速度重置为默认。

对于5.X的机器人,PathAccLim的最小值是0.5,对于6.X的机器人PathAccLim的最小值是0.1。

嗯,看到这里想必小伙伴们已经明白这个指令的作用了,下面放2张动图,加深理解。

当没用使用PathAccLim时的机器人线性运动的效果

当PathAccLim值设为0.5 m/s 2时的效果。

不过加速度毕竟不是速度,只有将加速度的属性转换成速度属性才能便于我们去理解与使用,那么下面我们接着来复习一下中学物理所学的有关速度的计算公式吧。

1、平均速度:V=s/t  

平均速度等于路程除时间。

2、中间时刻速度:Vt/2=V平=(Vt+Vo)/2

中间时刻速度等于最大速度的一半等于平均速度等于初始速度与最终速度和的一半。

3、最终速度:Vt=Vo+at

最终速度等于初始速度加时间与加速度乘积的和。

4、加速度:a=(Vt-Vo)/t {以Vo为正方向,a与Vo同向(加速)a>0;反向则a<0}

加速度等于最终速度与初始速度的差除以时间。

以公式3为例,我们可以用这个来求机器人两点之间运动时所需要的时间,或者所需加速度,或者所需的最终速度等等。

TCP的加速度控制我们已经掌握了,但是有的小伙伴可能会想,机器人在很多种情况下都是只做重定位运动的,那用PathAccLim指令岂不是不管用?不慌,我们接着往下看。

WorldAccLim

WorldAccLim(World Acceleration Limitation)用于限制坐标系中工具(和有效负载)的加速度。这个指令不仅仅作用于TCP,所以它对重定位加速度的限定也起作用。

WorldAccLim指令的参数更为简洁,只有ON与OFF两个参数。下面来看几个例子。

WorldAccLim \On := 3.5;

加速度/减速度被限制在3.5 m/s 2 。

WorldAccLim \Off;

加速度/减速度被重置为最大值(默认值)。

WorldAccLim指令所允许的最小值为0.1 m/s 2 。

下图为不使用WorldAccLim指令机器人重定位时的效果

下图为WorldAccLim的值设置为0.5时的效果。

需要注意的是,WorldAccLim指令并不适用于所有型号的ABB机器人,比如常用于焊接的1410。除1410以外,IRB 340, IRB 360, IRB 540, IRB 1400也不支持该指令。

? 第一根据WorldAccLim

? 第二根据AccSet

? 第三根据PathAccLim

下面还用最后一个知识点,就是当上面三条运动指令同时在机器人中出现时,指令执行的优先级。

好了,这次的分享就到这里。如果本文对你有帮助或者启发,那就动动你可爱的小手点下在看或者转发到朋友圈吧,让它帮助启发更多的人。

文章首发微信公众号自动化生产之家