更新時(shí)間:2019-08-28 來(lái)源:黑馬程序員 瀏覽量:
當(dāng)前,與智能機(jī)器人開(kāi)發(fā)技術(shù)相關(guān)的話題越來(lái)越熱,IT培訓(xùn)機(jī)構(gòu)黑馬程序員今年3月份在武漢校區(qū)開(kāi)設(shè)了首期智能機(jī)器人軟件開(kāi)發(fā)工程師就業(yè)班,隨著課程臨近結(jié)束,很多人都好奇,黑馬程序員的智能機(jī)器人軟件開(kāi)發(fā)課程到底都學(xué)了什么技術(shù)?
入門之旅:打好基礎(chǔ)是關(guān)鍵
第1周:Python基礎(chǔ)。Python像一把瑞士軍刀, 你可以用它干很多事,比如自動(dòng)回復(fù)郵件、自動(dòng)收集信息。
很多零基礎(chǔ)學(xué)員,第一周便能用Python開(kāi)發(fā)出簡(jiǎn)單的學(xué)生管理系統(tǒng)、火車票查詢系統(tǒng)。
第2周:學(xué)會(huì)面向?qū)ο?。最能體現(xiàn)“面向?qū)ο蟆本幊趟枷氲模褪谴蠹倚r(shí)候都喜歡玩的坦克大戰(zhàn)。
圖:第二周學(xué)習(xí)成果
第3周:高等數(shù)學(xué)。要想掌握機(jī)器視覺(jué)和人工智能, 成為年薪30萬(wàn)以上的工程師, 懂高等數(shù)學(xué)和線性代數(shù),這是必備基礎(chǔ)。
圖:第三周作業(yè)
第4周:網(wǎng)絡(luò)編程和多線程。網(wǎng)絡(luò)技術(shù)是機(jī)器人工程師必備的技能,多線程也是能最大發(fā)揮程序效率的必備技能,掌握udp、tcp和socket這是編寫通訊模塊的重要基礎(chǔ), 后面我們編寫工業(yè)3D相機(jī)和機(jī)械臂驅(qū)動(dòng),都需要基于socket進(jìn)行編程。
第5周:HTML和爬蟲。Web技術(shù)實(shí)際上已經(jīng)滲透到了編程的方方面面,另外大量網(wǎng)絡(luò)上的數(shù)據(jù)我們需要能夠抓取下來(lái),做數(shù)據(jù)分析,為機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘打下堅(jiān)實(shí)的基礎(chǔ)。
第6周:數(shù)據(jù)清洗和挖掘。學(xué)生掌握數(shù)據(jù)庫(kù)概述、客戶端使用、數(shù)據(jù)庫(kù)操作、表結(jié)構(gòu)的創(chuàng)建和修改、表數(shù)據(jù)的增刪改查、where、order、group、分頁(yè)、連接查詢、外鍵、視圖、事務(wù)、索引等數(shù)據(jù)操作技術(shù)。
進(jìn)階之旅:掌握開(kāi)發(fā)“工具”
學(xué)到這里,學(xué)員們基本上已經(jīng)成為初出茅廬的新兵了,可以準(zhǔn)備進(jìn)入智能機(jī)器人軟件工程師開(kāi)發(fā)的大門了。
第7周:Linux。對(duì)于機(jī)器人工程師來(lái)說(shuō),語(yǔ)言和操作系統(tǒng)都是工具, 哪個(gè)工具最順手,我們就要優(yōu)先學(xué)習(xí)哪個(gè)。從現(xiàn)在到可預(yù)見(jiàn)的未來(lái),Linux是機(jī)器人軟件工程師最好的操作系統(tǒng)。原因是機(jī)器人操作系統(tǒng)ROS是基于Ubuntu開(kāi)發(fā)的,在Ubuntu上運(yùn)行最穩(wěn)定。
第8周,C++實(shí)戰(zhàn)編程。如果說(shuō)Python是瑞士軍刀,那么C/C++便是錘子和螺絲刀。真要去造機(jī)器人,合適的工具并不是瑞士軍刀,而是簡(jiǎn)單粗暴的錘子和螺絲刀般的工具。
熟練使用工具,需要大量的實(shí)踐。在課堂上,黑馬程序員的老師通過(guò)類比講解Python和C++的異同點(diǎn),Python寫業(yè)務(wù)邏輯簡(jiǎn)潔明了,C++做核心算法,整潔高效。以此讓大家短時(shí)間內(nèi)快速掌握兩門語(yǔ)言。
第9周,CMake和makefile實(shí)戰(zhàn)。C語(yǔ)言和C++語(yǔ)言從誕生到現(xiàn)在已經(jīng)有幾十年了, 很多前輩程序員寫出了大量經(jīng)典的框架和工具集, 學(xué)習(xí)編譯工具理解Github存在的意義, 讓前輩的代碼融入到我們的工程中。
實(shí)操之旅:拆解機(jī)器人
當(dāng)學(xué)員們掌握工具之后,終于進(jìn)入全面了解機(jī)器人的過(guò)程。
第10周,機(jī)器人操作系統(tǒng)。ROS( Robot Operating System,機(jī)器人操作系統(tǒng))誕生于2007年,并很快在機(jī)器人研究領(lǐng)域掀起了ROS開(kāi)發(fā)與應(yīng)用的熱潮,目前已經(jīng)成為機(jī)器人領(lǐng)域的網(wǎng)紅。
圖:學(xué)員們第10周的作業(yè)
獵聘網(wǎng)上搜索ROS關(guān)鍵字,大多數(shù)崗位起步月薪到達(dá)到1.5萬(wàn)~2萬(wàn)元。學(xué)員本周的學(xué)習(xí)任務(wù)是,熟練使用pid原理,聯(lián)合使用C++和Python語(yǔ)言,完成掃地機(jī)器人的開(kāi)發(fā)。
第11周,機(jī)器人學(xué)&Cobot Sys仿真。六關(guān)節(jié)機(jī)械臂工作原理,機(jī)器人坐標(biāo)系,坐標(biāo)變換與旋轉(zhuǎn)矩陣,歐拉角四元數(shù),機(jī)器人的DH表達(dá),機(jī)器人關(guān)節(jié)空間與笛卡爾空間轉(zhuǎn)換,機(jī)器人的正解和反解,這些都是屬于機(jī)器人學(xué)的最基本的問(wèn)題。我們花一周的時(shí)間為大家講解,cobot Studio是機(jī)器人仿真模擬的利器。
圖:多自由度的機(jī)械臂的難點(diǎn)在于機(jī)械臂的運(yùn)動(dòng)學(xué)如何建模
第12周,相機(jī)成像和驅(qū)動(dòng)。相機(jī)是機(jī)器人的眼睛,我們要學(xué)習(xí)不同相機(jī)的成像原理,不同光源對(duì)成像的影響,結(jié)構(gòu)光相機(jī),雙目相機(jī)和普通rgb相機(jī)的使用場(chǎng)景,相機(jī)下位機(jī)程序的編寫,相機(jī)驅(qū)動(dòng)的編寫等內(nèi)容。
第13周,機(jī)器視覺(jué)Open CV,視覺(jué)是人類最為重要的感覺(jué)。要賦予機(jī)器人智能,第一步就是給機(jī)器人賦予視覺(jué)。隨著科學(xué)技術(shù)和計(jì)算機(jī)計(jì)算的不斷發(fā)展,主要解決視覺(jué)問(wèn)題的圖像處理系統(tǒng)得到了長(zhǎng)足的發(fā)展,涌現(xiàn)出許多優(yōu)秀的框架,Open CV是其中的代表。
第14周:3D視覺(jué)。2D的照片丟失了一個(gè)維度的數(shù)據(jù),在某些特殊應(yīng)用場(chǎng)景下,不能滿足開(kāi)發(fā)的需求,我們要引入3D的相機(jī)來(lái)進(jìn)行更準(zhǔn)確的識(shí)別。
實(shí)戰(zhàn)之旅:讓機(jī)器人有“思想”
在掌握了初高級(jí)工具,了解了機(jī)器人的相關(guān)系統(tǒng)之后,接下來(lái)就是進(jìn)入實(shí)戰(zhàn)模塊了。
第15周:深度學(xué)習(xí)實(shí)戰(zhàn)。深度學(xué)習(xí)是目前很火的技術(shù),但是大多數(shù)教程都偏理論,學(xué)完很難應(yīng)用到真實(shí)的業(yè)務(wù)場(chǎng)景里面,我們采用目前最主流的深度學(xué)習(xí)框架(pytorch),講解深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò), 深度學(xué)習(xí)做重要的是組織數(shù)據(jù)集,評(píng)估模型和改善模型。
圖:機(jī)器人才是未來(lái)垃圾分類的霸主
第16周:SLAM。SLAM是Simultaneous localization and mapping縮寫,意為“同步定位與建圖”,主要用于解決機(jī)器人在未知環(huán)境運(yùn)動(dòng)時(shí)的定位與地圖構(gòu)建問(wèn)題,我們課程會(huì)講解slam算法原理,坐標(biāo)變換與實(shí)時(shí)構(gòu)圖的過(guò)程,最終利用生成好的地圖文件,完成AGV小車或者掃地機(jī)器人的自主導(dǎo)航。
第17周以后,學(xué)員們開(kāi)始了多項(xiàng)實(shí)戰(zhàn)項(xiàng)目實(shí)踐,包括機(jī)器人寫字、器人無(wú)序分揀、機(jī)器人跟隨等。以機(jī)器人寫字為例,該項(xiàng)目是人手寫數(shù)字,通過(guò)機(jī)器視覺(jué)識(shí)別數(shù)字的圖像,讓機(jī)器人模仿寫出對(duì)應(yīng)的數(shù)字。
圖:這個(gè)步驟,涵蓋數(shù)據(jù)收集、深度學(xué)習(xí)、視覺(jué)處理、識(shí)別數(shù)字等多項(xiàng)技術(shù)的綜合
近幾年,機(jī)器人以各種“方式”進(jìn)入我們的世界。牛津經(jīng)濟(jì)研究所曾在6月25日發(fā)布報(bào)告:未來(lái)10年機(jī)器人將取代全球2000萬(wàn)工作崗位。
機(jī)器人一直是黑馬程序員非常關(guān)注的領(lǐng)域,在開(kāi)發(fā)新課程上,黑馬程序員也一直走在時(shí)代的前沿。黑馬程序員從成立最初的單一學(xué)科,到現(xiàn)在已包括JavaEE、Python+人工智能、前端與移動(dòng)開(kāi)發(fā)、UI/UE設(shè)計(jì)、大數(shù)據(jù)、Go語(yǔ)言等14門學(xué)科。
歷史上,黑馬程序員曾在移動(dòng)互聯(lián)網(wǎng)時(shí)代來(lái)臨之際,率先培養(yǎng)了大批的Android與iOS的開(kāi)發(fā)人才,為移動(dòng)互聯(lián)網(wǎng)輸送了大量的人才。在即將到來(lái)的智能機(jī)器人時(shí)代,黑馬程序員依然走在前面。