一、AL语言概述
AL语言是斯坦福大学人工智能研究所在20世纪70年代中期开发的机器人语言。WAVE在此基础上开发也是在此基础上开发出来的,但它具有对象级编程语言的某些特点,用于作业。其结构和特点与它相似PASCAL语言可编译成实时控制机上的机器语言,具有实时编译语言的结构和特点,如同步操作、条件操作等。AL语言设计的原始目的是将多个机器人或机械手并行或协调控制编程与传感器信息反馈。 自动控制网www.eadianqi.com版权所有
运行VA语言的系统硬件环境包括主、从两级计算机控制,如图所示。PDP-10.主机内的管理器负责管理和协调各部分,编译器负责AL编译和检查语言指令,实时接口负责主机和从机器之间的接口连接,装载器负责分配程序。PDP-11/45。 本文来自www.eadianqi.com
主机的功能是正确的AL编译语言,规划机器人的动作;接受主机的动作规划命令,实时计算轨迹和关节参数,最后向机器人发出具体的动作指令。 自动控制网www.eadianqi.com版权所有
二、AL语言编程格式
本文来自www.eadianqi.com
(1)程序BEGIN开始,由END结束。
本文来自www.eadianqi.com
(2)句子与句子分开。 自动控制网www.eadianqi.com版权所有
(3)变量首先定义并说明其类型,然后使用。变量名以英文字母开头,由字母、数字和下画线组成。 本文来自www.eadianqi.com
(4)程序注释用大括号包括。 本文来自www.eadianqi.com
(5)如果变量赋值语句中赋予的内容是表达式,则先计算表达式值,再将该值赋予等式左侧的变量。 自动控制网www.eadianqi.com版权所有
三、AL语言中数据的类型 本文来自www.eadianqi.com
(1)标量(scalar)——它可以是时间、距离、角度和力,可以是加、减、乘、除和指数,也可以是三角函数、自然对数和指数转换。 本文来自www.eadianqi.com
(2)向量(vector)——类似于数学中的向量,一个向量可以通过几个量纲相同的标量来构建。 本文来自www.eadianqi.com
(3)旋转(rot)——用来描述一个轴的旋转或绕过一个轴的旋转来表示姿势。ROT变量表示旋转变量有两个参数,一个是旋转轴的简单矢量,另一个是旋转角度。 本文来自www.eadianqi.com
(4)坐标系(frame)——用于建立坐标系,变量值表示物体固定坐标系与空间操作的参考坐标系之间的相对位置和姿态。
本文来自www.eadianqi.com
(5)变换(trans)——用于坐标变换,有旋转和向量两个参数,执行时先旋转再平移。 自动控制网www.eadianqi.com版权所有
四、AL语言语句介绍 本文来自www.eadianqi.com
1.MOVE语句 自动控制网www.eadianqi.com版权所有
用来描述机器人手爪的运动,如从一个位置到另一个位置的手爪。MOVE句子的格式是 本文来自www.eadianqi.com
MOVETO 自动控制网www.eadianqi.com版权所有
2.用爪子控制句子 本文来自www.eadianqi.com
OPEN:用爪子打开句子。 本文来自www.eadianqi.com
CLOSE:闭合语句。 自动控制网www.eadianqi.com版权所有
句子的格式是
本文来自www.eadianqi.com
OPENTO
本文来自www.eadianqi.com
CLOSETO 本文来自www.eadianqi.com
其中SVAL程序中已提前指定了开度距离值。
本文来自www.eadianqi.com
3.控制语句 本文来自www.eadianqi.com
与PASCAL语言类似,控制语句有下面几种: 自动控制网www.eadianqi.com版权所有
IFTHENELSE 本文来自www.eadianqi.com
WHILEDO 自动控制网www.eadianqi.com版权所有
CASE 自动控制网www.eadianqi.com版权所有
DOUNTIL 本文来自www.eadianqi.com
FOR…STEP…UNTIL… 本文来自www.eadianqi.com
4.AFFIX和UNFIX语句
自动控制网www.eadianqi.com版权所有
在装配过程中,一个物体经常被粘在另一个物体上或一个物体从另一个物体上剥离。AFFIX语句是两个物体结合的操作AFFIX两个物体分离的操作。
本文来自www.eadianqi.com
例如:BEAM_BORE和BEAM执行语句分为两个坐标系 本文来自www.eadianqi.com
AFFIXBEAM_BORETOBEAM
自动控制网www.eadianqi.com版权所有
后两个坐标系附着在一起,即一个坐标系的运动也会导致另一个坐标系的同样运动。然后执行以下句子 自动控制网www.eadianqi.com版权所有
UNFIXBEAM_BOREFROMBEAM 本文来自www.eadianqi.com
解除了两个坐标系的附着关系。 本文来自www.eadianqi.com
5.力感的处理
自动控制网www.eadianqi.com版权所有
在MOVE使用条件监用条件监控子语句可以使用传感器信息来完成某些动作。
本文来自www.eadianqi.com
监控子句如:
本文来自www.eadianqi.com
ONDO
本文来自www.eadianqi.com
例如:
本文来自www.eadianqi.com
MOVEBARMTO⊕-0.1*INCHESONFORCE(Z)>10*OUNCESDOSTOP
本文来自www.eadianqi.com
沿Z轴向下移动0.1英寸,如果感觉Z轴的力超过10盎司,立即命令机械手停止运动。 本文来自www.eadianqi.com