ROS機器人程式設計與實作
ROS Robotics Programming and Projects
| 節 | 週四 | 週五 |
|---|---|---|
2 09:00–09:50 | ROS機器人程式設計與實作 CM216 | |
7 15:30–16:20 | ROS機器人程式設計與實作 CM216 2 節連堂 | |
8 16:30–17:20 |
* 根據陽明交大上課時間表所列
機器人作業系統(Robot Operating System, ROS)是專為開發機器人所設計的開源軟體架構。最初ROS在2010年由史丹佛大學的研究團隊推出,如今ROS已風行全世界並支援各大廠牌的機器人(Universal Robots, ABB Manipulators, Faunc等)。ROS提供了硬體抽象、設備驅動、函式庫、可視化工具、軟體間訊息傳遞和軟體包管理等功能。在這個課程中,將從ROS基本架構與通訊方式出發,並以無人自動駕駛作為應用範例,提供學生設計無人自動駕駛載具控制系統所需之概念與知識,並讓學生據此發展出其它類型的應用或新的專案。 ROS背後廣大的社群累積了龐大的能量,除了提供基本工具外,也包含各式各樣的演算法,使得開發者可猶如組裝積木般,一塊塊的將自己想要的機器人快速拼接起來,並專注於開發更高階的演算法。首先,本課程將快速引導學生學會撰寫python程式,使用python作為程式開發語言,然後以ROS作為機器人應用開發系統,並以無人自動駕駛為應用範例,讓學生據此發展出其它類型的應用,或新的專案。
程式設計, 嵌入式系統, 物聯網應用與實作
lab: 60% final project: 40% 出席狀況: for reference *授課教師有修改教學大綱及調整配分之權利
| 週次 | 主題 |
|---|---|
| 第 1 週 | Introduction |
| 第 2 週 | 安裝VirtualBox, Linux Image, and Jupyter-Notebook |
| 第 3 週 | Vim, Hostname Setup, Camera & Joystick |
| 第 4 週 | Network Setup, Address Reservation, Python程式設計 |
| 第 5 週 | GitHub, Duckiebot Camera & Rviz |
| 第 6 週 | Camera/Wheel Calibration, Lane Following |
| 第 7 週 | Python與OpenCV |
| 第 8 週 | Python與Object detection |
| 第 9 週 | FSM, FSM using Lane Following as an example, How to create your app 1 |
| 第 10 週 | project proposal presentation 1/2 |
| 第 11 週 | project proposal presentation 2/2 |
| 第 12 週 | How to create your app 2, using Apriltag as an example |
| 第 13 週 | How to create your app 3: How to add your own ROS package |
| 第 14 週 | How to create your app 4: D2D communications |
| 第 15 週 | Final Project preparation |
| 第 16 週 | Final Project Progress checking |
| 第 17 週 | Project Demo 1/2 |
| 第 18 週 | Project Demo 2/2 |
1. 課程講義 2. "Learning Robotics Using Python", 作者: Lentin Joseph, 原文出版社:Packt Pub Ltd, 出版日期:2015/05/30, ISBN:9781783287536 3. "Mastering ROS for Robotics Programming", 作者: Lentin Joseph, 原文出版社:Packt Pub Ltd, 出版日期:2015/12/31, ISBN:9781783551798