Sc-banner

 

banner ROS II 1

 

全國第一 專業ROS機器人培訓中心

為什麼要學ROS

你可以自己從頭到尾設計出一個嵌入式/機器人軟硬體系統,而各種感測器及致動器(actuator)的驅動都必須由你自己撰寫。在軟體底層上,基於你的目的,你可能需要設計同步控制的架構,甚至要做分散式系統,可以進行遠端呼叫或是程序間進行一對多或多對多的訊息傳遞。

 

然而,現在的智能系統愈來愈複雜,影像處理、物件識別、機器學習、馬達驅動、導航、模擬等功能都必須整合在系統中。而由於各種技術存在不同的標準,因此「整合」對於開發者而言,非常耗時費力。ROS的出現,其高度整合的特性,幫助開發者大大提升開發的效率。ROS是一個開源的機器人系統開發平台,具有豐富資源,這些都是來自於全世界研究人員長期研發的成果。因此,一旦基於ROS你就可以整合全世界的研究能量,只要引用相關的應用套件(Package),不必再自己重造輪子(Reinvent the wheel),而能把時間花在鑽研自己的演算法和產品上最能創造價值的地方

 

以硬體實力見長的台灣廠商,若能開發出符合ROS標準的產品,在市場上會更具競爭力。再加上人工智慧是台灣政府發展的重點方向,其中一個領域就是機器人開發。很快地,台灣產業對於ROS人才會有爆發性的需求,因此,盡早培養ROS職能,會讓你變得更炙手可熱。

 

為了幫助你有效率地學會ROS機器人開發系統的核心技術,並能與實務接軌,本課程由具有豐富機器人開發經驗的業界工程師親授。課程特別設計成兩階段,以實作教學為主軸,搭配艾鍗獨家研發的Raspberry Pi擴充板,讓你「做中學,學中做」,自然而然地培養與業界接軌的ROS技能。在第一階段,將教你在電腦中建置基於Linux Ubuntu的ROS系統,並能學會與機器人主機(Raspberry Pi)與各部位進行通訊,讓你逐漸學會ROS系統開發必會的指令進行來重要控制。在第二階段,講師以ROS認證機器人-Turtlebot Burger實機演練,教你進階應用,包括gmapping(地圖構建開源套件)、move_base(路徑規劃套件)等ROS套件使用方法和 SLAM (simultaneous localization and mapping,即時定位與地圖構建) 、Navigation (導航) 等ROS演算法應用,讓你能快速掌握ROS技術核心、參數調整與除錯的技巧。用ROS技術來為你的職能加分。

 

bulb<ROS小知識>你不可不知的6個ROS的強大特性(點選展開)

  1. 支援多種程式語言

    ROS支持多種現代高級程式語言(C++、Python、Lisp),開發彈性大。

  2. 點對點設計

    ROS通過點對點設計,分散來自電腦視覺和語音識別等功能所帶來的即時計算壓力。

  3. 程式碼精簡且整合性高

    ROS建立的系統具有模組化的特點,且編譯用的CMake工具讓程式碼變得精簡,利於後續應用的套用和整合。例如,在電腦視覺方面,ROS能與OpenCV整合。在驅動、導航和模擬器方面,ROS能與Player系統整合。在規劃演算法上,ROS也已與OpenAVE整合。

  4. 便於測試

    機器人開發軟體比其他軟體開發更具挑戰性,主要是因為調試準備時間長,過程複雜。況且,因為硬體維修、經費有限等因素,不一定隨時有機器人可供使用。ROS提供兩種策略來解決上述問題。

    (1).精心設計的ROS系統框架將底層硬體控制模組和頂層數據處理與決策模組分離,從而可以使用模擬器替代底層硬體模組,獨立測試頂層部分,提高測試效率。

    (2).ROS另外提供了一種簡單的方法可以在調試過程中記錄傳感器數據及其他類型的消息數據,並在試驗後按時間戳回放。通過這種方式,每次運行機器人可以獲得更多的測試機會。例如,可以記錄傳感器的數據,並通過多次回放測試不同的數據處理算法

  5. 開源

    ROS遵從BSD協議,使開發者可以清楚的查看、自由的使用原始碼,如果有需要,可以根據不同的系統及硬體環境對原始碼進行修改,或者進行二次開發。

  6. 強大的社群資源

    ROS提供了廣泛的社群資源,實現以機動性、操作控制、感知為主的機器人功能。同時由於其開源特性,ROS的支持與發展依託著一個強大的社區。其官方網站尤其關注兼容性和支持文檔,提供了一套「一站式」的方案使得用戶得以搜索並學習來自全球開發者數以千計的ROS程式模組。

 

課程架構圖

 ROS intrduce 2

課程特色

1.教學使用ROS官方認證機器人

使用ROS官方認證的機器人(turtlebot3 burger)進行教學,學員專享豐富的教學資源,學習更容易。

turtlebot 3

 

2.本班學員獨享艾鍗獨家研發擴充板

為了傳達正確的ROS系統開發的學習觀念與重點,艾鍗獨家設計I/O子板,以擴充原Pi3板的功能,並對其中所有軟硬體控制原理進行透徹解說,使你可以透過主題式Lab,實踐ROS系統開發的核心技術與架構。

ü內建ADC晶片,可讓Raspberry Pi3連接類比感測器。

ü具硬體PWM訊號腳及驅動電路,使Raspberry Pi3可以直接連接DC馬達與伺服馬達。

ü內建PL2303晶片,可直接連接PC的USB當作Debug Console。

ü內建IR紅外線發送器及接收器,讓Raspberry Pi3當作多媒體的應用平台或IR遙控器。

ü可連接OLED顯示狀態資訊。

ü可連接光敏電阻進行光度感測。

ü可連接2.4GHz無線網路模組進行無線通訊。

ü內建G-Sensor可感測Raspberry Pi3在X, Y, Z軸方向的移動狀態。

 

3.資深機器人開發工程師親授

具有豐富開發經驗的資深工程師親自教您產業實務,快速掌握關鍵技術,縮短摸索碰壁的時間。

 

4.完整程式碼開發實戰

做中學,幫助你快速建構開發觀念,透過完整開發程式碼,提高學習效率,快速提升職能,縮短開發時間。

應用領域

 Robot type

我可以學到什麼

  • 學會全球最主流的ROS機器人開發環境與實務技術
  • 學會在Raspberry Pi上使用ROS並讀取相關感測器及控制器
  • 學會ROS機器人開發關鍵套件的使用方法,例如gmapping(地圖構建開源套件) 、move_base(路徑規劃套件)
  • 學會整體2D Navigation的系統以及控制架構
  • 了解Laser-based SLAM、Navigation的演算法及其應用
  • 學會ROS機器人系統開發的規劃能力
  • 學會自主打造ROS自走機器人的能力

 RobotEvolution 1

適合對象

  1. 想學習如何利用ROS快速設計智能機器人。
  2. 已開始接觸ROS相關開發,但仍對ROS開發難以掌握。
  3. 想在最短時間內快速掌握ROS開發技術的重點的你。
  4. 了解如何在ROS環境下開發相關機器人程式。
Drone 1

課程大綱

Part I : ROS系統程式開發實作
    • ROS系統架構說明
    • ROS安裝
      • ROS安裝於Ubuntu
      • ROS 常用指令(roscore,roslist,….)
      • 安裝ROS第三方套件供二次開發
    • ROS程式開發
      • ROS工作空間建立
      • ROS 節點間通訊與程式實作-topic、service、parameter server
      • ROS文件系統:Package、meta-package
      • 製作自己的package
    • ROS於Raspberry pi 3
      • ROS Pi image燒錄
      • Pi I/O 子卡功能介紹
      • ROS節點設計:I/O控制、感測器讀取
      • ROS遠端監控(Ubuntu Raspberry Pi 3)
Part II : ROS 實戰應用-機器人
  • Laser Based 2D SLAM演算法實戰
    • Gmapping (地圖構建開源套件)教學
      • Gmapping操作與介紹
      • Gmapping應用說明
      • Gmapping實作演練
    • Hector SLAM教學
      • Hector SLAM演算法原理解析
      • Hector SLAM應用說明
      • Hector SLAM實作演練
  • 常見2D SLAM & Estimation 演算法實戰
    • 常見演算法介紹(HectorSLAM、Gmapping、KartoSLAM、CoreSLAM、LAgoSLAM…)
    • 演算法比較
    • 演算法數學式解析
    • 演算法實作演練
  • Navigation Stack Setup
  • Navigation演算法架構講解
  • Localization
    • AMCL(adaptive Monte Carlo localization)原理與應用說明
    • AMCL實作演練
  • System overall integration
  • 演算法相關重要參數
  • 專案實務開發常見問題與解決方案說明

培訓花絮

ROS趨勢說明

ros-trend

TurtleBot架構說明

ros-architecture

TOF說明

ros-description

Lidar介紹

lidar-Introduction

ROS開發架構

ros-develop

ROS環境建置與指令教學

ros-system

SLAM教學

slam

講師解答學生問題

ros-answer
 

課程搶先看

LDA 應用實例

Navigation 應用實例

 LDA  navation

ROS Gmapping and Cartographer SLAM demo

SLAM Demo

ROS gmapping and cartographer SLAM demo SLAM Demo 

ROS講師團隊

teacher

Tim Liu

  • 輔仁大學應用科學與工程研究所博士 / 輔仁大學電機研究所碩士
  • 知名上市電子消費品大廠機器人研發部門資深工程師
  • 機器學習 / 機器人開發 / 密碼學 / 影像壓縮 / 數位訊號處理 / 生醫資訊/生醫影像處理

teacher

Bob Shih

  • 中央大學太空所碩士
  • 知名上市電子消費品大廠影像事業部研發工程師
  • ROS機器人開發 / 無人機韌體開發 / OpenCV影像處理與電腦視覺開發 / Linux嵌入式系統

teacher

Jay Hung

  • 台北科技大學機電整合研究所碩士
  • 知名上市電子消費品大廠軟韌體研發部研發工程師
  • ROS機器人開發 / OpenCV影像處理與電腦視覺開發 / Linux嵌入式系統 / 機器學習 / 深度學習

職場方向

  • 機器人軟體研發工程師
  • 智慧型協作機器人產品研發工程師
  • 機器人產品開發工程師
  • 機器人視覺研發工程師
  • 嵌入式系統/機器人應用工程師
  • 演算法感測融合開發工程師(Sensor Fusion Algorithm Developer)

課程諮詢

 歡迎企業包班內訓,立即洽詢(02)2316-7736!!

在一個快速變遷的世界裡,確定會失敗的唯一策略是:不冒險。如果你欣然擁抱趨勢,踏向偉大的ROS機器人開發之路,風向也會幫你一把。搭上艾鍗學院的學習列車,不可思議的旅程,從此開始!若您希望對本課程有更多了解,歡迎留下您的資料,或撥服務專線(02)2316-7736,艾鍗學院將竭誠為您服務喔!

 

延伸學習

ROS class link 01 01 01 01linux_728x90

MCU_728x90

FPGA_728X90

EC_728X90

PCB_728x90

Q & A

1.關於Turtlebot3 burger介紹

TurtleBot的目的是給入門級的機器人愛好者或從事移動機器人程式開發者提供一個基礎平台,讓他們直接使用TurtleBot自帶的軟硬體,專注於應用開發,避免了設計草圖、購買、加工材料、設計電路、編寫驅動、組裝等一系列工作。藉助該機器人平台,可以省掉很多前期工作,只要根據平台的軟硬體接口,就能開發出所需的功能。

TurtleBot可以説是ROS中最為重要的機器人之一,它伴隨ROS一同成長,一直都作為ROS開發前沿的機器人,幾乎每個版本的ROS測試都會以TurtleBot為主。而且在ROS社群中有大量關於TurtleBot的相關資源,讓TurtleBot成為ROS支持度最好的機器人之一。
ros-burger

2.什麼是ROS (Robot Operation System)?

ROS是一個Open Source(開源)的機器人開發平台,在這個架構下,讓機器人各大領域Navigation、Manipulation、Perception、Cognition等,建立共通的使用平台,全世界的研究員都可以在這個平台上分享各種機器人相關研究的資源和演算法,加快各種類型的機器人開發。   舉一個例子,假設今天東大的研究團隊做出了一個超強人工智慧,你就可以直接拿來用,站在他們的肩膀上繼續走。 (1) ROS是一個作業系統 : 根據定義作業系統是用來管理計算機硬體與軟體資源,並提供一些公用的服務的系統軟體。而ROS也自稱是一個OS。ROS則是對機器人的硬體進行了封裝,不同的機器人、不同的傳感器,在ROS里可以用相同的方式表示(topic等),供上層應用程式(運動規劃等)調用。 (2) ROS是一種跨平台模塊化軟體通訊機制 : ROS用節點(Node)的概念表示一個應用程式,不同node之間通過事先定義好格式的消息(Topic),服務(Service),動作(Action)來實現連接。 (3) ROS是一系列開源工具 : 擁有超強大的3D可視化工具,可以顯示機器人模型、3D電影、各種文字圖標、也方便進行二次開發  

3.ROS能否裝到虛擬機裡?

答:一般來說是可以的,但是建議裝個雙系統,用Ubuntu專門跑ROS。  

4.什麼是SLAM(即時定位與地圖構建)?

SLAM (simultaneous localization and mapping),即時定位與地圖構建。利用SLAM技術,可以讓機器人在未知的環境裡實時地知道自己在哪裡,並同步繪製環境地圖。在機器人的定位、跟蹤和路徑規劃技術中,SLAM都扮演了核心角色。沒有SLAM的機器人就好比在移動網際網路時代不能上網的智慧型手機,發揮不了重要作用。而要利用SLAM技術,首先需要機器人配置至少一個測距裝置,通過測距裝置獲取機器人周圍環境的信息。目前比較常見的測距裝置主要有雷射測距、超聲波測距和圖像測距。

5.請問學習ROS須具備什麼背景知識呢?

(1).具創客精神(不怕失敗、樂意動手實作、會自行上網找尋解決方法),對於開源平台Raspberry Pi相關開發有興趣。

(2).具備C++或是Python程式撰寫能力 。

(3).具Linux(Ubuntu)使用經驗 (會基本常用指令操作)。

(4).具導航/路徑規畫演算法、視覺相關演算法或是AI應用相關背景尤佳。