1. C / C ++
达到机器人技术的第一编程语言,为什么?因为很多硬件库都在使用这些语言,它们允许与低级硬件进行交互,允许实时性能和非常成熟的编程语言。C ++基本上是C的扩展, C / C ++并不像之前那么简单,使用C实现相同的功能可能需要非常长的时间,并且需要更多的代码行。然而,由于机器人非常依赖于实时性能,C和C++是最接近我们机器人专家“标准语言”的编程语言。
2. Python
Python是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。近年来,学习Python的人有一个巨大的回潮,特别是在机器人领域。其中一个原因可能是Python(和C ++)是ROS中发现的两种主要的编程语言。比如像Java一样,它是一种解释语言,与Java不同,它的语言主要重点是在于易用性。很多人认为这样做非常好,因为它节省了很多常规的事情,如定义和强制转换变量类型。此外,它还存有大量的免费库”,这意味着,当你需要实现一些基本功能时,你不需要在“重新发明”,即可使用。
3. Java
Java从程序员“隐藏”底层的内存功能,它比起一些语言(如C语言)来说,编写要简单些,但这也意味着你对于底层代码的运行逻辑会理解的不多。你如是从计算机专业背景转到机器人,你可能会Java。Java它是一种解释语言,和C#和matlab一样,代表它不会被编译成机器代码。相反,Java虚拟机在运行时解释指令。使用Java,理论上让你可以在不同的机器上运行相同的代码,这得感谢Java虚拟机。在实践中,这不总是可行的,有时会导致代码运行缓慢。但是Java在一部分机器人学中非常流行,因此你也许需要它。
4. C# / .NET
C#是Microsoft提供的专有编程语言。把C#/ .NET放入此类,是因为使用它作为主要语言的Microsoft Robotics Developer Studio。如果你准备要使用这个系统,你可能要使用C#。但是,首先学习C / C ++可能是长期发展编码技巧的好选择。
5. MATLAB
MATLAB及其开放源码的亲戚,比如Octave,是机器人工程师非常喜爱的一种,主要用于分析数据和开发控制系统。还有一个非常受欢迎的机器人工具箱—MATLAB。想要使用MATLAB开发整个机器人系统的人,要分析数据,达到生成高级图形或实现控制系统,你是需要学习MATLAB的。
6. Assembly装配
Assembly允许您以“一级和零级”进行编程,这是最底层的编程语言,最近大多数低级别的电子设备都需要编程,随着Arduino等的兴起微控制器,您现在可以使用C / C ++轻松地在这个级别进行编程,这意味着大部分机器人可能不那么必要。
7. 硬件描述语言(HDL)
硬件描述语言基本上是用来描述电气设备的编程方式。这些语言对于机器人专家来说是相当熟悉的,因为它们用于编程现场可编程门阵列(FPGA)。FPGAs能让你开发电子硬件而无需实际生产出一块硅芯片,对于一些开发来说,这是更快更简易的选择。
如果不是电子原型,你可能永远不会使用HDL。即使如此,还是需要了解一下的,因为它们与其他编程语言完全不同。一方面,所有操作都是并行执行的,而不是依照基于处理器的语言进行。
8. LISP
LISP是世界上第二大最古老的编程语言(FORTRAN年龄较大,但只有一年)。它不像这个列表上许多其他编程语言那么广泛使用,然而,在人工智能编程中仍然非常重要。ROS的一部分是用LISP编写的,尽管你不需要知道使用ROS。
9.工业机器人语言
每个机器人制造商都开发了属于自己的专有机器人编程语言,这成了工业机器人行业中的一个问题。通过Pascal,熟悉其中的几个。但是,每次使用新的机器人时,依然需要学习新的语言。比如ABB拥有RAPID编程语言;Kuka有KRL(Kuka Robot Language);Comau使用PDL2;安川使用INFORM和川崎使用AS; Fanuc机器人使用Karel;Stäubli机器人使用VAL3和Universal; Robots使用UR。
近几年,ROS行业已经开始提供更标准化的替代语言给程序员。如果你是技术人员,对于制造商的语言,都需要学会。
10. BASIC / 帕斯卡
BASIC和Pascal,它们是几种工业机器人语言的基础。
那我们来说明一下,BASIC是为初学者设计的(它代表初学者通用符号指令代码),它可以让初学者从一种简单的编程语言开始。帕斯卡尔旨鼓励良好的编程习惯,并介绍构造,如指针,它一个很好的“敲门砖”,从普通版使一个更复杂的语言。这几年以来,这两种语言都有点过时,比较有利于“日常使用”。但是,如果要进行大量的低级编码,或者想要熟悉其他工业机器人语言,学习一下还是有用的。