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