Upload
dangdan
View
295
Download
9
Embed Size (px)
Citation preview
TIER IV ACADEMY
version 1.3
Day2ROS
ROSROS 2.0
ROSROS 2.0
ROS catkin ROS
ROS ROS2.0 ROS TF ROS RViz
l ROS ROS
l ROS ROS2.0 ROS ROS ROS
ROS2 ROS2 ROS2DDS
2
ROSROS 2.0 3
ROSRobot Operating Systems 1. ROS 2.
ROS 2.0 1. 2. DDS 3.
ROSRobot Operating Systems
ROSROS 2.0
4
1. ROS
ROS
ROSROS 2.0 5
ROS (Robot Operating System) : ...etc
n
n
n
n C++, Python
n OSRF
n OSLinux
ROS (1/2)
ROSROS 2.0 6
3D map
ITS (Intelligent Transport Systems)
+ Internet
International cooperation
Laws
DetectionSensing
Planning Operation
Localization
1 2 3 4
Interface
ROS (2/2)
ROSROS 2.0 7
Localization Detection Planning
R O SOS
Sensing
Linux (Ubuntu14.04)
CPU (multi/many) LIDARCamera
GNSS (GPS)
GPU
ROSRobot Operating Systems
ROSROS 2.0
8
1.
ROS
ROSROS 2.0 9
ROS (Robot Operating System) :
Publish / Subscribe l l
2
1 3
Subscribe
Publish Subscribe
10
Publish / Subscribe
, ,
11
ROSROS 2.0
Publish / Subscribe
, ,
12
NEW !
ROSROS 2.0
Publish / Subscribe
, ,
ROS
ROSROS 2.0 13
()
User Code
R O S
Hardware
TCP/UDP or
ROS
ROSROS 2.0 14
( )
User Code
RO S
Hardware
GUIROS
GazeboD
l rosbag
l
RViz3D
ROS
ROSROS 2.0 15
()
User Code
R O S
Hardware
TCP/UDP or
ROS
ROSROS 2.0 16
()
User Code
R O S
Hardware
( )
User Code
RO S
Hardware
2,000
ROS
17
Camera.cpp
ImagesCamera Image Proccessing
: Camera : ImageProccessing
:
Image.msg --------------------
Header header uint32 height uint32 width
string encoding uint8[] data
ImageProcessing.cpp Detection.h
ROSROS 2.0
ROS 2.0
ROSROS 2.0
18
1.
ROS2
ROSROS 2.0 19
(2007.11-)
ROS2
ROSROS 2.0 20
(2007.11-)
ROSalpha
ROSROS 2.0 21
l - Publish / Subscribe - QoS Quality of Service-
l - (, , , etc.)- /
DDS (Data Distribution Service) : Publish / Subscribe
[RTI Connext]
ROS2
ROS 2.0
ROSROS 2.0
22
2. DDS
ROS2DDS/
23 ROSROS 2.0
ROS2DDS/QoS
ROSROS 2.0 24
sGlobal Data Space
Publisher
Participant
QoS
Participant
QoS
Subscriber
data1
data2
data3
data4
DEADLINE period
HISTORY
RELIABIRITY
data1data2data3data4
Topic
Data Writer
Data Reader
ROS2DDS/QoS
ROSROS 2.0 25
sGlobal Data Space
Publisher
Participant
QoS
Participant
QoS
Subscriber
data1
data2
data3
data4
DEADLINE period
HISTORY
RELIABIRITY
data1data2data3data4
Topic
ALL () or LAST ()
Data Writer
Data Reader
RELIABLE or BEST_EFFORT
ROS2DDS/QoS
ROSROS 2.0 26
QoS Policy QoS Policy
Vola
tility
DURABILITY USER DATAU
ser QoSDURABILITY_SERVICE TOPIS FILTER
HISTORY GROUP DATA
READER DATA LIFECYCLE PARTITION
Presentation
WRITER DATA LIFECYCLE PRESENTATION
LIFESPAN DENTINATION ORDER
Infr
astr
uctu
re
ENTITY FACTORY OWNERSHIP Redundancy
RESOURCE LIMITS OWNERSHIP STRENGTH
Del
iver
y RELIABIRITY LIVELINESS
TIME BASED FILTER LATENCY BUDGET
TransportDEADLINE TRANSPORT PRIORITY
[Data Distribution Service (DDS) Version 1.4 April, 2015] ROS2
ROS2DDS/Vendor
ROSROS 2.0 27
RTI (Real-Time Innovation)
ConnextCommercial
Research
PrismTech OpenSpliceCommercial
LGPL (v6.4) -
eProsima FastRTPS Apache 2 -
OSRF (Open Source
Robotics Foundation)
FreeRTPS Apache 2 -
RTI (Real-Time Innovation)
ConnextCommercial
Research
PrismTech OpenSpliceCommercial
LGPL (v6.4) -
eProsima FastRTPS Apache 2 -
OSRF (Open Source
Robotics Foundation)
FreeRTPS Apache 2 -
ROS2DDS/Vendor
ROSROS 2.0 28
DDS
ROS2DDS/Vendor
ROSROS 2.0 29
RTI (Real-Time Innovation)
ConnextCommercial
Research
PrismTech OpenSpliceCommercial
LGPL (v6.4) -
eProsima FastRTPS LGPL -
OSRF (Open Source
Robotics Foundation)
FreeRTPS Apache 2 -
DDS
No.1 J ROS2
Secure, Micro
ROS2DDS/Vendor
ROSROS 2.0 30
RTI (Real-Time Innovation)
ConnextCommercial
Research
PrismTech OpenSpliceCommercial
LGPL (v6.4) -
eProsima FastRTPS LGPL -
OSRF (Open Source
Robotics Foundation)
FreeRTPS Apache 2 -
DDS
No.2 L v6.4
ROS2DDS/Vendor
ROSROS 2.0 31
RTI (Real-Time Innovation)
ConnextCommercial
Research
PrismTech OpenSpliceCommercial
LGPL (v6.4) -
eProsima FastRTPS Apache 2 -
OSRF (Open Source
Robotics Foundation)
FreeRTPS Apache 2 -
DDS
ROS2DDS
GitHub
ROS2DDS/Vendor
ROSROS 2.0 32
RTI (Real-Time Innovation)
ConnextCommercial
Research
PrismTech OpenSpliceCommercial
LGPL (v6.4) -
eProsima FastRTPS LGPL -
OSRF (Open Source
Robotics Foundation)
FreeRTPS Apache 2 -
DDS
, ,
GitHub
ROS 2.0
ROSROS 2.0
33
3.
ROSROS 2.0 34
DDS
DDS
Linux/Windows/Mac/RTOS/No OS
Linux
TCPROS / UDPROS
OS
ROS1
ROS2
ROS ROS
ROS2
ROSROS 2.0 35
rmw (ROS Middleware Interface)
rcl (ROS Client Library)
rosidl (ROS Interface Description Language)
C++ Python
DDS
ROS2 API DDS API
+ QoS
.msg .idl
Connext FastRTPS OpenSplice or or
or
C++, python
DDS
DDS
ROS2
ROSROS 2.0 36
C + QoS
FreeRTPS
CQoS
RTPS
ROS2
ROSROS 2.0 37
ROS1 ROS1
TCP/UDP
ROS1 ROS1
ROS2 ROS2
DDS
ROS2 ROS2
TCP/UDP, DDS
nodelet
inter-process intra-process
R O S 2
R O S 1
ROS2
ROSROS 2.0 38
ROS1 ROS1
TCP/UDP
ROS1 ROS1
ROS2 ROS2
DDS
ROS2 ROS2
TCP/UDP, DDS
nodelet
inter-process intra-process R O S 2
R O S 1
ROS1 ROS2
ros1_bridge
ROS2
ROSROS 2.0 39
In Progress Future Work
ARM A-class, SFF x86 etc 32-bit MCU 8/16-bit MCU
RAM 1-16GB 4-256KB 1-32KB
OSWindows, OS X,
Linux (Ubuntu14.04, 16.04)
no OS, RTOS (Xenomai, PREEMPT RT)
l l QoS l TLSF (Two Level Segregate Fit) allocatorl RTOSl intra-process
l l FreeRTPSROS2 DDSl C
ROSROS 2.0
40
ROSROS 2.0 41
ROS (Robot Operating System) Publish / Subscribe
ROSDDS Data Distribution ServiceQoSQuality of Service
www.tier4.jp
42
Appendix
ROSROS 2.0
43
n OSRF/ROS.org - [http://wiki.ros.org/], [http://wiki.ros.org/ja]
n OSRF/ROS2 wiki [https://github.com/ros2/ros2/wiki]
n OSRF/ROS2 Design - [http://design.ros2.org/]
n OSRF/FreeRTPS - [https://github.com/ros2/freertps]
n ROSCon2015 - [http://roscon.ros.org/2015/]
n ROSCon2016 - [http://roscon.ros.org/2016/]
n RTI/Connext - [http://www.rti.com/]
n PrismTech/OpenSplice DDS Community Edition - [http://www.prismtech.com/dds-community]
n ePrisima/FastRTPS - [http://www.eprosima.com/], [https://github.com/eProsima/Fast-RTPS]
44
ROSROS 2.0