tier iv academy...
TRANSCRIPT
-
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