SlideShare a Scribd company logo
1 of 29
淡江大學電機工程學系 / 智慧型控制實驗室淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS
機器人作業系統
Robot Operating System
Powering the world’s robots
分享人:陳功瀚
淡江大學電機工程學系 / 智慧型控制實驗室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)
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS介紹(2/3)
支援的作業系統
P-4/28
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (4/12)
P-9/28
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
Why ROS? (10/12)
淡江機器人中心使用ROS實現之機器人
P-15/28
滅火機器人 (與消防基金會合作)
足球機器人
揀貨機器人
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室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
淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
ROS結論
ROS優點
以網路為基礎的機器人開發架構
輸入/輸出明確
分工明確
機器人相關資源眾多 (套件很多)
強大的3D模擬工具(Gazebo)
缺點
版本太多,不同版本套件可能無法共用
多機器人的支援尚未完整
P-27/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
淡江大學電機工程學系 / 智慧型控制實驗室淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System
謝 謝 指 教

More Related Content

What's hot

ARグラスの自作と6DoF化
ARグラスの自作と6DoF化ARグラスの自作と6DoF化
ARグラスの自作と6DoF化emon 石川
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンHiroyuki Ito
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Hiroaki Kaneda
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたTakuya Minagawa
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
約櫃被擄 撒母耳記上(4:1-4:22)
約櫃被擄  撒母耳記上(4:1-4:22)約櫃被擄  撒母耳記上(4:1-4:22)
約櫃被擄 撒母耳記上(4:1-4:22)查經簡報分享
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半tomohiro kuwano
 
第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchi第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchiAkira Taniguchi
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料Fujimoto Keisuke
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類Yoshitaka HARA
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code ReadingTakuya Minagawa
 
Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理Taiki Yoshikawa
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII
 
Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法Kazuki Saito
 
ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子Bizan Nishimura
 
ROSでロボット開発中
ROSでロボット開発中ROSでロボット開発中
ROSでロボット開発中ssuser2144b2
 
猫でも分かる3人称視点VRコンテンツ
猫でも分かる3人称視点VRコンテンツ猫でも分かる3人称視点VRコンテンツ
猫でも分かる3人称視点VRコンテンツpafuhana 1213
 

What's hot (20)

ARグラスの自作と6DoF化
ARグラスの自作と6DoF化ARグラスの自作と6DoF化
ARグラスの自作と6DoF化
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
約櫃被擄 撒母耳記上(4:1-4:22)
約櫃被擄  撒母耳記上(4:1-4:22)約櫃被擄  撒母耳記上(4:1-4:22)
約櫃被擄 撒母耳記上(4:1-4:22)
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半
 
第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchi第8回Language and Robotics研究会20221010_AkiraTaniguchi
第8回Language and Robotics研究会20221010_AkiraTaniguchi
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
20180424 orb slam
20180424 orb slam20180424 orb slam
20180424 orb slam
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading
 
Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法Node-RED TIPS:functionノード間で関数を共有する方法
Node-RED TIPS:functionノード間で関数を共有する方法
 
ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子
 
ROSでロボット開発中
ROSでロボット開発中ROSでロボット開発中
ROSでロボット開発中
 
猫でも分かる3人称視点VRコンテンツ
猫でも分かる3人称視点VRコンテンツ猫でも分かる3人称視点VRコンテンツ
猫でも分かる3人称視点VRコンテンツ
 

Similar to ROS

110929 kn-手机软件测试
110929 kn-手机软件测试110929 kn-手机软件测试
110929 kn-手机软件测试Zoom Quiet
 
大范围环境下移动机器人
大范围环境下移动机器人大范围环境下移动机器人
大范围环境下移动机器人toukaigi
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTarget Source
 
APP Developer Program
APP Developer ProgramAPP Developer Program
APP Developer ProgramRyan Chung
 
Rpmini intro n_sharing
Rpmini intro n_sharingRpmini intro n_sharing
Rpmini intro n_sharingDon Si
 
漫談 Source Control Management
漫談 Source Control Management漫談 Source Control Management
漫談 Source Control ManagementWen-Shih Chao
 
Spot basic info-2021.01.08
Spot basic info-2021.01.08Spot basic info-2021.01.08
Spot basic info-2021.01.08August Lin
 
OpenWrt Case Study 2008
OpenWrt Case Study 2008OpenWrt Case Study 2008
OpenWrt Case Study 2008Rex Tsai
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7javatwo2011
 
从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计mysqlops
 
開放源碼的ASP.NET Core & ADO.NET (for VS2015)
開放源碼的ASP.NET Core & ADO.NET (for VS2015)開放源碼的ASP.NET Core & ADO.NET (for VS2015)
開放源碼的ASP.NET Core & ADO.NET (for VS2015)MIS2000 Lab.
 
Pyramid框架介绍
Pyramid框架介绍Pyramid框架介绍
Pyramid框架介绍panjunyong
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on CloudTsungWei Hu
 
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)Jun LI
 
巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據
巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據
巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據Yuan CHAO
 

Similar to ROS (20)

Humix X ROS
Humix  X   ROS Humix  X   ROS
Humix X ROS
 
110929 kn-手机软件测试
110929 kn-手机软件测试110929 kn-手机软件测试
110929 kn-手机软件测试
 
大范围环境下移动机器人
大范围环境下移动机器人大范围环境下移动机器人
大范围环境下移动机器人
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
 
APP Developer Program
APP Developer ProgramAPP Developer Program
APP Developer Program
 
Rpmini intro n_sharing
Rpmini intro n_sharingRpmini intro n_sharing
Rpmini intro n_sharing
 
漫談 Source Control Management
漫談 Source Control Management漫談 Source Control Management
漫談 Source Control Management
 
Spot basic info-2021.01.08
Spot basic info-2021.01.08Spot basic info-2021.01.08
Spot basic info-2021.01.08
 
Mccc lab
Mccc labMccc lab
Mccc lab
 
應徵軟體工程師
應徵軟體工程師應徵軟體工程師
應徵軟體工程師
 
OpenWrt Case Study 2008
OpenWrt Case Study 2008OpenWrt Case Study 2008
OpenWrt Case Study 2008
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计
 
教學(10) 藍牙控制應用
教學(10)藍牙控制應用教學(10)藍牙控制應用
教學(10) 藍牙控制應用
 
開放源碼的ASP.NET Core & ADO.NET (for VS2015)
開放源碼的ASP.NET Core & ADO.NET (for VS2015)開放源碼的ASP.NET Core & ADO.NET (for VS2015)
開放源碼的ASP.NET Core & ADO.NET (for VS2015)
 
A log介紹簡報
A log介紹簡報A log介紹簡報
A log介紹簡報
 
Pyramid框架介绍
Pyramid框架介绍Pyramid框架介绍
Pyramid框架介绍
 
Proud Plone on Cloud
Proud Plone on CloudProud Plone on Cloud
Proud Plone on Cloud
 
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
自动化漏洞利用关键技术研究(Automatic Vulnerability Exploitation Technologies)
 
巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據
巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據
巨量資料分析輕鬆上手_教您玩大強子對撞機公開數據
 

ROS

  • 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
  • 29. 淡江大學電機工程學系 / 智慧型控制實驗室淡江大學電機工程學系 / 智慧型控制實驗室I.C. LAB / Dept. of E. E., Tamkang University Robot Operating System 謝 謝 指 教

Editor's Notes

  1. http://mekabot.com/products/m1-mobile-manipulator/ http://spectrum.ieee.org/automaton/robotics/humanoids/meka-robotics-announces-mobile-manipulator-with-kinect-and-ros
  2. 01:12 02:26 03:43
  3. http://mekabot.com/products/m1-mobile-manipulator/ http://spectrum.ieee.org/automaton/robotics/humanoids/meka-robotics-announces-mobile-manipulator-with-kinect-and-ros
  4. http://www.toyota-global.com/innovation/partner_robot/family_2.html 身體為可移動式
  5. http://unboundedrobotics.com/ http://unboundedrobotics.com/ubr-1/specification/ Vertical Travel
  6. http://mekabot.com/products/m1-mobile-manipulator/ http://spectrum.ieee.org/automaton/robotics/humanoids/meka-robotics-announces-mobile-manipulator-with-kinect-and-ros
  7. http://mekabot.com/products/m1-mobile-manipulator/ http://spectrum.ieee.org/automaton/robotics/humanoids/meka-robotics-announces-mobile-manipulator-with-kinect-and-ros
  8. http://unboundedrobotics.com/ http://unboundedrobotics.com/ubr-1/specification/ Vertical Travel
  9. http://unboundedrobotics.com/ http://unboundedrobotics.com/ubr-1/specification/ Vertical Travel
  10. http://unboundedrobotics.com/ http://unboundedrobotics.com/ubr-1/specification/ Vertical Travel
  11. http://unboundedrobotics.com/ http://unboundedrobotics.com/ubr-1/specification/ Vertical Travel