问题 - 机器人 - ABB 运动失控问题及解决方法
ABB 运动失控问题及解决方法
问题情景
在使用ABB进行抓取移动时,使用了视觉软件进行位置纠偏,ABB按照纠偏坐标进行移动;一般情况机器人照常运作,当更位置,ABB移动发生了失控。
问题原因
ABB数据类型
ABB机器人移动坐标使用数据 robtarget 数据类型,此数据类型由4部分组成:
具体意义如下:
- 数据类型:pos
trans (translation)
用mm来表示工具中心点的位置(x、y和z)。 - 数据类型:orient
rot (rotation)
工具方位以四元数的形式表示(q1、q2、q3和q4)。 - 数据类型:confdata
robconf (robot configuration)
机器人的轴配置(cf1、cf4、cf6和cfx)。对于关节式机器人来说,以轴1、轴4 和轴6当前四分之一旋转的形式进行定义。cfx组件的含义取决于机器人类型。 - 数据类型:extjoint
extan (external axes)
附加轴的位置。
各单独轴(eax_a,eax_b … eax_f) 的位置定义如下:
– 对于旋转轴,其位置定义为从校准位置起旋转的度数。
– 对于线性轴,其位置定义为与校准位置的距离(以mm计)。
3D相机数据类型
ABB使用socket接收ALSON 3D视觉软件发出的纠偏坐标,具体数据结构如下:
ABB轴配置原理
机器人中的2轴、3轴、5轴属于摆动轴,机器人中的1轴、4轴、6轴属于旋转轴。对于6轴机器人,象限0为从零位开始正向旋转的第一个四分之一圈,即0°到90°;象限1为第二个四分之一圈,即90°到180°,以此类推。象限-1为0°到(-90°)的四分
之一圈,以此类推。
VAR confdata conf15 := [1, -1, 0, 0]
有关一种机械臂类型的机械臂配置conf15定义如下:
- 机械臂轴1的轴配置为象限1,即 90 ~ 180º
- 机械臂轴4的轴配置为象限-1,即 0 ~ -90º
- 机械臂轴6的轴配置为象限0,即 0 ~ 90º
- 机械臂轴5的轴配置为象限0,即 0 ~ 90º
数据类型比较
将ABB与ALSON 3D软件发送数据进行比较,经过比较可以发现返回数据8~11中没有轴配置信息,因此ABB运动发生不可控的旋转。
解决方法
(方法一)关闭轴配置
ConfL \Off;
ConfL \On;
(方法二)合并数据
recive{i}. robconf.cf1 = source{i}. robconf.cf1
recive{i}. robconf.cf4 = source{i}. robconf.cf4
recive{i}. robconf.cf6 = source{i}. robconf.cf6
recive{i}. robconf.cfx = source{i}. robconf.cfx
其他
- MoveL:机械臂沿直线运动,以恒定速率执行不协调的外轴运动,从而使其与机械臂轴同时到达目的点,形成一条直线。
- MoveJ:通过关节运动,各轴均以恒定轴速率运动, 且所有轴均同时达到目的点,其形成一条非线性路径。
不同运动策略在轴配置缺省情况下表现也均不一样。