1. 淡江大學電機工程學系 / 智慧型控制實驗室淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS
機器人作業系統
Robot Operating System
Powering the world’s robots
分享人:陳功瀚
2. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
大綱
ROS介紹
Why ROS?
機器人介紹
ROS系統概念
Topic
Service
Gazebo (3D Simulator)
Gazebo範例
P-2/28
OSRF(Open Source Robotics Foundation)
3. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS介紹(1/3)
Robot Operating System (ROS)
歷史
2007年,由史丹佛人工智慧實驗室(Stanford Artificial
Intelligence Laboratory)發展
2008 – 2013年,主要由Willow Garage 進行維護
2013年-,主要由OSRF進行維護
提供類似作業系統的功能 (operating system-like functionality)
非作業系統
必須基於作業系統下進行
預設為Linux Ubuntu
支援Raspberry Pi
亦可實現在OS X作業系統 (Experimental)
P-3/28
4. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS介紹(2/3)
支援的作業系統
P-4/28
5. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS介紹(3/3)
更準確來說,ROS是一個「機器人開發框架」
完善並且簡單的通訊架構
專案管理
透過簡單共通的通訊架構,迅速使用別人開發的專案
只需了解輸出入內容即可使用
不需作程式整合
方便的工具
3D 介面(Gazebo、Rviz)
開放原程式
眾多專案(Package)可供使用
Hokuyo雷射測距儀、IMU、Kinect、Realsense…等感測裝置
Arduino模組
各式演算法與套件支援模組(OpenCV、PCL、SLAM….等)
P-5/28
6. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (1/12)
使用ROS為平台的機器人
PR2 (Personal Robotics)
Aldebaran Nao
Meka
Toyota’s HSR
youBot
UBR-1
LEGO NXT
P-6/28
PR2 Aldebaran Nao
ASCTec Hummingbird
Toyota’s HSR
Meka
UBR-1
7. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (2/12)
PR2 (Personal Robotics)
http://www.willowgarage.com/pages/pr2/specs
P-7/28
Type PR2
Software ROS
Manipulator A Arm :: 4
B Wrist :: 3
C Gripper :: 1
Payload 1.8 Kg
Computing Processors :: Two
Quad-Core i7 Xeon
Processors (8 cores)
Memory :: 24 GB
8. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (3/12)
PR2 (Personal Robotics) 摺衣服,50x,2010年
P-8/28
https://www.youtube.com/watch?v=gy5g33S0Gzo
9. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (4/12)
P-9/28
10. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (5/12)
Meka-M1
http://mekabot.com/products/m1-mobile-manipulator/
P-10/28
Type M1
Software ROS
Weight 165Kg
Size Height 1260mm
Length 800 mm
Width 460 mm
Manipulator 7 DOF
Payload 1.5kg
Release 2011
11. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (6/12)
Toyota’s HSR(Human Support Robot)
http://www.toyota-global.com/innovation/partner_robot/family_2.html
P-11/28
Type HSR
Software ROS
Weight 32Kg
Size Height 830~1330mm
Diameter:370mm
Payload 1.5kg
Release 2012
12. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (7/12)
Unbounded Robotics UBR-1
http://unboundedrobotics.com/
P-12/28
Type UBR-1
Software ROS
Weight 73kg
Size Height Min 965mm
Height Max 1320mm
Manipulator 7-DOF
Payload 1.5kg
Speed 1.0m/s
Release 2013
Special 14”Vertical Travel
3D RBG-sensor
Self Docking
2D Laser Scanner
13. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (8/12)
Aldebaran NAO
Aldebaran's NAOqiOS
naoqi_driver 溝 通 NAOqiOS
與ROS
可使用ROS套件進行控制
https://community.aldebaran-robotics.com/nao/
P-13/28
Type Nao
Weight 5.2Kg
Size Height 573mm
Length 275 mm
Width 401 mm
FREEDOM HEAD x2 DOF
ARM x5 DOF
PELVIS x1 DOF
LEG x5 DOF
HAND x1 DOF
14. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (9/12)
Pepper
由Aldebaran與Softback開發
2013年Aldebaran已併Softback併下
naoqi_driver溝通NAOqiOS 與ROS
可使用ROS套件進行控制
P-14/28
15. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (10/12)
淡江機器人中心使用ROS實現之機器人
P-15/28
滅火機器人 (與消防基金會合作)
足球機器人
揀貨機器人
16. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (11/12)
ROS 8 Years
P-16/28
https://www.youtube.com/watch?v=Z70_3wMFO24
17. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (12/12)
ROS實現的機器人
ROS機器人列表
http://robots.ros.org/
ROS 8 Years:
https://www.youtube.com/watch?v=Z70_3wMFO24
ROS 5 Years:
https://www.youtube.com/watch?v=PGaXiLZD2KQ
ROS 3 Years:
https://www.youtube.com/watch?v=7cslPMzklVo
P-17/28
18. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS系統概念(1/4)
整個ROS由各個Package(專案)組成
roscpp
rospy
每個Package由各個Node(節點)組成
每個Node都是一個單獨的程式
亦即每個Node都有一個程式進入點(main)
所有的Node由TCP/IP進行溝通,並提供以下方法
Topic
Service
所有資源的表示,以Linux路徑方式表示
/Vision/FaceDect
P-18/28
19. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS系統概念(2/4)
Topic
可想像成是一個公佈欄
Publish(傳送)
Publish To Topic
將資訊不斷的往Topic傳送
Subscribe(訂閱)
Subscribe A Topic
不斷的訂閱Topic資料
P-19/28
/teleop_turtle: Node
/turtlesim: Node
/turtle1/command_velocity: Topic
20. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS系統概念(3/4)
Service
如同一般的Server、Client
Server(伺服端)
被動等待Client傳送訊息
當Client有所請求時,回覆訊息
Client(用戶端)
觸發請求給Service
當有需求時才進行,不會一直進行
Topic、Service不同處
Topic的Subscribe並不會回覆資料,單向
Service的Server回覆資料,雙向
P-20/28
21. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS系統概念(4/4)
Topic通常用於連續不間斷的資料傳輸
Service用於不頻繁間斷的資料傳輸
當二個Node之間傳輸資料,只要
1.決定Topic名稱
2.訂定Topic格式
範例
1.Topic名稱: /Vision/ballPosition
2.Topic格式:
X double
Y double
說穿了,ROS就是一個非常容易溝通的網路環境
非現行開發者,只要看Topic或Service格式即可知輸出入
P-21/28
22. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS版本說明
ROS版本(Distributions)
P-22/28
http://wiki.ros.org/Distributions
Groovy
Hydro
Indigo
Kinetic
23. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Gazebo (1/4)
何由Gazebo
ROS上的3D模擬介面
Why Gazebo?
DARPA比賽分二組
DARPA Robotics Challenge (DRC)
Virtual Robotics Challenge (VRC)
其中VRC比賽模擬環境即是以Gazebo為基礎上建立
參考影片
Gazebo-Simulator-for-DARPA-Virtual-Robotics-Challenge.mp4
P-23/28
24. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Gazebo (2/4)
Gazebo
SDF(Simulation Description Format)
使用XML格式描述各個物體
位置、大小
物理參數
可模擬物理參數
慣性
摩擦力
地心引力
可引入STL(.stl) 、COLLADA(.dae)的3D模型
P-24/28
25. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Gazebo (3/4)
Gazebo參考影片:VRC
DARPA Virtual Robotics Challenge (VRC)
P-25/28
https://www.youtube.com/watch?v=k2wVj0BbtVk
26. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Gazebo (4/4)
Gazebo參考影片:四旋翼+影像模擬
P-26/28
https://www.youtube.com/watch?v=4he7mPV41Xc
27. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS結論
ROS優點
以網路為基礎的機器人開發架構
輸入/輸出明確
分工明確
機器人相關資源眾多 (套件很多)
強大的3D模擬工具(Gazebo)
缺點
版本太多,不同版本套件可能無法共用
多機器人的支援尚未完整
P-27/28
28. 淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
參考資料
參考資料
ROS入門,http://wiki.ros.org/ROS/Tutorials
看了不下千次
ROS介紹,
http://my.phirobot.com/drafts/ros_quick_start1_start_with_ubu
ntu_for_ros.html
Gazebo入門,http://gazebosim.org/wiki/Tutorials
SDF,http://gazebosim.org/sdf/1.4.html
VCR,
http://www.darpa.mil/NewsEvents/Releases/2013/06/27.aspx
影片
PR2,www.youtube.com/watch?v=S2GAz5F03Ls
Gazebo VRC,https://www.youtube.com/watch?v=yVICMC_BAiU
P-28/28