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