
常用的机器人编程语言.doc
8页常用的机器人编程语言[来源:机电论文I类别:技术I时间:[字体:大2008-6-21 14:45:49 ] 中小]一、 VAL语言及特点VAL语言是美国Unimation公司于1979年推出的一种机器人编程 语言,主要配置在PUMA和UNIMATIO等型机器人上,是一种专用的 动作类描述语言VAL语言是在BASIC语言的基础上发展起来的, 所以与BASIC语言的结构很相似在VAL的基础上Uni mation公司 推出了 VALH语言VAL语言可应用于上下两级计算机控制的机器人系统上位机为LSI-11/23,编程在上位机中进行,上位机进行系统的管理; 下位机为6503微处理器,主要控制各关节的实时运动编程时可以 VAL语言和6503汇编语言混合编程VAL语言命令简单、清晰易懂,描述机器人作业动作及与上位机 的通信均较方便,实时功能强;可以在和离线两种状态下编程, 适用于多种计算机控制的机器人;能够迅速地计算出不同坐标系下 复杂运动的连续轨迹,能连续生成机器人的控制信号,可以与操作 者交互地修改程序和生成程序;VAL语言包含有一些子程序库, 通过调用各种不同的子程序可很快组合成复杂操作控制;能与外部 存储器进行快速数据传输以保存程序和数据。
VAL语言系统包括文本编辑、系统命令和编程语言三个部分在文本编辑状态下可以通过键盘输入文本程序,也可通过示教盒 在示教方式下输入程序在输入过程中可修改、编辑、生成程序, 最后保存到存储器中在此状态下也可以调用已存在的程序系统命令包括位置定义、程序和数据列表、程序和数据存储、系 统状态设置和控制、系统开关控制、系统诊断和修改编程语言把一条条程序语句转换执行二、 VAL语言的指令VAL语言包括监控指令和程序指令两种其中监控指令有六类, 分别为位置及姿态定义指令、 程序编辑指令、 列表指令、 存储指令、 控制程序执行指令和系统状态控制指令各类指令的具体形式及功 能如下:1.监控指令1) 位置及姿态定义指令POINT指令:执行终端位置、姿态的齐次变换或以关节位置表示 的精确点位赋值其格式有两种:POINT <变量 >[=<变量 2>,<变量 n>] 或 POINT < 精确点>[=<精确点 2>]例如:POINT PICK1=PICK2 指令的功能是置变量PICK1的值等于PICK2的值又如:POINT #PARK 是准备定义或修改精确点 PARKDPOINT指令:删除包括精确点或变量在内的任意数量的位置变 量。
HER庄旨令:此指令使变量或精确点的值等于当前机器人的位置 例如:HERE PLACK是定义变量PLACI等于当前机器人的位置WHER指令:该指令用来显示机器人在直角坐标空间中的当前位 置和关节变量值BASE指令:用来设置参考坐标系,系统规定参考系原点在关节1 和 2 轴线的交点处,方向沿固定轴的方向格式:BASE [
D命令:删除从当前行算起的n行程序,n缺省时为删除当前行E 命令:退出编辑返回监控模式I 命令:将当前指令下移一行,以便插入一条指令P命令:显示从当前行往下n行的程序文本内容T 命令:初始化关节插值程序示教模式,在该模式下,按一次示教盒上的“ RECODE按钮就将MOV指令插到程序中3) 列表指令DIRECTOR指令:此指令的功能是显示存储器中的全部用户程序 名LISTL 指令:功能是显示任意个位置变量值LISTP指令:功能是显示任意个用户的全部程序4) 存储指令FORMA指令:执行磁盘格式化STORE指令:功能是在指定的磁盘文件内存储指定的程序STORE指令:此指令存储用户程序中注明的全部位置变量名和 变量值LISTF指令:指令的功能是显示软盘中当前输入的文件目录LOADP旨令:功能是将文件中的程序送入内存LOADI指令:功能是将文件中指定的位置变量送入系统内存DELETE令:此指令撤销磁盘中指定的文件COMPRESS令 :只用来压缩磁盘空间ERASE旨令:擦除磁内容并初始化5) 控制程序执行指令ABOR指令:执行此指令后紧急停止(紧停)DO指令:执行单步指令EXECUT指令:此指令执行用户指定的程序 n次,n可以从-32768 到 32 767 ,当 n 被省略时,程序执行一次。
NEXT指令:此命令控制程序在单步方式下执行PROCEE指令:此指令实现在某一步暂停、急停或运行错误后, 自下一步起继续执行程序RETRY!令:指令的功能是在某一步出现运行错误后, 仍自那一步重新运行程序SPEED!令:指令的功能是指定程序控制下机器人的运动速度, 其值从 0.01 到 327.67 ,一般正常速度为 1006) 系统状态控制指令CALIB指令:此指令校准关节位置传感器STATUS旨令:用来显示用户程序的状态FREE指令:用来显示当前未使用的存储容量ENABI指令:用于开、关系统硬件ZERO旨令:此指令的功能是清除全部用户程序和定义的位置,重 新初始化DON:E 此指令停止监控程序,进入硬件调试状态2.程序指令1) 运动指令指令包括 GO、 MOV、EMOVE、IMOVE、SDRA、WAPPR、OAPPRO、SDEPAR、T DRIVE READYOPENOPENI CLOSECLOSEI RELAX GRAS及 DELAY 等这些指令大部分具有使机器人按照特定的方式从一个位姿运动 到另一个位姿的功能,部分指令表示机器人手爪的开合例如:MOVE #PIC!表示机器人由关节插值运动到精确 PICK所定义的位置。
” 表示位置变量已有自己的值MOVET 位<置>, <手开度> 功能是生成关节插值运动使机器人到达位置变量所给定的位姿, 运动中若手为伺服控制,则手由闭合改变到手开度变量给定的值又例如:OPEN [<手开度>] 表示使机器人手爪打开到指定的开度2) 机器人位姿控制指令这些指令包括 RIGHTY LEFTY ABOVE BELOWFLIP 及 NOFLIP 等3) 赋值指令赋值指令有 SETI、TYPEI、HERE SET、SHIFT、TOOL INVERSE 及 FRAME4) 控制指令控制指令有 GOTOGOSUBRETURNIF、IFSIG、REACTREACTI IGNORE SIGNAL WAIT PAUS及 STOP其中GOTOGOSU实现程序的无条件转移,而IF指令执行有条 件转移 IF 指令的格式为IF <整型变量 1> <关系式> <整型变量 2> <关系式> THEN <标识符>该指令比较两个整型变量的值, 如果关系状态为真, 程序转到标 识符指定的行去执行,否则接着下一行执行关系表达式有 EQ(等 于)、NE不等于)、LT(小于)、GT大于)、LE(小于或等于)及GE(大 于或等于 )。
5) 开关量赋值指令指令包括 SPEEDCOARSE^INE、NONULLNULL INTOFF及 INTON6) 其他指令其他指令包括REMARK TYPESIGLA语言SIGLA是 一种仅用于直角坐标式 SIGMA装配型机器人运动控制时 的一种编程语言, 是 20世纪 70 年代后期由意大利 Olivetti 公司研 制的一种简单的非文本语言这种语言主要用于装配任务的控制,它可以把装配任务划分为 一些装配子任务,如取旋具,在螺钉上料器上取螺钉 A,搬运螺钉A,定位螺钉A,装入螺钉A,紧固螺钉等编程时预先编制子程序, 然后用子程序调用的方式来完成IML 语言IML 也是一种着眼于末端执行器的动作级语言, 由日本九州大学 开发而成IML语言的特点是编程简单,能人机对话,适合于现场 操作,许多复杂动作可由简单的指令来实现,易被操作者掌握IML 用直角坐标系描述机器人和目标物的位置和姿态 坐标系分 两种,一种是机座坐标系,一种是固连在机器人作业空间上的工作 坐标系语言以指令形式编程,可以表示机器人的工作点、运动轨 迹、目标物的位置及姿态等信息,从而可以直接编程往返作业可 不用循环语句描述,示教的轨迹能定义成指令插到语句中,还能完 成某些力的施加。
IML语言的主要指令有:运动指令 MOVE速度指令SPEED停止 指令STOP手指开合指令 OPE及CLOSE坐标系定义指令 COORD 轨迹定义命令TRAJ位置定义命令HERE程序控制指令IF,THEN FOR EAC语句、CASE语句及 DEFINE等AL 语言一、 AL 语言概述AL语言是20世纪70年代中期美国斯坦福大学人工智能研究所 开发研制的一种机器人语言,它是在 WAVE勺基础上开发出来的, 也是一种动作级编程语言, 但兼有对象级编程语言的某些特征, 使用于装配作业它的结构及特点类似于 PASCA语言,可以编译成机器语言在实时控制机上运行,具有实时编译语言的结构和特征, 如可以同步操作、条件操作等 AL语言设计的原始目的是用于具有传感器信息反馈的多台机器人或机械手的并行或协调控制编程运行VA语言的系统硬件环境包括主、从两级计算机控制,如图 所示主机为PDP-10主机内的管理器负责管理协调各部分的工作, 编译器负责对AL语言的指令进行编译并检查程序,实时接口负责 主、从机之间的接口连接,装载器负责分配程序从机为PDP-11/45 主机的功能是对AL语言进行编译,对机器人的动作进行规划; 从机接受主机发出的动作规划命令,进行轨迹及关节参数的实时计 算,最后对机器人发出具体的动作指令。
二、AL语言的编程格式(1) 程序BEGIN开始,由END吉束2) 语句与语句之间用分号隔开3) 变量先定义说明其类型,后使用变量名以英文字母开头, 由字母、数字和下画线组成,字母大、小写不分图AL语言运行的硬件环境(4) 程序的注释用大括号括起来5) 变量赋值语句中如所赋的内容为表达式,则先计算表达式的 值,再把该值赋给等式左边的变量三、AL语言中数据的类型(1) 标量(scalar)――可以是时间、距离、角度及力等,可以进 行加、减、乘、除和指数运算,也可以进行三角函数、自然对数和 指数换算2) 向量(vector) 与数学中的向量类似,可以由若干个量纲 相同的标量来构造一个向量3) 旋转 (rot) ——用来描述一个轴的旋转或绕某个轴的旋转以 表示姿态用ROT变量表示旋转变量时带有两个参数,一个代表旋 转轴的简单矢量,另一个表示旋转角度4) 坐标系 (frame) ——用来建立坐标系,变量的值表示物体固 连坐标系与空间作业的参考坐标系之间的相对。












