目前課程版本:1.1 發(fā)布時(shí)間:2019.12.11 點(diǎn)擊咨詢
具有一定數(shù)學(xué)基礎(chǔ)、理工方向本科畢業(yè)生
全日制脫產(chǎn),每周5天上課(實(shí)際培訓(xùn)時(shí)間可能因法定節(jié)假日等因素發(fā)生變化)
自帶筆記本
基礎(chǔ)班7天、就業(yè)班4個(gè)半月,詳情可詢咨詢老師 點(diǎn)擊咨詢
智能機(jī)器人軟件開發(fā)基礎(chǔ)班課程大綱 | |||
所處階段 | 主講內(nèi)容 | 技術(shù)要點(diǎn) | 學(xué)習(xí)目標(biāo) |
第一階段: Python基礎(chǔ)入門 | Python簡(jiǎn)介和 開發(fā)環(huán)境搭建 | 計(jì)算機(jī)組成原理;python的特點(diǎn)和使用場(chǎng)景;python環(huán)境搭建;pycharm的安裝和使用 | 可掌握的核心能力: 1. 能夠熟練使用掌握python的語法; 2.掌握函數(shù)式編程思想; 3. 能夠使用Python語言完成圖形化界面的開發(fā)。 |
Python基礎(chǔ)語法 | 程序bug分析和debug;程序注釋的使用;python中變量的定義和使用;標(biāo)準(zhǔn)輸入和輸出函數(shù);python運(yùn)算符 | ||
Python流程控制語句 | 條件控制語句if;循環(huán)控制語句while;continue和break;嵌套循環(huán);while循環(huán);for循環(huán)遍歷;range區(qū)間使用;for else語法 | ||
高級(jí)變量類型 | 列表;冒泡排序和選擇排序;元組;set集合;字符串;map字典;切片;推導(dǎo)式語法 | ||
Python函數(shù) | 函數(shù)的定義和使用;函數(shù)形參和實(shí)參;局部變量和全局變量;默認(rèn)參數(shù)和關(guān)鍵字參數(shù);可變參數(shù);遞歸函數(shù);函數(shù)式編程;常見的高階函數(shù) | ||
PyQt圖形化界面開發(fā) | 常見的文本控件和輸入控件;按鈕控件;信號(hào)和槽通信機(jī)制;常見布局方式;對(duì)話框控件 |
具有一定數(shù)學(xué)基礎(chǔ)、理工方向本科畢業(yè)生
全日制脫產(chǎn),每周5天上課(實(shí)際培訓(xùn)時(shí)間可能因法定節(jié)假日等因素發(fā)生變化)
自帶筆記本
基礎(chǔ)班7天、就業(yè)班4個(gè)半月,詳情可詢咨詢老師 點(diǎn)擊咨詢
智能機(jī)器人軟件開發(fā)就業(yè)班課程大綱 | |||
所處階段 | 主講內(nèi)容 | 技術(shù)要點(diǎn) | 學(xué)習(xí)目標(biāo) |
第二階段: Python核心編程 | 文件IO | 文件的打開和關(guān)閉;文件的讀寫;文件的定位讀寫;相對(duì)路徑和絕對(duì)路徑;文件和文件夾的其它操作 | 可掌握的核心能力: 1.掌握面向?qū)ο缶幊趟枷耄?br/> 2.掌握Python中模塊、異常及第三方框架的引入和使用; 3.建立編程思維以及面向?qū)ο蟪绦蛟O(shè)計(jì)思想精髓; 4.掌握版本控制工具Git管理軟件項(xiàng)目。 可解決的現(xiàn)實(shí)問題: 能夠靈活運(yùn)用Python技術(shù)完成程序分析與編寫,抽象化的分解業(yè)務(wù)邏輯,使用Python技術(shù)完成小游戲程序的開發(fā)。 |
面向?qū)ο?/td> | 面向?qū)ο蠛兔嫦蜻^程;類的定義和對(duì)象的創(chuàng)建;屬性和方法定義;運(yùn)算符重載;屬性和方法私有化;面向?qū)ο蠓庋b;面向?qū)ο罄^承和多繼承;多態(tài)和鴨子模型;類屬性和對(duì)象屬性;類方法和靜態(tài)方法;枚舉;引用以及可變類型和不可變類型;數(shù)據(jù)類型三種比較方式 | ||
模塊和包 | 模塊基本概念; 模塊導(dǎo)入; 多模塊導(dǎo)入沖突; 包基本概念;模塊整體導(dǎo)入與局部導(dǎo)入;常用系統(tǒng)模塊 | ||
異常處理 | 異常基本概念; 異常捕獲的幾種語法格式; 常見的異常錯(cuò)誤; 自定義異常 | ||
Pygame框架 | Pygame基本概念; Pygame窗體展示; Pygame坐標(biāo)系; Pygame圖像渲染; Pygame圖像移動(dòng);Pygame事件機(jī)制; Pygame文本渲染; Pygame渲染原理; Pygame聲音播放 | ||
Git版本控制 | 版本控制基本概念; Git版本控制工具介紹;Git本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù); Git本地倉(cāng)庫(kù)工作流程;Git本地倉(cāng)庫(kù)命令操作流程; Git遠(yuǎn)程倉(cāng)庫(kù)創(chuàng)建與刪除; Git本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)交互流程;Git本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)命令交互; Git倉(cāng)庫(kù)多人協(xié)作 | ||
面向?qū)ο髮?shí)戰(zhàn): 飛機(jī)大戰(zhàn)&坦克大戰(zhàn) | 游戲界面渲染; 鍵盤事件捕獲與處理; 面向?qū)ο蠓治鲲w機(jī);飛機(jī)的顯示;飛機(jī)的控制;面向?qū)ο蠓治鲎訌?;子彈顯示與運(yùn)動(dòng); 面向?qū)ο蠓治鰯硻C(jī); 子彈與敵機(jī)的碰撞檢查;子彈和敵機(jī)的回收處理與循環(huán)利用;爆炸物的顯示; FPS與得分計(jì)算與顯示;窗體創(chuàng)建;頁(yè)面的封裝;多頁(yè)面的構(gòu)建與分流;坦克和磚墻的顯示;基于顯示特征的抽象構(gòu)建;實(shí)現(xiàn)抽象顯示的多種子元素;基于子元素顯示特性定義;地圖協(xié)議;坦克的移動(dòng)與磚墻的阻塞;移動(dòng)與阻塞特征的抽象構(gòu)建;移動(dòng)越界判斷與處理;子彈顯示與回收;可回收特征的構(gòu)建;子彈與磚墻的碰撞檢查;攻擊與被攻擊的抽象構(gòu)建;磚墻被攻擊時(shí)爆炸物的顯示;攻擊與被攻擊產(chǎn)物的抽象構(gòu)建;銷毀對(duì)象時(shí)產(chǎn)物的抽象構(gòu)建;顯示物抽象定義顯示順序;敵方坦克移動(dòng)A星搜索算法;應(yīng)用程序打包 | ||
第三階段: 高等數(shù)學(xué)知識(shí)加強(qiáng) | 高等數(shù)學(xué)引入 | numpy數(shù)組及屬性;numpy數(shù)組比較與運(yùn)算;數(shù)組切片與變形;高維數(shù)據(jù)及應(yīng)用場(chǎng)景 | 可掌握的核心能力: 1.理解高中、大學(xué)的數(shù)學(xué)常識(shí)及應(yīng)用場(chǎng)景; 2.熟悉numpy、sympy等科學(xué)計(jì)算程序庫(kù); 3.掌握matplotlib庫(kù)的數(shù)據(jù)科學(xué)圖標(biāo)繪制。 可解決的閑時(shí)問題: 能用計(jì)算機(jī)求解多項(xiàng)式,微積分、離散數(shù)學(xué)、矩陣運(yùn)算、排列組合和統(tǒng)計(jì)學(xué)問題。 |
向量和矩陣 | 線性代數(shù)入門;行向量與列向量;numpy切片與索引;numpy廣播機(jī)制 | ||
矩陣運(yùn)算與空間維度 | 矩陣乘法;倒數(shù);逆矩陣 | ||
numpy科學(xué)計(jì)算 | numpy統(tǒng)計(jì)分析;偏差與方差;瑪雅計(jì)算法;概率論入門;numpy邏輯操作;numpy排序 | ||
numpy切片&索引&廣播 | numpy一維數(shù)組;二維數(shù)組的切片和索引;numpy數(shù)組拆分;合并與相關(guān)高級(jí)操作 | ||
sympy科學(xué)計(jì)算 | 高中數(shù)學(xué)快速?gòu)?fù)習(xí);sympy庫(kù)入門;分?jǐn)?shù)和特殊無理數(shù);latex語法;代數(shù)運(yùn)算;sum和Product運(yùn)算 | ||
極限導(dǎo)數(shù)&微積分 | 左極限和有極限;導(dǎo)數(shù);導(dǎo)數(shù)的求導(dǎo)公式;多階導(dǎo)數(shù)/高階導(dǎo)數(shù);積分 | ||
代數(shù)&解方程&概率論 | 解一元方程;解二元方程;代數(shù)運(yùn)算;sympy表達(dá)式;正態(tài)分布 | ||
matplotlib數(shù)據(jù)可視化 | 表格繪制的基本操作;折線圖與三角函數(shù)繪制;子表格繪制;動(dòng)態(tài)數(shù)據(jù)可視化 | ||
第四階段: Python高級(jí)編程 | 網(wǎng)絡(luò)通信基礎(chǔ) | 基于UDP通信技術(shù)的網(wǎng)絡(luò)程序;基于UDP的廣播收發(fā)技術(shù);編碼解碼及轉(zhuǎn)換;基于TCP通信技術(shù)客戶端程序;基于TCP通信技術(shù)服務(wù)器程序;TCP3次握手和4次揮手概念;TCP/IP協(xié)議概念;IP地址&域名&DNS概念 | 可掌握的核心技能: 1.熟悉網(wǎng)絡(luò)通信的原理及應(yīng)用; 2.掌握Python Web開發(fā)框架及應(yīng)用; 3.熟悉數(shù)據(jù)庫(kù)常見操作; 4.掌握網(wǎng)絡(luò)爬蟲原理及應(yīng)用; 5.掌握Python嵌入式應(yīng)用開發(fā)。 可解決的現(xiàn)實(shí)問題: 能夠根據(jù)需求熟練使用Python實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲的設(shè)計(jì)與開發(fā);能夠根據(jù)需求完成嵌入式應(yīng)用的開發(fā)。 |
HTTP協(xié)議與服務(wù)器 | HTTP請(qǐng)求及響應(yīng)報(bào)文;長(zhǎng)連接&短連接;基于TCP實(shí)現(xiàn)HTTP協(xié)議模擬瀏覽器;基于TCP實(shí)現(xiàn)HTTP協(xié)議服務(wù)器;實(shí)現(xiàn)靜態(tài)資源Web服務(wù)器;實(shí)現(xiàn)網(wǎng)游服務(wù)器;基于WSGI實(shí)現(xiàn)動(dòng)態(tài)Web服務(wù)器 | ||
Web開發(fā)框架 | Web服務(wù)器通信過程;web框架實(shí)現(xiàn) | ||
多任務(wù)-線程&進(jìn)程&協(xié)程 | 并行和并發(fā)的概念;使用線程實(shí)現(xiàn)多任務(wù);同步任務(wù)及異步任務(wù);互斥鎖、死鎖;多線程版UDP聊天器;多任務(wù)版TCP服務(wù)器框架;線程的事件(Event);GIL全局鎖、RLock遞歸鎖、線程池(ThreadPoolExecutor);進(jìn)程間通信-消息隊(duì)列Queue;進(jìn)程池Pool及其通信;多進(jìn)程版文件夾拷貝器;多進(jìn)程fork概念;進(jìn)程間通訊-管道Pipe;可迭代對(duì)象、迭代器;斐波那契數(shù)列;協(xié)程-yield;協(xié)程-gevent;并發(fā)下載器;協(xié)程版Web服務(wù)器 | ||
Linux系統(tǒng)&命令 | 操作系統(tǒng)入門;Linux操作系統(tǒng)發(fā)展史;不同文件系統(tǒng)的目錄結(jié)構(gòu);Linux常用技巧及配置;Linux命令格式及幫助入門;Linux文件目錄命令;Linux操作系統(tǒng)信息;Linux文件&目錄權(quán)限;Linux用戶及組操作;重定向&管道;find查找及grep過濾;Linux系統(tǒng)安裝及配置 | ||
vim&Shell腳本 | Vim編輯器3種模式使用;Vim快捷鍵;Shell基本概念;Shell變量及數(shù)組;Shell表達(dá)式;Shell運(yùn)算符;Shell流程控制;Shell腳本案例;Linux定時(shí)任務(wù)cron | ||
正則表達(dá)式 | 學(xué)習(xí)re模塊;匹配單個(gè)字符;匹配多個(gè)字符;正則表達(dá)式分組;匹配開頭與結(jié)尾;貪婪與非貪婪模式 | ||
數(shù)據(jù)庫(kù)編程 | mysql概述;sql語法入門;數(shù)據(jù)庫(kù),數(shù)據(jù)表的CRUD操作;單表數(shù)據(jù)CRUD操作;多表數(shù)據(jù)CRUD操作;子查詢;真實(shí)項(xiàng)目數(shù)據(jù)庫(kù)分析;常見SQL筆試題講解;視圖,事務(wù),索引;數(shù)據(jù)庫(kù)設(shè)計(jì)范式;python代碼操作數(shù)據(jù)庫(kù);使用框架操作數(shù)據(jù)庫(kù) | ||
html與css | html語法;常用的html標(biāo)簽;css語法規(guī)則;css選擇器;常用css屬性;流式布局 | ||
網(wǎng)絡(luò)爬蟲 | 爬蟲工作原理;常見爬蟲;編寫爬蟲爬取數(shù)據(jù);使用sql存儲(chǔ)數(shù)據(jù);使用html與css精美展現(xiàn)數(shù)據(jù) | ||
Python驅(qū)動(dòng)底層硬件 | Raspberry學(xué)習(xí);常見傳感器學(xué)習(xí);GPIO學(xué)習(xí);數(shù)字電路;PWM方波 | ||
第五階段: C++高級(jí)實(shí)戰(zhàn) | 數(shù)據(jù)類型和邏輯控制 | 變量聲明和初始化;變量大??;注釋;邏輯運(yùn)算符、循環(huán)處理(for | while | do-while);break 和 continue命名空間、數(shù)組、字符串 | 可掌握的核心能力: 1.掌握C++語法、lambda表達(dá)式及常見的數(shù)據(jù)類型等; 2.熟練使用C++語言下面向?qū)ο笏枷朐O(shè)計(jì)程序; 3.掌握多線程互斥、并發(fā)思想,能設(shè)計(jì)出常見的設(shè)計(jì)模式; 3.理解C++編譯原理,能夠熟練編寫編譯規(guī)則等; 4.熟練使用C++技術(shù)完成針對(duì)問題的程序編寫。 |
動(dòng)態(tài)數(shù)組和函數(shù) | vector的使用;函數(shù)表現(xiàn)形式;函數(shù)原型;分離式編譯;函數(shù)重載;函數(shù)參數(shù)傳遞數(shù)組;函數(shù)參數(shù)傳遞引用;內(nèi)聯(lián)函數(shù) | ||
指針與引用 | 指針聲明和初始化、指針解引用、動(dòng)態(tài)內(nèi)存分配、數(shù)組和指針關(guān)系;指針?biāo)銛?shù)、指針與常量、函數(shù)參數(shù)傳遞指針、函數(shù)返回指針;二級(jí)指針、函數(shù)指針、左引用和右引用 | ||
類和對(duì)象 | 類和對(duì)象介紹;堆棧創(chuàng)建對(duì)象;訪問修飾符;實(shí)現(xiàn)成員函數(shù)手段;構(gòu)造函數(shù);析構(gòu)函數(shù);拷貝構(gòu)造函數(shù);移動(dòng)構(gòu)造函數(shù);this指針;常函數(shù)和常對(duì)象;靜態(tài)成員;結(jié)構(gòu)體和類;友元 | ||
運(yùn)算符重載和繼承 | 運(yùn)算符重載的意義;運(yùn)算符重載的兩種寫法;輸入運(yùn)算符重載;輸出運(yùn)算符重載;賦值運(yùn)算符重載;調(diào)用運(yùn)算符重載;lambda表達(dá)式;繼承介紹;繼承中的訪問權(quán)限;繼承中的構(gòu)造和析構(gòu);重寫父類同名函數(shù);多重繼承;類的前置聲明 | ||
多態(tài)和智能指針 | 多態(tài)概念解釋;聯(lián)編機(jī)制解釋;虛函數(shù);override 和 final;=delete和=default;純虛函數(shù);抽象類和接口;原始指針潛在隱患;智能指針(unique_ptr 、shared_ptrweak_ptr);c/c++動(dòng)態(tài)內(nèi)存申請(qǐng) | ||
異常和I/O | 宏變量和條件宏;枚舉;捕獲異常;拋出異常;自定義異常;基本輸入輸出操作;string字符流;文件讀寫操作 | ||
模板和容器 | 模板編程的必要性;函數(shù)模板;可變參數(shù);可變參數(shù)函數(shù)模板;類模板編程;順序容器;關(guān)聯(lián)容器;迭代器;function對(duì)象;bind函數(shù) | ||
線程和設(shè)計(jì)模式 | 線程概念;join和detach;獲取線程id和休眠;結(jié)束線程;并發(fā)訪問;線程同步(互斥量、lock_guard、unique_guard);條件變量;async函數(shù);單例模式;觀察者模式 | ||
make 和 cmake | 程序編譯解釋;makefile規(guī)則解讀;makefile入門;cmake介紹;CmakeList.txt解讀;自定義配置;導(dǎo)入第三方依賴庫(kù) | ||
第六階段: Qt&C++驅(qū)動(dòng)實(shí)戰(zhàn) | Qt編程基礎(chǔ) | clion使用三方庫(kù)使用;clion配置Qt開發(fā)環(huán)境;Qt的對(duì)象樹模型以及內(nèi)存泄露分析 | 可掌握的核心能力: 1.理解Qt圖像化界面的繪制流程; 2.掌握Qt圖像化界面應(yīng)用開發(fā)流程; 3.掌握socket通信原理及應(yīng)用; 4.理解上位機(jī)驅(qū)動(dòng)開發(fā)原理; 5.掌握Python和C++下機(jī)器人驅(qū)動(dòng)開發(fā)。 可解決的現(xiàn)實(shí)問題: 1.能夠根據(jù)需求設(shè)計(jì)與開發(fā)PC端圖形化應(yīng)用; 2.能夠獨(dú)立開發(fā)UR/AUBO機(jī)器人驅(qū)動(dòng)應(yīng)用; 3.理解開源框架urx庫(kù)實(shí)現(xiàn)原理,能夠進(jìn)行二次開發(fā)。 |
Qt文件操作和網(wǎng)絡(luò)通信 | Qt的信號(hào)和槽;自定義信號(hào);資源文件文件使用;Qt界面的事件機(jī)制;Qt自定義控件繪制;Qt繪制時(shí)鐘應(yīng)用 | ||
Qt高級(jí)應(yīng)用 | Qt文件IO操作;Qt網(wǎng)絡(luò)通信TCP和UDP實(shí)現(xiàn);Qt發(fā)送UDP廣播;Qt編寫局域網(wǎng)聊天軟件 | ||
機(jī)器人驅(qū)動(dòng)開發(fā)原理 | 機(jī)器人上位機(jī)驅(qū)動(dòng)開發(fā)和下位機(jī)驅(qū)動(dòng)開發(fā)區(qū)別;UR機(jī)器人上位機(jī)驅(qū)動(dòng)和AuBo機(jī)器人上位機(jī)驅(qū)動(dòng)原理;機(jī)器人下位機(jī)socket通信 | ||
UR機(jī)器人驅(qū)動(dòng)編程語言 | URScrpit語言作用和簡(jiǎn)介;URScrpit變量定義;流程控制以及內(nèi)置函數(shù)介紹 | ||
UR機(jī)器人上位機(jī)驅(qū)動(dòng)開發(fā) | C++網(wǎng)絡(luò)通信socket;三種移動(dòng)方式movel、movej以及movep實(shí)現(xiàn);機(jī)器人下位機(jī)返回?cái)?shù)據(jù)解析;數(shù)據(jù)存儲(chǔ)之大端存儲(chǔ)和小端存儲(chǔ);阻塞實(shí)現(xiàn)機(jī)器人移動(dòng) | ||
常用機(jī)器人驅(qū)動(dòng)庫(kù) | URX驅(qū)動(dòng)庫(kù)實(shí)現(xiàn)原理;python解析大端存儲(chǔ)數(shù)據(jù);python開啟線程處理數(shù)據(jù)解析;python socket通信;Aubo機(jī)器人驅(qū)動(dòng)庫(kù)實(shí)現(xiàn) | ||
第七階段: 機(jī)器人操作系統(tǒng)(ROS) | ROS核心基礎(chǔ) | ROS基本概念;ROS開發(fā)環(huán)境搭建;ROS架構(gòu)設(shè)計(jì)理論;ROS的文件系統(tǒng);Workspace,Package與Node的概念;Python與C++開發(fā)Node節(jié)點(diǎn);rosnode工具的使用;package結(jié)構(gòu)目錄資源配置 | 可掌握的核心能力: 1. ROS核心編程; 2. C++開發(fā)ROS程序; 3. Python開發(fā)ROS程序; 4. 各種ROS調(diào)試工具的使用; 5. ROS的三種通訊模型; 6. TF坐標(biāo)轉(zhuǎn)換; 7. Moveit框架使用; 8. 可視化工具使用; 9. 機(jī)械臂正解反解; 10. 硬件驅(qū)動(dòng)開發(fā); 11. 產(chǎn)品線可視化設(shè)計(jì)與仿真開發(fā)。 可解決的現(xiàn)實(shí)問題: 1.已經(jīng)可以使用ROS通訊系統(tǒng)來控制硬件設(shè)備; 2.掌握機(jī)器人操作系統(tǒng); 3.滿足市面上企業(yè)對(duì)ROS開發(fā)人才的需求。 |
Topic通訊模型 | Topic通訊機(jī)制原理介紹;Python與C++開發(fā)Publisher;rostopic工具調(diào)publisher;rqt工具調(diào)試publisher;Python與C++開發(fā)Subscriber;rostopic工具調(diào)試Subscriber;rqt工具調(diào)試subscriber;Message基本概念;自定義Message流程;引用自定義對(duì)象類型Message;引用系統(tǒng)庫(kù)類型Message;引用三方庫(kù)類型Message;集合類型Message;rosmsg調(diào)試Message | ||
Qt&ROS應(yīng)用案例 | 小烏龜坐標(biāo)系與基本操控;小烏龜通訊模型分析與講解;ros工具操控小烏龜移動(dòng)和旋轉(zhuǎn);ros的Qt環(huán)境搭建;Python與C++開發(fā)Qt應(yīng)用操控小烏龜運(yùn)動(dòng);Python與C++開發(fā)Qt應(yīng)用獲取小烏龜實(shí)時(shí)位置信息 | ||
ROS日志 | 日志等級(jí);Python與C++的日志API;rosconsole工具的使用;rqt工具的日志操作 | ||
Service通訊模型 | Service通訊機(jī)制原理介紹;Python與C++開發(fā)Server端;rosservice工具調(diào)試server端;rqt工具調(diào)試server端;Python與C++開發(fā)Client端;Client端的調(diào)試;srv消息基本概念;自定義srv消息流程;srv消息與Message消息間的關(guān)系;自定義復(fù)雜類型的srv消息;小烏龜service通訊模型分析;ros工具調(diào)用小烏龜?shù)膔eset;kill,spawn等服務(wù);Python與C++開發(fā)Qt應(yīng)用調(diào)用小烏龜提供的服務(wù) | ||
掃地機(jī)器人案例 | 小烏龜掃地機(jī)器人介紹;Qt控制掃地機(jī)器人線速運(yùn)動(dòng);線速運(yùn)動(dòng)存在的問題分析;開環(huán)控制與閉環(huán)控制系統(tǒng)介紹;PID控制算法介紹;rqt_plot工具使用介紹;線速度P算法的控制與k值調(diào)試;線速度I算法的控制與k值調(diào)試;線速度D算法的控制與k值調(diào)試;Qt控制掃地機(jī)器人角速度運(yùn)動(dòng);角速度調(diào)整策略;極限位置運(yùn)動(dòng)調(diào)試與問題分析;掃地機(jī)器人路徑規(guī)劃 | ||
Action通訊模型 | Action通訊原理介紹;SimpleAction的Server與Client端介紹;Python與C++開發(fā)SimpleActionServer端;Server端Result響應(yīng)與Feedback響應(yīng);Python與C++開發(fā)SimpleActionClient端;Client端Goal的發(fā)送與取消;Client端Feedback處理與Result處理;Action消息基本概念;自定義Action消息流程;Action消息與Message消息間的關(guān)系;自定義復(fù)雜類型的Action消息;SimpleAction存在的問題;Action的Server端與Client端介紹;Python與C++開發(fā)ActionServer端;Server端的狀態(tài)管理;Server端不同狀態(tài)的Result響應(yīng);Python與C++開發(fā)ActionClient端;Client端狀態(tài)的判斷;Client端不同狀態(tài)的響應(yīng)處理 | ||
ROS功能擴(kuò)展 | rosparam概念介紹;rosparm工具使用;Python與C++開發(fā)調(diào)用param相關(guān)API;roslanuch基本概念;lanuch文件編寫 | ||
TF坐標(biāo)轉(zhuǎn)換 | TF坐標(biāo)轉(zhuǎn)換概念;Python與C++開發(fā)Broadcast;rqt工具調(diào)試TF tree;Python與C++開發(fā)Listener;TF tree中相對(duì)坐標(biāo)的轉(zhuǎn)換;主從小烏龜跟隨功能的實(shí)現(xiàn);TF tree相對(duì)坐標(biāo)系的構(gòu)建;多只小烏龜護(hù)航功能的實(shí)現(xiàn);TF tree構(gòu)建動(dòng)態(tài)坐標(biāo)系;兩只小烏龜實(shí)現(xiàn)彗星運(yùn)動(dòng) | ||
機(jī)器人運(yùn)動(dòng)學(xué) | 向量基本介紹;向量的加法;向量的縮放;單位向量;向量的點(diǎn)乘;向量的叉乘;什么是自由度;空間位置的描述和定義;關(guān)節(jié)類型介紹;坐標(biāo)系理解;二維坐標(biāo)系的平移和旋轉(zhuǎn);三維坐標(biāo)系的平移和旋轉(zhuǎn);多關(guān)節(jié)聯(lián)動(dòng)坐標(biāo)系轉(zhuǎn)換 | ||
機(jī)器人建模與可視化 | URDF模型介紹;連桿配置;關(guān)節(jié)配置;rviz配置可視化;構(gòu)建scara機(jī)器人;xacro可編程配置 | ||
MoveIt運(yùn)動(dòng)規(guī)劃 | Moveit!框架介紹;Moveit!框架工作原理介紹;目標(biāo)路徑規(guī)劃;多場(chǎng)景配置;虛擬化調(diào)試工具;Aubo i5真機(jī)對(duì)接;Ur3真機(jī)對(duì)接;Panda機(jī)械臂配置使用;Moveit!初始化助理的使用 | ||
企業(yè)生產(chǎn)環(huán)境仿真與聯(lián)動(dòng) | 構(gòu)建非標(biāo)機(jī)器人環(huán)境下的moveit規(guī)劃策略;Follow Trajectory開發(fā);多設(shè)備通訊驅(qū)動(dòng)開發(fā);多驅(qū)動(dòng)集成到Moveit環(huán)境中;仿真環(huán)境和真機(jī)環(huán)境融合使用 | ||
硬件接入與驅(qū)動(dòng)開發(fā) | 硬件接入介紹;激光雷達(dá)基本概念介紹;激光雷達(dá)與ROS系統(tǒng)通訊模型理解;激光雷達(dá)驅(qū)動(dòng)的啟動(dòng)與調(diào)試;自定義Node與激光雷達(dá)驅(qū)動(dòng)進(jìn)行通訊;電動(dòng)夾爪介紹;RS232通訊協(xié)議介紹;編寫電動(dòng)夾爪控制代碼;編寫ROS的電動(dòng)夾爪驅(qū)動(dòng)程序 | ||
第八階段: 2D機(jī)器視覺實(shí)戰(zhàn) | 常見圖像處理 | 圖像幾何變換;圖像融合;圖像灰度處理;底片特效;圖像馬賽克效果;圖像毛玻璃效果;圖像浮雕效果;繪制圖案;繪制文字;亮度增強(qiáng);圖像直方圖均衡化;視頻分解與合成 | 可掌握的核心能力: 1.掌握常用的圖像處理技術(shù); 2.掌握?qǐng)D像處理背后的原理; 3.掌握?qǐng)D像分割技術(shù); 4.掌握物品定位技術(shù)。 可解決的現(xiàn)實(shí)問題: 能夠自己編寫美圖軟件;能夠進(jìn)行常見的圖像特效處理;能夠解決工業(yè)場(chǎng)景常見需求;能夠編碼解決常見圖像處理問題。 |
高級(jí)特效變換 | |||
顏色模型與矩陣變換 | |||
卷積運(yùn)算與霍夫變換 | 均值濾波;高斯模糊;中值濾波;Sobel算子;拉普拉斯算子;Canny邊緣檢測(cè)算法; 雙邊濾波;極坐標(biāo)轉(zhuǎn)換;霍夫直線檢測(cè)算法;霍夫圓形檢測(cè)算法 | ||
灰度與形態(tài)學(xué)變換 | |||
圖像分割原理 | 圖像二值化;大津算法;三角閾值;輪廓提??;計(jì)算輪廓大??;計(jì)算物品周長(zhǎng);計(jì)算物品面積;計(jì)算物品旋轉(zhuǎn)角度;多邊形擬合 | ||
物體定位與分割 | 圖像修復(fù);圖像切除雜邊;圖像切邊與旋轉(zhuǎn);填空題直線位置檢測(cè);工件數(shù)量統(tǒng)計(jì); 粘連物品分割;證件照背景替換 | ||
Watershed算法圖像處理 | |||
FloodFilled算法分割圖像 | |||
kmeans算法圖像處理 | |||
圖像處理綜合實(shí)戰(zhàn) | |||
第九階段: 3D機(jī)器視覺實(shí)戰(zhàn) | 3D點(diǎn)云I/O與分解算法 | PointCloudLibrary概述;PCL數(shù)據(jù)結(jié)構(gòu)及可視化;3D點(diǎn)云輸入輸出;3D點(diǎn)云分解之k-d tree;3D點(diǎn)云分解之八叉樹octree;點(diǎn)云濾波及降采樣 | 可掌握的核心能力: 1.理解3D點(diǎn)云結(jié)構(gòu)與數(shù)據(jù)構(gòu)建; 2.掌握3D點(diǎn)云輸入輸出與常見分解算法; 3.理解深度圖的原理與特征描述; 4.掌握曲面重建及常見配準(zhǔn)算法; 5.掌握手眼標(biāo)定、2D與3D視覺融合。 可解決的現(xiàn)實(shí)問題: 1.能夠獨(dú)立構(gòu)建3D點(diǎn)云深度圖; 2.能夠基于點(diǎn)云特征進(jìn)行目標(biāo)定位; 3.能夠通過機(jī)器視覺實(shí)現(xiàn)手眼標(biāo)定、物體識(shí)別等需求。 |
關(guān)鍵點(diǎn)算法與特征描述 | 深度圖的創(chuàng)建及邊界提?。魂P(guān)鍵點(diǎn)概念及算法實(shí)現(xiàn);采樣一致性算法RANSAC;點(diǎn)云表面Normal法線的估算;基于PFH的點(diǎn)云特征描述符 | ||
對(duì)齊算法、歐式分割與曲面重建 | 3D點(diǎn)云配準(zhǔn)需求及實(shí)現(xiàn);3D點(diǎn)云ICP算法實(shí)現(xiàn)配準(zhǔn);3D點(diǎn)云NDT算法實(shí)現(xiàn)配準(zhǔn);幾何模型、歐式聚類點(diǎn)云分割;基于多項(xiàng)式重構(gòu)實(shí)現(xiàn)曲面重建 | ||
2D&3D視覺融合 | 提取目標(biāo)點(diǎn)云的包容盒;3D點(diǎn)云模板匹配;手動(dòng)、自動(dòng)手眼標(biāo)定;RGB和3D深度視覺融合;2D與3D融合實(shí)踐抓取目標(biāo) | ||
第十階段: 機(jī)器學(xué)習(xí)算法及應(yīng)用 | 機(jī)器學(xué)習(xí)簡(jiǎn)介 | 認(rèn)識(shí)機(jī)器學(xué)習(xí);監(jiān)督學(xué)習(xí);非監(jiān)督學(xué)習(xí);強(qiáng)化學(xué)習(xí);遷移學(xué)習(xí);KNN算法;征婚網(wǎng)站對(duì)象推薦系統(tǒng)開發(fā);線性回歸;模型定義;誤差函數(shù)評(píng)估;MAE; MSE; 交叉熵;學(xué)習(xí)速率;梯度下降;線性回歸;二次回歸;高次回歸;天貓銷售額預(yù)測(cè);推薦系統(tǒng)開發(fā);決策樹;感知機(jī);信息論與熵;隨機(jī)深林;超參調(diào)優(yōu);過擬合和欠擬合分析;決策邊界;高維空間決策邊界;感知機(jī);蘋果香蕉分類器;激活函數(shù);梯度下降調(diào)優(yōu)策略;梯度下降;mini-batch梯度下降;stochastic 梯度下降;多分類回歸;手寫正向傳播和反向傳播;手寫數(shù)字識(shí)別;神經(jīng)網(wǎng)絡(luò);ANN;DNN;keras;TensorFlow;CNN;卷積;池化;relu;神經(jīng)元;神經(jīng)元和感知機(jī);核函數(shù);泰勒展開;泰勒級(jí)數(shù);epochs;loss和accuracy;全連接層;卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)分析;反向傳播原理解析;CNN識(shí)別流程;dropout;cnn網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì);cnn網(wǎng)絡(luò)結(jié)構(gòu)評(píng)估和調(diào)優(yōu);cifar10模型訓(xùn)練;cifar10模型訓(xùn)練調(diào)優(yōu);卷積核可視化;模型評(píng)估與誤差矩陣;數(shù)據(jù)收集;數(shù)據(jù)清洗;數(shù)據(jù)增強(qiáng);模型定義;數(shù)據(jù)訓(xùn)練;模型評(píng)估;模型優(yōu)化;物體偵測(cè);darknet;darkflow;yolov2,yolov3,多分類物體識(shí)別;視頻物體識(shí)別;攝像頭物體識(shí)別;自定義模型的檢測(cè)和識(shí)別;云服務(wù)器GPU訓(xùn)練;深度學(xué)習(xí)經(jīng)典論文帶讀和復(fù)現(xiàn) | 可掌握的核心能力: 1.掌握機(jī)器學(xué)習(xí)常見數(shù)學(xué)知識(shí); 2.理解梯度下降及線性回歸等機(jī)器學(xué)習(xí)原理; 3.掌握常見的機(jī)器學(xué)習(xí)算法與框架; 4.掌握卷積神經(jīng)網(wǎng)絡(luò)原理及應(yīng)用。 可解決的現(xiàn)實(shí)問題: 1.能夠獨(dú)立完成有實(shí)際應(yīng)用場(chǎng)景的人工智能機(jī)器視覺相關(guān)需求; 2.能夠獨(dú)立完成:數(shù)據(jù)收集、清洗、標(biāo)注、增強(qiáng)、預(yù)測(cè)及模型訓(xùn)練、評(píng)估、優(yōu)化等全套機(jī)器視覺開發(fā)流程; 3.能夠獨(dú)立分析問題,解決問題開發(fā)出物體識(shí)別,文字識(shí)別,視頻理解等機(jī)器視覺相關(guān)的需求。 |
KNN算法和線性分類 | |||
數(shù)據(jù)預(yù)處理和算法調(diào)優(yōu) | |||
學(xué)習(xí)速率性能調(diào)優(yōu) | |||
鏈?zhǔn)角髮?dǎo)和梯度變化 | |||
決策樹和感知機(jī) | |||
線性回歸和梯度下降 | |||
卷積神經(jīng)網(wǎng)絡(luò) | |||
卷積核池化與激活 | |||
神經(jīng)網(wǎng)絡(luò)和模型評(píng)估 | |||
卷積神經(jīng)網(wǎng)絡(luò)-圖像識(shí)別訓(xùn)練 | |||
TensorFlow和keras | |||
yolo框架、darkflow、darknet | |||
LeNet、AlexNet、VGG16模型復(fù)現(xiàn) | |||
深度學(xué)習(xí)論文帶讀 | |||
第十一階段: 項(xiàng)目實(shí)踐 | (一)視覺引導(dǎo)自動(dòng)打標(biāo)系統(tǒng) | 2D機(jī)器視覺識(shí)別;特征檢測(cè);3D視覺定位;深度學(xué)習(xí)介紹;深度學(xué)習(xí)訓(xùn)練;卷積神經(jīng)網(wǎng)絡(luò); 常見的深度學(xué)習(xí)框架(pytorch、tensorflow等);組織數(shù)據(jù)集;評(píng)估模型;改善模型;常用的視覺識(shí)別框架;語義分割和實(shí)例分割和對(duì)抗生成網(wǎng)絡(luò);工業(yè)自動(dòng)化CNC、激光雕刻控制; | 可掌握的核心能力: 1.掌握機(jī)器視覺、目標(biāo)定位、檢測(cè)與識(shí)別等技術(shù); 2.掌握?qǐng)D像處理、深度學(xué)習(xí)、工業(yè)自動(dòng)化CNC控制開發(fā)等技術(shù); 3.掌握室內(nèi)建圖、路徑規(guī)劃、自動(dòng)導(dǎo)航等技術(shù); 4.掌握機(jī)器人運(yùn)動(dòng)控制、力控系統(tǒng)、視覺融合等實(shí)戰(zhàn)技術(shù); 5.理解產(chǎn)業(yè)互聯(lián)行業(yè)趨勢(shì)與場(chǎng)景需求; 6.掌握仿真建模與機(jī)器人聯(lián)動(dòng)等技術(shù)。 可解決的現(xiàn)實(shí)問題: 1.能夠通過機(jī)器視覺進(jìn)行與視覺相關(guān)的需求開發(fā); 2.能夠根據(jù)視覺系統(tǒng)規(guī)劃?rùn)C(jī)器人運(yùn)動(dòng)路線; 3.能夠根據(jù)力控反饋實(shí)時(shí)調(diào)整機(jī)器人運(yùn)動(dòng); 4.能夠根據(jù)企業(yè)現(xiàn)狀與實(shí)際需求,分析與設(shè)計(jì)機(jī)器人方面的升級(jí)/調(diào)整方案,同時(shí)能夠?qū)⒎桨搁_發(fā)落地實(shí)施。 |
(二)無人/自動(dòng)駕駛項(xiàng)目實(shí)戰(zhàn) | 激光雷達(dá)傳感器開發(fā);貝葉斯濾波器;卡爾曼濾波;Gmapping和Hector算法;位姿評(píng)估算法DWA、TED、A*;自動(dòng)Navigation及避障任務(wù) | ||
(三)產(chǎn)業(yè)自動(dòng)化升級(jí)解決方案 | 機(jī)器人2D視覺定位物品;3D點(diǎn)云模板匹配;機(jī)器人運(yùn)動(dòng)控制;機(jī)器人路線規(guī)劃;機(jī)器人力控系統(tǒng) | ||
(四)醫(yī)藥/物流倉(cāng)儲(chǔ)自動(dòng)化分揀解決方案 | 2D視覺檢測(cè)技術(shù)、深度學(xué)習(xí)目標(biāo)檢測(cè);3D點(diǎn)云基于RANSAC的濾波、降采樣;3D點(diǎn)云配準(zhǔn)及曲面重建;基于慣性矩的3D物體包容盒提取技術(shù);3D點(diǎn)云模板匹配及定位技術(shù);自動(dòng)避障運(yùn)動(dòng)規(guī)劃技術(shù) | ||
(五)產(chǎn)業(yè)互聯(lián)網(wǎng)解決方案 | 跨平臺(tái)前端開發(fā);機(jī)器人驅(qū)動(dòng);rviz/gazebo仿真建模;moveIt框架;無刷電機(jī)與步進(jìn)電機(jī)控制;運(yùn)動(dòng)控制卡編程;末端夾具鏈接與遠(yuǎn)程通信;AGV無人車運(yùn)動(dòng)控制 |
備注:該課程大綱僅供參考,實(shí)際課程內(nèi)容可能在授課過程中發(fā)生更新或變化,具體授課內(nèi)容最終以各班級(jí)課表為準(zhǔn)。
每晚對(duì)學(xué)員當(dāng)天知識(shí)的吸收程度、老師授課內(nèi)容難易程度進(jìn)行評(píng)分,老師會(huì)根據(jù)學(xué)員反饋進(jìn)行分析,對(duì)學(xué)員吸收情況調(diào)整授課內(nèi)容、課程節(jié)奏,最終讓每位學(xué)員都可以跟上班級(jí)學(xué)習(xí)的整體節(jié)奏。
為每個(gè)就業(yè)班都安排了一名優(yōu)秀的技術(shù)指導(dǎo)老師,不管是白天還是晚自習(xí)時(shí)間,隨時(shí)解答學(xué)員問題,進(jìn)一步鞏固和加強(qiáng)課上知識(shí)。
為了能輔助學(xué)員掌握所學(xué)知識(shí),黑馬程序員自主研發(fā)了6大學(xué)習(xí)系統(tǒng),包括教學(xué)反饋系統(tǒng)、學(xué)習(xí)難易和吸收分析系統(tǒng)、學(xué)習(xí)測(cè)試系統(tǒng)、在線作業(yè)系統(tǒng)、學(xué)習(xí)任務(wù)手冊(cè)、學(xué)員綜合能力評(píng)定分析等。
末位輔導(dǎo)隊(duì)列的學(xué)員,將會(huì)得到重點(diǎn)關(guān)心。技術(shù)輔導(dǎo)老師會(huì)在學(xué)員休息時(shí)間,針對(duì)學(xué)員的疑惑進(jìn)行知識(shí)點(diǎn)梳理、答疑、輔導(dǎo)。以確保知識(shí)點(diǎn)掌握上沒有一個(gè)學(xué)員掉隊(duì),真正落實(shí)不拋棄,不放棄任何一個(gè)學(xué)員。
從學(xué)員學(xué)習(xí)中的心態(tài)調(diào)整,到生活中的困難協(xié)助,從課上班級(jí)氛圍塑造到課下多彩的班級(jí)活動(dòng),班主任360度暖心鼓勵(lì)相伴。
小到五險(xiǎn)一金的解釋、面試禮儀的培訓(xùn);大到500強(qiáng)企業(yè)面試實(shí)訓(xùn)及如何針對(duì)性地制定復(fù)習(xí)計(jì)劃,幫助學(xué)員拿到高薪Offer。