官方抖音号

微信公众号

工业机器人编程语言分类以及有哪些?

时间:2019-07-01 03:31:00
来源:
作者:admin
点击837次
工业机器人作为朝阳产业,未来的蓬勃发展肯定是不容忽视的,很多人可能好奇这些机器人都是怎么进行操作和生产的,其实很简单,就是通过编程来控制它的行为指令。世界上有超过1500种编程语言,每种语言对机器人有不同的优势,下面就来看看目前机器人技术中最流行的几种编程语言。机器人的开发语言一般为C、C++、C++Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;
 
工业机器人编程语言分类(主要按照以下两种方式分类):
一、机器人编程语言分为专用操作语言(如VAL语言、AL语言、SLIM语言等)、应用已有计算机语言的机器人程序库(如Pascal语言、JARS语言、AR-BASIC语言等)、应用新型通用语言的机器人程序库(如RAPID语          言、AML语言KAREL语言等)三种类型。目前主要应用的是SLIM语言。
二、机器人语言可以按照其作业描述水平的程度分为动作级编程语言、对象级编程语言和任务级编程语言三类。


1、机器人编程语言:动作级编程语言

动作级编程语言是最低一级的机器人语言。它以机器人的运动描述为主,通常一条指令对应机器人的一个动作,表示从机器人的一个位姿运动到另一个位姿。动作级编程语言的优点是比较简单,编程容易。其缺点是功能有限,无法进行繁复的数学运算,不接受浮点数和字符串,子程序不含有自变量;不能接受复杂的传感器信息,只能接受传感器开关信息;与计算机的通信能力很差。典型的动作级编程语言为VAL语言,如AVL语言语句“MOVE TO (destination)”的含义为机器人从当前位姿运动到目的位姿。动作级编程语言编程时分为关节级编程和末端执行器级编程两种
(1)关节级编程
        关节级编程是以机器人的关节为对象,编程时给出机器人一系列各关节位置的时间序列,在关节坐标系中进行的一种编程方法。对于直角坐标型机器人和圆柱坐标型机器人,由于直角关节和圆柱关节的表示比较简单,这种方法编程较为适用;而对具有回转关节的关节型机器人,由于关节位置的时间序列表示困难,即使一个简单的动作也要经过许多复杂的运算,故这一方法并不适用。关节级编程可以通过简单的编程指令来实现,也可以通过示教盒示教和键入示教实现。
(2)末端执行器级编程
        末端执行器级编程在机器人作业空间的直角坐标系中进行。在此直角坐标系中给出机器人末端执行器一系列位姿组成位姿的时间序列,连同其他一些辅助功能如力觉、触觉、视觉等的时间序列,同时确定作业量、作业工具等,协调地进行机器人动作的控制。

这种编程方法允许有简单的条件分支,有感知功能,可以选择和设定工具,有时还有并行功能,数据实时处理能力强。

2、机器人编程语言:对象级编程语言
所谓对象即作业及作业物体本身。对象级编程语言是比动作级编程语言高一级的编程语言,它不需要描述机器人手爪的运动,只要由编程人员用程序的形式给出作业本身顺序过程的描述和环境模型的描述,即描述操作物与操作物之间的关系。通过编译程序机器人即能知道如何动作。
     这类语言典型的例子有AML及AUTOPASS等语言,其特点为:(1) 具有动作级编程语言的全部动作功能。(2) 有较强的感知能力,能处理复杂的传感器信息,可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。(3) 具有良好的开放性,语言系统提供了开发平台,用户可以根据需要增加指令,扩展语言功能。(4) 数字计算和数据处理能力强,可以处理浮点数,能与计算机进行即时通信。对象级编程语言用接近自然语言的方法描述对象的变化。对象级编程语言的运算功能、作业对象的位姿时序、作业量、作业对象承受的力和力矩等都可以以表达式的形式出现。系统中机器人尺寸参数、作业对象及工具等参数一般以知识库和数据库的形式存在,系统编译程序时获取这些信息后对机器人动作过程进行仿真,再进行实现作业对象合适的位姿,获取传感器信息并处理,回避障碍以及与其他设备通信等工作。

3、机器人编程语言:任务级编程语言
     任务级编程语言是比前两类更高级的一种语言,也是最理想的机器人高级语言。这类语言不需要用机器人的动作来描述作业任务,也不需要描述机器人对象物的中间状态过程,只需要按照某种规则描述机器人对象物的初始状态和最终目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,从而自动生成机器人详细的动作、顺序和数据。

工业机器人编程语言具体有哪些:

1、工业机器人编程语言:硬件描述语言(HDLs)
硬件描述语言一般是用来描述电气的编程方式。这些语言对于一些机器人专家来说是相当熟悉的,因为他们习惯 FPGAs(FieldProgrammableGateArrays)编程。FPGAs能让你开发电子硬件而无需实际生产出一块硅芯片,对于一些开发来说,这是更快更简易的选择。如果你没有开发电子原型产品,你也许永远不会用HDLs。即便如此,还是有必要了解一下这种编程语言,因为它们和其它编程语言差别很大。一个重点:HDLs所有的操作是并发的,而不是基于处理器的编程语言的顺序操作。
 
 
2、工业机器人编程语言:Assembly
 
  Assembly让你能在0和1数位上进行编程。基本上这是最底层的编程语言。就在最近,最底层的电子需要Assembly进行编程。随着Arduino和其它如微控制器的崛起,现在你可以使用C/C++在底层方便地编程了。这意味着Assembly对于大多数机器人专家来说也许会变得更不必要了。
 
3、工业机器人编程语言:MATLAB
 
  MATLAB以及和它相关的开源资源,比如Octave,一些机器人工程师特别喜欢,它被用来分析数据和开发控制系统。还有一个非常流行的机器人工具箱 ——MATLAB。我知道一些仅仅使用MATLAB就能开发出整个机器人系统的专家。如果你想要分析数据,产生高级图像或是实施控制系统,你也许会想学习 MATLAB。
 
4、工业机器人编程语言:C#/.NET
 
  C#是微软提供的专用编程语言。我把C#/.NET放在这里,主要是因为微软机器人开发员工作包(Microsoft RoboTIcs Developer Studio),这个包的主要开发语言是C#。如果你准备用这个系统,那么你很可能必须要用C#。

5、工业机器人编程语言:Java
 
  Java对程序员隐藏了底层存储功能,这让它比起一些语言(如C语言)来说,编写要容易些,但这也意味着你会更少地理解底层代码的运行逻辑。如果你有计算机科学背景并转到机器人学(很多人是这样的,特别是在研究领域),你也许已经学过Java。像C#和MATLAB,Java是一种解释性语言,这意味着它不会被编译成机器代码。相反,Java虚拟机在运行时解释指令。使用Java,理论上让你可以在不同的机器上运行相同的代码,这得感谢Java虚拟机。在实践中,这不总是可行的,有时会导致代码运行缓慢。但是Java在一部分机器人学中非常流行,因此你也许需要它。
 
6、工业机器人编程语言:Python
 
  近年来,学习Python的人有一个巨大的回潮,特别是在机器人领域。其中一个原因可能是Python(和C++)是ROS中两种主要的编程语言。与 Java不同,Python的重点是易用性,Python不需要很多时间来做常规的事情,如定义和强制转换变量类型。这些在编程里面本是很平常的事。另外,Python还有大量的免费库,这意味着当你需要实现一些基本的功能时不必“重新发明轮子”。而且因为Python允许与C/C++代码进行简单的绑定。这就意味着代码繁重部分的性能可以植入这些语言,从而避免性能损失。随着越来越多的电子产品开始支持“开箱即用”Python(与 RaspberryPi一道),我们可能会在机器人中看到更多Python。  注:The Raspberry Pi FoundaTIon:英国一个小型的慈善组织,成立的宗旨在于推广科技,而非以销售技术来营利。
 
7、工业机器人编程语言:C/C++
 
  最后到了排名第1的机器人编程语言!许多人认为C和C++对新入行的机器人学家是一个很好的起点。为什么?因为很多硬件库都使用这两种语言。这两种语言允许与低级别的硬件进行交互,允许实时性能,是非常成熟的编程语言。现如今,你可能会使用C++比C多,因为前者具有更多的功能。C++基本上是C的一种延伸。首先学一点C会很有用,特别是当你发现一个硬件库是用C编写的。C/C++并不是像Python或MATLAB那样简单易用。同样用C来实现相同的功能会需要大量时间,也将需要更多行代码。但是,由于机器人非常依赖实时性能,C和C++是最接近我们机器人专家“标准语言”的编程语言。

8、工业机器人编程语言:BASIC/Pascal(帕斯卡)

BASIC和Pascal是我最早学过的两种编程语言。它们是几种工业机器人语言的基础。不过这并不是我把它们列在这里的原因。对于几种工业机器人语言,它们是基础,下面说明一下。BASIC是为初学者设计的(BASIC是缩写,BeginnersAll-PurposeSymbolicInstrucTIonCode),它让初学者可以从一种非常简单的编程语言开始学习。Pascal旨在鼓励好的编程习惯,还引入了结构,例如指针,这让Pascal成为从BASIC到更复杂语言的一块“敲门砖”。如今,这两种语言如果要说是好的“日常使用”程序语言,那是有点过时了。不过如果你准备做很多底层编码或是想要熟悉一下其它工业机器人编程语言,学习一下还是有用的。  

9、工业机器人语言
几乎每一个机器人制造商都开发了他们自己专有的机器人编程语言,这成了工业机器人行业中的一个问题。通过学习Pascal,你会熟悉它们中的一部分。但是每次开始使用新的机器人时,你还得学习一种新的编程语言。如机械臂领域实力强劲的 ABB 公司,用的语言系统叫做 RAPID;来自于德国的 KUKA,语言和公司名字一样也叫做 KUKA;Comau 利用 PDL2;Yaskawa 利用 Advise 和 Kawasaki 利用 AS。在这一点上,Fanuc 机器人利用 Karel,Staubli 机器人利用 VAL3 和 Widespread Robots 利用 URScript。 最近几年,ROS行业已经开始提供更标准化的替代语言给程序员。但是如果是一个技术人员,你仍然更可能不得不使用制造商的编程语言。

10、工业机器人编程语言:LISP
LISP是世界上第二古老的编程语言(FORTRAN更古老,但只早了一年)。相比今天提到很多其它编程语言,它的应用并不广泛。不过在人工智能编程领域它还是相当重要的。ROS的一部分是用LISP写的,虽然你不需要掌握这个来使用ROS。  


以上就是若卜给大家整理的工业机器人编程语言的分类以及有哪些,希望给学习这类语言的朋友帮助。

火热专区

技术支持:昆网科技 | 苏ICP备2021028511号-1 网站地图
免费咨询课程
免费咨询课程顾问

累计职业规划超过10W+