0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器人研發(fā)中使用的十大最流行的編程語(yǔ)言詳解

OaXG_jingzhengl ? 2017-12-11 17:05 ? 次閱讀

在本文中,我們將介紹機(jī)器人研發(fā)中使用的十大最流行的編程語(yǔ)言。我們將討論他們的缺點(diǎn)和優(yōu)點(diǎn),以及使用或者不使用它們的理由。世界上有超過(guò)1500種編程語(yǔ)言你可以學(xué)習(xí)。下面列出的是目前機(jī)器人中十種最流行的編程語(yǔ)言。每種語(yǔ)言都有不同的優(yōu)勢(shì),作者根據(jù)自身經(jīng)驗(yàn),按照優(yōu)先級(jí)從低到高排序。

這個(gè)問(wèn)題大多數(shù)新的機(jī)器人專家在他們的職業(yè)生涯中至少會(huì)思考一次。不幸的是,這也是一個(gè)沒(méi)有直接答案的問(wèn)題。

如果你在 Stack Overflow、Quora、Trossen、Reddit 或 Research Gate 等機(jī)器人專家或者社區(qū)論壇上提問(wèn)“機(jī)器人最好的編程語(yǔ)言是什么?” 你會(huì)得到不同的答案。正如我們?cè)谖恼轮杏懻摰幕緳C(jī)器人技能一樣,對(duì)于機(jī)器人學(xué)家來(lái)說(shuō)最關(guān)鍵的是建立“ 編程思維 ”,而不是用一種特定的語(yǔ)言來(lái)衡量。在很多方面,你首先學(xué)習(xí)哪種編程語(yǔ)言并不重要,重要的是在通過(guò)編程思維來(lái)不斷提高自身的技能。

回歸主題,在本文中,我們將介紹機(jī)器人研發(fā)中使用的十大最流行的編程語(yǔ)言。我們將討論他們的缺點(diǎn)和優(yōu)點(diǎn),以及使用或者不使用它們的理由。世界上有超過(guò)1500種編程語(yǔ)言你可以學(xué)習(xí)。下面列出的是目前機(jī)器人中十種最流行的編程語(yǔ)言。每種語(yǔ)言都有不同的優(yōu)勢(shì),作者根據(jù)自身經(jīng)驗(yàn),按照優(yōu)先級(jí)從低到高排序。

10. BASIC / Pascal

BASIC和Pascal是我曾經(jīng)學(xué)過(guò)了的兩種主要的編程語(yǔ)言。但這并不是我把它們放在榜單上的原因。相反,它們是運(yùn)用于工業(yè)機(jī)器人編程上很好的語(yǔ)言。BASIC 針對(duì)初學(xué)者設(shè)計(jì),這使它可以成為開(kāi)發(fā)者簡(jiǎn)單的入門(mén)語(yǔ)言。

Pascal的目的是提高編程實(shí)踐,并提出像指針這樣的構(gòu)建,這使得它成為一個(gè)從 BASIC 到更多編程語(yǔ)言的奠基石。如今,這兩種語(yǔ)言對(duì)于“日常運(yùn)用”來(lái)說(shuō)有些過(guò)時(shí)了。但是普通情況下,您要進(jìn)行相當(dāng)程度的底層編碼,或者需要熟悉其他工業(yè)機(jī)器人語(yǔ)言,那么了解它們會(huì)對(duì)您有所幫助。

9.工業(yè)機(jī)器人語(yǔ)言

實(shí)際上,每一個(gè)機(jī)器人制造商都已經(jīng)建立了自己特定的限制性機(jī)器人編程語(yǔ)言,這一直是工業(yè)機(jī)器人領(lǐng)域的一個(gè)問(wèn)題。通過(guò)學(xué)習(xí)Pascal,你會(huì)熟悉他們的一部分。但是,當(dāng)你開(kāi)始在另一個(gè)機(jī)器人平臺(tái)編碼時(shí),都必須使用另一種語(yǔ)言。

機(jī)械臂領(lǐng)域?qū)嵙?qiáng)勁的 ABB 公司,用的語(yǔ)言系統(tǒng)叫做 RAPID;來(lái)自于德國(guó)的 KUKA,語(yǔ)言和公司名字一樣也叫做 KUKA;Comau 利用 PDL2;Yaskawa 利用 Advise 和 Kawasaki 利用 AS。在這一點(diǎn)上,F(xiàn)anuc 機(jī)器人利用 Karel,Staubli 機(jī)器人利用 VAL3 和 Widespread Robots 利用 URScript。

最近,像 ROS 這樣的行業(yè)已經(jīng)開(kāi)始為程序員提供更加標(biāo)準(zhǔn)化的語(yǔ)言選擇。盡管如此,作為一個(gè)技術(shù)人員,你仍需要使用制造商的編程語(yǔ)言。

8. LISP

LISP是世界上第二古老的編程語(yǔ)言(FORTRAN更為古老,但只差一年)。相比與其他語(yǔ)言,它使用得并不是很廣泛,但是在人工智能編程領(lǐng)域還是很最重要的。ROS的一部分是用 LISP 編寫(xiě)的,事實(shí)上,你并不需要知ROS是怎么編寫(xiě)的。

7.硬件描述語(yǔ)言(HDL)

硬件描述語(yǔ)言基本上是描繪電氣的編程方法。這些語(yǔ)言對(duì)于一些機(jī)器人專家來(lái)說(shuō)是非常普遍的,因?yàn)樗麄兞?xí)慣用 FPGAs(Field Programmable Gate Arrays)編程。FPGA可以不用硅芯片便能開(kāi)發(fā)出電子硬件,這使得它們成為一種開(kāi)發(fā)的更快,更低要求的改進(jìn)選擇。如果你不模擬硬件,你可能永遠(yuǎn)不會(huì)使用HDL。

存在即是合理,你還是需要了解一下HDL的,并且它們和其他編程語(yǔ)言也不太一樣。HDL的所有的操作都是并行完成的,而不是像基于處理器的語(yǔ)言那樣順序操作。

6.Assembly

Assembly 可以讓你用“0和1”進(jìn)行編程,這是最底層的編程。在過(guò)去,大多數(shù)底層硬件需要在 Assembly 中進(jìn)行編程。隨著 Arduino 和其他類似微控制器的興起,你現(xiàn)在可以利用C / C ++在底層進(jìn)行有效的編程,這意味著 Assembly 對(duì)于一般的機(jī)器人專家來(lái)說(shuō)可能會(huì)不那么重要。

5. MATLAB

MATLAB和它的開(kāi)源親戚(例如Octave)在一些機(jī)器人專家中非常有名,是他們負(fù)責(zé)調(diào)查數(shù)據(jù)和創(chuàng)建控制系統(tǒng)常用的語(yǔ)言。還有一個(gè)非常有名的MATLAB機(jī)器人 工具箱。我知道使用MATLAB單獨(dú)創(chuàng)建整個(gè)機(jī)器人系統(tǒng)的人員。所以,如果您需要分解數(shù)據(jù),創(chuàng)建高級(jí)圖表或執(zhí)行控制系統(tǒng),那就很可能需要學(xué)習(xí)MATLAB。

4. C#/.NET

C#是微軟提供的一種限制性編程語(yǔ)言。C#/ .NET很大程度上是為微軟機(jī)器人工程師工作室(Microsoft Robotics Studio Studio)提供的,微軟機(jī)器人工程師工作室將其作為基本語(yǔ)言。如果你將使用這個(gè)框架,你就必須學(xué)習(xí) C#。盡管如此,首先學(xué)習(xí)C / C ++,也可以提高自身的編碼能力。

3. Java

作為一個(gè)電子設(shè)計(jì)工程師,我很驚訝一些軟件工程學(xué)院將 JAVA 作為他們第一個(gè)學(xué)習(xí)的編程語(yǔ)言。

Java把對(duì)程序員的底層存儲(chǔ)功能“隱藏了”,這使得對(duì)Java程序的要求不那么高,而且也意味著你對(duì)代碼的處理方式了解得不多。從軟件工程的基礎(chǔ)到探索機(jī)器人的未來(lái),你很可能已經(jīng)學(xué)習(xí)了Java。

像C#和MATLAB一樣,Java是一種解釋性語(yǔ)言,這意味著它不會(huì)被合并到機(jī)器語(yǔ)言代碼中。相反,Java虛擬機(jī)在運(yùn)行時(shí)解釋指令。理論上來(lái)說(shuō),基于Java虛擬機(jī),使用Java可以在不同機(jī)器上使用類似的代碼。但實(shí)際上,這并不普遍使用,有時(shí)會(huì)導(dǎo)致代碼運(yùn)行緩慢。但是Java編程語(yǔ)言在機(jī)器人研究中非常流行,所以你可能需要它。

2. Python

在機(jī)器人研究領(lǐng)域,Python 占據(jù)了重要地位。其中一個(gè)原因很可能是 Python(和C ++)是ROS中的兩種主要編程語(yǔ)言。像Java一樣,它是一種解釋性語(yǔ)言。但也不同于Java,Python 語(yǔ)言主要集中在可用性上。Python不需要花大量的時(shí)間來(lái)做常規(guī)的事情,例如定義和強(qiáng)制轉(zhuǎn)換變量類型。此外,還有大量免費(fèi)的庫(kù),這意味著當(dāng)你不得不實(shí)現(xiàn)一些基本的功能時(shí),你不需要“重新造輪子”。而且由于它允許與C / C ++代碼之間可以進(jìn)行簡(jiǎn)單的綁定,這意味著執(zhí)行代碼繁重部分的性能可以植入這些語(yǔ)言,從而避免性能損失。隨著越來(lái)越多的電子產(chǎn)品開(kāi)始使用“開(kāi)箱即用”的Python(像Raspberry Pi那樣),我們可能會(huì)在機(jī)器人中看到更多的Python。

1. C/C++

機(jī)器人研發(fā)第一編程語(yǔ)言—c++。許多人都認(rèn)為 C 和 C ++ 對(duì)機(jī)器人科學(xué)家來(lái)說(shuō)是一個(gè)很好的開(kāi)端。為什么?因?yàn)橄喈?dāng)多的硬件庫(kù)使用這些語(yǔ)言。它們適用于低級(jí)別的硬件,允許實(shí)時(shí)性能,是非常成熟的編程語(yǔ)言。

現(xiàn)在,你可能會(huì)更多地使用C ++,因?yàn)镃++具有更強(qiáng)大的實(shí)用性。C ++是C的一個(gè)擴(kuò)展。從基礎(chǔ)的C學(xué)習(xí),你也可以得到很多收獲,尤其是當(dāng)你發(fā)現(xiàn)一個(gè)硬件庫(kù)是用 C 編寫(xiě)的時(shí)候。C / C ++不像Python或MATLAB那么容易學(xué)習(xí)的。使用C來(lái)執(zhí)行類似的功能可能需要相當(dāng)長(zhǎng)的時(shí)間,并且需要更多的代碼。盡管如此,但機(jī)器人極其依賴實(shí)時(shí)性能,所以它們?nèi)匀皇菣C(jī)器人科學(xué)家心中的“標(biāo)準(zhǔn)”機(jī)器人編程語(yǔ)言。

那學(xué)習(xí)哪一個(gè)比較好呢?

我列舉了機(jī)器人十大熱門(mén)編程語(yǔ)言,并不意味著你每一個(gè)都需要去學(xué)習(xí)。最重要的是發(fā)現(xiàn)一種適合你的語(yǔ)言,當(dāng)然,也適用于你的機(jī)器人硬件。您需要一種可以讓你快速有效地創(chuàng)建程序的語(yǔ)言,你可以更專注于實(shí)用性。

因此,我建議先學(xué)習(xí)Python。這是我根據(jù)自己的自身經(jīng)驗(yàn)來(lái)說(shuō),當(dāng)然你也可以先學(xué)習(xí)適合你的語(yǔ)言。無(wú)論如何,Python是一門(mén)簡(jiǎn)單易學(xué)的語(yǔ)言它有許多有效的庫(kù)可供學(xué)習(xí),而且功能非常強(qiáng)大。我聽(tīng)過(guò)很多經(jīng)驗(yàn)豐富的程序員在幾天內(nèi)就學(xué)會(huì)了Python,并且很快就運(yùn)用到了大部分編程需求里面。在你學(xué)會(huì)了 Python 之后,我會(huì)建議學(xué)習(xí) C,再由C ++來(lái)牽引。因?yàn)槟阈枰獙⑺c機(jī)器人硬件驅(qū)動(dòng)程序的巨大主導(dǎo)接口進(jìn)行交互。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47282

    瀏覽量

    238534
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84694

原文標(biāo)題:進(jìn)行人工智能機(jī)器人研發(fā),應(yīng)該選擇哪種編程語(yǔ)言?

文章出處:【微信號(hào):jingzhenglizixun,微信公眾號(hào):機(jī)器人博覽】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    掃地機(jī)器人十大排名!了解掃地機(jī)器人哪個(gè)牌子好

    的掃地機(jī)器人生產(chǎn)基地之一,集智能機(jī)器人研發(fā)、生產(chǎn)、銷售為一體的國(guó)際化、專業(yè)化高新技術(shù)企業(yè)  4、福瑪特  北京利而浦電器有限責(zé)任公司,福瑪特,掃地機(jī)器人
    發(fā)表于 01-20 12:04

    家用機(jī)器人出了掃地機(jī)器人還有那些類型???

    如題。在論壇有看到家用機(jī)器人的2014年度十大款類型。比較感興趣,不知道有沒(méi)有大神了解比較全面的家用機(jī)器人知識(shí)?
    發(fā)表于 02-11 11:16

    當(dāng)前最實(shí)用的十大醫(yī)療機(jī)器人

    胸透時(shí),可能存在醫(yī)生沒(méi)有察覺(jué)的細(xì)微情況。而這些機(jī)器人能提供更多特定的診斷功能。5. RP-VITARP-VITA是由iRobot和InToch Heath公司聯(lián)合研發(fā)的遠(yuǎn)程醫(yī)療機(jī)器人。作為遠(yuǎn)程醫(yī)療助手
    發(fā)表于 03-02 15:05

    六軸工業(yè)機(jī)器人的主要特點(diǎn)

    ,而且還具有記憶能力、語(yǔ)言理解能力、圖像識(shí)別能力、推理判斷能力等人工智能,這些都是微電子技術(shù)的應(yīng)用,特別是計(jì)算機(jī)技術(shù)的應(yīng)用密切相關(guān)。六軸關(guān)節(jié)工業(yè)機(jī)器人研發(fā)設(shè)計(jì)及制造已經(jīng)有好幾年的歷
    發(fā)表于 08-08 11:30

    機(jī)器人10大流行編程語(yǔ)言對(duì)比,你學(xué)會(huì)了哪種?

    有超過(guò)1500種編程語(yǔ)言,要學(xué)的話太多了。今天我們學(xué)習(xí)的是目前機(jī)器人技術(shù)中種最流行編程
    發(fā)表于 12-05 16:42

    你掌握了幾種機(jī)器人的10大流行編程語(yǔ)言

    這是一個(gè)許多新入行的機(jī)器人專家在他們職業(yè)生涯中至少會(huì)問(wèn)一次的問(wèn)題。不幸的是,這也是一個(gè)沒(méi)有簡(jiǎn)單答案的問(wèn)題。在本文中,我們將會(huì)審視在機(jī)器人學(xué)中最流行的10種編程
    發(fā)表于 01-13 13:49 ?1.2w次閱讀

    機(jī)器人研發(fā)十大熱門(mén)編程語(yǔ)言:Java、C/C ++、Python

    流水的編程語(yǔ)言,鐵打的 Java、C/C++。 進(jìn)行人工智能機(jī)器人研發(fā),應(yīng)該選擇哪種編程語(yǔ)言?
    發(fā)表于 11-28 10:01 ?5171次閱讀

    對(duì)《工業(yè)機(jī)器人編程指令詳解》的詳細(xì)介紹

    工業(yè)機(jī)器人編程指令詳解》特點(diǎn): 1.作者是自動(dòng)化公司負(fù)責(zé)機(jī)器人研發(fā)、應(yīng)用的總工程師,實(shí)踐經(jīng)驗(yàn)非常豐富。 2.內(nèi)容實(shí)用,案例為主:
    的頭像 發(fā)表于 12-21 15:09 ?1.9w次閱讀

    機(jī)器人的最佳編程語(yǔ)言是什么?機(jī)器人十大流行編程語(yǔ)言匯總

    機(jī)器人的主要特點(diǎn)之一是其通用性,是機(jī)器人具有可編程能力是實(shí)現(xiàn)這一特點(diǎn)的重要手段。機(jī)器人編程必然涉及機(jī)器人
    的頭像 發(fā)表于 05-01 17:32 ?3.5w次閱讀

    應(yīng)用于工業(yè)機(jī)器人編程語(yǔ)言有哪些?

    機(jī)器人的開(kāi)發(fā)語(yǔ)言一般為C、C++、C++ Builder、VB、VC等語(yǔ)言,主要取決于執(zhí)行機(jī)構(gòu)(伺服系統(tǒng))的開(kāi)發(fā)語(yǔ)言;而機(jī)器人
    的頭像 發(fā)表于 10-19 10:36 ?7874次閱讀

    機(jī)器人十大流行編程語(yǔ)言的介紹及機(jī)器人編程系統(tǒng)以及操作方法

    如果您問(wèn)“機(jī)器人的最佳編程語(yǔ)言是什么?計(jì)算機(jī)視覺(jué)程序員會(huì)給出不同于認(rèn)知機(jī)器人的答案。每個(gè)人都不同意什么是“最好的編程
    的頭像 發(fā)表于 10-28 11:46 ?4.2w次閱讀

    工業(yè)機(jī)器人編程語(yǔ)言編程方式

    當(dāng)前的機(jī)器人被廣泛用于焊接、裝配、搬運(yùn)及打磨等領(lǐng)域,所完成的工作越來(lái)越復(fù)雜,在這種形式下機(jī)器人編程方式、編程效率和質(zhì)量就顯得越來(lái)越重要了。本文就給大家介紹下工業(yè)
    發(fā)表于 05-13 16:11 ?6847次閱讀

    機(jī)器人編程語(yǔ)言的類型有哪些?

    機(jī)器人編程語(yǔ)言最早于20世紀(jì)70年代初期問(wèn)世,到目前為止已有多種編程語(yǔ)言出現(xiàn),在眾多機(jī)器人
    發(fā)表于 07-23 16:08 ?1w次閱讀

    工業(yè)機(jī)器人應(yīng)用最廣的十大領(lǐng)域

    隨著技術(shù)的進(jìn)步,工業(yè)機(jī)器人的應(yīng)用領(lǐng)域也在快速擴(kuò)張,相比于新一代的工人,企業(yè)更喜歡用吃苦耐勞、不要工資的工業(yè)機(jī)器人,工業(yè)機(jī)器人在各個(gè)行業(yè)開(kāi)花結(jié)果,廣泛應(yīng)用。下面,2014機(jī)器人金支點(diǎn)獎(jiǎng)優(yōu)
    的頭像 發(fā)表于 03-24 10:15 ?2011次閱讀

    abb工業(yè)機(jī)器人編程語(yǔ)言是什么

    ABB工業(yè)機(jī)器人編程語(yǔ)言主要是RAPID(Robot Application Programming Interface for Development),它是一種高級(jí)編程
    的頭像 發(fā)表于 06-16 16:49 ?2554次閱讀