回覆列表
  • 1 # 雨中說

    1.C/C++

    首先排名第1的機器人程式語言——C/C++,許多人認為C和C++對新入行的機器人學家是一個很好的起點。為什麼?因為很多硬體庫都使用這兩種語言。這兩種語言允許與低級別的硬體進行互動,允許實時效能,是非常成熟的程式語言。現如今,你可能會使用C++比C多,因為前者具有更多的功能。C++基本上是C的一種延伸。首先學一點C會很有用,特別是當你發現一個硬體庫是用C編寫的。C/C++並不是像Python或MATLAB那樣簡單易用。同樣用C來實現相同的功能會需要大量時間,也將需要更多行程式碼。但是,由於機器人非常依賴實時效能,C和C++是最接近我們機器人專家“標準語言”的程式語言。

    2.Python

    近年來,學習Python的人有一個巨大的回潮,特別是在機器人領域。其中一個原因可能是Python(和C++)是ROS中兩種主要的程式語言。與Java不同,Python的重點是易用性,Python不需要很多時間來做常規的事情,如定義和強制轉換變數型別。這些在程式設計裡面本是很平常的事。另外,Python還有大量的免費庫,這意味著當你需要實現一些基本的功能時不必“重新發明輪子”。而且因為Python允許與C/C++程式碼進行簡單的繫結。這就意味著程式碼繁重部分的效能可以植入這些語言,從而避免效能損失。隨著越來越多的電子產品開始支援“開箱即用”Python(與RaspberryPi一道),我們可能會在機器人中看到更多Python。

    3.Java

    作為一位電子工程師,我總是對一些計算機科學學位課程將Java作為第一種程式語言讓學生們學習感到驚訝。Java對程式設計師隱藏了底層儲存功能,這讓它比起一些語言(如C語言)來說,編寫要容易些,但這也意味著你會更少地理解底層程式碼的執行邏輯。如果你有計算機科學背景並轉到機器人學(很多人是這樣的,特別是在研究領域),你也許已經學過Java。像C#和MATLAB,Java是一種解釋性語言,這意味著它不會被編譯成機器程式碼。相反,Java虛擬機器在執行時解釋指令。使用Java,理論上讓你可以在不同的機器上執行相同的程式碼,這得感謝Java虛擬機器。在實踐中,這不總是可行的,有時會導致程式碼執行緩慢。但是Java在一部分機器人學中非常流行,因此你也許需要它。

    4.C#/.NET

    C#是微軟提供的專用程式語言。我把C#/.NET放在這裡,主要是因為微軟機器人開發員工作包(MicrosoftRoboticsDeveloperStudio),這個包的主要開發語言是C#。如果你準備用這個系統,那麼你很可能必須要用C#。

    5.MATLAB

    MATLAB以及和它相關的開源資源,比如Octave,一些機器人工程師特別喜歡,它被用來分析資料和開發控制系統。還有一個非常流行的機器人工具箱——MATLAB。我知道一些僅僅使用MATLAB就能開發出整個機器人系統的專家。如果你想要分析資料,產生高階影象或是實施控制系統,你也許會想學習MATLAB。

  • 中秋節和大豐收的關聯?
  • 小孩剛出生應該怎麼照顧?