SlideShare ist ein Scribd-Unternehmen logo
1 von 33
&
How to accelerate
the development of robot systems and
integrate embedded devices
Hideki Takase
(Kyoto University / JST PREST)
ASPDAC 2019 Designers’ Forum (Session 5A-2)
Robotics: From System Design to Application
Contents
• ROS: How to accelerate the development
− Background & Motivation
− History of robot software framework
− Features of ROS
− ROS 2: next-generation development platform
• mROS: How to integrate embedded devices
− Motivation & Our Strategy
− Overview & Structure
− Current Status & Case Study
• (One more thing??) EDAs for ROS/Robot
• Conclusion & Announcement
2
Background & Motivation
• Characteristics of robot systems
− Combination of a number of technology fields
(controlling, processing, automation, planning, AI, etc,,,)
− Interaction to the physical world
Mixed processing of real-time and non real-time
Huge amount of data to be operated
− Limited computational resources and power
3
Unified design framework would accelerate
development of robot systems
Robot Software Framework
• To accelerate the development,,,
− enhancing the reusability of modules
− managing inter-process and inter-system easily
4
CORBA-based architecture
http://openrtm.org/
Transport-neutral communication
http://www.yarp.it/
Mainly for kinematics and dynamics
http://www.orocos.org/
de-fact around the world!!
http://www.ros.org/
ROS History
2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
5
1st commit to SourceForge (Nov. 2007)
https://sourceforge.net/p/ros/code/1/log/?path=
http://www.ros.org/news/
2017/11/ros-turns-10.html
ROS 1.0 released
ROS 2 Alpha released
http://wiki.ros.org
What is ROS?
6
http://www.ros.org/about-ros/
ROS is not just framework,
but design platform for robots!!
• Plumbing: pub/sub messaging infrastructure
• Tools: configuring, debugging, visualizing, etc.
• Capabilities: broad collection of libraries
• Ecosystem: world-wide powerful community
Plumbing
• Publish / Subscribe messaging infrastructure
 ROS is not OS, but middle-ware (on Ubuntu)
− ROS nodes for constructing the robot software
− Master (roscore) manages the registration of node
− service (synchronous comm.) is also supported
7
topic:A
topic:B
publish
pub
subscribe
sub
registration
reg
XMLRPC
TCPROS
service
node
node
node
master
node
node
Plumbing
• Benefits
− If a process/node crashes, it can be restarted
− A functionality can be exchanged by replacing node
8
topic:A
topic:B
publish
pub
subscribe
sub
registration
reg
XMLRPC
TCPROS
service
node
node
node
master
node
node
Tools
• catkin_tools: CLI of config. & build system
• rqt: Qt-based debugging framework
• gazebo: 3D physical simulation tool
• rviz: visualization tool
− and roslaunch, rosbag, tf, etc.,,,
9
Capabilities
• ROS package:
− a broad collection of libraries that implement
useful robot functionality
 mobility, manipulation, perception, etc.,,,
− 2,000+ packages are available as open-source
• Advantages of package:
− enhance reusability of resources
− realize component based development approach
• Officially supported languages:
C++, Python, LISP
− Others: C#, Java, Lua, Go, ruby, etc.,,,
10
Ecosystem
• On-line community
− ROS Wiki: documentation & download site
− ROS Answers: Q&A community site
− ROS Discourse: announcement of release & events
• Off-line community
− ROSCon: international developers conference
− SIG meetups, tutorial workshop, local events, etc.,,,
11
ROS around the world!!
12
http://download.ros.org/downloads/
metrics/metrics-report-2018-07.pdf
ROS Robots
13https://robots.ros.org
Aerial Marine
Component Sensor
Ground Manipulator
Motor
Transition of Use Case
• Single robot
• Workstation-class
computational resource
• No real-time control
• Excellent connectivity
of network quality
• Application in research
14
• Multiple robots
• Demands for small
embedded platforms
• For real-time control
• Non-ideal networks
(loss and/or delay)
• Production environment
Development of has been started
from the ground up!!
New Features of ROS 2
• DDS (Data Distribution Service)
− ROS-like pub/sub transport protocol
No master is needed for managing comm.
− Technical credibility by OMG standard specification
15
https://speakerdeck.com/youtalk/dds?slide=12
New Features of ROS 2
• QoS control
− reliability, history policy,
and durability for each topic
• Lifecycle state machine
− 4 states with error handling
− State change is notified by topic
• Multi platform support
− Ubuntu, macOS, Windows
− (experimental) bare-metal / RTOS with tiny DDS
• And much more improvement,,,
16
Contents
• ROS: How to accelerate the development
− Background & Motivation
− History of robot software framework
− Features of ROS
− ROS 2: next-generation development platform
• mROS: How to integrate embedded devices
− Motivation & Our Strategy
− Overview & Structure
− Current Status & Case Study
• (One more thing??) EDAs for ROS/Robot
• Conclusion & Announcement
17
Motivation
18
• Enormous amount of
OSS packages
• Linux/Ubuntu is needed
• multi-platform support
including embedded
• Not so many packages
• Embedded technology would contribute to
power consumption & real-time capability
• There is no compatibility between ROS 1 and ROS 2
Our Strategy
19
lightweight runtime environment
that enables to integrate
embedded technology onto ROS 1 world
• Enormous amount of
OSS packages
• Linux/Ubuntu is needed
• power-efficient
• real-time capability
• Severe resource restriction
Overview of mROS
20
ROS
node
ROS
node
ROS
master
topic
topic
ROS
node
ROS
node
ROS
mROS
ROS compatible
programming model
mid-range
embedded devices
ROS
node
Contributions of mROS
 Portability of ROS 1 packages to embedded devices
 Enhancement of power saving & real-time performance
for edge nodes on distributed robot systems
Software Structure
• mROS tasks can be designed by ROS APIs
− Device programing can be realized with mbed lib.
− Multi-tasks (multi-nodes) execution can be
realized by ITRON programming model
21
HW
mbed
TOPPERS/ASP kernel
mROS
communication library
application
lwIP (TCP/IP stack)
device drivers RTOS
(task scheduling &
resource management)
ROS compatible APIs
XMLRPC & TCPROS
HTTP method
:inter-task communication
:TCP/IP communication
usertask1
(subnode)
O
subnode
B A K
XML_L
A K
XML_MA
A K
P B A K
O
pubnode
O master
embeddeddevice
hostdevice
usertask2
(pubnode)
mROS comm. lib
Tasks for mROS comm. lib.
22
TCPROS
XMLRPC
Pub/Sub Flow
• Publication of mROS data to external ROS node
23
user task
XML_MAS
TASK
(1)
embedded device
advertise() ROS master
(2)
(3)
PUB
TASK
(4)
:XML-RPC
:TCPROS
:inter-task comm.
XML_SLV
TASK
ROS
sub node
(5) (6)
(7)
data queue
SUB TASK
(1)
(3)
(7)
ROS
pub node(8)
(4)(5)(6)
embedded device
user task
subscribe()
XML_MAS
TASK
(2)
ROS master
(9)
(8)
:XML-RPC
:TCPROS
:inter-task comm.
(10)
• Subscription from ROS node
Current Status
• Implementation target:
Renesas GR-PEACH
− 400 MHz Cortex-A9 processor
− 8 MB Flash memory
− Arduino compatible pins
− CMOS camera shield
• Memory size: 2.6MB
24
text data bss total
kernel 99,676 0 16,408 116,084
mbed lib. 264,477 52,940 45,711 363,128
mROS lib. 57,950 28 2,097,310 2,155,288
total 422,103 52,968 2,159,429 2,634,500
Case Study:
distributed edge detection system
25
nodes
executed
on mROS
nodes on
native ROS1
edge
detection
result
original
camera
image
Ported node from ROS package
onto embedded device!!
Contents
• ROS: How to accelerate the development
− Background & Motivation
− History of robot software framework
− Features of ROS
− ROS 2: next-generation development platform
• mROS: How to integrate embedded devices
− Motivation & Our Strategy
− Overview & Structure
− Current Status & Case Study
• (One more thing??) EDAs for ROS/Robot
• Conclusion & Announcement
26
EDAs for ROS / Robot
FPGA would contribute to the evolution of ROS!!
27
https://roscon.ros.org/2017/presentations/
ROSCon%202017%20ROS%20Compliant%20FPGA.pdf
Our activity: ZytleBot
• Zynq + TurtleBot
− Zynq: CPU + FPGA
− TurtleBot: ROS standard
platform robot kit
• FPGA Usage
− Image Preprocessing
− HOG Feature Calculation
28
Our activity: ZytleBot
29
PS(CPU)
PL(FPGA)
PetaLinux(Ubuntu)
Motor
(via OpenCR)
USB Webcam
HOG IP
PCam 5C
Image
Preprocessor
DDR
Diving System
We got the 1st prize of
FPT’18 FPGA Competition!!
Conclusion
• ROS is not just framework,
but design platform for robot software
• Development of ROS 2 has been started
− DDS, QoS control, Lifecycle, multi-platform,,,
• mROS: a light-weight runtime environment
− Portability of ROS 1 packages to embedded devices
− Enhancement of power saving & real-time perf.
• FPGA would contribute to the evolution of ROS
30github.com/tlk-emb/mROS
ROSCon JP 2019!!
• Localized ROSCon @ Japan
31
Call for Proposal -2019/06/10
Notification 2019/07/08
Early-bird reg. 2019/08/09
Late-rate reg. 2019/09/17
Conference 2019/09/24-25
Acknowledgements & References
• Acknowledgement: The part of this work was supported by JST,
PRESTO Grant Number JPMJPR18M8, Japan.
• Yutaka Kondo: Getting Started with ROS 2 / DDS, ROS Japan User
Group #27, Dec 2018. https://speakerdeck.com/youtalk/dds
• Geoffrey Biggs: Introduction of Next-Generation Robot Framework
ROS 2 (in Japanese), 20th Summer Workshop on Embedded System
Technologies (SWEST20), Aug 2018.
https://swest.toppers.jp/SWEST20/program/s2a.html#s2
• 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%20ROS2%
20Vision.pdf
32
Acknowledgements & References
• ROS Wiki: http://wiki.ros.org
• ROS Answers: https://answers.ros.org
• ROS Discourse: https://discourse.ros.org
• 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
• Yasuhiro Nitta, Sou Tamura, Hideki Takase: A Study on Introducing
FPGA to ROS Based Autonomous Driving System, Proc. of FPT, Dec 2018.
• Takeshi Ohkawa, Yutaro Ishida, Yuhei Sugata, Hakaru Tamukoh:
ROS-Compliant FPGA Component Technology - FPGA installation into
ROS, ROSCon 2017, Sep 2017.
https://roscon.ros.org/2017/presentations/ROSCon%202017%20
ROS%20Compliant%20FPGA.pdf
33

Weitere ähnliche Inhalte

Mehr von Hideki Takase

ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークHideki Takase
 
Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Hideki Takase
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentHideki Takase
 
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Hideki Takase
 
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αHideki Takase
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計するHideki Takase
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜Hideki Takase
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてHideki Takase
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirHideki Takase
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~Hideki Takase
 
TOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANTOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANHideki Takase
 
ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?Hideki Takase
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Hideki Takase
 
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~Hideki Takase
 
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォームZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォームHideki Takase
 
mROSをクラウド/仮想環境に連携させてみる
mROSをクラウド/仮想環境に連携させてみるmROSをクラウド/仮想環境に連携させてみる
mROSをクラウド/仮想環境に連携させてみるHideki Takase
 
Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介
Elixirでハードウェアが作れちゃう,かも!!?データフロー型ハードウェア設計環境Cockatriceのご紹介Elixirでハードウェアが作れちゃう,かも!!?データフロー型ハードウェア設計環境Cockatriceのご紹介
Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介Hideki Takase
 
Design Concept of a Lightweight Runtime Environment for Robot Software Compo...
Design Concept of a LightweightRuntime Environment for Robot SoftwareCompo...Design Concept of a LightweightRuntime Environment for Robot SoftwareCompo...
Design Concept of a Lightweight Runtime Environment for Robot Software Compo...Hideki Takase
 
mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境Hideki Takase
 
TOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 Kyoto
TOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 KyotoTOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 Kyoto
TOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 KyotoHideki Takase
 

Mehr von Hideki Takase (20)

ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
 
Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Rclex: ElixirでROS!!
Rclex: ElixirでROS!!
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
 
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
 
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+α
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計する
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
TOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANTOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYAN
 
ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
 
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
 
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォームZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
 
mROSをクラウド/仮想環境に連携させてみる
mROSをクラウド/仮想環境に連携させてみるmROSをクラウド/仮想環境に連携させてみる
mROSをクラウド/仮想環境に連携させてみる
 
Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介
Elixirでハードウェアが作れちゃう,かも!!?データフロー型ハードウェア設計環境Cockatriceのご紹介Elixirでハードウェアが作れちゃう,かも!!?データフロー型ハードウェア設計環境Cockatriceのご紹介
Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介
 
Design Concept of a Lightweight Runtime Environment for Robot Software Compo...
Design Concept of a LightweightRuntime Environment for Robot SoftwareCompo...Design Concept of a LightweightRuntime Environment for Robot SoftwareCompo...
Design Concept of a Lightweight Runtime Environment for Robot Software Compo...
 
mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境
 
TOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 Kyoto
TOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 KyotoTOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 Kyoto
TOPPERSプロジェクトの紹介&GR-PEACH on TOPPERS高速デモ@OSC2018 Kyoto
 

Kürzlich hochgeladen

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Kürzlich hochgeladen (20)

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

ROS and mROS: How to accelerate the development of robot systems and integrate embedded devices

  • 1. & How to accelerate the development of robot systems and integrate embedded devices Hideki Takase (Kyoto University / JST PREST) ASPDAC 2019 Designers’ Forum (Session 5A-2) Robotics: From System Design to Application
  • 2. Contents • ROS: How to accelerate the development − Background & Motivation − History of robot software framework − Features of ROS − ROS 2: next-generation development platform • mROS: How to integrate embedded devices − Motivation & Our Strategy − Overview & Structure − Current Status & Case Study • (One more thing??) EDAs for ROS/Robot • Conclusion & Announcement 2
  • 3. Background & Motivation • Characteristics of robot systems − Combination of a number of technology fields (controlling, processing, automation, planning, AI, etc,,,) − Interaction to the physical world Mixed processing of real-time and non real-time Huge amount of data to be operated − Limited computational resources and power 3 Unified design framework would accelerate development of robot systems
  • 4. Robot Software Framework • To accelerate the development,,, − enhancing the reusability of modules − managing inter-process and inter-system easily 4 CORBA-based architecture http://openrtm.org/ Transport-neutral communication http://www.yarp.it/ Mainly for kinematics and dynamics http://www.orocos.org/ de-fact around the world!! http://www.ros.org/
  • 5. ROS History 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 5 1st commit to SourceForge (Nov. 2007) https://sourceforge.net/p/ros/code/1/log/?path= http://www.ros.org/news/ 2017/11/ros-turns-10.html ROS 1.0 released ROS 2 Alpha released http://wiki.ros.org
  • 6. What is ROS? 6 http://www.ros.org/about-ros/ ROS is not just framework, but design platform for robots!! • Plumbing: pub/sub messaging infrastructure • Tools: configuring, debugging, visualizing, etc. • Capabilities: broad collection of libraries • Ecosystem: world-wide powerful community
  • 7. Plumbing • Publish / Subscribe messaging infrastructure  ROS is not OS, but middle-ware (on Ubuntu) − ROS nodes for constructing the robot software − Master (roscore) manages the registration of node − service (synchronous comm.) is also supported 7 topic:A topic:B publish pub subscribe sub registration reg XMLRPC TCPROS service node node node master node node
  • 8. Plumbing • Benefits − If a process/node crashes, it can be restarted − A functionality can be exchanged by replacing node 8 topic:A topic:B publish pub subscribe sub registration reg XMLRPC TCPROS service node node node master node node
  • 9. Tools • catkin_tools: CLI of config. & build system • rqt: Qt-based debugging framework • gazebo: 3D physical simulation tool • rviz: visualization tool − and roslaunch, rosbag, tf, etc.,,, 9
  • 10. Capabilities • ROS package: − a broad collection of libraries that implement useful robot functionality  mobility, manipulation, perception, etc.,,, − 2,000+ packages are available as open-source • Advantages of package: − enhance reusability of resources − realize component based development approach • Officially supported languages: C++, Python, LISP − Others: C#, Java, Lua, Go, ruby, etc.,,, 10
  • 11. Ecosystem • On-line community − ROS Wiki: documentation & download site − ROS Answers: Q&A community site − ROS Discourse: announcement of release & events • Off-line community − ROSCon: international developers conference − SIG meetups, tutorial workshop, local events, etc.,,, 11
  • 12. ROS around the world!! 12 http://download.ros.org/downloads/ metrics/metrics-report-2018-07.pdf
  • 14. Transition of Use Case • Single robot • Workstation-class computational resource • No real-time control • Excellent connectivity of network quality • Application in research 14 • Multiple robots • Demands for small embedded platforms • For real-time control • Non-ideal networks (loss and/or delay) • Production environment Development of has been started from the ground up!!
  • 15. New Features of ROS 2 • DDS (Data Distribution Service) − ROS-like pub/sub transport protocol No master is needed for managing comm. − Technical credibility by OMG standard specification 15 https://speakerdeck.com/youtalk/dds?slide=12
  • 16. New Features of ROS 2 • QoS control − reliability, history policy, and durability for each topic • Lifecycle state machine − 4 states with error handling − State change is notified by topic • Multi platform support − Ubuntu, macOS, Windows − (experimental) bare-metal / RTOS with tiny DDS • And much more improvement,,, 16
  • 17. Contents • ROS: How to accelerate the development − Background & Motivation − History of robot software framework − Features of ROS − ROS 2: next-generation development platform • mROS: How to integrate embedded devices − Motivation & Our Strategy − Overview & Structure − Current Status & Case Study • (One more thing??) EDAs for ROS/Robot • Conclusion & Announcement 17
  • 18. Motivation 18 • Enormous amount of OSS packages • Linux/Ubuntu is needed • multi-platform support including embedded • Not so many packages • Embedded technology would contribute to power consumption & real-time capability • There is no compatibility between ROS 1 and ROS 2
  • 19. Our Strategy 19 lightweight runtime environment that enables to integrate embedded technology onto ROS 1 world • Enormous amount of OSS packages • Linux/Ubuntu is needed • power-efficient • real-time capability • Severe resource restriction
  • 20. Overview of mROS 20 ROS node ROS node ROS master topic topic ROS node ROS node ROS mROS ROS compatible programming model mid-range embedded devices ROS node Contributions of mROS  Portability of ROS 1 packages to embedded devices  Enhancement of power saving & real-time performance for edge nodes on distributed robot systems
  • 21. Software Structure • mROS tasks can be designed by ROS APIs − Device programing can be realized with mbed lib. − Multi-tasks (multi-nodes) execution can be realized by ITRON programming model 21 HW mbed TOPPERS/ASP kernel mROS communication library application lwIP (TCP/IP stack) device drivers RTOS (task scheduling & resource management) ROS compatible APIs XMLRPC & TCPROS HTTP method
  • 22. :inter-task communication :TCP/IP communication usertask1 (subnode) O subnode B A K XML_L A K XML_MA A K P B A K O pubnode O master embeddeddevice hostdevice usertask2 (pubnode) mROS comm. lib Tasks for mROS comm. lib. 22 TCPROS XMLRPC
  • 23. Pub/Sub Flow • Publication of mROS data to external ROS node 23 user task XML_MAS TASK (1) embedded device advertise() ROS master (2) (3) PUB TASK (4) :XML-RPC :TCPROS :inter-task comm. XML_SLV TASK ROS sub node (5) (6) (7) data queue SUB TASK (1) (3) (7) ROS pub node(8) (4)(5)(6) embedded device user task subscribe() XML_MAS TASK (2) ROS master (9) (8) :XML-RPC :TCPROS :inter-task comm. (10) • Subscription from ROS node
  • 24. Current Status • Implementation target: Renesas GR-PEACH − 400 MHz Cortex-A9 processor − 8 MB Flash memory − Arduino compatible pins − CMOS camera shield • Memory size: 2.6MB 24 text data bss total kernel 99,676 0 16,408 116,084 mbed lib. 264,477 52,940 45,711 363,128 mROS lib. 57,950 28 2,097,310 2,155,288 total 422,103 52,968 2,159,429 2,634,500
  • 25. Case Study: distributed edge detection system 25 nodes executed on mROS nodes on native ROS1 edge detection result original camera image Ported node from ROS package onto embedded device!!
  • 26. Contents • ROS: How to accelerate the development − Background & Motivation − History of robot software framework − Features of ROS − ROS 2: next-generation development platform • mROS: How to integrate embedded devices − Motivation & Our Strategy − Overview & Structure − Current Status & Case Study • (One more thing??) EDAs for ROS/Robot • Conclusion & Announcement 26
  • 27. EDAs for ROS / Robot FPGA would contribute to the evolution of ROS!! 27 https://roscon.ros.org/2017/presentations/ ROSCon%202017%20ROS%20Compliant%20FPGA.pdf
  • 28. Our activity: ZytleBot • Zynq + TurtleBot − Zynq: CPU + FPGA − TurtleBot: ROS standard platform robot kit • FPGA Usage − Image Preprocessing − HOG Feature Calculation 28
  • 29. Our activity: ZytleBot 29 PS(CPU) PL(FPGA) PetaLinux(Ubuntu) Motor (via OpenCR) USB Webcam HOG IP PCam 5C Image Preprocessor DDR Diving System We got the 1st prize of FPT’18 FPGA Competition!!
  • 30. Conclusion • ROS is not just framework, but design platform for robot software • Development of ROS 2 has been started − DDS, QoS control, Lifecycle, multi-platform,,, • mROS: a light-weight runtime environment − Portability of ROS 1 packages to embedded devices − Enhancement of power saving & real-time perf. • FPGA would contribute to the evolution of ROS 30github.com/tlk-emb/mROS
  • 31. ROSCon JP 2019!! • Localized ROSCon @ Japan 31 Call for Proposal -2019/06/10 Notification 2019/07/08 Early-bird reg. 2019/08/09 Late-rate reg. 2019/09/17 Conference 2019/09/24-25
  • 32. Acknowledgements & References • Acknowledgement: The part of this work was supported by JST, PRESTO Grant Number JPMJPR18M8, Japan. • Yutaka Kondo: Getting Started with ROS 2 / DDS, ROS Japan User Group #27, Dec 2018. https://speakerdeck.com/youtalk/dds • Geoffrey Biggs: Introduction of Next-Generation Robot Framework ROS 2 (in Japanese), 20th Summer Workshop on Embedded System Technologies (SWEST20), Aug 2018. https://swest.toppers.jp/SWEST20/program/s2a.html#s2 • 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%20ROS2% 20Vision.pdf 32
  • 33. Acknowledgements & References • ROS Wiki: http://wiki.ros.org • ROS Answers: https://answers.ros.org • ROS Discourse: https://discourse.ros.org • 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 • Yasuhiro Nitta, Sou Tamura, Hideki Takase: A Study on Introducing FPGA to ROS Based Autonomous Driving System, Proc. of FPT, Dec 2018. • Takeshi Ohkawa, Yutaro Ishida, Yuhei Sugata, Hakaru Tamukoh: ROS-Compliant FPGA Component Technology - FPGA installation into ROS, ROSCon 2017, Sep 2017. https://roscon.ros.org/2017/presentations/ROSCon%202017%20 ROS%20Compliant%20FPGA.pdf 33

Hinweis der Redaktion

  1. Thank you very much for the kind introduction. I'm Hideki Takase from Kyoto University, and also from Japan Science and Technology Agency. It’s my pleasure to present at ASPDAC 2019 Designers’ Forum. Today, I would like to talk about rapid design platform for robot software.
  2. My talk mainly consists of two part. In the 1st part, I introduce ROS, that stands for Robot Operating System. ROS is a state-of-the-art design framework for robot software. ROS can accelerate your development of the robot systems. In the 2nd part, I will share our research activity about mROS. mROS is a lightweight runtime environment of ROS 1 node. It would realize the integration of embedded technology onto ROS systems. OK, let’s go to the 1st part.
  3. First of all, I want to discuss the characteristics of robot systems. Robot systems are realized as the combination of a number of technology fields such as controlling, processing, automation, planning, and of course AI. One of the most important but difficult aspect of robot systems is the real-time interaction to the physical world including human. Robot should treat a huge amount of data while its operation. Robot systems are required to design with limited amount of resources. In addition, the amount of power consumption often becomes severe problem. So, we can conduct that an unified design framework would solve these issues.
  4. Several framework have been published so far. These software frameworks can accelerate your development to enhance the reusability of robot modules and manage the communication at inter-process and inter-machine. Orocos, that stands for Open Robot Control Software, is portable C++ libraries for advanced machine and robot control. YARP stands for Yet Another Robot Platform. It offers transport-neutral communication framework, and supports building a robot control system as a collection of programs communicating in a peer-to-peer way. OpenRTM is the CORBA-based framework to construct distributed robot systems. I believe Robot Operating Systems is de-fact standard framework around the world. ROS is an open-source and flexible framework for developing robot software. ROS can provide almost all functionality you need.
  5. ROS has a history of over 10 years. The project of ROS was started on November 2007., A head of development to ROS is OSRF, stands for Open Source Robotics Foundation. They develop the core component of ROS and maintain the ROS packages. 1st primary version of ROS 1 was released on May 2010. Recently, there is a ROS release every year in May. Releases on even numbered years will be a LTS release, supported for five years. The release number of ROS is attached with a code name derived from a turtle. In 2015, the development of ROS 2 was started and its alpha version was released. I will explain the detail of update for ROS version 2. This picture is a screenshot of web page that states the overview of ROS. I will read out this statement. ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. I t provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license. Box Turtle / C Turtle / Diamondback / Electric / Fuertre / Groovy / Hydro / Indigo / Jade / Kinetic Kame / Lunar / Melodic Melodic Morenia / Kinetic Kame / Indigo Igloo Ardent Apalone (Dec 2017) Bouncy Bolson (Aug 2018) Crystal Clemmys (Dec 2018)
  6. ROS is not just framework, but design platform to accelerate the development of robot systems. There is 4 features for ROS, plumbing, tools, capabilities, and ecosystems. Plumbing means the publish / subscribe messaging infrastructure. ROS offers powerful tools to support configuring, debugging, and visualizing tasks. Capabilities means a broad collection of libraries. Finally, ROS project is organized by the world-wide community. Next, I will explain these features in detail.
  7. The computational unit is expressed as node in ROS application. Nodes can communicate their data through a topic. ROS offers the publish-subscribe messaging infrastructure designed to support the quick and easy construction of distributed computing systems. Master of ROS systems (roscore) manages the communication of ROS nodes. There is two protocols to realize pub/sub communication on the ROS systems. XMLRPC performs the registration for communication. TCPROS/UDPROS is the communication protocol between nodes on TCP/IP or UDP. Synchronous communication is also supported as the ROS function.
  8. Benefits of publish / subscribe based ROS transport is that if a process/node crashes, it can be restarted independently. In addition, a functionality can be exchanged by replacing a process/node that provides it. These are suitable for constructing distributed systems by component based development manner.
  9. Second feature of ROS is powerful tools. The most important tool in development is catkin_tools. It is the command line interface based on cmake for configuring and building ROS systems. Qt-based framework rqt would help you for debugging of systems. For example, rqt_graph such as this picture can indicate the communication structure of nodes and topics. Gazebo is an animation tool for 3D physical behavior. ROS integrates Gazebo's functionality to simulate the interaction for physical world like this figure. Rviz is GUI based visualization tool.
  10. ROS also offers a broad collection of libraries that implement useful robot functionality, with a focus on mobility, manipulation, and perception. They are expressed as packages in the ROS platform. Over 2,000 packages have been available as open source. They can enhance the reusability of existing design resource. We can utilize these packages to prevent re-inventing the wheels. In ROS, C++, Python and LISP are officially supported as the ROS client libraries.
  11. ROS is supported and improved by a large community, with a strong focus on integration and documentation. ROS Wiki, Answers and discourse are organized as the online community. ROS Wiki is the official site for documentation and downloading. ROS Answers is a Q&A site like stack overflow. The announcement of release for new packages and related events are posted on ROS Discourse. Of course ROS project employs GitHub to develop the core component and packages. You can join the project by PR, issue, and so on. For the offline event, ROSCon is the most important developers conference for ROS community. ROSCon is held on every year. Over 500 developers participates this conference and discuss the future direction of ROS. All presentation video and slide on ROSCon are available online. Next ROSCon will take place October 31st to November 1st at Macao. ミネソタ シュツットガルト ICRAは5月頃 ICRA: International Conference on Robotics and Automation IROS: International Conference on Intelligent Robots and Systems
  12. OSRF publish the metrics report every year. This figure shows the number of visitors from the world to ROS Wiki. We can understand users of ROS are all around the world. The largest number of users is of course America. China is the second place and Japan is third. This figure is the group photo of ROSCon 18's participants at Madrid. Can you find me from this picture? Maybe I'm around here.
  13. Robots with ROS have already been everywhere. The most frequently used application of ROS is aerial and ground applications such as drone and autonomous self-driving vehicle. Industrial robots such as robot arm on the factory production line is also important application for ROS. Recently, ROS has been contributing to the development of new fields to robot systems, such as marine and space. ROS can be installed to not only whole robot systems but also respective components such as robot module, board, sensor and motor. We can construct robot systems by using these components with ROS.
  14. ROS began life as the development environment for the Willow Garage PR2 robot. Their primary goal was to provide the software tools that users would need to undertake novel research and development projects with the PR2. At the same time, they wanted ROS to be useful on other robots. So they put a lot of effort into defining levels of abstraction that would allow much of the software to be reused elsewhere. Still, they thought the PR2 use case as follows. Existing a single robot, and it has workstation-class computational resources on board. No real-time requirements or any real-time requirements would be needed in a special-purpose manner. There is excellent network connectivity that means wired or close-proximity high-bandwidth wireless. And they thought ROS user's main applications are in research. However, the use case and demand of ROS users have been changing in recent years. Specific interest for the ongoing and future growth of the ROS community are the following use cases. Uses want to build multi-robot systems using the ROS platform. And also, we want small computers, including “bare-metal” micro controllers. In addition, we want to support real-time control directly in ROS, including inter-process and inter-machine communication. We want ROS to behave as well as is possible when network connectivity degrades due to loss and/or delay. Finally, we want to ensure that ROS-based prototypes can evolve into ROS-based products, that are suitable for use in real-world applications. Therefore, we have been started to develop next generation ROS platform from the ground up.
  15. So, I explain the improvement of ROS 2 in detail. The most important update is employment of DDS, stands for data distribution service. DDS is the ROS-like publish / subscribe transport protocol which is technically certified as OMG standard specification. Several vendors have already released high quality DDS implementation. While communication function of ROS 1 was heavily dependent on the implementation of the open source product, the function of ROS 2 is now dependent from network protocol by focusing DDS abstraction layer. Therefore, we can choose suitable DDS implementation as ROS 2 components according to capability, license, and price you prefer. The main contribution to employ DDS is that master-less communication among nodes can be realized. It means that building multi-robot systems can became easily with next generation ROS platform.
  16. Second important update is the configuration of Quality of Service for the communication. We can configure reliability, history policy, and durability for each topic according to its network environment. Therefore, we can utilize ROS 2 communication protocol to poor-quality WiFi or ground-to-space communication links. Lifecycle state machine is also introduced as the ROS 2 feature. In ROS 1, node can take only dead or alive states and wait busy loop for node activation. In ROS 2, node can take 4 states, active, inactive, finished and unconfigured with error handling. State of node is changed by the notification with topic. QoS control and Lifecycle can contribute to enhance real-time performance for the robot systems. In addition, multi platform support is realized on ROS 2. While ROS 1 is only being CI tested on Ubuntu officially by OSRF, ROS 2 is currently being CI tested and supported on Ubuntu 18.04, OS X El Capitan as well as Windows 10 Professional. ROS community is trying to implement ROS 2 function onto the bare-metal embedded environment or RTOS environment with tiny DDS implementation.
  17. OK, let’s go to the 2nd part. I would like to share our research activity in this part. mROS is a lightweight runtime environment of ROS 1 node. Embedded technology can be integrated onto ROS systems by our research.
  18. At first, let's review the contribution of ROS 1 and ROS 2. The main advantage of ROS 1 is a huge number of open source packages. We can start the development by utilizing these existing packages. However, one of the serious issue for ROS 1 is that we must employ Desktop version of Linux to operate ROS1 nodes. It means that we should select high-performance and power-hunger devices, such as AARCH64 or x86 CPU. We think use of embedded technology would contribute to power consumption & real-time capability for robot systems. ROS 2 tries to introduce embedded device to the ROS systems. However, there is no compatibility between ROS 1 and ROS 2. It is hard to port the implementation of ROS 1 package to ROS 2 directly. So, ROS developer should implement package of ROS 2 from the ground up.
  19. So, we would like to propose mROS, that is a lightweight runtime environment for ROS1 node onto embedded devices. mROS can integrate embedded technology easily onto robot systems.
  20. This figure shows the overview of mROS. We assumed the distributed systems consists of the host and edge devices which are connected by network. mROS is assumed to be operated on the mid-range embedded systems as edge devices. We design mROS programming model to be compatible to original ROS. Therefore, we can summarize the contributions of mROS are as followings. mROS has the compatibility to ROS 1 at API level. So, we can port and operate ROS 1 packages onto embedded devices directly. It also means that power saving & real-time performance can be improved on the edge nodes of distributed robot systems
  21. This figure shows software structure of mROS. We employ lwIP as TCP/IP protocol stack that is included in ARM mbed library. We also employ TOPPERS/ASP kernel as real-time operating systems for task scheduling and resource management about ROS communication. You can design mROS tasks with ROS compliant APIs. You can also develop embedded device drivers with mbed library. ITRON programming model could help you if you wish to realize multi-tasking.
  22. There is four system tasks to realize mROS communication function. XML_MASTER and SLAVE tasks perform the behavior of XMLRPC protocol. They manage the registration of mROS node to roscore on the host computer. PUB and SUB tasks perform TCPROS protocol. They realize ROS compiliant pub/sub communication with another ROS/mROS nodes.
  23. These figures show the data flow of pub/sub communication between mROS and ROS. Inter-task communication is designed with data queue & shared memory. Due to the time limitation, I cannot explain them in detail. Please let me know if you are interested in the implementation after this session. advertise() registers with the ROS master as a publisher. (1) It notifies the initialization request of the topic name for subscription to XML_MAS TASK via the data queue. XML_MAS TASK assigns the node ID to the user task and registers it to the node list of mROS. (2) XML_MAS TASK generates the XML header and send it to ROS master. (3) ROS master replies the result of registration about XML-RPC communication. (4) XML_MAS TASK notifies the message ID for initialization to PUB TASK via the data queue. PUB TASK performs corresponding initialization process and generates the object of TCP socket for data publication. When initialization of the publisher node is completed, XML_SLV TASK starts the acceptance of the connection request from the external subscribe node. (5) When the topic request from the external subscribe node occurs, XML_SLV TASK that is executed periodically returns the TCPROS port number of the PUB TASK as the response. (6) XML_SLV TASK sends the arrival request to PUB TASK. (7) PUB TASK accepts the connection of TCPROS and exchange TCPROS connection headers to establish the connection for the TCP socket of data subscription.
  24. Next, we would like to share the current implemetation status of mROS. We use GR-PEACH embedded board provided by Renesas Electronics. It has 400MHz processor and 8MB memory. Memory footprint of current implementation on GR-PEACH is about 2.6MB. You can save memory size by configuring the region for inter-task communication that was occupied about 2MB. The region for inter-task communication can be reduced according to the application requirement.
  25. Finally, we show the case study of mROS. We develop the distributed edge detection system by using mROS. The right side indicates original image captured by GR-PEACH camera. The left is the result of edge detection performed by our ROS system. You can recognize that mROS and ROS nodes cooperatively perform to realize edge detection from this rqt_graph screen. This is image conversion node to resize camera image. It could be ported from existing ROS package directly onto the embedded device.
  26. As the one more thing, we would like to discuss how EDA technology contribute to ROS and development of the robot systems. I think FPGA is one of the key technology for evolving ROS and robot systems. FPGA is suitable for such robot systems since FPGA has flexibility and power-efficient capability. My research partners at Utsunomiya University and Kyushu Institute Technology have already proposed several technologies that can install FPGA easily to robot systems. I think such research will become one of the trend in the EDA filed.
  27. Finally, I would like to share our research activity about FPGA. We are developing ZytleBot. ZytleBot is the name of our robot, which comes from Zynq + TurtleBot. As you may know, Zynq is All programmable SoC developed by Xilinx, which has CPU and FPGA. Ubuntu OS is working on CPU, ARM Processor. TurtleBot is an educational robot and standard platform for ROS. We have installed FPGA onto the autonomous self-driving robot. As I explained. we can use various useful package, and powerful simulation environment. We used the ROS package to control the motor. We have offloaded two high load calculations to FPGA. First is the image preprocessing of the road image. HW core executes edge detection. Second is the detection of traffic signal. FPGA calculates HOG feature, that is histogram of oriented gradients.
  28. This figure shows the configuration of ZytleBot, and this is the movie of the ZytleBot at the FPT’18 FPGA Design Competition. We got the 1st prize with ZytleBot in this competition. We are planning to share our research achievement and implementation of ZytleBot not only to ROS community but also to academia such as EDA researchers.
  29. I would like to announce the ROSCon JP 19. I am one of the organizing committee members of this event. It is a localized event of developer conference for ROS. And it will be held on September at Tokyo. If you can speak Japanese, please keep your schedule and consider participating to ROSConJP. If you cannot speak Japanese, let us meet again in ROSCon19 Macao.