模块6机器人语言系统
前言伴随着机器人技术的进步,机器人语言也得到了发展和完善,机器人语言已成为机器人技术的一个重要部分。机器人的功能实现除了依靠机器人硬件的支持外,有相当一部分是依赖机器人语言来完成的。早期的机器人由于功能单一,动作简单,可采用固定程序或示教方式来控制机器人的运行。随着机器人作业动作的多样化和作业环境的复杂化,依靠固定的程序或示教方式已满足不了需求,这就需要我们研究发展能适应作业和环境随时变化的机器人语言编程来完成机器人的工作。
前言机器人的开发语言一般为C、C++、C++Builder、VB、VC、ROS、LabVIEW等语言,主要取决于执行机构(伺服系统)的开发语言。而机器人编程分为示教、动作级机器人编程语言、任务级编程语言三个级别。机器人编程语言分为专用操作语言(如VAL语言、AL语言、SLIM语言等)、应用已有计算机语言的机器人程序库(如Pascal语言、JARS语言、ARBASIC语言等)、应用新型通用语言的机器人程序库(如RAPID语言、AML语言、KAREL语言等)三种类型。目前主要应用的是SLIM语言。
目录机器人语言概述机器人编程语言机器人编程控制案例
单元1机器人语言概述
美国斯坦福大学于1973年研制出世界上第一种机器人语言——WAVE语言。WAVE是一种机器人动作语言,即语言功能以描述机器人的动作为主,兼以力和接触的控制,还能配合视觉传感器进行机器人的手、眼协调控制。在WAVE语言的基础上,1974年斯坦福大学人工智能实验室又开发出一种新的语言,称为AL语言。这种语言与高级计算机语言ALGOL结构相似,是一种编译形式的语言,带有一个指令编译器,能在实时机上控制,用户编写好的机器人语言源程序经编译器编译后对机器人进行任务分配和作业命令控制。AL语言不仅能描述手爪的动作,而且可以记忆作业环境和该环境内物体和物体之间的相对位置,实现多台机器人的协调控制。一、机器人语言简史
1975年,IBM公司研制出ML语言,主要用于机器人的装配作业。随后该公司又研制出另一种语言——AUTOPASS语言,这是一种用于装配的更高级语言,它可以对几何模型类任务进行半自动编程。美国的Unimation公司于1979年推出了VAL语言,它是在BASIC语言基础上扩展的一种机器人语言,因此具有BASIC的内核与结构,编程简单,语句简练。VAL语言成功地用于PUMA和UNIMATE型机器人。1984年,Unimation公司又推出了在VAL基础上改进的机器人语言——VALⅡ语言。VALⅡ语言除了含有VAL语言的全部功能外,还增加了对传感器信息的读取,使得可以利用传感器信息进行运动控制。一、机器人语言简史
20世纪80年代初,美国Automatix公司开发了RAIL语言,该语言可以利用传感器的信息进行零件作业的检测。同时,麦道公司研制了MCL语言,这是一种在数控自动编程语言——APT语言的基础上发展起来的一种机器人语言。MCL特别适用于由数控机床、机器人等组成的柔性加工单元的编程。机器人语言种类繁多,而且新的语言层出不穷。这是因为机器人的功能不断被拓展,这需要新的语言来配合其工作。另一方面,机器人语言多是针对某种类型的具体机器人而开发的,所以机器人语言的通用性很差,几乎一种新的机器人问世,就有一种新的机器人语言与之配套。一、机器人语言简史
(一)BASIC/Pascal(五)Assembly(二)工业机器人编程语言(三)LISP(四)硬件描述语言(HDL)二、机器人流行编程语言
(六)MATLAB(十)C、C++(七)C#/.NET(八)Java(九)Python二、机器人流行编程语言
单元2机器人编程语言
1动作级编程语言23对象级编程语言任务级编程语言是最低一级的机器人语言。它以机器人的运动描述为主,通常一条指令对应机器人的一个动作,表示从机器人一个位姿运动到另一个位姿。关节级编程末端执行器级编程是比动作级编程语言高一级的编程语言,它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系。通过编译程序机器人就能知道如何动作。是比前两类更高级的一种语言,也是最理想的机器人高级语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息、知识库和数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。一、机器人编程语言概述
主要是由用户程序和系统程序组成的商用机器人公司提供给用户的编程接口一般都是自己开发的简单的示教编程语言系统,如KUKA、ABB等,机器人控制系统供应商