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++是最接近我們機器人專家“標準語言”的編程語言。