1.AUTOPASS语言及其特征
靠对象物状态的变化给出大概的描述,把机器人的工作程序化语言称为对象级语言。AUTOPASS、LUMA、RAPT等都属于这一级语言。AUTOPASS是IBM公司下属的一个研究所提出来的机器人语言,它像给人的组装说明书一样,是针对所描述机器人操作的语言。程序把工作的全部规划分解成放置部件、插入部件等宏功能状态变化指令来描述。AUTOPASS的编译是用称作环境模型的数据库,边模拟工作执行时环境的变化边决定详细动作,作出对机器人的工作指令和数据。AUTOPASS的指令分成以下4组:
1)状态变更语句:PLACE、INSERT、EXTRACT、LIFT、LOWER、SLIDE、PUSH、ORIENT、TURN、GRASP、RELEASE、MOVE。
2)工具语句:OPERATE、CLUMP、LOAP、UNLOAD、FETCH、REPLACE、SWITCH、LOCK、UNLOCK。
3)紧固语句:ATTACH、DRIVE-IN、RIVET、FASTEN、UNFASTEN。
4)其他语句:VERIFY、OPEN-STATE-OF、CLOSED-STATE-OF、NAME、END。
例如对于PLACE的描述语法为
其中,<object>是对象名;<preposition phrase>表示ON或IN那样的对象物间的关系;<grasping phrase>是提供对象物的位置和姿态、抓取方式等;<constraint phrase>是末端操作器的位置、方向、力、时间、速度、加速度等约束条件的描述选择;<then hold>是指令机器人保持现有位置。下面是AUTOPASS程序示例。从中可以看出,这种程序的描述易懂,但是在技术上仍有很多问题没有解决。
1)OPERATE nutfeeder WITH car-ret-tab-nut AT fixture.nest。
2)PLACE bracket IN fixture SUCH THAT bracket.bottom。
3)PLACE interlock ON bracket RUCH THAT Interlock.hole IS ALIGNED WITH brack-et.top。
4)DRIVE IN car-ret-intlk-stud INTO car-ret-tab-nut AT interlock.hole。
SUCH THAT TORQUE is EQ12.0 IN-LBS USING-air-driver ATTACHING bracket AND inter-lock。
5)NAME bracket interlock car-ret-intlk-stud car-ret-tab-nut ASSEMBLY support-bracket。
2.RAPT语言及其特征
RAPT语言是英国爱丁堡大学开发的实验用机器人语言,它的语法基础来源于著名的数控语言APT。
RAPT语言可以详细地描述对象物的状态和各对象物之间的关系,能指定一些动作来实现各种结合关系,还能自动计算出机器人手臂为了实现操作的动作参数。由此可见,RAPT语言是一种典型的对象级语言。
RAPT语言中,对象物可以用一些特定的面来描述,这些特定的面是由平面、直线、点等基本元素定义的。如果物体上有孔或突起物,那么在描述对象物时要明确说明,此外还要说明各个组成面之间的关系(平行、相交)及两个对象物之间的关系。如果能给出基准坐标系、对象物坐标系、各组成面坐标系的定义及各坐标系之间的变换公式,则RAPT语言能够自动计算出使对象物结合起来所必需的动作参数,这是RAPT语言的一大特征。
为了简便起见,我们讨论的物体只限于平面、圆孔和圆柱,操作内容只限于把两个物体装配起来。假设要组装的部件都是由数控机床加工出来的,具有某种通用性,部件可以由下面这种程序块来描述:
(www.xing528.com)
其中,部件名采用数控机床的APT语言中使用的符号;说明部分可以用APT语言来说明,也可以用平面、轴、孔、点、线、圆等部件的特征来说明。
平面的描述有下面两种:
FACE/<线>,<方向>;
FACE/HORIZONTAL<Z轴的坐标值>,<方向>。
其中,第一种形式用于描述与Z轴平行的平面,<线>是由2个<点>定义的,也可以用1个<点>和与某个<线>平行或垂直的关系来定义,而<点>则用(x,y,z)坐标值给出;<方向>是指平面的法线方向,法线方向总是指向物体外部。描述法线方向的符号有XLARGE、XSMALL和YSMALL。例如XLARGE表示在含有<线>并与XY平面垂直的平面中,取其法线矢量在X轴上的分量与X轴正方向一致的平面,那么给定一个<线>和一个法线矢量,就可以确定一个平面。第二种形式用来描述与Z轴垂直的平面与Z轴相交点的坐标值,其法线矢量的方向用ZLARGE或ZSMALL来表示。
轴和孔也有类似的描述:
表示一个轴线与Z轴平行的圆孔,圆孔的大小与位置由<圆>指定,其外向方向由<方向>指定(ZLARGE或ZSMALL)。
与Z轴垂直的孔则用下述语句表示:
由上面一些基本元素可以定义部件,并给它起个名字。部件一旦被定义,它就和基本元素一样,可以独立地或与其他元素结合,再定义新的部件。被定义的部件,只要改变其数值,便可以描述同类型的、不同尺寸的部件。因此,这种定义方法具有通用性,在软件中称为可扩展性。
例如一个具有两个孔的立方体(见图4-56),可以用下面的程序来定义:
程序中,BLOCK代表部件类型,它有5个参数。其中,B为部件代号,X、Y、Z分别为空间坐标值,R为孔半径。这里取立方体的一个顶点P1为坐标原点,两孔半径相同。因此,X、Y、Z也表示立方体的3个边长。只要代入适当的参数,这个程序就可以当做一个指令被调用。例如如图4-56所示的两个立方体,可用下面语句来描述:
图4-56 尺寸不同的两个同类部件
a)部件一 b)部件二
显然,这种定义部件的方法简单、通用,它使语言具有良好的可扩充性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。