数据型式

AL一样,ASRL也是用被固定在对象上的多个直角坐标系及其相互关系来统一描述由机器人及对象物所组成的作业环境。图5.23是被设定在作业环境中的坐标系举例。world是固定

捕获.JPG

在作业空间的基准直角坐标系。hand、block等是固定于机器人的手和积木上的直角坐标系。对于world基准坐标系,用hand坐标系的原点位置矢量来表示作业空间内手的位置。姿势用hand坐标系相对于world坐标系的回转短阵来表示、本章所考虑的假想机器人的姿势,被限制为只绕垂直轴回转。但在以下的描述中,我们先考虑一下一般的回转。关于这种情况的对象物的位置和姿势的表现,也采用同样的考虑方法。

用程序来描述机器人操作环境时,除整数型、实数型的数据之外,事先备有一些SCALAR,VECTOR,ROTATION,COOR

DINATE,TRANSFORM等标准数据型式是便利的。

SCALAR是表示一般数量的数据型式。在AL中,对SCALAR型的数据,要说明有关的维数或单位,但ASRL·中,没有组合进维数与单位的概念

VECTOR是表示三维空间矢量的数据型式。这种型式的数据,是用以三个SCALAR型数据为变量的函数VECT定义的。例如:关于基准坐标系,其单位矢量定义如下:其中表示代入的意思。

xhatVECT(1,0,0);

yhat—VECT(0,1,0);

zhat-VECT(0,0,1);

ROTATION是表示回转的数据型式。任意的回转均可用表示回转轴的矢量和绕该轴的回转角来表示。ROTATION型的数据,由包含这两个变量的函数ROT来定义。若xhat绕zhat轴回转90°,则变成yhat。例如,这种关系可写成下列形式:

yhat—ROT(zhat,90)*xhat;

作为从ROTATION型的数据求其回转轴和回转角的函数,备有AXIS(r)ANGLE(r)

cOORDINATE是表示坐标系的数据型式。坐标系根据原点的位置矢量和对于基准坐标系的回转来决定。图5.23所示的hand坐标系的原点在(x₁,y₁,#1),其姿势绕zhat轴回转α时

hand值可以用取回转及矢量为变量的函数COORD定义如下:

handCOORD(ROT(zhat,α),VECT(x₁,yi,z₁));

TRANSFORM是表示关于坐标系和矢量的坐标变换的数据型式。这种型式的数据也和坐标系一样,由回转分量及并进矢量

分量所组成。可用以它们为变量的函数TRANS(r,v)来定义,t1-TRANS(ROT(xhat,45),3*zhat);

对矢量和坐标系乘上TRANSFORM型的数据,表示坐标变换,例

如在

y1-t1*yhat;

yhatxhat回转45°后,在zhat方向上,平行移动+3。因此,v1的值变成(0,0.71,3.71)。关于坐标系的变换也可以同样处理。再有,函数INV(t)表示:的逆变换。若用程序来描述图

5.23所示的环境的话,则可以表示如下:

SCALARwidtb,depth,height,#1,y₁>x₁sα;VECTORxhat,yhat,zhat;

c00RDINATEhand,block,block-grasp,block-top;handC0ORD(ROT(zhat,α),VECT(x₁,y₁,z₁));

block-C00RD(ROT(zhat,135),VECT(200,40,0));

block-grasp←block+VECT(width/2,depth/2,height/2);blocketop+block+VECT(0,0,height);

这里,关于C0ORDINATE型变量和VECTOR型变量的求和运算,可考虑先进行这样一种操作,即把VECTOR型变量的值加COORDINATE型变量的位置分量上。


随便看看