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作為機器人應用開發系統,並以無人自動駕駛為應用範例,讓學生據此發展出其它類型的應用,或新的專案。 本課程並結合教育部智慧聯網技術課程推廣計畫的D4「工業物聯網通訊與雲端軟體平臺整合」與A4「物聯網系統安全技術」課程模組,前者學習使用oM2M (open source software)與研華WISE-PaaS (工業等級軟體平台)建構兩種物聯網管理平台,教學在智慧工廠場域內如何將感測設備連接形成工業物聯網,後者A4模組則提供系統層級的資訊安全知識,同時也可提供整合物聯網系統與資訊安全防護機制的解決方案,接著,透過網路通訊協議,可實現前述ROS智慧機器人與工業物聯網在廠區內進行協同工作的目標,不僅教授學生瞭解所需之相關理論基礎,也能有實際將智慧機器人與工業物聯網運用於工業4.0的實作經驗及二者的整合方式,最後希望同學能獲得智慧機器人與工業物聯網運用在工業4.0之智慧製造工廠之相關的應用經驗。
程式設計、資料結構、嵌入式系統
教學活動包括授課、實習、課前預習與指導學生專題。評量方式,以labs與專題成果為主。
labs: 60% final project: 40% 出席: for reference (教師保留最終的比重調配權利)
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction to ROS, OM2M, and WISE-PaaS、Python Quick Start、Jupyter-Notebook |
| 第 2 週 | 228連假,補假休息一次 |
| 第 3 週 | ROS concepts、ROS Node and Topic、ROS資料傳輸方式、ROS Messages、ROS系統建構、配置ROS工作環境、An example: turtlesim、ROS tools and commands、launch files、VirtualBox、Linux Image、Vim、ROS environment setup on laptop |
| 第 4 週 | ROS environment setup on R-Pi、Hostname Setup、Network Setup、Address Reservation、ROS coding: 跨裝置溝通、R-Pi GPIO control (LED、RGB LED、超音波感測器、button、keystroke)、ROS coding: multi-Node co-work、launch file |
| 第 5 週 | Camera/Wheel Calibration、Lane Following、ROS-based autonomous vehicle、Camera & Joystick、GitHub、Duckiebot Camera & Rviz、CV基礎、OpenCV and Object Detection |
| 第 6 週 | FSM、FSM using Lane Following as an Example、How to Create Your ROS App 1 |
| 第 7 週 | 春假,休息一次 |
| 第 8 週 | How to Create Your ROS App 2、Using Apriltag as an Example |
| 第 9 週 | 物聯網標準化平台OM2M與實驗: OM2M + PostMan 練習、 OM2M + NodeRED 練習 |
| 第 10 週 | Web of Things 與實驗:結合 NodeRED 實作於 Arduino、SDN |
| 第 11 週 | WISE-PaaS基本架構與WISE-PaaS/Data Hub服務 (安排業師協助授課) |
| 第 12 週 | WISE-PaaS/Dashboard 低代碼可視化儀表板實作 (安排業師協助授課) |
| 第 13 週 | WISE-PaaS/SaaS Composer 低代碼2D/3D可視化工具實作 (安排業師協助授課) |
| 第 14 週 | How to Create Your ROS App 3: How to Add Your own ROS Package、D2D communications、結合AI雲端伺服器人工智慧影像分析開發ROS機器人應用實驗 |
| 第 15 週 | 資訊安全基本知識、系統設計基本知識, 範例探討:車聯網資訊安全、A-4模組Duckietown自走車系統實驗 |
| 第 16 週 | ROS與物聯網通訊基礎及實驗、工業物聯網工廠環境監控制及實驗、工業物聯網與ROS機器人整合基礎及實驗 |
| 第 17 週 | 端午節放假一次 |
| 第 18 週 | 期末專題報告與展示 |
1.教師自行編寫 2.ROS Duckietown教材及專案 3.教育部智慧聯網技術課程推廣計畫: D4「工業物聯網通訊與雲端軟體平臺整合」與A4「物聯網系統安全技術」課程模組 4."Learning Robotics Using Python", 作者: Lentin Joseph, 原文出版社:Packt Pub Ltd, 出版日期:2015/05/30, ISBN:9781783287536 5."Mastering ROS for Robotics Programming", 作者: Lentin Joseph, 原文出版社:Packt Pub Ltd, 出版日期:2015/12/31, ISBN:9781783551798
- 地點
- CM313
- 時間
- 週二,9:00-12:00
- 聯絡方式
- jenjee@nycu.edu.tw