ROS機器人程式設計與實作
ROS Robotics Programming and Projects
| 節 | 週一 |
|---|---|
5 13:20–14:10 | ROS機器人程式設計與實作 CM212 3 節連堂 |
6 14:20–15:10 | |
7 15:30–16:20 |
* 根據陽明交大上課時間表所列
機器人作業系統(Robot Operating System, ROS)是專為開發機器人所設計的開源軟體架構,如今ROS已風行全世界並支援各大廠牌的機器人(Universal Robots, ABB Manipulators, Faunc等)。ROS提供了硬體抽象、設備驅動、函式庫、可視化工具、軟體間訊息傳遞和軟體包管理等功能。ROS背後廣大的社群累積了龐大的能量,除了提供基本工具外,也包含各式各樣的演算法,使得開發者可猶如組裝積木般,一塊塊的將自己想要的機器人快速拼接起來,並專注於開發自己的應用。首先,本課程將引導學生學會相關的基礎與知識,然後以ROS作為機器人應用開發系統,並以無人自動駕駛為應用範例,讓學生據此發展出其它類型的應用,或新的專案。 本課程並結合教育部智慧聯網技術課程推廣計畫的 E-1「自動駕駛ROS開發使用課程模組」,採用該模組單元2與單元3,介紹ROS系統效能分析與平行化/最佳化相關內容,以及使用基於ROS之autoware自動駕駛軟體,讓同學們操作更多自動駕駛上可使用的物件偵測與物件追蹤演算法,使得ROS相關內容更豐富、完整。亦結合D-4「工業物聯網通訊與雲端軟體平臺整合」課程模組,學習建構以oM2M或研華 WISE-PaaS服務之物聯網管理平台,教學在智慧工廠場域內如何將感測設備連接形成工業物聯網,接著,學習透過將機器人整合入物聯網通訊或其它網路通訊協議方式,基於物聯網平台聯網功能、webhook、RestfulAPI、notification service、或網路通訊協定進行整合,實現ROS 智慧機器人與工業物聯網在廠區內進行協同工作的目標。
程式設計、資料結構、嵌入式系統或物聯網程式設計
教學活動包括授課、實習、課前預習與指導學生專題。評量方式,以labs與專題成果為主。
labs: 60% final project: 40% 出席: for reference (教師保留最終的比重調配權利)
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction to ROS, OM2M, and WISE-PaaS、Python Quick Start、Jupyter-Notebook Labs: download Linux image |
| 第 2 週 | ROS concepts、ROS系統建構、配置ROS工作環境、An example: turtlesim、ROS tools and commands、VirtualBox、ROS environment setup on laptop、Vim Labs: 安裝VirtualBox and Linux Image、rqt_graph繪製動態流程圖、first ROS package |
| 第 3 週 | 228,休息一次 |
| 第 4 週 | ROS environment setup on R-Pi、ROS coding: 跨裝置溝通、R-Pi GPIO control、ROS coding: multi-Node co-work、ROS launch files Labs: 在樹莓派建置ROS environment、ROS Inter-device communications、使用LED燈作出SOS求救訊號、button, LED, &超音波感測器 |
| 第 5 週 | ROS系統效能分析與平行化:以無人倉儲自走車為例 (3hrs) 1) ROS工具與perf效能分析工具操作介紹 2) ROS模組平行化與效能分析實務 *E-1:單元2 |
| 第 6 週 | Git-tutorial、Duckiebot setup、laptop setup、ROS Camera and joystick control Labs: git practice、Duckiebot assembly、Duckiebot setup、Test Duckiebot hardware: joystick control & camera |
| 第 7 週 | Camera calibration: Intrinsic calibration &Extrinsic calibration、Ground projection、ROS Rviz, a 3D visualizer、Wheel calibration、OpenCV Quick Start、Line detection and filter Labs: RViz、Camera calibration、Wheel calibration |
| 第 8 週 | 春假,休息一次 |
| 第 9 週 | Lane Pose and Measurement models、Lane following、Object detection、How to create your ROS Apps: (1) FSM, (2) importing existing modules、ROS publish and subscribe、ROS remap、launch & include files Labs: Lane following、One color following、Apriltags |
| 第 10 週 | ROS為基礎之自駕車軟體與實作 (3hrs) 1) Autoware自駕軟體基礎介紹 2) Autoware以Lidar為基礎的物件偵測 (object detection) *E-1:單元3 |
| 第 11 週 | How to create your ROS Apps: (3) create ROS packages, (4) integrate other resources Labs: Create your own ROS package、Integrate remote AI services |
| 第 12 週 | 物聯網標準化平台OM2M與實驗: OM2M + PostMan 練習、 OM2M + NodeRED 練習 *D-4:單元1 |
| 第 13 週 | Web of Things實驗:結合 NodeRED 實作於 Arduino *D-4:單元2 |
| 第 14 週 | WISE-PaaS基本架構與WISE-PaaS/Data Hub服務 Labs: 物聯網裝置加入WISE-PaaS物聯網 |
| 第 15 週 | WISE-PaaS/Dashboard 低代碼可視化儀表板實作 Labs: 物聯網裝置結合 WISE-PaaS/Dashboard可視化儀表板做數據呈現 |
| 第 16 週 | 專題提案報告,工業物聯網與ROS機器人整合基礎及範例探討,基於物聯網平台聯網功能、webhook、RestfulAPI、notification service、或網路通訊協定進行整合 Labs: 物聯網與ROS機器人整合實驗 |
| 第 17 週 | WISE-PaaS/SaaS Composer 低代碼2D/3D可視化工具實作 Labs: WISE-PaaS Level 1 & 2線上課程 |
| 第 18 週 | 期末專題報告與展示 |
1.課程講義 2.教育部智慧聯網技術課程推廣計畫: E-1「自動駕駛ROS開發使用課程模組」與D-4「工業物聯網通訊與雲端軟體平臺整合」課程模組 3."Learning Robotics Using Python", 作者: Lentin Joseph, 原文出版社:Packt Pub Ltd, 出版日期:2015/05/30, ISBN:9781783287536 4."Mastering ROS for Robotics Programming", 作者: Lentin Joseph, 原文出版社:Packt Pub Ltd, 出版日期:2015/12/31, ISBN:9781783551798
- 地點
- CM318
- 時間
- 週二,9:00-12:00
- 聯絡方式
- jenjee@nycu.edu.tw