机器人的运动是由机器人的运动指令来控制的,运动指令决定了该条运动语句的性质以及机器人在进行运动规划时规划的思路。咱么平常接触的运动指令共有四条,这四条是机器人当中的基本运动指令,其它的复合运动指令也是基于这四条指令而创建的,下面就一起来看一下四条运动指令的含义与优点缺点,以及在规划机器人运动轨迹时该如何选择合适的运动指令。
MoveJ指令:
MoveJ指令代表机器人的点到点运动,而且是单纯的点到点运动,即机器人从上一位置通过该MoveJ指令运动的时候机器人在这两点间的运动轨迹是不确定的,只要机器人的轴配置可以达到,机器人就可以执行这条运动指令。我们在规划机器人运动指令时优先就应该采用这条指令,原因是这条指令由于对机器人的运行轨迹没有要求,机器人可以在力所能及(轴配置正确)的范围内自行规划自己的运行轨迹,机器人就可以以自己最舒适的方式来运动,从而该指令所使用的运行时间是最少的,因为运行时间少,生产所需时间就可以减少,从而提高生产节拍。但该指令还有一个缺点就是机器人运行路径不确定,在一些对路径有要求的场合不适用该指令。
常用场景:MoveJ指令常作为目标点之间的过渡点来使用。
MoveL指令:
上面已经提过了,使用MoveJ虽然耗时少,但机器人的运动路径不确定,那么在一些需要确认的机器人路径的地方,比如空间狭小的目标点之间的过渡点,机器人取放件的目标点等就需要MoveL指令,MoveL指令强制机器人从上一位置到当前运动指令所在位置的中间运动轨迹是一条直线,那么我们知道,两点确定一条直线,且这条直线是唯一的,所以机器人的运动路径就是确认的,可控的。路径可控是这条指令的优点,那么这条指令的缺点也是显而易见的,因为强制限制了机器人的运行轨迹,且轨迹之间的过度必须为直线,这就致使有些机器人使用MoveJ可以走到的地方用MoveL就走不到。其实用MoveL走不到目标点的情况我们在现场调试过程中是会经常遇到的,当遇到这种情况时如果我们将MoveL转换为MoveJ时路径有风险,那么剩下的解决办法就只有继续使用MoveL指令,但是在起始点与目标点之间在用MoveL增加几个合适的过渡点。限制了机器人的“能力”是这条指令的缺点之一,这条指令还有一个缺点就是同样位置的运动时间会比MoveJ长,因为它不让机器人“抄近道”。所以咱们在平时的调试中为了减少过渡点,提高生产节拍MoveL指令要尽量少用。
常用场景:MoveL常用于机器人取放件的目标点。
MoveC指令:
MoveC指令是ABB机器人的圆弧运动指令,该指令可以运用一个目标点和一个过渡点与机器人的上一条运动指令的终点组合使机器人走圆弧轨迹。这条指令的特点与MoveL其实很相似,同样都是限制了机器人的运动轨迹,在获得机器人确定的运动轨迹的同时耗费一些时间。这个指令一般也很少使用。除非真的需要机器人走圆弧路径。
常用
场景:MoveC常用于机器人做圆弧运动。
MoveAbsJ指令:
MoveAbsJ指令依据的位置数据是机器人各个轴的关节角度,这条指令的本质与上面谈过的三个“Move家族”指令截然不同,“Move家族”是基于坐标系与TCP坐标值来确定机器人的位置,同样的坐标系,不同的TCP坐标值,机器人的位置不同,同样的TCP坐标值,不同的坐标系机器人的位置也会不同。而MoveAbsJ只是依据机器人的轴的角度来确定位置,那么可以认为,当机器人确定的时候,无论机器人使用的是那个TCP,那个坐标系,在使用MoveAbsJ指令的情况下,机器人的目标位置是唯一确定不变的。那么这条指令真的是使机器人完全得到了“放肆”,使用该指令时只要该点在机器人的轴范围内,没有机器人到达不了的位置,包括“奇异点”,没错包括“奇异点”。但使用这个指令所获得的机器人轨迹是这几个运动指令中最最不确定的。所以这条指令也尽量少用。
常用场景:机器人Home点,特殊目标位置的过度点。
好了,这次的分享就到这里。如果本文对你有帮助或者启发,那就动动你可爱的小手点下在看或者转发到朋友圈吧,让它帮助启发更多的人。
文章首发微信公众号自动化生产之家