本課程共24課時,12次課程,因元旦放假,實際上了11次課程,實際教學内容如下:
第一次課程:
軟體工程概述,自動化軟體體系結構概述,課程要求和考核方法,面向對象程式設計回顧。
開源機器人運動學庫KDL介紹。
作業:加入課程QQ群,建立cnblogs賬号,建立github賬号,完成第一次程式設計作業和閱讀筆記。
第二次課程:
C++程式設計複習,Complex例程講解,構造函數和析構函數,操作符重載,虛函數。
KDL代碼中的類定義示範。
第三次課程:
容器與算法簡介,Vector容器的使用,例程講解。
KDL代碼對容器的使用示範。
第四次課程:
OOD基本思想,面向對象八大原則,設計模式,例程講解。
KDL代碼中應用的設計模式示範。
第五次課程:
商用機器人控制系統軟體架構分析。
機器人正逆運動學和坐标變換分析。
兩軸機器人作業講解。
KDL項目在GITHUB上的目錄結構分析。
作業:完成兩軸機器人程式設計作業。
第六次課程
GIT/GITHUB操作介紹。
作業:完成GIT操作練習和閱讀筆記。
第七次課程
單元測試的原理與作用,CPPUNIT架構。
KDL的單元測試實作示範。
第八次課程
建構工具概述,Makefile檔案的編寫。
CMAKE工具的使用。
KDL的CMAKE建構示範。
Automation Studio程式設計環境簡介和咖啡機程式示範。
作業:組建團隊,建立GITHUB項目。
第九次課程(貝加萊工程師主講)
基于模型的實時控制軟體設計。
用MATLAB/Simulink和Automation Studio協同開發控制軟體。
溫度控制和Delta機器人執行個體示範。
第十次課程
Automation Studio項目建立過程。
實時多任務排程機制。
控制軟體的需求分析。
基于狀态機的設計方法。
基于GITHUB的代碼送出和團隊開發流程。
作業:通過pull request把程式設計作業送出到GITHUB上的課程項目中。
第十一次課程
內建測試和自動化測試的概念。
Travis CI介紹和使用示範。
各團隊介紹項目計劃和分工。
作業:開展團隊項目大作業。
主要問題:
- 課堂讨論不足,可以把一些基礎知識和工具使用方面的内容做好網絡資源留到課下自學。
- “梯子”提供不足,要給學生提供更多的文檔模闆,代碼模闆,測試用例等,讓學生有闖關更新的興趣。
- 重點不夠清楚,學生學習過程存在困惑。
- 各個環節銜接不夠好,沒有為團隊作業做好準備,應在開課階段就完成團隊組建,個人可有針對性地進行技能訓練。
- 實驗環境沒展開,2016年争取做到每個小組都有一個可操縱的機電硬體平台,如桌面型多關節機器人。
特别緻謝:
- 鄒欣老師:對教學内容,作業設計給出很多重要建議,并對同學們的部落格進行犀利點評。
- 飛龍博士:對課程積極建言,對同學部落格進行拉網式閱讀和認真誠懇的點評。
- 周筠老師:組建“建構之法”教學群,通過和全國不同高校的老師同學交流,對本課程的完善有很大的促進。
- 貝加萊公司上司和朋友們:提供實驗平台、軟體和教育訓練資料,參與課堂教學,提供技術支援。