22. ROS 2の新機能
• DDS (Data Distribution Service)
• Quality of service
• Lifecycle state machine
• Actions
• Intra-process communication
• ros1bridge
• Multi platform support
• colcon build tool
• Python launch system
22
23. DDSとソフトウェア構造の変更
• Data Distribution Service
(ROSに似た) pub/sub通信プロトコル
ümasterが不要となる
OMG標準仕様として規定されている
23
https://speakerdeck.com/youtalk/dds?slide=12
25. DDS Support
I/F Library Provider License Support
Level
Plat
form
Arch.
rmw_fastrtps_cpp eProsima
Fast-RTPS
Apache-2.0 Tier 1 All All
rmw_connext_cpp RTI
Connext
Commercial
/ Research
Tier 1 Debian
以外
amd64
のみ
rmw_opensplice_
cpp
ADLink
OpenSplice
Commercial
/ LGPL (v6.4)
Tier 2 Debian
以外
All
rmw_fastrtps_
dynamic_cpp
eProsima
Fast-RTPS
Apache-2.0 Tier 2 All All
25
http://www.ros.org/reps/rep-2000.html#dashing-diademata-may-2019-may-2021
• 複数のベンダ/ライセンス形態からDDSの通信層を選択できる
26. QoS Control
• QoS profile for each topic
History: Keep last (N samples) or Keep all
Depth: Size of the queue
Reliability: Best effort or Reliable
Durability: Transient local or Volatile
26
https://index.ros.org/doc/ros2/
Tutorials/Quality-of-Service/
Profile Reliability History policy Durability
Default Reliable Keep last Volatile
Services Reliable Keep last 10 Volatile
Sensor data Best effort keep last 5 Volatile
Parameters Reliable keep last 1000 Volatile
32. colcon build tool
• collective construction
• colcon = ament + catkin
ament: build for ROS 2 pkgs $ ament build --isolated
catkin: build for ROS 1 pkgs $ catkin_make_isolated --install
32
$ mkdir -p /tmp/workspace/src # Make a workspace directory with a src subdirectory
$ cd /tmp/workspace # Change directory to the workspace root
$ <...> # Populate the `src` directory with packages
$ colcon list -g # List all packages in the workspace and their dependencies
$ colcon build # Build all packages in the workspace
$ colcon test # Test all packages in the workspace
$ colcon test-result --all # Enumerate all test results
$ . install/local_setup.bash # Setup the environment to use the built packages
$ <...> # Use the built packages
TL;DR
75. 参考情報︓Web解説
• ROS Tutorials
http://wiki.ros.org/ROS/Tutorials
• ROS 2 Tutorials
https://index.ros.org/doc/ros2/Tutorials/
• ROS講座 (on Qiita)
https://qiita.com/srs/items/5f44440afea0eb616b4a
• Yutaka Kondo: Getting Started with ROS 2 / DDS,
ROS Japan User Group #27, Dec 2018. https://speakerdeck.com/youtalk/dds
• Geoffrey Biggs: 次世代ロボットフレームワークROS2の紹介, 第20回
組込みシステム技術に関するサマーワークショップ (SWEST20), 2018年8⽉.
https://swest.toppers.jp/SWEST20/program/s2a.html#s2
• Geoffrey Biggs: ROS Japan ユーザグループ 講習会 〜 ROS 2 の紹介 〜
https://gbiggs.github.io/rosjp_ros2_intro/index.html
https://github.com/gbiggs/rosjp_ros2_basics
• TIER IV ACADEMY ⾃動運転システム構築塾 Day 2 ROS演習
ROS演習3︓ROS 2.0の最新動向について
http://4c281b16296b2ab02a4e0b2e3f75446d.cdnext.stream.ne.jp/randc/mirai/2-
3_ros2_LP.pdf
75
76. 参考情報︓引⽤
• Tully Foote: ROS Community Metrics Report, Jul 2018.
http://download.ros.org/downloads/metrics/metrics-report-2018-
07.pdf
• Dirk Thomas, Mikael Arguedas: The ROS 2 Vision -For Advancing
the Future of Robotics Development-, ROSCon 2017, Sep 2017.
https://roscon.ros.org/2017/presentations/ROSCon%202017%20RO
S2%20Vision.pdf
• Dirk Thomas, Esteve Fernandez, William Woodall: State of ROS 2 -
demos and the technology behind, ROSCon 2015, Oct 2015.
https://roscon.ros.org/2015/presentations/state-of-ros2.pdf
• ROS 2.0 Design, https://design.ros2.org
• ROS 2 Overview, https://index.ros.org/doc/ros2/
76
77. 参考情報︓論⽂
• Hideki Takase, Tomoya Mori, et al.: Work-in-Progress: Design Concept
of a Lightweight Runtime Environment for Robot Software Components
Onto Embedded Devices, Proc. of EMSOFT, Oct 2018.
https://ieeexplore.ieee.org/document/8537199
• Hideki Takase, Tomoya Mori, et al.: mROS: A Lightweight Runtime
Environment for Robot Software Components onto Embedded Devices,
Proc. of HEART, Jun 2019.
https://dl.acm.org/citation.cfm?id=3337815
• 森智也,⾼瀬英希,他: mROS︓組込みデバイス向けROSノード軽量実⾏環境,
情報処理学会研究報告, Vol. 2017-EMB-46, No. 42, pp. 1-6, 2017年11⽉.
• Yasuhiro Nitta, Sou Tamura, Hideki Takase: A Study on Introducing
FPGA to ROS Based Autonomous Driving System, Proc. of FPT, Dec 2018.
https://ieeexplore.ieee.org/document/8742257
77