機器人歷經10多年的發展,相關的研究成果相對豐碩,包括運動學正逆解、運動軌跡規劃、碰撞檢測等。隨著協作機器人的發展,機器手臂也逐漸走進人類的生活,這也代表背後存在著廣大的商機。為了幫助你有效率地學會機器手臂控制的關鍵技術,滿足業界所需,本課程由具有10多年機器人開發經驗的業界工程師親授。課程特別設計成兩階段,以實作教學為主軸,搭配艾鍗獨家研發的Raspberry Pi擴充板,讓你「做中學,學中做」,自然而然地培養與業界接軌的機器手臂控制技能。在第一階段,將教你在電腦中建置基於Linux Ubuntu的ROS系統,並搭配Raspberry Pi與艾鍗學院位提高學習者學習成效所研發設計的專用擴充板,讓你從實做中學會master與slave間的通訊方法與過程,了解ROS系統框架的重要觀念(node、topic、message、publish、subscribe…),打好厚實的基礎,順利銜接進階學習。
在第二階段,講師以ROS認證機器人-OpenManipulator XM 機器手臂實機演練,教你進階應用,從組裝、配置、驅動、控制的過程,逐步帶你學會套件的使用與相關參數修改,包括move_group (運動組套件)、motion_planner (動作規劃器)等ROS套件。此外,講師還會教你MoveIt!程式設計的要領,讓你對於關鍵空間規畫、工作空間規劃、避障規劃等應用有更多認識。在講師手把手的引領下,你會學得更快更紮實。在機器人的時代中,你會比競爭者有更堅強的職場競爭力。
ROS知識小百科
為什麼你必須要學ROS(點選展開)
-
機器人產業快速成長,商機蓬勃發展
全球機器人產業快速發展,而ROS(Robot Operating System,機器人操作系統)是開發機器人的主流技術之一,目前已有許多機器人公司採用了ROS系統來開發創新產品,如ClearPath、Rethink、Unbounded、Neurala、Blue River、Big-i,最典型的就是Willow Garage的PR2機器人。Nvidia、Bosch、高通、英特爾、寶馬以及大疆等大公司也紛紛推出ROS週邊產品。 -
國際大廠相繼投入機器人開發平台,機器人市場前景看俏
國際巨頭在 2018 ~2019年間,前後推出機器人系統,包括高通(Qualcomm)機器人 RB3 平台(2019 年 2 月發表)、微軟(Microsoft )的Windows 10 ROS1(2018 年 9 月發表)、亞馬遜的 AWS RoboMaker(2018 年 11 月發表)、優必選的 ROSA(2018 年 9 月發表)、以及獵豹的 Orion OS(2018 年 3 月發表)。代表大廠也十分看好機器人市場的發展。
-
國家政策全力支持,開發者將享有更多資源
從科技部的政策來看,為了結合台灣既有產業優勢,讓AI加速台灣產業升級,政府投入大量資源來發展AI,以期能成為全球供應鏈中的重要一環。而機器人是AI落地的重要方向之一,特別是在製造、醫療照護等領域的發展。 -
高效跨領域技術整合框架,幫助你快速整合不同技術
ROS擁有豐富的社群資源,發展迄今,已經整合感測器、視覺、人機互動、硬體、韌體等領域的技術,因此,一旦基於ROS你就可以整合全世界的研發成果,快速打造專屬的產品。舉例來說,如果你想投入工業4.0的領域,透過ROS的OpenSLAM、MoveIt等工具,你就可以快速實作出具有抓取功能的AGV(Automated Guided Vehicle,自動導引車)產品原型。 -
容易操作的可視化套件,幫助你提高專案開發效率
ROS擁有功能強大的可視化工具像是GUI工具rqt、3D可視化工具 rviz、機器人模擬器 gazebo、資料存儲/重播功能rosbag,方便你進行資料記錄、分析、模擬工具,方便調試。不用花太多的成本就可以提升你的開發效率。
<ROS小知識>你不可不知的6個ROS的強大特性(點選展開)
-
點對點設計
ROS使用點對點的架構進行程序之間的通信,使得各個節點(程序)可以直接向任何其他節點發送和接收消息。
-
支援多種程式語言
支援多種程式語言,允許開發者以最適合任務需求的語言開發。
-
輕量化架構
ROS框架盡量保持輕量及最少限制,使其易於與其他軟體框架整合。
-
工具導向
ROS提供了一系列工具幫助開發者創建、測試和管理機器人應用程序。這些工具包含模擬器等工具,可提高開發與測試效率。
-
開放原始碼
ROS遵從BSD協議,使開發者可以清楚的查看、自由的使用原始碼,並可以根據不同的系統及硬體環境對原始碼進行修改,或者進行二次開發。
-
強大的社群資源
ROS提供了廣泛的社群資源,實現以機動性、操作控制、感知為主的機器人功能。
OpenManipulator基於ROS和開源的機器手臂。ROS官方硬體平台 TurtleBot機器人系列一直有支援TurtleBot手臂。OpenManipulator與TurtleBot3具有完全硬體相容性,並允許用戶通過與 MoveIT! 套件的連接可更輕鬆地控制它。即使你沒有實體的TurtleBot3機器人,也可以在Gazebo模擬器中控制機器人。
為了傳達正確的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軸方向的移動狀態。
為幫助你順利培養符合業界所需的職能,本課程由產業線上的資深工程師親授,將10多年的開發經驗與技術要領融入在講義中,為求讓學員在學習的路上少走冤枉路,提高學習成效,快速掌握關鍵技術。
除了要幫助你學會ROS手臂的控制觀念外,講師依據過往學員學習經驗,精心整理完整的範例程式碼,並會在課堂上進行詳細解說,讓你在課後複習時,也能快速回想。小班制教學,讓你可以和講師一對一互動,在任何延伸學習上所遇到的問題,也都能在課堂上得到講師即時的解說。
- 了解ROS機器人開發架構與流程
- 了解ROS優勢與可使用的相關資源
- 學會ROS機器人開發環境建置與指令操作
- 了解ROS機器人開發框架與架構
- 了解ROS開發必懂的觀念:master、node、topic、message、publish、subscribe等
- 學會ROS通訊控制技術
- 了解機器手臂控制原理
- 了解機器人模型URDF(Unified Robot Description Format)
- 學會ROS機器手臂專屬套件MoveIt!的應用方法
- 具備MoveIt!程式設計實作能力(關節規劃、工作空間規劃、避障規劃等)
- 獲得機器手臂實務開發的產業經驗
- 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 機器手臂控制實戰
- 為什麼要學習機器手臂控制
- 機器手臂的發展沿革與展望
- 應用場域 & 知名機器手臂介紹
- 機器人控制器介紹
- TF座標轉換介紹
- 機器人運動學介紹
- ROS機器人OpenManipulator XM 機器手臂介紹
- Overview
- Specification
- Robot Models︰URDF(Unified Robot Description Format)解說
- 機器手臂套件MoveIt!介紹
- MoveIt!核心節點 move_group
- ROS參數服務器 : URDF、SRDF、Config(ex.關節限位、運動學套件、運動規劃套件)
- 運動規劃器 motion_planner
- 約束條件 : 位置約束、方向約束、可見性約束、joint約束、用戶定義約束
- planning request adapters
- 規劃場景
- 運動學求解器
- 碰撞檢測
- MoveIt!核心節點 move_group
- MoveIt!實作演練
- 創建機器人URDF模型
- 使用MoveIt! Setup Assistant工具生成配置文件
- 添加機器人控制器(真實機器人) 或 控制器套件(仿真機器人)
- 使用MoveIt!控制機器人運動(演算法模擬、物理模擬)
- MoveIt!程式設計實作 :
- 關節空間規劃
- 工作空間規劃
- 笛卡爾運動規劃
- 避障規劃
- 專案實務開發常見問題與解決方案說明
< ROS-Industrial Development Process>
< 教學demo >
ROS開發架構
ROS環境建置與指令教學
ROS機器手臂原理講解
ROS機器手臂原理講解
Tim
- 輔仁大學應用科學與工程研究所博士
- 知名上市電子消費品大廠機器人研發部門資深工程師
- 機器學習 / 機器人開發 / 密碼學 / 影像壓縮 / 數位訊號處理 / 生醫資訊 / 生醫影像處理
Bob
- 中央大學太空所碩士
- 知名上市電子消費品大廠影像事業部研發工程師
- ROS機器人開發 / 無人機韌體開發 / OpenCV影像處理與電腦視覺開發 / Linux嵌入式系統
Jay
- 台北科技大學機電整合研究所碩士
- 知名上市電子消費品大廠軟韌體研發部研發工程師
- ROS機器人開發 / OpenCV影像處理與電腦視覺開發 / Linux嵌入式系統 / 機器學習 / 深度學習
More
歡迎企業包班內訓,立即洽詢(02)2316-7736!!
在一個快速變遷的世界裡,確定會失敗的唯一策略是:不冒險。如果你欣然擁抱趨勢,踏向偉大的ROS機器人開發之路,風向也會幫你一把。搭上艾鍗學院的學習列車,不可思議的旅程,從此開始!若您希望對本課程有更多了解,歡迎留下您的資料,或撥服務專線(02)2316-7736,艾鍗學院將竭誠為您服務喔!
1.關於OpenManipulator XM 機器手臂介紹
此XM機器手臂是基於 OpenManipulator 的規格,使用 Dynamixel XM430-W350-T 智能馬達,由採智科技自行列印及組裝。
OpenManipulator是支持ROS(Robot Operating System)的一個完全開放的機器手臂,由開源軟體、開源硬體及OpenCR內嵌控制板(Arduino相容)所組成。
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.請問學習ROS須具備什麼背景知識呢?
(1).具創客精神(不怕失敗、樂意動手實作、會自行上網找尋解決方法),對於開源平台Raspberry Pi相關開發有興趣。
(2).具備C++或是Python程式撰寫能力 。
(3).具Linux(Ubuntu)使用經驗 (會基本常用指令操作)。若你想要更熟悉Linux操作,我們亦提供Linux入門職能精修供你進修。
(4).具導航/路徑規畫演算法、視覺相關演算法或是AI應用相關背景尤佳。
5.如果對Linux不熟悉怎麼辦?
其實學習ROS並不難,而很多學員遇到的問題在於對於Linux不熟悉。這個只能邊用邊學了,遇到問題也要善用Google,基本上這些問題都能在Google中找到答案。若你想要更熟悉Linux操作,我們亦提供Linux入門職能精修供你進修。