简介:一、ABB机器人奇异点定义 当机器人关节轴5角度为0度,同时关节轴4和关节轴6是一样时,则机器人处于奇异点。 利用无限量的机械臂配置可获得机械臂空间内的某些位置,以确定工具的位置和方位。但在基于工具的位置和方位计算机械臂角度时,这些位置,也就是熟知……
当机器人关节轴5角度为0度,同时关节轴4和关节轴6是一样时,则机器人处于奇异点。
利用无限量的机械臂配置可获得机械臂空间内的某些位置,以确定工具的位置和方位。但在基于工具的位置和方位计算机械臂角度时,这些位置,也就是熟知的奇异点,却成了一个问题。一般说来,机械臂有两类奇异点,臂奇异点和腕奇异点。
1、臂奇异点:臂奇异点就是腕中心(轴4、轴5和轴6的交点)正好直接位于轴1上方的所有配置。如下图所示:
2、腕奇异点:腕奇异点是指轴4和轴6处于同一条线上(即,轴5角度为0)的配置。如下图所示:
二、如何避免解决机器人出现奇异点
1、布局以及夹具设计
在进行工作站布局时候,要考虑机器人和各个设备之间的摆放布局位置,尽量考虑到机器人在工作过程当中,避免机器人经过奇异点;还可以在考虑机器人夹具在工作中对机器人姿态影响,进而避免奇异点。
如果已指定参数\Wrist,则对方位进行接头插补,以避免奇异点。在这种情况下,TCP遵循正确的路径,但是工具方位会稍微偏离。当未通过奇异点时,亦将出现上述情况。
2、SingArea指令
在编程时,也可以使用SingArea这个指令去让机器人自动规划当前轨迹经过奇异点时的插补方式。如:
SingArea\Wrist:允许轻微改变工具的姿态,以便通过奇异点
SingArea\Off:关闭自动插补
(1)使用说明
SingArea用于定义机械臂如何在奇异点附近移动。SingArea亦用于定义关于拥有不到六个轴的机械臂的线性和圆周插补,在轴4锁定为0或+-180度的情况下,可编程六轴机械臂运行。本指令仅可用于主任务T_ROB1,或者如果在MultiMove系统中,则可用于运动任务中。
(2)可选变元:SingArea [\Wrist]|[\LockAxis4]|[\Off]
\Wrist :数据类型为switch,允许工具方位稍微偏离,以避免腕奇异点。其适用于轴4和轴6平行的情况(轴5为0度)。同时适用于拥有不到六个轴的机械臂的线性和圆周插补,其允许工具方位出现偏离。
\LockAxis4 :数据类型为switch,通过将轴4锁定在0或+-180度,可达到编程位置。如果当轴4位于0或+-180度时,未编程位置,则当前将获得不同的工具方位。如果轴4的起始位置偏离锁定位置2度以上,则第一次移动将表现为通过参数\Wrist来调用SingArea一般。
\Off :数据类型为switch,不允许工具方位出现偏离。当未通过奇异点,或不允许方位发生改变时,上述要求适用。如果未指定任何参数,则将系统设置为\Off。
(3)举例
例一:
SingArea \Wrist;
可略微改变工具方位,以通过奇异点(生产线中的轴4和轴6)。拥有不到六个轴的机械臂,可能无法达到插补的工具方位。通过使用SingArea\Wrist,机械臂可实现移动,但是工具方位将会略微改变。
例二:
SingArea \Off;
不允许工具方位偏离编程方位。如果通过奇异点,则一个或多个轴可实施彻底的移动,从而导致速率降低。拥有不到六个轴的机械臂可能无法达到编程的工具方位。因此,机械臂将停止。
例三:
SingArea \LockAxis4;
通过将轴4锁定在0或+-180度,可编程六轴机械臂运行,从而避免在轴5接近于零时的奇异点问题。通过将轴4锁定在0或+-180度,可达到编程位置。如果当轴4位于0或+-180度时,未编程位置,则当前将获得不同的工具方位。如果轴4的起始位置偏离锁定位置2度以上,则第一次移动将表现为通过参数\Wrist来调用SingArea一般。在所有后续移动中,轴4将保持锁定,直至执行新的SingArea指令。
文章来源,
工业机器人维修官网:www.zr-abb.com