SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
©2019 @MoriKen254
作成:@MoriKen254
2019年10月5日
ROS2 の実用化に関する
サーベイ
1©2019 @MoriKen254
本題の前に
©2019 @MoriKen254
2©2019 @MoriKen254
1. ROS (Robot Operating System)
をイメージする
©2019 @MoriKen254
3©2019 @MoriKen254
ROSの位置づけ
ユーザアプリ
オペレーティン
グシステム
ハード
パソコン スマホ ロボット
ROSはここ!
※ロボット主体なら
PCのOSもロボの一部
(ファームの一種)
※パソコン主体なら
ROSはミドルウェア
ファーム
BIOS (UEFI 等) BIOS的な
何か BIOS (UEFI 等)
※「OSではなくミドルウェアと
呼ぶ方が正しい」という議論が
頻繁にされるが、それは安直?
※彼らは本気で「OS」と主張した
からこそ、成功したと考える。
※ 「ミドルウェア」という意識で
は「パソコン主、ロボット従」。
※ 「ROS」の哲学は
「ロボット主、パソコン従」
※画像出典は後述
4©2019 @MoriKen254
• ミドルウェア
• ミドルウェアとは、ソフトウェアの分類のうち、オペレーティングシステム
(OS)とアプリケーションソフトの中間的な処理・動作を行うソフトウェア
のことである。
引用:weblio辞書
ハードウェア
OS1
ドライバ1
アプリケーション
モータA
センサA
ハードウェア
OS2
ドライバ2
モータB
センサB
アプリケーション
OSやドライバの違いを意識して
アプリケーション側のコードまで変えないと
いけない事態に…
使えるものは
移行したい
ロボットソフトウェアプラットフォーム(ミドルウェア)のイメージ
出典:https://www.cleanpng.com/png-world-
robot-olympiad-4549552/preview.html
出典:https://frame-
fukuoka.blogspot.com/2019/08/blog-post_934.html
5©2019 @MoriKen254
OSやドライバまで見る必要はない.ミドル
ウェアとのやりとりだけを考えればよいので,
アプリケーションの移行が容易になる
• ミドルウェア
• ミドルウェアとは、ソフトウェアの分類のうち、オペレーティングシステム
(OS)とアプリケーションソフトの中間的な処理・動作を行うソフトウェア
のことである。
引用:weblio辞書
ロボットソフトウェアプラットフォーム(ミドルウェア)のイメージ
ハードウェア
OS1
ドライバ1
ハードウェア
OS2
ドライバ2
ミドルウェア ミドルウェア
使えるものは
移行したい
モータA
センサA
モータB
センサB
App1 App2 App3 App1 App2 App3
出典:https://www.cleanpng.com/png-world-
robot-olympiad-4549552/preview.html
出典:https://frame-
fukuoka.blogspot.com/2019/08/blog-post_934.html
6©2019 @MoriKen254
ロボット開発用メタ・オペレーティング・システム(ミドルウェア)
 分散処理
 認識、計画、制御、といった知能情報処理を個別的に分散実行(並列計算)可能。
 各計算プロセスが非同期で通信。
 複数の研究者が各自の所掌範囲の開発に注力可能。
 OS・ハードウェアに(なるべく)依存しない
 アプリ開発者は(基本的には)上位の機能開発のことだけ気にすればいい。
 プラットフォーム側だけがハードウェアの対応を頑張れば、多くの開発者が恩恵を。
ROS[1]とは?
ソフトウェア開発プラットフォームの特長(一般論)
7©2019 @MoriKen254
ロボット開発用メタ・オペレーティング・システム(ミドルウェア)
 通信ライブラリ
 I/Fが共通化。ユーザはOSやハードウェアの詳細な仕様を知らなくても良い。
 タイムスタンプ、時刻同期、排他、形式の異なるデータの通信…全部面倒を見てくれる (ToT)
 開発・操作ツール
 異なる言語で組んだプログラムを使用しても依存関係を解決しながらビルド。
 可視化、デバッグが容易に。
 高機能ライブラリ
 シミュレータ、座標変換、ナビゲーション、パスプランニング…
 エコシステム
 開発者コミュニティ、Wiki、QA、メーリングリスト、開発者会議…
ROS[1]とは?
ROSは「ロボット開発用メタ・オペレーティング・システム(ミドルウェア)」
[1] Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler and Andrew
Y Ng: ROS: an open-source Robot Operating System, In ICRA workshop on open source software, 3, 5 (2009)
8©2019 @MoriKen254
• Switchyardプロジェクト @スタンフォード大学
• 研究開発・教育用途としての、ロボット開発プラットフォームを開発
ROS開発の背景
移管
スピン
アウト
収益化
?
• 2007~2012: Willow Garage
• 米国ロボットベンチャー(パーソナル、サービス用途)がSwitchyardの開発を引き継ぐ。
• 様々なソフトウェアプラットフォームを開発(OpenCV等)。
• 「ROS 1.0」(「学」向け) をリリース。
• 2012~2017: OSRF (Open Source Robotics Foundation)
• ROS事業をスピンアウトし、管理運営を移管。
• この間に産業利用の要望が出てきたためROS-Industrialコンソーシアムが設立。
• 「ROS 2.0」 (「産官」向け) をリリース。
• 2017~現在:Open Robotics
• 研究・教育ベース(学)から、商用ベース(産官)へシフトの気配?
• 営利団体への舵切りを強くし、マーケットでもプラットフォーマを目指すのでは?(妄想)
9©2019 @MoriKen254
ROSが使われているフィールド(研究)
DARPA Robotics Challenge Amazon Picking Challenge
出典:https://japan.zdnet.com/article/35110483/9/ 出典:https://www.innovations-report.com/html/reports/information-technology/
rosin-project-towards-an-eu-digital-industrial-platform-for-robotics-through-open-source-software.html
つくばチャレンジ
出典:https://www.kyutech.ac.jp/whats-new/education/entry-3977.html
出典:https://www.afpbb.com/articles/-/3137553 出典:https://historyofai.wordpress.com/2014/04/13/secondary-
initiatives-robocup-rescue/
RoboCup (Succor, Rescue, @home)
出典:https://www.femexrobotica.org/tmr2018/en/portfolio-item/robocuphome/
10©2019 @MoriKen254
ROSが使われているロボット(商用、産業用)
AmazonSony Softbank TOYOTA x PFN
HONDANASA
JAXA
Panasonic
Hitachi
FANUC KAWADA Rethink
NTT x Vstone
RT
SIEMENSE PLM
出典:https://aibo.sony.jp/store/
出典:
https://www.itmedia.co.jp/news/articles/1612/
06/news107.html
出典:
https://hasigo.co.jp/blog/aipepper/
出典:
https://tech.nikkeibp.co.jp/atcl/nxt/ma
g/rob/18/00007/00008/
出典:
https://rosindustrial.org/news/2015/9/15/advanced-
simulation-of-ros-i-in-process-simulate
出典:
https://www.vstone.co.jp/produ
cts/sota/
出典:
https://tech.nikkeibp.co.jp/atcl/nxt/mag/rob/18/00003/120500023/
出典:https://www.digitalavmagazine.com/pt/2015/08/25/el-
robot-panasonic-hospi-ayuda-en-la-entrega-de-medicinas-en-el-
hospital-de-cgh/
出典:
https://gigazine.net/news/20100205_robonaut/
出典:
https://www.honda.co.jp/news/2016/c160712.html
出典:
http://potblog.hatenablog.com/entry/2018/01/08/162323
出典:hhttps://www.kawadarobot.co.jp/gallery/ 出典:
https://matome.naver.jp/odai/214118112329027
2801/2141181364092256903
出典:
https://roscon.ros.org/jp/2018/presentations/RO
SCon_JP_2018_presentation_6.pdf
出典:
https://tech.nikkeibp.co.jp/dm/article/COLUMN/2
0130128/262741/
11©2019 @MoriKen254
2. ROS2 概要
©2019 @MoriKen254
12©2019 @MoriKen254
ロボット開発用メタ・オペレーティング・システム(ミドルウェア)
 トピック
 パブリッシュ・サブスクリブ型で非同期に情報を取得
 サービス
 同期通信方式で、クライアントからの処理の要請・サーバからの応答、という形式。
 パラメータ
 ネットワーク全体で一元的に管理・共有される情報。パラメータサーバへの取得・更新問合せ。
ROSの基本構成(おさらい)
連携方法の違いにより大別して3つ[2]
[2] 西田, 森田, 岡田, 原, 山崎, 田向, 垣内, 大川, 齋藤, 田中, 有田, 石田: 実用
ロボット開発のための ROS プログラミング, 森北出版株式会社 (2018)
13©2019 @MoriKen254
 DDSの採用
 マスタ不要+様々な恩恵。後述。
 rcl/rmwによる仕様の明確化
 言語拡張性を担保。
ROS2
ROS1/2のアーキテクチャの比較
 ROSマスタが必須
 単一障害点。
 TCPROSの仕様が不明確
 言語拡張性が欠落。
ROS1
[3] 近藤: ROS2 ではじめよう次世代ロボット
プログラミング, 技術評論社 (2019)
14©2019 @MoriKen254
ロボット開発用メタ・オペレーティング・システム(ミドルウェア)
 商用通信ミドルウェア
 OMGによる標準化、商用利用を想定
 IDLによるメッセージ定義やシリアライズが容易
 RTPS (Real Time Publish Subscribe)
 組込みシステムサポート、リアルタイム制御が可能。
 QoS (Quality of Service)
 アプリケーションに合わせた設定調整が可能。
 ライセンスの関係からFastRTPSがデフォルト。
DDSの採用
DDSはROS2の特長の多くを司る
15©2019 @MoriKen254
3. ROS2 の特長 ~論文サーベイを添えて~
3.1. ネットワーク品質
3.2. セキュリティ
3.3. 組込みシステムサポート
3.4. リアルタイム制御
3.5. ロボットの同時利用
©2019 @MoriKen254
16©2019 @MoriKen254
 柔軟なネットワーク構成が可能
 通信速度を重視する場合:UDP 的な振る舞いに
 確実なデータ送信をする場合:TCP 的な振る舞いに
 品質と速度のトレードオフ
 品質を上げれば速度が落ちる:当然
 ROS1 vs. ROS2[4]
 メモリ使用量はROS2の方が大(ROS2の方が弱い)
 プロセス内通信で大容量データを扱う場合はROS2
のレイテンシは大(ROS2の方が弱い)
 その他の条件では、ROS2は概ねROS1と同等の
パフォーマンス
3.1. ネットワーク品質
QoSの恩恵
[4] Yuya Maruyama, Shinpei Kato and Takuya Azumi: Exploring the performance of ROS2,
In Proceedings of the 13th International Conference on Embedded Software, 5 (2016)
17©2019 @MoriKen254
 ソフトウェアセキュリティレイヤのサポート
 PKI (公開鍵認証基盤) とDH (DiffleHellman) 法の活用
 セキュリティと速度のトレードオフ
 セキュリティを強化すれば速度が落ちる[5]:当然
 レイテンシ 約4倍、スループット 約1/5
 SROS2[6] vx. VPN
 VPNの方が高パフォーマンス[7]
 SROS2はVPNに比べて
レイテンシ約2倍、スループット 約1/2
3.2. セキュリティ
DDSによるセキュリティのサポート
[5] Vincenzo DiLuoffo, William R Michalson and Berk Sunar: Robot Operating System 2: The need for a holistic security approach to
robotic architectures, International Journal of Advanced Robotic Systems, 15-3, 1729881418770011 (2018)
[6] Ruffin White, Dr Christensen, I Henrik, Dr Quigley et al.: SROS: Securing ROS over the wire, in the graph, and through the kernel,
arXiv preprint arXiv:1611.07060, (2016)
[7] Jongkil Kim, Jonathon M Smereka, Calvin Cheung, Surya Nepal and Marthie Grobler: Security and performance considerations
in ros 2: A balancing act, arXiv preprint arXiv:1809.09566, (2018)
18©2019 @MoriKen254
 今まではシリアルだった
 ROS1では有志によるmROSがあった[8]
 必要十分なレートで動作実証済み
 IMU、カメラにて実証[9]
3.3. 組込みシステムサポート
組込みボード上でノード実行可能
[8] Hideki Takase, Tomoya Mori, Kazuyoshi Takagi and Naofumi Takagi: mROS:A Lightweight Runtime Environment for Robot Software Components onto Embedded Devices, In Proceedings of the 10th
International Symposium on Highly Efficient Accelerators and Recongurable Technologies, 7 (2019)
[9] Morgan Quigley: ROS2 on “small" embedded systems, (2015)
19©2019 @MoriKen254
 倒立振子のシミュレーション[10]
 1,000Hz でリアルタイム制御を実現
 マイコンを利用したリアルタイム制御[11]
 1,000Hz でPWMによる電圧制御を実現
 FreeRPTSとFreeRTOS を連携
 STM32F4-Discovery で実験
3.4. リアルタイム制御
UDPベースによりリアルタイム制御が可能に
[10] Dirk Thomas, Esteve Fernandez and William Woodall: Real-time Performance in ROS 2, https: // roscon. ros. org/2015/ , (2015: accessed 2019.09.29)
[11] Lucas da Silva Medeiros, Ricardo Emerson Julio, Rodrigo Maximiano Antunesde Almeida and Guilherme Sousa Bastos:
Enabling Real-Time Processing for ROS2 Embedded Systems (2019)
20©2019 @MoriKen254
 郡ロボット研究での活用[12]
 シミュレータで100台,実機で10台を同時制御
3.5. ロボットの同時利用
ROSマスタ不要に
[12] Agata Gniewek, Micha l Barcis and Christian Bettstetter: Robots that sync and swarm: A proof of concept in ROS 2, arXiv preprint arXiv:1903.06440, (2019)
21©2019 @MoriKen254
4. ROS2 の実社会応用に向けて
4.1. OSS のライセンス問題
4.2. 規格/リスクアセスメント
4.3. 製造物責任
4.4. 製品化事例
©2019 @MoriKen254
22©2019 @MoriKen254
4.1. OSS のライセンス問題
 BSD, MIT 等
 免責事項さえ書けば良い
 Apache 2.0
 訴訟を起こした瞬間特許権剥奪
寛容型ライセンスでは秘匿化可能
 GPL, LGPL 等
 開示要求されたら拒否できない。
 共存問題を起こしやすい
 プログラム頒布が不能となる。
互恵型ライセンスでは秘匿化不可
[13] 上田理,岩井久美子: OSS ライセンスの教科書: ソフトウェア開発の現場で求められる適切な
利用方法, 技術評論社 (2018)
23©2019 @MoriKen254
参考:寛容型ライセンスと互恵型ライセンスの比較
[13] 上田理,岩井久美子: OSS ライセンスの教科書: ソフトウェア開発の現場で求められる適切な利用方法, 技術評論社 (2018)
24©2019 @MoriKen254
4.2. 規格・リスクアセスメント
 遊びじゃない
 お金を頂いて、お客様に価値を提供するということ。負の価値を提供してはならない。
 遊ぶなとは言っていない。遊び心は必要だが出口はキッチリ締るべし。ルールを目的化しない。
 規格 (ISO/CE/JIS) は入門チケットでしかない
 何をもって品質保証を担保するのか?そのガイドラインと思って良い。
 世界で浸透している価値なので、業界やマーケットへの説明がつきやすい。
 製品開発[14]、環境保全、安全(リスクアセスメント[15])等、様々な規格が存在する。
 規格はマネジメント「システム」の構築論 → 人づくり・仕組みづくり からの ものづくり
 規格を満たすことが目的化してはならない。
 規格を満たす組織を構築するための基本指針であり、その根底に流れる信念を忘れてはならない。
世に製品を出荷するということ
[14] 安藤慶昭: ロボットミドルウェアの動向と今後の展望―システムインテグレーションの観点から―, 計測と制御, 57-10, 682/687(2018)
[15] Ryan Gariepy: 基調講演1: 安全なロボットへの 8 ステップ, http: // roscon. jp/2019/ , (accessed 2019.09.29)
25©2019 @MoriKen254
4.3. 製造物責任
 不具合がおきてしまったらどうする?
 社内での再発防止策は当然のこと。お客様が被った損害をどう保証する?
 「それはROSのバグなんで弊社の責任では有りません」などと、言うわけにはいかない。
 PL 保険組合の設立
 商工会議所での総合保険[16] 、業界に特化した保険組合[17]で相互扶助をする必要あり。
 自動運転業界の法律面での議論[18][19]・動向を観測しながら、ROS・ロボット側に適用してゆく。
 コンポーネントベンダの責任か?SIerの責任か?顧客の責任か?
 いざというときに備えて、責任の所在は明確にしておかないといけない。
 部品が原因でシステムに伝播した不具合だったら?部品が悪い?
混入した悪い部品を検知・システム停止できなかったSIerが悪い?そんな使い方をした顧客責任?
それでも不具合は起こる
[16] 日本商工会議所: ビジネス総合保険制度, https: // hoken. jcci. or. jp/business , (accessed 2019.09.29)
[17] 日本食品衛生協会: 食品営業賠償共済, http: // www. n-shokuei. jp/ kyousai/baisyou. html , (accessed 2019.09.29)
[18] 小林正啓: 自動運転車の実現に向けた法制度上の課題, 情報管理, 60-4, 240/250 (2017)
[19] 大羽宏一: 自動運転を巡る産業界の動向と今後の社会のあり方, 損害保険研究, 79-1, 105/134 (2017)
26©2019 @MoriKen254
 ROSがやるのはアプリケーションレイヤのみ。制御レイヤは自社製で固く守る。
 埼玉大学: 産業応用を目的としたエンジニアリングサンプル[20] (RT-Middlewareの研究開発事例)
 Denso Wave: オープンソースコントローラ
 Sony: aibo
4.4. 製品化事例
大事なところはROSにはやらせない
[20] 高橋直希,藤間瑞樹,程島竜一,琴坂信哉: RT ミドルウエアの産業応用を目的としたエンジニアリング
サンプルの開発, 日本ロボット学会誌, 33-5, 370/378 (2015)
[21] 岡田慧,植田亮平,村瀬和都,垣内洋平,稲葉雅幸,犬飼利宏: 産業ロボット用オープンソースコントローラ
の設計と開発, 第14 回計測動制御学会システムインテグレーション部門講演会 (SI2013), 2G3-3 (2013)
[22]藤田智哉: aibo における ROS の利用とソニーの取り組み, https: // roscon. jp/2018/ , (2018: accessed 2019.09.29)
ROS
ROS
RT-Middleware
27©2019 @MoriKen254
おわりに
©2019 @MoriKen254
28©2019 @MoriKen254
まとめ
 DDSの採用により市場ニーズを捉えた機能が追加された
 言語拡張性、ネットワーク品質、リアルタイム性、組込みシステム対応、ロボットの同時利用
 まだ発展途上 → 一緒に作り上げていく心構えを
 パフォーマンスの作り込み、標準ライブラリの整備、周辺機能の完成度等、これからの発展を応援
ROS2の現状
 エンジニアの(独断的な)夢だけでは飯は食えない
 ライセンス、規格、リスクアセスメント、品質保証、製造物責任。全部面倒を見て初めてメーカ。
 ROSを使うならまずはアプリケーションレイヤから
 不確定要素の混入が事故を招きうる制御レイヤは、信頼と実績のある既存の仕組みを使うべき。
ROSを活用したビジネス展開
29©2019 @MoriKen254
• https://www.irasutoya.com/
• https://www.google.com/intl/ja_jp/chrome/
• https://www.adobe.com/
• https://www.office.com/
• https://www.apple.com/jp/itunes/
• https://www.apple.com/jp/macos/
• https://www.ubuntulinux.jp/
• https://www.apple.com/jp/ios/
• https://line.me/ja/
• https://www.facebook.com/
• https://www.amazon.co.jp/
• http://wiki.ros.org/
p. 3 の画像出典
• https://www.apple.com/jp/iphone/
• https://www.softbank.jp/robot/pepper/
• https://aibo.sony.jp/store/
• https://www.yaskawa.co.jp/
30©2019 @MoriKen254
Thanks! ;)
©2019 @MoriKen254

Mais conteúdo relacionado

Mais procurados

ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)Toshihiko Yamakami
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentHideki Takase
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーションakio19937
 
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門Yuichi Ito
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまでtechgamecollege
 
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージMori Ken
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2Hideki Takase
 
230420_東工大授業「ロボット技術」資料.pdf
230420_東工大授業「ロボット技術」資料.pdf230420_東工大授業「ロボット技術」資料.pdf
230420_東工大授業「ロボット技術」資料.pdfNoriakiAndo
 
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めようTurtleBot3でROSを始めよう
TurtleBot3でROSを始めようROBOTIS Japan
 
Moodleを活用していると思われる大学のリスト
Moodleを活用していると思われる大学のリストMoodleを活用していると思われる大学のリスト
Moodleを活用していると思われる大学のリスト鈴鹿工業高等専門学校
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能についてUnityTechnologiesJapan002
 
Dronecodeの概要とROSの対応について
Dronecodeの概要とROSの対応についてDronecodeの概要とROSの対応について
Dronecodeの概要とROSの対応について博宣 今村
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発Yoshitaka HARA
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜Tetsutaro Watanabe
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解Koji Terada
 
STMとROSをシリアル通信させて移動ロボットを作る
STMとROSをシリアル通信させて移動ロボットを作るSTMとROSをシリアル通信させて移動ロボットを作る
STMとROSをシリアル通信させて移動ロボットを作るmozyanari
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすtomohiro kuwano
 

Mais procurados (20)

ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
 
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
06 第5.1節-第5.7節 ROS2に対応したツール/パッケージ
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
 
230420_東工大授業「ロボット技術」資料.pdf
230420_東工大授業「ロボット技術」資料.pdf230420_東工大授業「ロボット技術」資料.pdf
230420_東工大授業「ロボット技術」資料.pdf
 
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めようTurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
 
Moodleを活用していると思われる大学のリスト
Moodleを活用していると思われる大学のリストMoodleを活用していると思われる大学のリスト
Moodleを活用していると思われる大学のリスト
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
Dronecodeの概要とROSの対応について
Dronecodeの概要とROSの対応についてDronecodeの概要とROSの対応について
Dronecodeの概要とROSの対応について
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
 
Node-REDからREST APIに接続
Node-REDからREST APIに接続Node-REDからREST APIに接続
Node-REDからREST APIに接続
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解
 
STMとROSをシリアル通信させて移動ロボットを作る
STMとROSをシリアル通信させて移動ロボットを作るSTMとROSをシリアル通信させて移動ロボットを作る
STMとROSをシリアル通信させて移動ロボットを作る
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かす
 

Semelhante a 01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉

ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)aitc_jp
 
ブロックチェーンPoCにおける開発リードタイム短縮のポイント
ブロックチェーンPoCにおける開発リードタイム短縮のポイントブロックチェーンPoCにおける開発リードタイム短縮のポイント
ブロックチェーンPoCにおける開発リードタイム短縮のポイントHyperleger Tokyo Meetup
 
ROScon 2017 参加報告
ROScon 2017 参加報告ROScon 2017 参加報告
ROScon 2017 参加報告Yutaro ISHIDA
 
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能Takuya Iwatsuka
 
Interact 2019:Microsoft SDN v2 よもやま話
Interact 2019:Microsoft SDN v2 よもやま話Interact 2019:Microsoft SDN v2 よもやま話
Interact 2019:Microsoft SDN v2 よもやま話wind06106
 
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介Kazuki Urabe
 
ロボットサービス開発の現場から
ロボットサービス開発の現場からロボットサービス開発の現場から
ロボットサービス開発の現場からKohei Kojima
 
190605 01
190605 01190605 01
190605 01openrtm
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”Drecom Co., Ltd.
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...Insight Technology, Inc.
 
Hajimete hostedrancher 200605
Hajimete hostedrancher 200605Hajimete hostedrancher 200605
Hajimete hostedrancher 200605Junji Nishihara
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)openrtm
 
130522 00
130522 00130522 00
130522 00openrtm
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Koyo Takenoshita
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NoriakiAndo
 

Semelhante a 01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉 (20)

ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)
 
ブロックチェーンPoCにおける開発リードタイム短縮のポイント
ブロックチェーンPoCにおける開発リードタイム短縮のポイントブロックチェーンPoCにおける開発リードタイム短縮のポイント
ブロックチェーンPoCにおける開発リードタイム短縮のポイント
 
ROScon 2017 参加報告
ROScon 2017 参加報告ROScon 2017 参加報告
ROScon 2017 参加報告
 
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
 
Interact 2019:Microsoft SDN v2 よもやま話
Interact 2019:Microsoft SDN v2 よもやま話Interact 2019:Microsoft SDN v2 よもやま話
Interact 2019:Microsoft SDN v2 よもやま話
 
ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介ロボット管理プラットフォーム「 RoboticBase 」の紹介
ロボット管理プラットフォーム「 RoboticBase 」の紹介
 
ロボットサービス開発の現場から
ロボットサービス開発の現場からロボットサービス開発の現場から
ロボットサービス開発の現場から
 
190605 01
190605 01190605 01
190605 01
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
 
20191010 Blockchain GIG #5 石原様資料
20191010 Blockchain GIG #5 石原様資料20191010 Blockchain GIG #5 石原様資料
20191010 Blockchain GIG #5 石原様資料
 
Iotlitercy wg no7
Iotlitercy wg no7Iotlitercy wg no7
Iotlitercy wg no7
 
Accel series 2019_summer
Accel series 2019_summerAccel series 2019_summer
Accel series 2019_summer
 
OSS Market Momentum In Japan
OSS Market Momentum In JapanOSS Market Momentum In Japan
OSS Market Momentum In Japan
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
[db tech showcase Tokyo 2017] B26: レデータの仮想化と自動化がもたらす開発効率アップとは?by 株式会社インサイトテクノ...
 
Hajimete hostedrancher 200605
Hajimete hostedrancher 200605Hajimete hostedrancher 200605
Hajimete hostedrancher 200605
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
 
130522 00
130522 00130522 00
130522 00
 
Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下Mbed祭り 2017@春の新横浜 20170225 竹之下
Mbed祭り 2017@春の新横浜 20170225 竹之下
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
 

Mais de Mori Ken

20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみたMori Ken
 
bloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリースbloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリースMori Ken
 
ROS Kyushu User Group の発足
ROS Kyushu User Group の発足ROS Kyushu User Group の発足
ROS Kyushu User Group の発足Mori Ken
 
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)Mori Ken
 
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)Mori Ken
 
05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)Mori Ken
 

Mais de Mori Ken (6)

20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
 
bloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリースbloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリース
 
ROS Kyushu User Group の発足
ROS Kyushu User Group の発足ROS Kyushu User Group の発足
ROS Kyushu User Group の発足
 
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
 
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
 
05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)
 

01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉

  • 3. 2©2019 @MoriKen254 1. ROS (Robot Operating System) をイメージする ©2019 @MoriKen254
  • 4. 3©2019 @MoriKen254 ROSの位置づけ ユーザアプリ オペレーティン グシステム ハード パソコン スマホ ロボット ROSはここ! ※ロボット主体なら PCのOSもロボの一部 (ファームの一種) ※パソコン主体なら ROSはミドルウェア ファーム BIOS (UEFI 等) BIOS的な 何か BIOS (UEFI 等) ※「OSではなくミドルウェアと 呼ぶ方が正しい」という議論が 頻繁にされるが、それは安直? ※彼らは本気で「OS」と主張した からこそ、成功したと考える。 ※ 「ミドルウェア」という意識で は「パソコン主、ロボット従」。 ※ 「ROS」の哲学は 「ロボット主、パソコン従」 ※画像出典は後述
  • 5. 4©2019 @MoriKen254 • ミドルウェア • ミドルウェアとは、ソフトウェアの分類のうち、オペレーティングシステム (OS)とアプリケーションソフトの中間的な処理・動作を行うソフトウェア のことである。 引用:weblio辞書 ハードウェア OS1 ドライバ1 アプリケーション モータA センサA ハードウェア OS2 ドライバ2 モータB センサB アプリケーション OSやドライバの違いを意識して アプリケーション側のコードまで変えないと いけない事態に… 使えるものは 移行したい ロボットソフトウェアプラットフォーム(ミドルウェア)のイメージ 出典:https://www.cleanpng.com/png-world- robot-olympiad-4549552/preview.html 出典:https://frame- fukuoka.blogspot.com/2019/08/blog-post_934.html
  • 6. 5©2019 @MoriKen254 OSやドライバまで見る必要はない.ミドル ウェアとのやりとりだけを考えればよいので, アプリケーションの移行が容易になる • ミドルウェア • ミドルウェアとは、ソフトウェアの分類のうち、オペレーティングシステム (OS)とアプリケーションソフトの中間的な処理・動作を行うソフトウェア のことである。 引用:weblio辞書 ロボットソフトウェアプラットフォーム(ミドルウェア)のイメージ ハードウェア OS1 ドライバ1 ハードウェア OS2 ドライバ2 ミドルウェア ミドルウェア 使えるものは 移行したい モータA センサA モータB センサB App1 App2 App3 App1 App2 App3 出典:https://www.cleanpng.com/png-world- robot-olympiad-4549552/preview.html 出典:https://frame- fukuoka.blogspot.com/2019/08/blog-post_934.html
  • 7. 6©2019 @MoriKen254 ロボット開発用メタ・オペレーティング・システム(ミドルウェア)  分散処理  認識、計画、制御、といった知能情報処理を個別的に分散実行(並列計算)可能。  各計算プロセスが非同期で通信。  複数の研究者が各自の所掌範囲の開発に注力可能。  OS・ハードウェアに(なるべく)依存しない  アプリ開発者は(基本的には)上位の機能開発のことだけ気にすればいい。  プラットフォーム側だけがハードウェアの対応を頑張れば、多くの開発者が恩恵を。 ROS[1]とは? ソフトウェア開発プラットフォームの特長(一般論)
  • 8. 7©2019 @MoriKen254 ロボット開発用メタ・オペレーティング・システム(ミドルウェア)  通信ライブラリ  I/Fが共通化。ユーザはOSやハードウェアの詳細な仕様を知らなくても良い。  タイムスタンプ、時刻同期、排他、形式の異なるデータの通信…全部面倒を見てくれる (ToT)  開発・操作ツール  異なる言語で組んだプログラムを使用しても依存関係を解決しながらビルド。  可視化、デバッグが容易に。  高機能ライブラリ  シミュレータ、座標変換、ナビゲーション、パスプランニング…  エコシステム  開発者コミュニティ、Wiki、QA、メーリングリスト、開発者会議… ROS[1]とは? ROSは「ロボット開発用メタ・オペレーティング・システム(ミドルウェア)」 [1] Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler and Andrew Y Ng: ROS: an open-source Robot Operating System, In ICRA workshop on open source software, 3, 5 (2009)
  • 9. 8©2019 @MoriKen254 • Switchyardプロジェクト @スタンフォード大学 • 研究開発・教育用途としての、ロボット開発プラットフォームを開発 ROS開発の背景 移管 スピン アウト 収益化 ? • 2007~2012: Willow Garage • 米国ロボットベンチャー(パーソナル、サービス用途)がSwitchyardの開発を引き継ぐ。 • 様々なソフトウェアプラットフォームを開発(OpenCV等)。 • 「ROS 1.0」(「学」向け) をリリース。 • 2012~2017: OSRF (Open Source Robotics Foundation) • ROS事業をスピンアウトし、管理運営を移管。 • この間に産業利用の要望が出てきたためROS-Industrialコンソーシアムが設立。 • 「ROS 2.0」 (「産官」向け) をリリース。 • 2017~現在:Open Robotics • 研究・教育ベース(学)から、商用ベース(産官)へシフトの気配? • 営利団体への舵切りを強くし、マーケットでもプラットフォーマを目指すのでは?(妄想)
  • 10. 9©2019 @MoriKen254 ROSが使われているフィールド(研究) DARPA Robotics Challenge Amazon Picking Challenge 出典:https://japan.zdnet.com/article/35110483/9/ 出典:https://www.innovations-report.com/html/reports/information-technology/ rosin-project-towards-an-eu-digital-industrial-platform-for-robotics-through-open-source-software.html つくばチャレンジ 出典:https://www.kyutech.ac.jp/whats-new/education/entry-3977.html 出典:https://www.afpbb.com/articles/-/3137553 出典:https://historyofai.wordpress.com/2014/04/13/secondary- initiatives-robocup-rescue/ RoboCup (Succor, Rescue, @home) 出典:https://www.femexrobotica.org/tmr2018/en/portfolio-item/robocuphome/
  • 11. 10©2019 @MoriKen254 ROSが使われているロボット(商用、産業用) AmazonSony Softbank TOYOTA x PFN HONDANASA JAXA Panasonic Hitachi FANUC KAWADA Rethink NTT x Vstone RT SIEMENSE PLM 出典:https://aibo.sony.jp/store/ 出典: https://www.itmedia.co.jp/news/articles/1612/ 06/news107.html 出典: https://hasigo.co.jp/blog/aipepper/ 出典: https://tech.nikkeibp.co.jp/atcl/nxt/ma g/rob/18/00007/00008/ 出典: https://rosindustrial.org/news/2015/9/15/advanced- simulation-of-ros-i-in-process-simulate 出典: https://www.vstone.co.jp/produ cts/sota/ 出典: https://tech.nikkeibp.co.jp/atcl/nxt/mag/rob/18/00003/120500023/ 出典:https://www.digitalavmagazine.com/pt/2015/08/25/el- robot-panasonic-hospi-ayuda-en-la-entrega-de-medicinas-en-el- hospital-de-cgh/ 出典: https://gigazine.net/news/20100205_robonaut/ 出典: https://www.honda.co.jp/news/2016/c160712.html 出典: http://potblog.hatenablog.com/entry/2018/01/08/162323 出典:hhttps://www.kawadarobot.co.jp/gallery/ 出典: https://matome.naver.jp/odai/214118112329027 2801/2141181364092256903 出典: https://roscon.ros.org/jp/2018/presentations/RO SCon_JP_2018_presentation_6.pdf 出典: https://tech.nikkeibp.co.jp/dm/article/COLUMN/2 0130128/262741/
  • 12. 11©2019 @MoriKen254 2. ROS2 概要 ©2019 @MoriKen254
  • 13. 12©2019 @MoriKen254 ロボット開発用メタ・オペレーティング・システム(ミドルウェア)  トピック  パブリッシュ・サブスクリブ型で非同期に情報を取得  サービス  同期通信方式で、クライアントからの処理の要請・サーバからの応答、という形式。  パラメータ  ネットワーク全体で一元的に管理・共有される情報。パラメータサーバへの取得・更新問合せ。 ROSの基本構成(おさらい) 連携方法の違いにより大別して3つ[2] [2] 西田, 森田, 岡田, 原, 山崎, 田向, 垣内, 大川, 齋藤, 田中, 有田, 石田: 実用 ロボット開発のための ROS プログラミング, 森北出版株式会社 (2018)
  • 14. 13©2019 @MoriKen254  DDSの採用  マスタ不要+様々な恩恵。後述。  rcl/rmwによる仕様の明確化  言語拡張性を担保。 ROS2 ROS1/2のアーキテクチャの比較  ROSマスタが必須  単一障害点。  TCPROSの仕様が不明確  言語拡張性が欠落。 ROS1 [3] 近藤: ROS2 ではじめよう次世代ロボット プログラミング, 技術評論社 (2019)
  • 15. 14©2019 @MoriKen254 ロボット開発用メタ・オペレーティング・システム(ミドルウェア)  商用通信ミドルウェア  OMGによる標準化、商用利用を想定  IDLによるメッセージ定義やシリアライズが容易  RTPS (Real Time Publish Subscribe)  組込みシステムサポート、リアルタイム制御が可能。  QoS (Quality of Service)  アプリケーションに合わせた設定調整が可能。  ライセンスの関係からFastRTPSがデフォルト。 DDSの採用 DDSはROS2の特長の多くを司る
  • 16. 15©2019 @MoriKen254 3. ROS2 の特長 ~論文サーベイを添えて~ 3.1. ネットワーク品質 3.2. セキュリティ 3.3. 組込みシステムサポート 3.4. リアルタイム制御 3.5. ロボットの同時利用 ©2019 @MoriKen254
  • 17. 16©2019 @MoriKen254  柔軟なネットワーク構成が可能  通信速度を重視する場合:UDP 的な振る舞いに  確実なデータ送信をする場合:TCP 的な振る舞いに  品質と速度のトレードオフ  品質を上げれば速度が落ちる:当然  ROS1 vs. ROS2[4]  メモリ使用量はROS2の方が大(ROS2の方が弱い)  プロセス内通信で大容量データを扱う場合はROS2 のレイテンシは大(ROS2の方が弱い)  その他の条件では、ROS2は概ねROS1と同等の パフォーマンス 3.1. ネットワーク品質 QoSの恩恵 [4] Yuya Maruyama, Shinpei Kato and Takuya Azumi: Exploring the performance of ROS2, In Proceedings of the 13th International Conference on Embedded Software, 5 (2016)
  • 18. 17©2019 @MoriKen254  ソフトウェアセキュリティレイヤのサポート  PKI (公開鍵認証基盤) とDH (DiffleHellman) 法の活用  セキュリティと速度のトレードオフ  セキュリティを強化すれば速度が落ちる[5]:当然  レイテンシ 約4倍、スループット 約1/5  SROS2[6] vx. VPN  VPNの方が高パフォーマンス[7]  SROS2はVPNに比べて レイテンシ約2倍、スループット 約1/2 3.2. セキュリティ DDSによるセキュリティのサポート [5] Vincenzo DiLuoffo, William R Michalson and Berk Sunar: Robot Operating System 2: The need for a holistic security approach to robotic architectures, International Journal of Advanced Robotic Systems, 15-3, 1729881418770011 (2018) [6] Ruffin White, Dr Christensen, I Henrik, Dr Quigley et al.: SROS: Securing ROS over the wire, in the graph, and through the kernel, arXiv preprint arXiv:1611.07060, (2016) [7] Jongkil Kim, Jonathon M Smereka, Calvin Cheung, Surya Nepal and Marthie Grobler: Security and performance considerations in ros 2: A balancing act, arXiv preprint arXiv:1809.09566, (2018)
  • 19. 18©2019 @MoriKen254  今まではシリアルだった  ROS1では有志によるmROSがあった[8]  必要十分なレートで動作実証済み  IMU、カメラにて実証[9] 3.3. 組込みシステムサポート 組込みボード上でノード実行可能 [8] Hideki Takase, Tomoya Mori, Kazuyoshi Takagi and Naofumi Takagi: mROS:A Lightweight Runtime Environment for Robot Software Components onto Embedded Devices, In Proceedings of the 10th International Symposium on Highly Efficient Accelerators and Recongurable Technologies, 7 (2019) [9] Morgan Quigley: ROS2 on “small" embedded systems, (2015)
  • 20. 19©2019 @MoriKen254  倒立振子のシミュレーション[10]  1,000Hz でリアルタイム制御を実現  マイコンを利用したリアルタイム制御[11]  1,000Hz でPWMによる電圧制御を実現  FreeRPTSとFreeRTOS を連携  STM32F4-Discovery で実験 3.4. リアルタイム制御 UDPベースによりリアルタイム制御が可能に [10] Dirk Thomas, Esteve Fernandez and William Woodall: Real-time Performance in ROS 2, https: // roscon. ros. org/2015/ , (2015: accessed 2019.09.29) [11] Lucas da Silva Medeiros, Ricardo Emerson Julio, Rodrigo Maximiano Antunesde Almeida and Guilherme Sousa Bastos: Enabling Real-Time Processing for ROS2 Embedded Systems (2019)
  • 21. 20©2019 @MoriKen254  郡ロボット研究での活用[12]  シミュレータで100台,実機で10台を同時制御 3.5. ロボットの同時利用 ROSマスタ不要に [12] Agata Gniewek, Micha l Barcis and Christian Bettstetter: Robots that sync and swarm: A proof of concept in ROS 2, arXiv preprint arXiv:1903.06440, (2019)
  • 22. 21©2019 @MoriKen254 4. ROS2 の実社会応用に向けて 4.1. OSS のライセンス問題 4.2. 規格/リスクアセスメント 4.3. 製造物責任 4.4. 製品化事例 ©2019 @MoriKen254
  • 23. 22©2019 @MoriKen254 4.1. OSS のライセンス問題  BSD, MIT 等  免責事項さえ書けば良い  Apache 2.0  訴訟を起こした瞬間特許権剥奪 寛容型ライセンスでは秘匿化可能  GPL, LGPL 等  開示要求されたら拒否できない。  共存問題を起こしやすい  プログラム頒布が不能となる。 互恵型ライセンスでは秘匿化不可 [13] 上田理,岩井久美子: OSS ライセンスの教科書: ソフトウェア開発の現場で求められる適切な 利用方法, 技術評論社 (2018)
  • 24. 23©2019 @MoriKen254 参考:寛容型ライセンスと互恵型ライセンスの比較 [13] 上田理,岩井久美子: OSS ライセンスの教科書: ソフトウェア開発の現場で求められる適切な利用方法, 技術評論社 (2018)
  • 25. 24©2019 @MoriKen254 4.2. 規格・リスクアセスメント  遊びじゃない  お金を頂いて、お客様に価値を提供するということ。負の価値を提供してはならない。  遊ぶなとは言っていない。遊び心は必要だが出口はキッチリ締るべし。ルールを目的化しない。  規格 (ISO/CE/JIS) は入門チケットでしかない  何をもって品質保証を担保するのか?そのガイドラインと思って良い。  世界で浸透している価値なので、業界やマーケットへの説明がつきやすい。  製品開発[14]、環境保全、安全(リスクアセスメント[15])等、様々な規格が存在する。  規格はマネジメント「システム」の構築論 → 人づくり・仕組みづくり からの ものづくり  規格を満たすことが目的化してはならない。  規格を満たす組織を構築するための基本指針であり、その根底に流れる信念を忘れてはならない。 世に製品を出荷するということ [14] 安藤慶昭: ロボットミドルウェアの動向と今後の展望―システムインテグレーションの観点から―, 計測と制御, 57-10, 682/687(2018) [15] Ryan Gariepy: 基調講演1: 安全なロボットへの 8 ステップ, http: // roscon. jp/2019/ , (accessed 2019.09.29)
  • 26. 25©2019 @MoriKen254 4.3. 製造物責任  不具合がおきてしまったらどうする?  社内での再発防止策は当然のこと。お客様が被った損害をどう保証する?  「それはROSのバグなんで弊社の責任では有りません」などと、言うわけにはいかない。  PL 保険組合の設立  商工会議所での総合保険[16] 、業界に特化した保険組合[17]で相互扶助をする必要あり。  自動運転業界の法律面での議論[18][19]・動向を観測しながら、ROS・ロボット側に適用してゆく。  コンポーネントベンダの責任か?SIerの責任か?顧客の責任か?  いざというときに備えて、責任の所在は明確にしておかないといけない。  部品が原因でシステムに伝播した不具合だったら?部品が悪い? 混入した悪い部品を検知・システム停止できなかったSIerが悪い?そんな使い方をした顧客責任? それでも不具合は起こる [16] 日本商工会議所: ビジネス総合保険制度, https: // hoken. jcci. or. jp/business , (accessed 2019.09.29) [17] 日本食品衛生協会: 食品営業賠償共済, http: // www. n-shokuei. jp/ kyousai/baisyou. html , (accessed 2019.09.29) [18] 小林正啓: 自動運転車の実現に向けた法制度上の課題, 情報管理, 60-4, 240/250 (2017) [19] 大羽宏一: 自動運転を巡る産業界の動向と今後の社会のあり方, 損害保険研究, 79-1, 105/134 (2017)
  • 27. 26©2019 @MoriKen254  ROSがやるのはアプリケーションレイヤのみ。制御レイヤは自社製で固く守る。  埼玉大学: 産業応用を目的としたエンジニアリングサンプル[20] (RT-Middlewareの研究開発事例)  Denso Wave: オープンソースコントローラ  Sony: aibo 4.4. 製品化事例 大事なところはROSにはやらせない [20] 高橋直希,藤間瑞樹,程島竜一,琴坂信哉: RT ミドルウエアの産業応用を目的としたエンジニアリング サンプルの開発, 日本ロボット学会誌, 33-5, 370/378 (2015) [21] 岡田慧,植田亮平,村瀬和都,垣内洋平,稲葉雅幸,犬飼利宏: 産業ロボット用オープンソースコントローラ の設計と開発, 第14 回計測動制御学会システムインテグレーション部門講演会 (SI2013), 2G3-3 (2013) [22]藤田智哉: aibo における ROS の利用とソニーの取り組み, https: // roscon. jp/2018/ , (2018: accessed 2019.09.29) ROS ROS RT-Middleware
  • 29. 28©2019 @MoriKen254 まとめ  DDSの採用により市場ニーズを捉えた機能が追加された  言語拡張性、ネットワーク品質、リアルタイム性、組込みシステム対応、ロボットの同時利用  まだ発展途上 → 一緒に作り上げていく心構えを  パフォーマンスの作り込み、標準ライブラリの整備、周辺機能の完成度等、これからの発展を応援 ROS2の現状  エンジニアの(独断的な)夢だけでは飯は食えない  ライセンス、規格、リスクアセスメント、品質保証、製造物責任。全部面倒を見て初めてメーカ。  ROSを使うならまずはアプリケーションレイヤから  不確定要素の混入が事故を招きうる制御レイヤは、信頼と実績のある既存の仕組みを使うべき。 ROSを活用したビジネス展開
  • 30. 29©2019 @MoriKen254 • https://www.irasutoya.com/ • https://www.google.com/intl/ja_jp/chrome/ • https://www.adobe.com/ • https://www.office.com/ • https://www.apple.com/jp/itunes/ • https://www.apple.com/jp/macos/ • https://www.ubuntulinux.jp/ • https://www.apple.com/jp/ios/ • https://line.me/ja/ • https://www.facebook.com/ • https://www.amazon.co.jp/ • http://wiki.ros.org/ p. 3 の画像出典 • https://www.apple.com/jp/iphone/ • https://www.softbank.jp/robot/pepper/ • https://aibo.sony.jp/store/ • https://www.yaskawa.co.jp/