一文了解应用于工业机器人的编程语言
导语:机器人的开发语言一般为C、C++、C++Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;而机器人编程分为示教、动作级机器人编程语言、任务级编程语言三个级别
编程语言翻译
机器人的开发语言一般为C、C++、C++Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;而机器人编程分为示教、动作级机器人编程语言、任务级编程语言三个级别;机器人编程语言分为专用操作语言(如VAL语言、AL语言、SLIM语言等)、应用已有计算机语言的机器人程序库(如Pascal语言、JARS语言、AR-BASIC语言等)、应用新型通用语言的机器人程序库(如RAPID语言、AML语言KAREL语言等)三种类型。目前主要应用的是SLIM语言。
机器人语言可以按照其作业描述水平的程度分为动作级编程语言、对象级编程语言和任务级编程语言三类。
机器人编程语言(一)动作级编程语言
动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主,通常一条指令对应机器人的一个动作,表示从机器人的一个位姿运动到另一个位姿。动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法进行繁复的数学运算,不接受浮点数和字符串,子程序不含有自变量;不能接受复杂的传感器信息,只能接受传感器开关信息;与计算机的通信能力很差。典型的动作级编程语言为VAL语言,如AVL语言语句“MOVETO(destination)”的含义为机器人从当前位姿运动到目的位姿。
动作级编程语言编程时分为关节级编程和末端执行器级编程两种。
关节级编程
关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较简单,这种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故这一方法并不适用。
关节级编程可以通过简单的编程指令来实现,也可以通过示教盒示教和键入示教实现。
末端执行器级编程
末端执行器级编程在机器人作业空间的直角坐标系中进行。在此直角坐标系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工具等,协调地进行机器人动作的控制。
这种编程方法允许有简单的条件分支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处理能力强。
机器人编程语言(二)对象级编程语言
所谓对象即作业及作业物体本身。对象级编程语言是比动作级编程语言高一级的编程语言,它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系。通过编译程序机器人即能知道如何动作。
这类语言典型的例子有AML及AUTOPASS等语言,其特点为:(1)具有动作级编程语言的全部动作功能。(2)有较强的感知能力,能处理复杂的传感器信息,可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。(3)具有良好的开放性,语言系统提供了开发平台,用户可以根据需要增加指令,扩展语言功能。(4)数字计算和数据处理能力强,可以处理浮点数,能与计算机进行即时通信。对象级编程语言用接近自然语言的方法描述对象的变化。对象级编程语言的运算功能、作业对象的位姿时序、作业量、作业对象承受的力和力矩等都可以以表达式的形式出现。系统中机器人尺寸参数、作业对象及工具等参数一般以知识库和数据库的形式存在,系统编译程序时获取这些信息后对机器人动作过程进行仿真,再进行实现作业对象合适的位姿,获取传感器信息并处理,回避障碍以及与其他设备通信等工作。
机器人编程语言(三)任务级编程语言
任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论