linux

 

Ros_banner

 

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

為什麼你必須要學ROS

理由1 : 機器人產業快速成長,商機蓬勃發展
reason-1
全球機器人產業快速發展,而ROS(Robot Operating System,機器人操作系統)是開發機器人的主流技術之一,目前已有許多機器人公司採用了ROS系統來開發創新產品,如ClearPath、Rethink、Unbounded、Neurala、Blue River、Big-i,最典型的就是Willow Garage的PR2機器人。Nvidia、Bosch、高通、英特爾、寶馬以及大疆等大公司也紛紛推出ROS週邊產品。

理由2 : 國際大廠相繼投入機器人開發平台,機器人市場前景看俏 

國際巨頭在 2018 ~2019年間,前後推出機器人系統,包括高通(Qualcomm)機器人 RB3 平台(2019 年 2 月發表)微軟(Microsoft )的Windows 10 ROS1(2018 年 9 月發表)、亞馬遜的 AWS RoboMaker(2018 年 11 月發表)、優必選的 ROSA(2018 年 9 月發表)、以及獵豹的 Orion OS(2018 年 3 月發表)。代表大廠也十分看好機器人市場的發展。

理由3 : 國家政策全力支持,開發者將享有更多資源 
reason-2
從科技部的政策來看,為了結合台灣既有產業優勢,讓AI加速台灣產業升級,政府投入大量資源來發展AI,以期能成為全球供應鏈中的重要一環。而機器人是AI落地的重要方向之一,特別是在製造、醫療照護等領域的發展。

理由4 : 高效跨領域技術整合框架,幫助你快速整合不同技術 
reason-3
ROS擁有豐富的社群資源,發展迄今,已經整合感測器、視覺、人機互動、硬體、韌體等領域的技術,因此,一旦基於ROS你就可以整合全世界的研發成果,快速打造專屬的產品。舉例來說,如果你想投入工業4.0的領域,透過ROS的OpenSLAM、MoveIt等工具,你就可以快速實作出具有抓取功能的AGV(Automated Guided Vehicle,自動導引車)產品原型。

理由5 : 容易操作的可視化套件,幫助你提高專案開發效率 
reason-4
ROS擁有功能強大的可視化工具像是GUI工具rqt、3D可視化工具 rviz、機器人模擬器 gazebo、資料存儲/重播功能rosbag,方便你進行資料記錄、分析、模擬工具,方便調試。不用花太多的成本就可以提升你的開發效率。

課程簡介

為了幫助你有效率地學會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

linux_728x90

課程大綱
Part I : ROS系統程式開發實作
  • ROS導論
    • ROS沿革與趨勢
    • ROS特色
  • ROS系統架構說明
  • ROS重要觀念介紹
    • ROS Master、節點(Node)、消息(Message)、話題(Topic)…
  • ROS安裝
    • ROS安裝於Ubuntu
    • ROS 常用指令(roscore,roslist,….)
    • 安裝ROS第三方套件供二次開發
  • ROS程式開發
    • ROS工作空間建立
    • 程式開發起手式(ros::init、ros::NodeHandle…)
    • Publisher vs Subscriber
    • ROS 節點間通訊與程式實作-topic、service、parameter server、launch
    • ROS文件系統:Package、meta-package
    • 製作自己的package
  • 於Raspberry pi 3實作ROS
    • ROS Pi image燒錄
    • Pi I/O 子卡功能介紹
    • ROS節點設計:I/O控制、感測器讀取
    • ROS遠端監控(Ubuntu Raspberry Pi 3)

Part II : ROS機器人實戰演練
  • LiDAR(光達)介紹
    • Triangle、TOF
    • LiDAR Application
    • 其他感測器(Distance Sensor、Vision Sensor、Depth Camera…)介紹
  • ROS機器人Turtlebot介紹
    • Burger vs Waffle
  • SLAM & Navigation介紹
    • Position、Sensing、Map、Path
  • Laser Based 2D SLAM演算法實戰
    • Gmapping (地圖構建開源套件)教學
      • Gmapping操作與介紹
      • Gmapping Flow
      • Gmapping應用說明
      • Gmapping實作演練
  • Hector SLAM教學
    • Hector SLAM演算法原理解析
    • Hector node graph
    • Particle Filter Flow
    • Score、Weight、Update map
    • Hector SLAM應用說明
    • Hector SLAM實作演練
  • Localization
    • MCL(Monte Carlo localization) vs AMCL(adaptive Monte Carlo localization)
    • AMCL(adaptive Monte Carlo localization)原理與應用說明
    • Global Localization
    • Resampling
    • AMCL實作演練
  • TF 座標轉換
    • TF package介紹
    • TF 應用解說
  • Navigation
    • Stack Setup
    • Navigation演算法架構講解
    • DWA(Dynamic Window Approach)解說
    • Gmapping + move_base實作
  • ROSbridge解說
  • Robot Models︰URDF(Unified Robot Description Format)解說
  • 專案實務開發常見問題與解決方案說明
課程實例解說
因為現實環境非常複雜,再加上硬體開發成本往往不低。因此,此教學範例為教導學員如何運用模擬工具,在不同的頻率條件下,調教出最佳狀態的機器人。讓學員學以致用,可用不同的條件進行實驗,開發出符合需求的機器人產品。
5Hz

20Hz

培訓花絮

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

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

teacher

Bob

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

teacher

Jay

  • 台北科技大學機電整合研究所碩士
  • 知名上市電子消費品大廠軟韌體研發部研發工程師
  • ROS機器人開發 / OpenCV影像處理與電腦視覺開發 / Linux嵌入式系統 / 機器學習 / 深度學習
職場方向
  • 機器人軟體研發工程師
  • 智慧型協作機器人產品研發工程師
  • 機器人產品開發工程師
  • 機器人視覺研發工程師
  • 嵌入式系統/機器人應用工程師
  • 演算法感測融合開發工程師(Sensor Fusion Algorithm Developer)

MCU_728x90

熱門職缺

ROS-opening-1

More

  1. ROS-opening-2

課程諮詢

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

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

 
學過ROS機器人的學員也看了這些課程

參考文章

ROS class link 01 01 01 01

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)使用經驗 (會基本常用指令操作)。若你想要更熟悉Linux操作,我們亦提供Linux入門職能精修供你進修。

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

6.如果對Linux不熟悉怎麼辦?

其實學習ROS並不難,而很多學員遇到的問題在於對於Linux不熟悉。這個只能邊用邊學了,遇到問題也要善用Google ,基本上這些問題都能在Google中找到答案。 若你想要更熟悉Linux操作,我們亦提供Linux入門職能精修供你進修。