• 検索結果がありません。

version 1.3 TIER IV ACADEMY 自動運転システム構築塾 Day2 ROS 演習 ROS 演習 3:ROS 2.0 の最新動向について

N/A
N/A
Protected

Academic year: 2021

シェア "version 1.3 TIER IV ACADEMY 自動運転システム構築塾 Day2 ROS 演習 ROS 演習 3:ROS 2.0 の最新動向について"

Copied!
44
0
0

読み込み中.... (全文を見る)

全文

(1)

TIER IV ACADEMY

⾃自動運転システム構築塾

 version  1.3

Day2  ROS 演習

(2)

この演習について

ROS演習3:ROS 2.0 の最新動向について       ROS 演習1:catkin ビルドシステム       ROS 演習2:ノードの作成とトピックの配信・購読

ü

ROS 演習3:ROS2.0 の最新動向について

      ROS  演習4:TF  の作成           ROS  演習5:RViz  での表⽰示

l

ROS 演習1〜~5ではROSの基本的な要素技術を学習

l

ROS 演習3:ROS2.0の最新動向について  

•  ROS ü  ROSの概要 ü  ROSの機能・ツール群の紹介 •  ROS2 ü ROS2とは? ü ROS2の中核を担うDDSについての紹介 2

(3)

⽬目次

ROS演習3:ROS 2.0 の最新動向について 3

第1章

:ROS(Robot Operating Systems)

1.

ROS とは

2.

特⻑⾧長

第2章

: ROS 2.0

1.

コンセプト

2.

DDS

3.

構成

第3章

:まとめ

(4)

第1章:  ROS(Robot Operating Systems)

ROS演習3:ROS 2.0 の最新動向について

4

(5)

ROSとは

ROS演習3:ROS 2.0 の最新動向について 5

ROS (Robot Operating System)

: ロボット開発におけるライブラリやツールを提供  ハードウェアの抽象化、デバイスドライバ、ライブラリ、視覚化ツール、  データ通信、パッケージ管理理  ...etc n   世界で最も利利⽤用されているロボット ミドルウェア n   豊富な対応ロボット・センサ n   オープンソース   n   サポート⾔言語:  C++,  Python n   管理理団体:OSRF n   対応OS:Linux

特⻑⾧長

(6)

⾃自動運転システムにおけるROS (1/2)

ROS演習3:ROS 2.0 の最新動向について 6

3D map

ITS

(Intelligent Transport Systems)

+ Internet International cooperation + Laws Detection Sensing Planning Operation Localization 1 2 3 4 Interface

(7)

⾃自動運転システムにおけるROS (2/2)

ROS演習3:ROS 2.0 の最新動向について 7

アプリ

ケーション Localization

Detection

Planning

R O S

ミドル ウェア

OS

Sensing

Linux (Ubuntu14.04)

CPU

(multi/many)

Camera

GNSS

(GPS)

LIDAR

ハード ウェア

システム

⾃自動運転

(8)

第1章:  ROS(Robot Operating Systems)

ROS演習3:ROS 2.0 の最新動向について

8

(9)

ROS の  特⻑⾧長

ROS演習3:ROS 2.0 の最新動向について 9

ROS (Robot Operating System)

:  

ロボット開発におけるライブラリやツールを提供

ホスト クライアント

Publish / Subscribe

 モデル

l  ノードの集合としてシステムを構築 l  トピックを介してデータをやり取り

視 覚 化 ・ シ ミ ュ レ ー シ ョ ン

分散システム

ノード  2 ノード  1 ノード  3 トピック   ⾞車車検知 歩⾏行行者検知 例

(10)

Subscribe Publish Subscribe 10 ⾞車車検知 歩⾏行行者検知 ノード ノード   ノード   トピック  

Publish / Subscribe

モデル

 処理理を

ノード

として分割・管理理し

トピック

を介してデータの

 やり取りを⾏行行う

 ➡  再利利⽤用性・⽣生産性の向上, 分散環境への⾼高い親和性, 障害分離離

(11)

11 ノード ノード   ノード   トピック   ⾞車車検知 歩⾏行行者検知 ROS演習3:ROS 2.0 の最新動向について

Publish / Subscribe

モデル

 処理理を

ノード

として分割・管理理し

トピック

を介してデータの

 やり取りを⾏行行う

 ➡  再利利⽤用性・⽣生産性の向上, 分散環境への⾼高い親和性, 障害分離離

(12)

12 信号検知 NEW ! ノード ノード   ノード   トピック   ⾞車車検知 歩⾏行行者検知 ROS演習3:ROS 2.0 の最新動向について ノード

Publish / Subscribe

モデル

 処理理を

ノード

として分割・管理理し

トピック

を介してデータの

 やり取りを⾏行行う

 ➡  再利利⽤用性・⽣生産性の向上, 分散環境への⾼高い親和性, 障害分離離

(13)

ROS の  特⻑⾧長

ROS演習3:ROS 2.0 の最新動向について 13

視覚化・シミュレーション

豊富なパッケージ

(デ バ イ ス ド ラ イ バ や ラ イ ブ ラ リ)

抽象化

User Code R O S Hardware

TCP/UDP

or 共有メモリ

ノード ノード

(14)

ROS の  特⻑⾧長

ROS演習3:ROS 2.0 の最新動向について 14

視覚化・シミュレーション

豊 富 な パ ッ ケ ー ジ

(デ バ イ ス ド ラ イバ や ラ イ ブ ラ リ)

分 散 シス テム

抽 象 化

User  Code R O S Hardware 強⼒力力なGUIでROSとの連携が充実 Gazebo:3D物理理シミュレータ 簡単にシステム状態を視覚化可能 [再⽣生データ] l  記録したセンサデータ(rosbag ファイル) l  指定した値のデータ RViz:3D視覚化ツール

(15)

ROS の  特⻑⾧長

ROS演習3:ROS 2.0 の最新動向について 15

視覚化・シミュレーション

豊富なパッケージ

(デ バ イ ス ド ラ イ バ や ラ イ ブ ラ リ)

抽象化

User Code R O S Hardware

TCP/UDP

or 共有メモリ

ノード ノード

(16)

ROS の  特⻑⾧長

ROS演習3:ROS 2.0 の最新動向について 16

視 覚 化 ・ シ ミ ュ レ ー シ ョ ン

豊富なパッケージ

(デ バ イ ス ド ラ イ バ や ラ イ ブ ラ リ)

分 散 シス テム

抽象化

User Code R O S Hardware

豊 富 な パ ッ ケ ー ジ

(デ バ イ ス ド ラ イバ や ラ イ ブ ラ リ)

抽 象 化

User  Code R O S Hardware 2,000を超えるソフトウェアパッ ケージで効率率率的開発 パッケージ 座標変換・画像処理理・点群処理理   など豊富にサポート ライブラリ 様々なロボットやセンサをサポート ハードウェア

(17)

ROS の  アプリケーション例例

17 Camera.cpp

Images

Camera

Image

Proccessing

ノード  :  Camera ノード  :  ImageProccessing パッケージ  :  物体認識識

Image.msg

--- Header header uint32 height uint32 width string encoding uint8[] data ImageProcessing.cpp Detection.h

システムモデル

ファイル構成

ROS演習3:ROS 2.0 の最新動向について

(18)

第2章:  ROS  2.0

ROS演習3:ROS 2.0 の最新動向について

18

(19)

ROS2:コンセプト

ROS演習3:ROS 2.0 の最新動向について 19 元々、研究・プロトタイプ開発向けに開発(2007.11-‐‑‒)されたが…

リアルタイム

クロス プラットフォーム

組込みシステム

電波環境の変化

複数ロボット

製品利利⽤用

開発サポート

新しいユースケース

(20)

ROS2:コンセプト

ROS演習3:ROS 2.0 の最新動向について 20 元々、研究・プロトタイプ開発向けに開発(2007.11-‐‑‒)されたが…

リアルタイム

クロス プラットフォーム

組込みシステム

電波環境の変化

複数ロボット

製品利利⽤用

開発サポート

新しいユースケース

ROS2の開発が進⾏行行

(alpha版が公開中)

(21)

ROS演習3:ROS 2.0 の最新動向について 21

l 

特⻑⾧長

-‐‑‒  

Publish / Subscribe

モデル

-‐‑‒  

QoS

 (Quality of Service)

の保証

-‐‑‒  複数のベンダーが実装

l 

利利⽤用実績

-‐‑‒  ミッションクリティカルな環境  (電⾞車車,  ダム,  船舶,  航空機  etc.)

-‐‑‒  

リアルタイム  /  組込み

 システム

DDS (Data Distribution Service)

 :  ⼯工業標準の  Publish / Subscribe 通信仕様

[RTI Connext]

(22)

第2章:  ROS  2.0

ROS演習3:ROS 2.0 の最新動向について

22

(23)

ROS2:DDS/構成

23

(24)

ROS2:DDS/QoS

ROS演習3:ROS 2.0 の最新動向について 24

s

Global Data Space

Publisher

Participant

QoS

Participant

QoS

Subscriber data1 data2 data3 data4 DEADLINE period HISTORY RELIABIRITY data1 data2 data3 data4

Topic

Data

(25)

ROS2:DDS/QoS

ROS演習3:ROS 2.0 の最新動向について 25

s

Global Data Space

Publisher

Participant

QoS

Participant

QoS

Subscriber data1 data2 data3 data4 DEADLINE period HISTORY RELIABIRITY data1 data2 data3 data4

Topic

更更新間の値の履履歴を保持

:ALL (全て) or LAST (任意の数)

許容更更新周期を設定

Data

Writer ReaderData

通信の信頼性を設定

:RELIABLE or BEST_EFFORT

(26)

ROS2:DDS/QoS

ROS演習3:ROS 2.0 の最新動向について 26

QoS Policy

QoS Policy

Vo

la

til

ity

DURABILITY USER DATA Us

er

Q

oS

DURABILITY_SERVICE TOPIS FILTER

HISTORY GROUP DATA

READER DATA LIFECYCLE PARTITION Presentation

WRITER DATA LIFECYCLE PRESENTATION

LIFESPAN DENTINATION ORDER

In fr as tr uc tu re

ENTITY FACTORY OWNERSHIP Re

du

nd

an

cy

RESOURCE LIMITS OWNERSHIP STRENGTH

Deliv

er

y RELIABIRITY LIVELINESS

TIME BASED FILTER LATENCY BUDGET Transp

or

t

DEADLINE TRANSPORT PRIORITY

[Data Distribution Service (DDS) Version 1.4 April, 2015]

(27)

ROS2:DDS/Vendor

ROS演習3:ROS 2.0 の最新動向について 27 ベンダー 製品 ライセンス 共有メモリ サポート状況 RTI (Real-Time Innovation) Connext Commercial ◎ Research PrismTech OpenSplice Commercial ○ LGPL (v6.4のみ)

-eProsima FastRTPS Apache 2 -

OSRF (Open Source

Robotics Foundation)

(28)

ベンダー 製品 ライセンス 共有メモリ サポート状況 RTI (Real-Time Innovation) Connext Commercial ◎ Research PrismTech OpenSplice Commercial ○ LGPL (v6.4のみ)

-eProsima FastRTPS Apache 2 -

OSRF (Open Source Robotics Foundation) FreeRTPS Apache 2 -

ROS2:DDS/Vendor

ROS演習3:ROS 2.0 の最新動向について 28 DDS仕様策定に携わった大手ベンダ ー

(29)

ROS2:DDS/Vendor

ROS演習3:ROS 2.0 の最新動向について 29 ベンダー 製品 ライセンス 共有メモリ サポート状況 RTI (Real-Time Innovation) Connext Commercial ◎ Research PrismTech OpenSplice Commercial ○ LGPL (v6.4のみ) -eProsima FastRTPS LGPL - OSRF (Open Source Robotics Foundation) FreeRTPS Apache 2 - DDS仕様策定に携わった大手ベンダ ー

• 

No.1  ベンダー  J

• 

基本は商⽤用ライセンス

(ROS2のデフォルトにする為に交渉中…)

• 

Secure, Microなどの複数のパッケージ有り

• 

少ないスループットで機能を実現

• 

最近、容量量の⼤大きなデータ通信を⾼高速化

特⻑⾧長

(30)

ROS2:DDS/Vendor

ROS演習3:ROS 2.0 の最新動向について 30 ベンダー 製品 ライセンス 共有メモリ サポート状況 RTI (Real-Time Innovation) Connext Commercial ◎ Research PrismTech OpenSplice Commercial ○ LGPL (v6.4のみ) -eProsima FastRTPS LGPL - OSRF (Open Source Robotics Foundation) FreeRTPS Apache 2 - DDS仕様策定に携わった大手ベンダ ー

• 

No.2  ベンダー  L

• 

基本は商⽤用ライセンス

• 

機能が制限された  v6.4  がオープンソース化

(ラッピングされ簡単にインストール可)

• 

 並列列化により処理理が早い

特⻑⾧長

(31)

ROS2:DDS/Vendor

ROS演習3:ROS 2.0 の最新動向について 31 ベンダー 製品 ライセンス 共有メモリ サポート状況 RTI (Real-Time Innovation) Connext Commercial ◎ Research PrismTech OpenSplice Commercial ○ LGPL (v6.4のみ)

-eProsima FastRTPS Apache 2 -

OSRF (Open Source Robotics Foundation) FreeRTPS Apache 2 -

• 

軽量量DDS

• 

今後のROS2のデフォルトDDS

• 

パケット分割の起きる⼤大きなデータに最近、対応

• 

  GitHubでコード公開中

特⻑⾧長

(32)

ROS2:DDS/Vendor

ROS演習3:ROS 2.0 の最新動向について 32 ベンダー 製品 ライセンス 共有メモリ サポート状況 RTI (Real-Time Innovation) Connext Commercial ◎ Research PrismTech OpenSplice Commercial ○ LGPL (v6.4のみ) -eProsima FastRTPS LGPL - OSRF (Open Source Robotics Foundation) FreeRTPS Apache 2 -

• 

⼩小型組込み向けDDS

• 

フリー,  ポータブル,  最⼩小セットをテーマ

に現在開発中…

• 

GitHubでコード公開中

特⻑⾧長

(33)

第2章:  ROS  2.0

ROS演習3:ROS 2.0 の最新動向について

33

(34)

構成⽐比較

 

ROS演習3:ROS 2.0 の最新動向について 34 DDS抽象化 DDS Linux/Windows/Mac/RTOS/No OS クライアントライブラリ Linux クライアントライブラリ TCPROS / UDPROS アプリケーション ノード ノード ノード マスタ アプリケーション ノード ノード アプリケーション 層 ミドルウェア 層 OS層 ROS1 ROS2

ROS1のシステム

ROS2のシステム

(35)

ROS2:構成

ROS演習3:ROS 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

 

OpenSplice   FastRTPS

 

or

or

or

C++, python サポート

現在

DDSを⽤用いた通信

(36)

DDS

ROS2:構成  [開発中…]

ROS演習3:ROS 2.0 の最新動向について 36

ユーザーアプリケーション

C

+

QoS

FreeRTPS

 

C⾔言語と

⼀一部のQoS

サポート

RTPSプロトコルによる

最低限の通信

(37)

ROS2:通信

ROS演習3:ROS 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

(38)

ROS2:通信

ROS演習3:ROS 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

デフォルト

(39)

ROS2:組込み・リアルタイム

 

ROS演習3:ROS 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

OS Linux (Ubuntu14.04, Windows, OS X, 16.04)

no OS,

RTOS (Xenomai, PREEMPT RT)

l   リアルタイム

l   QoS のサポート拡⼤大

l   メモリ管理理:TLSF (Two Level Segregate Fit) allocatorの利利⽤用

l   RTOS上での動作 l   intra-process(共有メモリ利利⽤用)のリアルタイム化 l   組込み l   FreeRTPS(ROS2 向け軽量量  DDS)の開発 l   C⾔言語のサポート

ロ ー ド マ ッ プ

(40)

第5章:まとめ

ROS演習3:ROS 2.0 の最新動向について

(41)

まとめ

ROS演習3:ROS 2.0 の最新動向について 41

ROS  (Robot  Operating  System)

­ Publish / Subscribe モデルにより、ノードとしてアプリケーションを作成

­ 豊富な  ツール・ライブラリ・パッケージ  を簡単に利利⽤用可能

ROS

­ リアルタイム・組込みシステムへの対応

­ DDS  (Data Distribution Service)を利利⽤用

(42)

www.tier4.jp

(43)

Appendix

ROS演習3:ROS 2.0 の最新動向について

(44)

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

参考⽂文献

ROS演習3:ROS 2.0 の最新動向について

参照

関連したドキュメント

定理 ( 長谷川 ) 直積を持つ圏と、トレース付きモノイダル圏の間のモ ノイダル随伴関手から、 dinaturality

[r]

○本時のねらい これまでの学習を基に、ユニットテーマについて話し合い、自分の考えをまとめる 学習活動 時間 主な発問、予想される生徒の姿

ターゲット別啓発動画、2020年度の新規事業紹介動画を制作。 〇ターゲット別動画 4本 1農業関係者向け動画 2漁業関係者向け動画

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

タッチON/OFF判定 CinX Data Registerの更新 Result Data 1/2 Registerの更新 Error Status Registerの更新 Error Status Channel 1/2 Registerの更新 (X=0,1,…,15).

敷地からの距離 約48km 火山の形式・タイプ 成層火山..

当面の施策としては、最新のICT技術の導入による設備保全の高度化、生産性倍増に向けたカイゼン活動の全