历史上的今天
返回首页

历史上的今天

今天是:2025年08月17日(星期日)

2021年08月17日 | 工业机器人用什么语言编程的?

2021-08-17 来源:OFweek机器人网

1. 硬件描述语言(HDLs)

硬件描述语言一般是用来描述电气的编程方式。

这些语言对于一些机器人专家来说是相当熟悉的,因为他们习惯FPGAs编程。FPGAs能让你开发电子硬件而无需实际生产出一块硅芯片,对于一些开发来说,这是更快更简易的选择,如果你没有开发电子原型产品,你也许永远不会用HDLs。

即便如此,还是有必要了解一下这种编程语言,因为它们和其它编程语言差别很大,一个重点:HDLs所有的操作是并发的,而不是基于处理器的编程语言的顺序操作。

2. Assembly

Assembly让你能在0和1数位上进行编程。这基本上是最底层的编程语言,随着Arduino和其它如微控制器的崛起,现在你可以使用C/C++在底层方便地编程了,这意味着Assembly对于大多数机器人专家来说也许会变得更不必要了。

3. MATLAB

MATLAB以及和它相关的开源资源,比如Octave,一些机器人工程师特别喜欢,它被用来分析数据和开发控制系统。有一些专家仅仅使用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++

最后我们到了排名第一的机器人编程语言!许多人认为C和C++对新入行的机器人学家是一个很好的起点。为什么?因为很多硬件库都使用这两种语言。

这两种语言允许与低级别的硬件进行交互,允许实时性能,是非常成熟的编程语言。现如今,你可能会使用C++比C多,因为前者具有更多的功能。

C++基本上是C的一种延伸。首先学一点C会很有用,特别是当你发现一个硬件库是用C编写的。C/C++并不是像Python或MATLAB那样简单易用。用C来实现相同的功能会需要大量时间,也需要更多行代码。但是,由于机器人非常依赖实时性能,C和C++是最接近我们机器人专家“标准语言”的编程语言。

推荐阅读

史海拾趣

Grayhill公司的发展小趣事
使用万用表等工具测量电路的输出电压和电流,确保它们符合设计要求。
台湾唯圣(GW)公司的发展小趣事
通过电流刺激缓解慢性疼痛,如关节炎、肌肉劳损等引起的疼痛。
Component General Inc公司的发展小趣事

Component General Inc公司的创立,标志着电子行业中一颗新星的升起。自XXXX年成立以来,公司始终致力于射频/微波设计领域的研发与生产。起初,公司只有几名创始人和一些基础的研发设备,但他们凭借着对技术的热情和执着,成功地开发出了首款高功率电阻器,这为公司后续的发展奠定了坚实的基础。

ARMKEIL Microcontroller Tools公司的发展小趣事

为了进一步扩大业务范围和提升技术实力,Keil公司决定与美国德克萨斯州理查森的Keil Software Inc进行联合运营。这一举措不仅使公司得以接触更广阔的市场,还促进了双方在技术、产品和市场等方面的深度融合。联合运营后,Keil公司的发展速度明显加快,逐渐在嵌入式系统开发工具市场上占据了重要地位。

ELANTEC (Renesas )公司的发展小趣事

近年来,随着全球半导体市场的不断变化和技术的快速发展,Renesas也面临着一些挑战。为了应对这些挑战并保持竞争力,Renesas开始进行战略转型和结构调整。公司加强了与客户的合作和沟通,深入了解市场需求和趋势;同时,Renesas还加大了对新技术和新产品的研发投入,不断提升自身的技术实力和创新能力。此外,Renesas还注重人才培养和引进,打造了一支高素质、专业化的团队。这些措施的实施使Renesas在应对挑战和转型过程中取得了积极的成效。

General Instrument Optoelectronics公司的发展小趣事
确保电源线没有损坏或接触不良。

问答坊 | AI 解惑

【招聘】奥笙北京公司软件部招聘信息(重新发帖)

奥笙公司软件部门招聘信息(北京职位) 公司简介    奥笙时代科技(北京)有限公司(www.orpheusys.com) 是成立于2007年的高科技企业,位于中关村腹地才智大厦,毗邻北大、清华和中科院,本公司与中科院声学研究所建立了战略合作关系, ...…

查看全部问答>

TTL反相器电路中某个三极管集电极电阻的计算问题

请问T1管的集电极电阻到底该如何看,如何计算?因为以往的电路大都是一个集电极电阻RC接到电源,而这个图就不一样了,因为T1管的集电极接的是T2管,我就有些搞不太懂到底T1管的集电极电阻怎么算,有的人讲T1管的集电极电阻是R2+T2管C-B结的反偏电阻 ...…

查看全部问答>

LED点阵显示仿真

LED点阵显示仿真----由浅入深之8X8,16X16,24X24LED点阵流动显示 一直以来,对LED点阵显示很感兴趣,特别是流动点阵显示。论坛里有不少例子,可是在我的电脑上大多无法正常运行。有的一运行就S机,能运行的,也是字符不清。于是,自己动手 ...…

查看全部问答>

CC2530发射功率

Zigbee协议栈(CC2530)发射功率最大能有多大呀,难道只有4.5dbm吗,请高手回答,谢谢…

查看全部问答>

fifo缓存

请问有谁做过,用FIFO来构成数据缓存窗口的啊,比如3*3的数据缓存窗口?请教,谢谢…

查看全部问答>

闹心的DSP与codec器件通信

序:               搞了几块aic3256,按照TI公司的原理图做了最小系统,想用F2812来驱动,结果老是不行,好,我想,既然这样,那就从最简单的开始一步一步慢慢来。于是种种问题就浮出水面…… ...…

查看全部问答>

职场:出色拍档的六大要素

  步入社会,你每天要和形形色色的人打交道,在社会的每个角落,你都不可能是孤立的,你必须要通过与其他人合作完成自己的工作任务。如果你在公司里工作,那么,你是否具有团队精神,直接关系到你的业绩。一些大公司招聘人才时,十分注重人才的团 ...…

查看全部问答>

通用示波器几种常见故障的分析

安泰测试维修中心根据多年的维修经验,帮大家分析示波器的几种特殊故障,供广大的电子仪器维修者参考和学习。 一、无扫描线 出现无扫描线故障时应先检查电源电路、示波管电路、触发扫描电路、X轴放大器等的工作是否正常。若这些部分工作都正常 ...…

查看全部问答>

有谁有这两种显示器件的资料啊。

有谁有这两种显示器件的资料啊。麻烦分享一下,这都是一些设备的拆机件。特别是那个大液晶,没有一点资料啊! …

查看全部问答>