杨经保 发表于 2009-6-15 23:35:09

机器人语言指令集

机器人语言指令集

表机器人语言指令集
A.
移动插补功能
B.
环境定义功能
C.
数据结构及其运算功能
D.程序控制运动
E.
数值运算功能
F.
输入、输出及中断功能
G.文件管理功能
H.
其他功能

机器人语言指令集大致有上表所列的八种。除了机器人的动作指令以外,它与通用的高级计算机程序语言如BASIC,FORTRAN,PASCAL等的功能没有太大的差别。由此可以对机器人语言作出这样的定义:“具有适合于对机器人动作进行描述的数据结构并且具有机器人动作指令的通用程序语言”。用于数控机床的NC语言则与此有很大的不同,NC语言中的APT(自动编程工具,Automatically
Programmed
Tools)描述方式是以形状描述为中心,而目前的工业机器人语言则以动作顺序为中心。现有的机器人语言通过使用示教这一功能,省略了作业环境内的位置姿态运算功能,因而对环境的描述功能被简化了。
机器人语言的功能随着语言形式的不同而不同,为了进行标准化和规范化,对工业机器人语言的共同功能进行了调查,下面围绕这些共同功能进行介绍。


   




此文章不是本人所写,转载于元数据网.

杨经保 发表于 2009-6-15 23:37:17

A.移动插补功能   移动插补功能是机器人语言特有的功能,详细再分为如下几种:

    (1)速度设定(JSPEED,SPEED);

    (2)轨迹插补(JMOVE,LMOVE,VMOVE,CMOVE,CMOVE3,ATRAN,ITRAN);

    (3)动作定时(PAUSE,DELAY);

    (4)定位精度(COARSE,FINE);

    (5)手爪控制(OPEN,CLOSE)。

   其中JMOVE是在关节坐标系上进行的直线插补指令,LMOVE是作业坐标系(通常是三维直角坐标系)上进行的直线插补指令。在AL语言中,通过with(限定)语句能对力控制和对轴进行的控制加以描述,这里则没有这种功能,因为这种功能用的太少了。

    B.环境定义功能    与用于数控机床的NC语言一样,机器人语言中的主要运算是环境数据之间进行的运算,但是现有的机器人语言是以基本动作级的实时系统为中心的。所以有关环境定义功能及其运算功能还不充分,但在环境定义功能中,如下三点是重要的:

    (1)通过示教功能来生成环境模型;

    (2)规划实时系统需要几何模型;

    (3)生成环境模型的过程是一件很费时的工作,因此往往以不是实际需要等理由而用示教功能来代替。

    在机器人语言中、在标有名称的位置姿态数据和语言编辑功能的基础上,能组成直线或圆弧的动作指令,但仅仅根据这种指令还形成不了几何模型的点、线、面、立体等形状参数的递阶结构。

然而,在为了进行研究而开发的规划系统中,以及在应用于机器人系统的几何模型系统中,则力图赋于几何模型有很强的防碰撞功能和与各种环境示教相连结的功能。

    C.数据结构及其运算功能    在通用的数据结构中,一般有文字符号和矩阵(最多为二维矩阵)等形式。而在结构化的机器人语言中,采用更为通用的数据结构。例如吸收了PASCAL语言的自动记录,或者LISP语言的自动表格生成等优点。机器人语言本身专用的数据结构是坐标变换矩阵、三维向量,位置和姿态的点数据以及其它的点数据矩阵等。向量的运算包括加减运算(++,--),内积与外积(SPRD,VPRD)运算等。在采用AL语言的初级结构化的机器人语言中的坐标变换函数在工业上很少得到应用。

    D.程序控制功能    在逐步执行的通用程序语言中,设计有程序控制语言,以便选定后绕运行的分支或转入循环运行。最典型的例子是FORTRAN语言的GOTO语句和DO语句的组合;PASCAL语言的FOR语句,WHILE语句和REPEAT—UNTIL语句等。在可编程逻辑控制器(programmable logic controller)中,有梯形图和在此基础上编制的专用PLC语言。在机器人语言中动作顺序的描述是重要的,为了强调这种描述的可读性,因而应当力图采用类似于PASCAL语言所具有的结构化编程方式,但是目前实际上这种描述只具有BASIC语言那样简单的控制功能。

    在生产现场用的最多的命令级语言中,常用GOTO和计数控制语句,这些语句是一种汇编语句,因而很难读懂。

    现有的机器人语言中有主程序和子程序,能对过程和子程序进行说明,但没有局部变量,所以机器人语言顶多和BASIC语言的水平一样,只能使用没有自变量或没有局部变量的子程序。

    E.数值运算功能    与通用程序语言相比,机器人语言的数值运算功能大致相当于BASIC语言的水平。但是它往往不包括那些使用频率很高的特殊功能和一些高级数学运算功能,例如对数和阶乘等运算功能。

    机器人语言的数值运算功能大致有以下几种:

   (1)四则运算功能(+,-,*,/,DIV,MOD)

   (2)关系运算功能(=,<>,<=,<,>,>=)

   (3)计数功能 ( INC,DEC)

   (4)位运算功能(NOT,AND,OR,XOR,LSH,RSH)

   (5)三角函数运算功能(SIN,COS,TAN,ATAN2)

    参与运算的数值一般为2位整数、4位整数,4位实数、8位实数,有时候会增加1位整数作为文字和符号位。

    F.输入、输出和中断功能    在进行顺序控制的程序中,与外部传感器进行信息交互功能和中断功能是最为重要的功能,每一种机器人语言都在这方面下了不少功夫。

    由于与周边装置的连接点比较多,因此机器人控制器都设有数字输入输出接口,这些接口具有能与16点乃至128点相连接的能力。一般采用GPIB或串行RS232C标准接口。虽然需要很强的中断功能,但由于实际使用的工业机器人都是进行按顺序重复的工作,所以中断功能只能做到向子程序的分流和复原,而且屏蔽中断的能力较低。此外,在机器人控制器内还设有定时器,定时器有1—4个接点。

    G.文件管理功能    机器人语言所处理的文件有程序本身和与位置姿态有关的数据集,由于运行机器人语言的计算机那是安装在工厂内较为恶劣的工作环境中,为了可靠起见,所以只限于使用比较简单的文件。在许多机器人语言中,都具有从硬盘读出程序(LOAD)和往硬盘里写程序(SAVE)、对示教数据集(示教点群)进行编辑等功能。

    H.其它功能其它功能有:

    (1)进行工具变换、基本坐标设置和初始值的设置,

    (2)作业条件(例如焊接条件)的设置等。

    这些功能都是很重要的,但是随着机器人语言的不同,这些功能的表现方法和构成方法均不同。

syw开门造车 发表于 2009-6-16 08:25:04

杨经保 友好!
.
此文收藏。
.
此文的信息是说对“机器人、机械手”编程有其专用软件,
有关这方面的软件到什么地方下载?
.
谢谢!
.
syw090616---08.26

螺旋线 发表于 2009-6-16 08:53:05

在各大机器人厂家的网页上也许有演示版的供下载。
可以上KUKA,ABB,FAUNC,三菱上看看。
另:请楼主推荐一些刚体运动学的资料,谢谢。

ouyanghai 发表于 2009-6-16 14:20:26

谢谢收藏了

wgsjh1984 发表于 2009-6-17 13:36:57

不好很笼统啊、

杨经保 发表于 2009-6-21 12:14:42

3# syw开门造车
这个有国外的专用软件,我有这个仿真软件,我要先找一下再传上来.

syw开门造车 发表于 2009-6-22 04:48:43

3# syw开门造车
这个有国外的专用软件,我有这个仿真软件,我要先找一下再传上来.
杨经保 发表于 2009-6-21 12:14 http://bbs.cmiw.cn/images/common/back.gif
.
杨经保 友好!
.
我看到你做了很多个各种型号的机械手方面的产品,
“其中的操作系统”是可以直接用的你的那个仿真软件吗?
.
属于你个人的“机密资料”不要上传。
.
属于你花钱买来的国外软件也不要上传。
.
只要告诉这方面的信息就足够了。
.
谢谢!
.
syw090622---04.50

杨经保 发表于 2009-6-24 19:25:50

8# syw开门造车 这个软件可以做一些编程和仿真测试用;没有给钱的东西的功能是不全的,别人推介给我的.至于实用还得自已想办法,这些天有此太忙,有时间再传上来.

螺旋线 发表于 2009-6-25 08:32:27

楼主,难道看不见我的回帖?
行不行回个话。
页: [1] 2 3
查看完整版本: 机器人语言指令集