根據(jù)世界第一的機器人教育機構(gòu)卡耐基梅隆大學(xué)的機器人學(xué)博士的課程分類方式,機器人學(xué)有四個核心領(lǐng)域:
在真正開始談該怎么做之前,筆者給了大家一些善意的提醒:
但是,小瓦君想插播一個消息。
關(guān)于筆者善意的提醒和愛的忠告就到這里了,接下來開始介紹如何才能成為一名機器人工程師。
小瓦君將整個大一需要學(xué)習(xí)的整理為五大點
翻墻
必須要翻墻,先確保自己能上Google。這能讓你在之后的職業(yè)生涯里節(jié)省上萬塊錢,所以別心疼買VPN的錢。
注冊一個Gmail賬號
再注冊stackoverflow賬號
再注冊github的賬號
再注冊CSDN賬號
注冊完多登錄上去逛逛...
英語
英語水平會影響機器人工程師水平。
一些高級的機器人知識都不是中文的參考資料,這個時候如果啃不下英文資料,進步速度和眼界就會受到很大影響。
因此大一的時候要多看看紅寶書,看看美劇。
線性代數(shù)
線性代數(shù)的重要性需要特別強調(diào),優(yōu)秀的工程師和科學(xué)家在職業(yè)生涯中要學(xué)至少五次線性代數(shù)。
對學(xué)習(xí)線性代數(shù)推薦兩書一教材:
《Linear Algebra Done Right》
《Linear Algebra Done Wrong》
麻省理工公開課:線性代數(shù)。[2]
不論如何,學(xué)線性代數(shù)一定要用國外的教材,千萬不要用國內(nèi)的教材,就算是英文也要啃下來,同時還要刷足夠多的課后題。
編程
不管學(xué)的專業(yè)是什么,一定要在大學(xué)一年級盡早開始學(xué)編程。
推薦從Python開始學(xué)習(xí)編程,比較好的Python開發(fā)學(xué)習(xí)環(huán)境是Anacoda 。比較好的教材是麻省理工學(xué)院公開課:計算機科學(xué)及編程導(dǎo)論。
Python就像一把瑞士軍刀,功能很多。但是真要去造機器人,合適的工具并不是瑞士軍刀,而是C/C++這樣簡單粗暴的錘子和螺絲刀般的工具。
筆者個人入門用的是清華大學(xué)出版的《C++語言程序設(shè)計》。不過國內(nèi)的C語言教材都有個巨大的問題是不引導(dǎo)學(xué)生去用Linux。
Makefile
當(dāng)你把C學(xué)得差不多,開始要學(xué)寫包含多個頭文件的程序時,一定要同時學(xué)習(xí)makefile的知識。這時候要上網(wǎng)去搜“Makefile詳解”。
筆者個人覺得HTML和Javascript也是機器人工程師必備的技術(shù)。因為web技術(shù)實際上已經(jīng)滲透到了編程的方方面面。另外AJAX能夠幫助初學(xué)者理解一定的網(wǎng)絡(luò)技術(shù)原理,而網(wǎng)絡(luò)技術(shù)也是機器人工程師必備的技能。
上大二的時候,你已經(jīng)學(xué)會了基本的編程知識和基本的數(shù)學(xué)知識。機器人工程師需要的技能數(shù)量是IT行業(yè)全棧工程師技能數(shù)量的三倍以上,這些技能的基礎(chǔ)都應(yīng)該在大二開始積累。
大二應(yīng)該掌握的技能
大二階段特別要強調(diào)的是對動手能力的培養(yǎng),包括機械材料的加工、電路焊接、制作導(dǎo)線和接頭、連接路由器、配置網(wǎng)絡(luò)、做網(wǎng)線等等。
在動手前,你需要準(zhǔn)備以下工具~
對于該選擇造一個怎么樣的“真正能用的機器人”練手,最好的選擇肯定是機器人比賽中的機器人。
參加Robocon,你會學(xué)著造有人那么高的巨大機械;
參加RoboMasters,你會學(xué)著造比汽車還要靈活的機器人。
其他一些小型的比賽比如飛思卡爾智能車,也是很好的訓(xùn)練。
國內(nèi)開源機器人社區(qū)也有很多資源可以利用來學(xué)習(xí),比如自己買Arduino STEM educational Robot kits Building Platform的各種開發(fā)套件做簡單的機器人。
如果更希望接觸到單片機的本質(zhì),可以自己買STM32開發(fā)板學(xué)習(xí)。STM32是ARM Cortex?M家族中最為廣泛應(yīng)用的一款單片機,在網(wǎng)上也有很多的教材和開發(fā)板可供選擇。在國內(nèi)著名的電子論壇STM32/8 分論壇上,有很多參考資料。
大二的暑假,可以跟著學(xué)校的機器人隊參加了一些機器人比賽,也可以自己做一個舵機機器人,比如六足機器人。舵機是機器人工程師的好朋友,一定要好好掌握。
但是,大二要做的,遠遠不止參加機器人比賽。
大二結(jié)束的時候,你的Linux應(yīng)該用的很熟練了,除了makefile,你也用起了cmake。你還應(yīng)該有做到...
3000行代碼
學(xué)校應(yīng)該給大二到大三的學(xué)生有開設(shè)面向?qū)ο蟮某绦蛟O(shè)計,一般用Java或C++。在面向?qū)ο蟮某绦蛘n里面,一定要積累3000行左右的代碼的開發(fā)經(jīng)驗。經(jīng)典的程序設(shè)計練習(xí)通常是寫游戲,比如俄羅斯方塊,吃豆人等等,一定要自己能夠做到完全手寫一個完整的項目出來。
倒立擺
在大二這一年的學(xué)習(xí)中,你的課程里多多少少用到了Matlab。要注意的是,Matlab最強大的工具是Simulink,通過它你幾乎可以仿真一切的物理系統(tǒng)和控制系統(tǒng)。筆者建議同學(xué)可以通過Simulink實現(xiàn)一個倒立擺。
倒立擺是機器人學(xué)中一個非常重要的模型,因為火箭、導(dǎo)彈、雙足機器人、四足機器人,基本都是倒立擺的變形。自己做出來的simulink模型一定要存好哦~
(審核編輯: 林靜)
分享