校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15/2026
  • 初選第二階段 6/22/2026
  • 校際選修 8/24/2026
  • 初選第三階段 8/31/2026
  • 開學後加退選 9/7/2026
  • 逾期加退選 9/21/2026
選課資源

ROS機器人程式設計與實作

ROS Robotics Programming and Projects

學期
108-1
學分
3 學分
當期課號
5984
永久課號
IOG5009
開課單位
智慧科學暨綠能學院
授課教師
陳建志
校區
歸仁
類別
選修
上課時間表
週四
週五
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