SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
立命館大学
情報理工学研究科
鈴木 祐平
ROSのリアルタイムツールの紹介
リアルタイム分野でのROSの需要
• 自立型自動運転車の開発が盛ん
– ROSの利用がデファクトスタンダード
– 障害物検知を始め、リアルタイム性が求められる機能が多数存在する
2
例:自動運転ソフトウェアAutoware※
※“Autoware,” https://github.com/CPFL/Autoware
ROSの通信モデル
Node
topic
B
F
C
J
L M
A
D H
K
E
G I
LiDAR
Camera driver
3
• Publish/Scribeモデル
– : ソフトフェアの実行単位
– : データのやり取りを行う名前付きバス
– : 依存関係
※“Autoware,” https://github.com/CPFL/Autoware障害物距離推定を構成するノード群 ※
ROSの real-time scheduling に対する要求
• Publish/Scribeモデル
– : ソフトフェアの実行単位
– : データのやり取りを行う名前付きバス
– : 依存関係
Node
topic
4
障害物距離推定を構成するノード群
B
F
C
J
L M
A
D H
K
E
G I
ROS①
依存関係の考慮が必要
• ノードCはノードA・B・D・Eの処理を待つ必要がある
Autowareを構成するノード群
オフラインスケジューリングが好ましい
• scheduling overheadがボトルネックになりうる
• 一般に依存関係を考慮したスケジューリングはNP困難
ROS②
※“Autoware,” https://github.com/CPFL/Autoware
ROSのリアルタイムツールの開発
• ROSの real-time scheduling に対する要求
1. 依存関係の考慮が必要
2. オフラインスケジューリングが好ましい
• 開発要件
1. アプリケーションに一切の変更を必要としない
2. 特権問題の解決 (ROSはsudo実行を推奨していない)
3. GPUの利用も想定
5
Linux-RTXG (LKM) ※
Application
ApplicationROS node
ROS
GPU Device
Driver
GPUCPU
Application 層
OS 層
GPU Scheduler
Middleware 層
CPU Scheduler
RT-ROS
システムモデル
ROSのリアルタイムスケジューラ
“ROSCH”の開発
※ “GPU Resource Management with Loadable Kernel Modules,” Yuhei Suzuki, Yusuke Fujii, Takuya Azumi, Nobuhiko Nishio and Shinpei Kato, IEEE Transactions on Parallel and Distributed
Systems (TPDS), 2017 (accepted)
ROSCHの主な機能
• ROSCH
– Measurer
• 実行時間の自動計測
– Analyzer
• DAG解析によるタスクスケジューリングのシュミレート
– Scheduler
• Analyzerの解析結果を元にCPU&GPUタスクをスケジュール
– Tracer
• スケジューリング結果の可視化
6
ROSCHの動作デモ
• 今回デモするnode
– ROSのチュートリアルで使用するtalkerとlistener
7talker
listener
スケジューリング性能評価
• ワークロードベンチテスト
– 評価環境
• Linux kernel Version 4.4.0-89-generic
• Intel Core i7 2600 (8コア)
– 評価方法
• ワークロード: 50%~100%まで10%ずつ増加
• リアルタイムタスク数: 13
– 対象:Autoware 障害物距離推定機能
8
HLBS (fixed core)
HLBS (linux)
提案手法による優先度 & コア配置
提案手法による優先度 & Linuxによるコア配置
優先度&コアを指定しない
(LinuxによるCFS(Completely Fair Scheduler))
Non-policy
𝑆𝑢𝑐𝑐𝑒𝑠𝑠	𝑟𝑎𝑡𝑖𝑜 =	
70%のワークロードまで
ほぼ100%のSuccess ratioを示した
提案①
提案②
ROSCHの対応表
– 現在はROS1のみ対応
– KernelはLTSだとupgradeしている可能性があるため、14.04以降すべてに対応
– ROSはUbuntu LTSで推奨されているものを対象
9
OS Ver OS Name Kernel Ver ROS Ver
14.04 Trusty Tahr 3.13 or newer Indigo
14.10 Utopic Unicorn 3.16
15.04 Vivid Vervet 3.19 Jade
15.10 Wily Werewolf 4.2
16.04 Xenial Xerus 4.4 or newer Kinetic Kame
16.10 Yakkety Yak 4.8
17.04 Zesty Zapus 4.10 Lunar
今後
• ROS 2.0への対応
• ROSのスケジューリングアルゴリズムの改良
– データ依存のノードが多いため実行時間のばらつきが大きく、WCETを用いたオフライ
ン解析は悲観的
10
How to use ROSCH
• github
• https://github.com/CPFL/ROSCH.git
• youtube
• https://www.youtube.com/playlist?list=PLfCEge3UVyxSn9IU-QZ0LSF4fMZG2XPZP
HLBSアルゴリズム
• 依存関係を考慮
• オフライン解析アルゴリズム
11
※ “HLBS: Heterogeneous Laxity-Based Scheduling,” Yuhei Suzuki, Takuya Azumi, Nobuhiko Nishio and Shinpei Kato, the 4th IEEE International Conference on Cyber-Physical Systems,
Networks, and Applications (CPSNA 2016), pp.82-88, 2016

Mais conteúdo relacionado

Mais procurados

第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーションakio19937
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行Yoshitaka HARA
 
複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化TaroSuzuki15
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Hiroaki Kaneda
 
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。ROBOTIS Japan
 
確率ロボティクス第六回
確率ロボティクス第六回確率ロボティクス第六回
確率ロボティクス第六回Ryuichi Ueda
 
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例Yoshitaka HARA
 
確率ロボティクス第三回
確率ロボティクス第三回確率ロボティクス第三回
確率ロボティクス第三回Ryuichi Ueda
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII
 
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉Mori Ken
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料Fujimoto Keisuke
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成MobileRoboticsResear
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半tomohiro kuwano
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 
確率ロボティクス第五回
確率ロボティクス第五回確率ロボティクス第五回
確率ロボティクス第五回Ryuichi Ueda
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summaryTakuya Minagawa
 

Mais procurados (20)

第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
 
Depth Estimation論文紹介
Depth Estimation論文紹介Depth Estimation論文紹介
Depth Estimation論文紹介
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行Cartographer と Autoware を用いた自律走行
Cartographer と Autoware を用いた自律走行
 
複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
 
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
 
確率ロボティクス第六回
確率ロボティクス第六回確率ロボティクス第六回
確率ロボティクス第六回
 
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例
 
確率ロボティクス第三回
確率ロボティクス第三回確率ロボティクス第三回
確率ロボティクス第三回
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
確率ロボティクス第五回
確率ロボティクス第五回確率ロボティクス第五回
確率ロボティクス第五回
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summary
 

Semelhante a Rosのリアルタイムツールの紹介

131017 cnr研究会 ando
131017 cnr研究会 ando131017 cnr研究会 ando
131017 cnr研究会 andoopenrtm
 
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大openrtm
 
Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Noriaki Ando
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介l_b__
 
130522 00
130522 00130522 00
130522 00openrtm
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話Takuya Kikuchi
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部openrtm
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)openrtm
 
160608 01
160608 01160608 01
160608 01openrtm
 
Kilimanjaro Event
Kilimanjaro EventKilimanjaro Event
Kilimanjaro Eventdynamis
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大openrtm
 
100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介Akira Hatsune
 
ROScon 2017 参加報告
ROScon 2017 参加報告ROScon 2017 参加報告
ROScon 2017 参加報告Yutaro ISHIDA
 
Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generatorBMXUG
 
XAML Islands その2
XAML Islands その2XAML Islands その2
XAML Islands その2m ishizaki
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Monaca
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platformToru Yamaguchi
 
ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1openrtm
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組みopenrtm
 

Semelhante a Rosのリアルタイムツールの紹介 (20)

131017 cnr研究会 ando
131017 cnr研究会 ando131017 cnr研究会 ando
131017 cnr研究会 ando
 
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
 
Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
ABS2015 のセッション紹介
ABS2015 のセッション紹介ABS2015 のセッション紹介
ABS2015 のセッション紹介
 
130522 00
130522 00130522 00
130522 00
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
 
160608 01
160608 01160608 01
160608 01
 
Kilimanjaro Event
Kilimanjaro EventKilimanjaro Event
Kilimanjaro Event
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
 
100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介
 
ROScon 2017 参加報告
ROScon 2017 参加報告ROScon 2017 参加報告
ROScon 2017 参加報告
 
Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generator
 
XAML Islands その2
XAML Islands その2XAML Islands その2
XAML Islands その2
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
 

Rosのリアルタイムツールの紹介