首页 理论教育 机器人编程语言的种类分析

机器人编程语言的种类分析

时间:2023-06-21 理论教育 版权反馈
【摘要】:高水平的机器人编程语言还能够做出并应用目标物体和环境的几何模型。从描述操作命令的角度来看,机器人编程语言的水平可以分为以下三种。动作级语言的每一个命令(指令)对应机器人的一个动作,如可以定义机器人的运动序列,基本语句形式为MOVE TO动作级语言的代表是VAL语言,它的语句比较简单,易于编程。任务级机器人编程系统能够自动执行许多规划任务。与此相反,对于前两种机器人编程语言,所有这些选择都需要由程序员进行。

机器人编程语言的种类分析

机器人编程语言是一种程序描述语言,它能十分简洁地描述工作环境和机器人的动作,能把复杂的操作内容通过尽可能简单的程序来实现。机器人编程语言也和一般的程序语言一样,应当具有结构简明、概念统一、容易扩展等特点。从实际应用的角度来看,很多情况下都是操作者实时地操纵机器人工作,因此,机器人编程语言还应当简单易学,并且有良好的对话性。高水平的机器人编程语言还能够做出并应用目标物体和环境的几何模型。在工作进行过程中,几何模型又是不断变化的,因此性能优越的机器人语言会极大地减少编程的困难。

从描述操作命令的角度来看,机器人编程语言的水平可以分为以下三种。

1.动作级

动作级语言以机器人末端执行器的动作为中心来描述各种操作,要在程序中说明每个动作。这是一种最基本的描述方式,通常由使机械手末端从一个位置到另一个位置的一系列命令组成。

动作级语言的每一个命令(指令)对应机器人的一个动作,如可以定义机器人的运动序列(MOVE),基本语句形式为

MOVE TO(destination)

动作级语言的代表是VAL语言,它的语句比较简单,易于编程。动作级语言的缺点是不能进行复杂的数学运算,不能接受复杂的传感器信息,仅能接受传感器的开关信号,并且和其他计算机的通信能力很差。VAL语言不提供浮点数或字符串,而且子程序不含自变量

动作级编程又可分为关节级编程和终端执行器编程两种。

(1)关节级编程 关节级编程程序给出机器人各关节位移的时间序列。当示教时,常通过示教盒上的操作键进行,有时需要机器人的某个关节进行操作。

(2)终端执行器级编程 终端执行器级编程是一种在作业空间内各种设定好的坐标系里编程的编程方法。在特定的坐标系内,编程应在程序段的开始予以说明,系统软件将按说明的坐标系对下面的程序进行编译。

终端执行器级编程程序给出机器人终端执行器的位姿和辅助机能的时间序列,包括力觉、触觉、视觉等机能以及作业用量、作业工具的选定等。指令由系统软件解释执行。这类语言有的还具有并行功能。其基本特点是:

①各关节的求逆变换由系统软件支持进行。

②数据实时处理且导前于执行阶段。

③使用方便,占内存较少。

④指令语句有运动指令语言、运算指令语句、输入/输出和管理语句等。

2.对象级

对象级语言解决了动作级语言的不足,它是以描述被操作物体之间的关系(常为位置关系)为中心的语言。使用这种语言时,必须明确地描述操作对象之间的关系和机器人与操作对象之间的关系,它特别适用于组装作业。对象级语言具有以下特点:

(1)运动控制 具有与动作级语言类似的功能。

(2)处理传感器信息 可以接受比开关信号复杂的传感器信号,并可利用传感器信号进行控制、监督以及修改和更新环境模型。(www.xing528.com)

(3)通信和数字运算 能方便地和计算机的数据文件进行通信,数字计算功能强,可以进行浮点计算。

(4)具有很好的扩展性 用户可以根据实际需要,扩展语言的功能,如增加指令等。

作业对象级编程语言以近似自然语言的方式描述作业对象的状态变化。指令语句是复合语句结构,用表达式记述作业对象的位姿时序数据及作业用量、作业对象承受的力、力矩等时序数据。

将这种语言编制的程序输入编译系统后,编译系统将利用有关环境、机器人几何尺寸、终端执行器、作业对象、工具等的知识库和数据库对操作过程进行仿真,并解决以下几个问题:

①根据作业对象的几何形状确定抓取位姿。

②各种感受信息的获取及综合应用。

③作业空间内各种事物状态的实时感受及其处理。

障碍回避。

⑤和其他机器人及附属设备之间的通信与协调。

3.任务级

任务级语言是比较高级的机器人语言,允许使用者对工作任务所要求达到的目标直接下命令,而不需要规定机器人所做的每一个动作的细节。只要按某种原则给出最初的环境模型和最终工作状态,机器人可自动进行推理、计算,最后自动生成机器人的动作。任务级语言的概念类似于人工智能中程序自动生成的概念。任务级机器人编程系统能够自动执行许多规划任务。

例如当发出“抓起螺杆”的命令时,该系统必须规划出一条避免与周围障碍物发生碰撞的机械手运动路径,自动选择一个好的螺杆抓取位置,并把螺杆抓起。与此相反,对于前两种机器人编程语言,所有这些选择都需要由程序员进行。因此,任务级系统软件必须能把指定的工作任务翻译为执行该任务的程序。显然,任务及语言的构成是十分复杂的,它必须具有人工智能的推理系统和大型知识库。这种语言现在仍处于基础研究阶段,还有许多问题没有解决。

到现在为止,已经有多种机器人语言问世,有的是研究室里的实验语言,有的是实用的机器人语言。前者中比较有名的有美国斯坦福大学开发的AL语言、IBM公司开发的AUTO-PASS语言、英国爱丁堡大学开发的RAPT语言等;后者中比较有名的有由AL语言演变而来的VAL语言、日本九州大学开发的IML语言、IBM公司开发的AML语言等。详细的机器人语言见表4-2。

表4-2 国外主要的机器人语言

978-7-111-33370-8-Chapter04-82.jpg

(续)

978-7-111-33370-8-Chapter04-83.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈