SlideShare a Scribd company logo
1 of 10
Download to read offline
RTミドルウェア SUMMER CAMP 2021
SysML実習
日時:2021年8月23日(月) 14:30~
株式会社 グローバルアシスト
坂本 武志
2021.8.23 Copyright (C) GLOBAL ASSIST Co., Ltd., All Rights Reserved. 2
本実習の目的
 サマーキャンプを通して開発を行う対象システムの明確化
 設計を行うのであれば,その場限りの独自記法で検討を行うのではなく,標
準となっている記法で検討を行って欲しい
 開発したRTコンポーネント公開時に,設計情報も併せて公開して欲しい
 後からRTコンポーネントを利用する人のため
 サマーキャンプでモデリングを行っている理由
 開発内容の説明
 どのようなシステムを開発するのか?何が特徴なのか?など
 チーム内での意思統一,進捗管理
 何を開発するのか?どう実装するのか?など
 どこまで開発できているのか?
2021.8.23 3
要求図
 性能なども含めたシステムが満たすべき項目を表現
re q [mo de l] 移動ロ ボッ ト [移 動ロボ ット(自律 移動)]
<<requirement>>
自律移動
id =
text = "ユーザが指定した
目的地まで,安全に移動で
きること"
<<requirement>>
障害 物回避
id =
text = "ロボット周辺の障害
物を回避できること"
<<requirement>>
経路生成
id =
text = "目的地までの移動
経路を自動で生成できるこ
と"
<<requirement>>
移動
id =
text = "移動指令に従って
移動すること"
<<requirement>>
自己 位置推定
id =
text = "ロボット自身の現在
位置を推定できること"
<<requirement>>
環境地図
id =
text = "周辺環境の地図を
持つこと"
<<requirement>>
環境地図 マッチ ング
id =
text = "周辺環境の地図と
外界計測センサの計測結
果からマッチングを行うこと"
<<requirement>>
デッ ドレ コニング
id =
text = "内界センサの計測
値を基に,自分の位置を推
定できること"
<<requirement>>
内界 センサ
id =
text = "ロボットの相対的な
移動量を計測できること"
<<requirement>>
周辺 環境情報の 計測
id =
text = "ロボット周辺の環境情
報を計測できること"
<<requirement>>
移動時 間
id =
text = "なるべく短い時間で
目的地まで到達できること"
<<requirement>>
連続移動可 能距離
id =
text = "なるべく長距離を移
動可能であること"
<<requirement>>
低消費電 力化
id =
text = "消費電力をなるべ
く下げること"
<<requirement>>
環境地図自 動生成
id =
text = "周辺環境の地図を自
動的に生成できること"
<<requirement>>
ユーザ ビリ ティの 向上
id =
text = "使用時のユーザの負
担をなるべく軽減すること"
<<requirement>>
地図精度 の向上
id =
text = "なるべく高精度な地
図を生成できること"
<<requirement>>
パ ターン移動
id =
text = "指定されたパターン
に従って移動できること"
<<requirement>>
効 率的な自律 移動
id =
text = "ユーザが指定した目的地ま
で,なるべく短時間で安全に移動で
きるとともに,ユーザの手間をなるべく
軽減しつつ,長距離を移動可能であ
ること"
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>> <<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
2021.8.23 4
要求図
 目的
 開発対象システムの説明
 どのような機能,特徴を持ったシステムを構築するのか?
 開発時の進捗管理
 どこまで実現できているのか?を確認
 開発時の代替案の検討
 作成手順
 「何を」実現するシステムなのか?を検討
 それぞれの要求を実現するためには,「何を」行わないといけないのか?を検討
※要求図では,具体的な実現手段は記述しないため,「どのように」実現するかの詳細は
初期段階では気にしない
2021.8.23 5
内部ブロック図
 システム構成要素間の接続関係を明確にする
 構成要素間でやりとりする内容を明確にする
 システムを構成する要素間でやり取りする内容を表現
ibd [Package ] 移動ロボッ ト [移動ロボッ トシステ ム(SW)]
: ~レンジデータ : ~深度画像
: 周辺環境計測
: ~レンジデータ : ~深度画像
: ~レンジデータ
: 測域センサ制御[0..1]
: ~レンジデータ : ~深度画像
: 距離画像センサ制御[0 ..1]
: ~深度画像
: レンジデータ : 深度画像
目標位置: 位置 移動指令: ~速度
: 障害物回避
: レンジデータ : 深度画像
目標位置: 位置 移動指令: ~速度
: レンジデータ : 深度画像
現在位置: 位置 移動指令: ~速度
: 地図生成
: レンジデータ : 深度画像
現在位置: 位置 移動指令: ~速度
: レンジデータ : 深度画像
現在位置: ~位置
: 移動量
: 自己位置推定
: レンジデータ : 深度画像
現在位置: ~位置
: 移動量
現在位置: 位置
目標位置: ~位置
: 経路生成
現在位置: 位置
目標位置: ~位置
移動指令: 速度
: ~移動量
: 移動制御
移動指令: 速度
: ~移動量
目的地を設定する
2021.8.23 6
内部ブロック図
 RTSystemEditorで構築したシステム情報とほぼ同じ内容を表現
RTC データポート(Out)
データポート(In)
サービスポート
:ブロックR
name : BlockType
: Type
プロパティ
ポート
ポート
インターフェース
プロパティ
OpenRTM-aist SysML
RTコンポーネント プロパティ(ブロック)
データポート ポート(連続型)
サービスポート ポート(離散型)
サービスインターフェース インターフェース
2021.8.23 7
内部ブロック図
 作成手順
 使用するハードウェアの検討
 どの機材を利用するのか?不足している機材は何なのか?
 必要な機能の検討
 どのようなRTCで構成するか?
 RTCを新規開発するのか?既存のRTCを再利用するのか?
 RTC間のインタラクションの検討
 RTC間でやり取りするデータ,コマンドの検討
 各データ型,インターフェースの明確化
 検討事項
 必須機能の判断
 最低限どの機能が必要なのか?
 優先順位の決定
 どのRTCから開発を行うのか?
 開発工数の見積もり
 各機能を開発するのに必要な工数はどの程度か?
 作業分担の検討
 誰がどのRTCを開発するのか?
2021.8.23 8
設計時の注意点
 使用する用語の意味を統一
同じ概念を表現する用語は1つに統一する
1つの用語で表現する概念は1つに統一する
一般的な用語ほど,誤解を発生しやすい
 代替案の検討
 必須機能とオプション機能の検討
初期段階では,どうしても多機能,複雑なシステム構成としがちなため
各RTCの粒度(機能)をあまり大きくしすぎない
 再利用RTCの検討
 開発工数を下げるため,既存のRTCで使えるものがないか検討
再利用可能かどうかを検証するのにも時間が掛かってしまう場合がある
使用する環境,インターフェース(データ型,操作の詳細)が合致している
か確認
2021.8.23 9
設計時の注意点
 作業工数の見積もり
 担当者を決める前に,全員で各RTC,各機能の開発時間の見積もりを行う
 今回は期間が1週間と短いため,時間単位での見積もりを行う
 全員で各RTC,各機能について,作業時間の見積もりを行う
(以下は見積もり方法の参考)
最初は必須機能のみを対象にして見積もりを行う
1,2,5,10の数字のみ用いて,各人が考える作業工数を出し,単純にそれらの
数の平均値を見積もり工数とする
この段階で,細かい検討を行ってもあまり意味がないので,各人の見積
もりは大ざっぱな数値を使用
この際,なるべく見積もり工数がなるべく小さくなる単位まで機能を分解する
見積もり工数が大きい項目が出た場合,作業を更に細分化できないか
検討する
実際に開発にかかった時間を計測しておき,見積もり値との差異を記録する
この差異を元に,何度か再見積を行う
工数の見積もりは,個人によって傾向が異なる.自分自身の傾向を把握
し,見積もりの精度を向上させることが重要
2021.8.23 10
設計時の注意点
 作業スケジュールの検討
 各機能の担当者の決定
 上記で作成した見積もり工数を参考に,期間内に作業が終わるか?を確認
 サマーキャンプ期間中に開発可能な時間数:17h/人
8/24(月) 2h,25(火) 4h(+4h),26(水) 6.5h(+5h),27(木) 6.5h(+5h),28(金) 3h
計:22h (36h)
 もしも工数的に終わらないのであれば,そもそものスケジュールに無理がある
 各機能の開発順番の決定
 マイルストーンの検討
 複数RTCを用いた結合試験のタイミングなど
 検討結果を基に,2日目15:00から,今回開発するシステムを発表し
て頂きます

More Related Content

What's hot

RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」
RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」
RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」openrtm
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NoriakiAndo
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎openrtm
 
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要openrtm
 
2017 summercamp 04
2017 summercamp 042017 summercamp 04
2017 summercamp 04openrtm
 
2015 summercamp 09
2015 summercamp 092015 summercamp 09
2015 summercamp 09openrtm
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2openrtm
 
201111 04
201111 04201111 04
201111 04openrtm
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法openrtm
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1openrtm
 
2015 summercamp 04
2015 summercamp 042015 summercamp 04
2015 summercamp 04openrtm
 
2015 summercamp 08
2015 summercamp 082015 summercamp 08
2015 summercamp 08openrtm
 
190605 01
190605 01190605 01
190605 01openrtm
 
190605 04
190605 04190605 04
190605 04openrtm
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部openrtm
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習openrtm
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大openrtm
 
1.コース概要
1.コース概要1.コース概要
1.コース概要openrtm
 
2015 summercamp 01
2015 summercamp 012015 summercamp 01
2015 summercamp 01openrtm
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門openrtm
 

What's hot (20)

RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」
RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」
RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
 
2017 summercamp 04
2017 summercamp 042017 summercamp 04
2017 summercamp 04
 
2015 summercamp 09
2015 summercamp 092015 summercamp 09
2015 summercamp 09
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2
 
201111 04
201111 04201111 04
201111 04
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
2015 summercamp 04
2015 summercamp 042015 summercamp 04
2015 summercamp 04
 
2015 summercamp 08
2015 summercamp 082015 summercamp 08
2015 summercamp 08
 
190605 01
190605 01190605 01
190605 01
 
190605 04
190605 04190605 04
190605 04
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
2015 summercamp 01
2015 summercamp 012015 summercamp 01
2015 summercamp 01
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 

Similar to RTミドルウェアサマーキャンプ2021_坂本武志_1

2019 summercamp 01
2019 summercamp 012019 summercamp 01
2019 summercamp 01openrtm
 
RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」openrtm
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))HironoriTAKEUCHI1
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Shinya Nakajima
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Shinya Nakajima
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ慎一 古賀
 
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み慎一 古賀
 
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021Rie Moriguchi
 
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようVisual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようShinya Nakajima
 
20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか
20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか
20210616 Microsoft MeshはAzure Remote Renderingの夢を見るかShingo Mori
 
インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~Shinsuke Saito
 
2016 summercamp SysML講習会
2016 summercamp SysML講習会2016 summercamp SysML講習会
2016 summercamp SysML講習会openrtm
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
Transfer Learning & API Azure
Transfer Learning & API AzureTransfer Learning & API Azure
Transfer Learning & API AzureYuki Hattori
 
Kinect 2セミナー
Kinect 2セミナーKinect 2セミナー
Kinect 2セミナーAkira Hatsune
 
Implementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceImplementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceTakao Tetsuro
 
MRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessMRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessYuichi Ishii
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Takao Tetsuro
 
これからはじめる Power Platform
これからはじめる Power Platformこれからはじめる Power Platform
これからはじめる Power PlatformRie Okuda
 

Similar to RTミドルウェアサマーキャンプ2021_坂本武志_1 (20)

2019 summercamp 01
2019 summercamp 012019 summercamp 01
2019 summercamp 01
 
RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ新しい Visual Studio & .NET と新時代のアーキテクチャ
新しい Visual Studio & .NET と新時代のアーキテクチャ
 
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
 
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
 
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようVisual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
 
20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか
20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか
20210616 Microsoft MeshはAzure Remote Renderingの夢を見るか
 
インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~インフラエンジニアに送る Visual Studio Code ~Azure 編~
インフラエンジニアに送る Visual Studio Code ~Azure 編~
 
Bot frameworksdk
Bot frameworksdkBot frameworksdk
Bot frameworksdk
 
2016 summercamp SysML講習会
2016 summercamp SysML講習会2016 summercamp SysML講習会
2016 summercamp SysML講習会
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
Transfer Learning & API Azure
Transfer Learning & API AzureTransfer Learning & API Azure
Transfer Learning & API Azure
 
Kinect 2セミナー
Kinect 2セミナーKinect 2セミナー
Kinect 2セミナー
 
Implementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceImplementation Approach of Artifical Intelligence
Implementation Approach of Artifical Intelligence
 
MRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessMRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial Awareness
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.
 
これからはじめる Power Platform
これからはじめる Power Platformこれからはじめる Power Platform
これからはじめる Power Platform
 

More from openrtm

ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部openrtm
 
ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステムopenrtm
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画openrtm
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボットopenrtm
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステムopenrtm
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxopenrtm
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfopenrtm
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfopenrtm
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)openrtm
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)openrtm
 
Slam実習
Slam実習Slam実習
Slam実習openrtm
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門openrtm
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2openrtm
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹openrtm
 
201111 05
201111 05201111 05
201111 05openrtm
 
201110 03
201110 03201110 03
201110 03openrtm
 
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaSICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaopenrtm
 
SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enopenrtm
 

More from openrtm (18)

ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボット
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステム
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptx
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdf
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 
201111 05
201111 05201111 05
201111 05
 
201110 03
201110 03201110 03
201110 03
 
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaSICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_ja
 
SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
 

RTミドルウェアサマーキャンプ2021_坂本武志_1

  • 1. RTミドルウェア SUMMER CAMP 2021 SysML実習 日時:2021年8月23日(月) 14:30~ 株式会社 グローバルアシスト 坂本 武志
  • 2. 2021.8.23 Copyright (C) GLOBAL ASSIST Co., Ltd., All Rights Reserved. 2 本実習の目的  サマーキャンプを通して開発を行う対象システムの明確化  設計を行うのであれば,その場限りの独自記法で検討を行うのではなく,標 準となっている記法で検討を行って欲しい  開発したRTコンポーネント公開時に,設計情報も併せて公開して欲しい  後からRTコンポーネントを利用する人のため  サマーキャンプでモデリングを行っている理由  開発内容の説明  どのようなシステムを開発するのか?何が特徴なのか?など  チーム内での意思統一,進捗管理  何を開発するのか?どう実装するのか?など  どこまで開発できているのか?
  • 3. 2021.8.23 3 要求図  性能なども含めたシステムが満たすべき項目を表現 re q [mo de l] 移動ロ ボッ ト [移 動ロボ ット(自律 移動)] <<requirement>> 自律移動 id = text = "ユーザが指定した 目的地まで,安全に移動で きること" <<requirement>> 障害 物回避 id = text = "ロボット周辺の障害 物を回避できること" <<requirement>> 経路生成 id = text = "目的地までの移動 経路を自動で生成できるこ と" <<requirement>> 移動 id = text = "移動指令に従って 移動すること" <<requirement>> 自己 位置推定 id = text = "ロボット自身の現在 位置を推定できること" <<requirement>> 環境地図 id = text = "周辺環境の地図を 持つこと" <<requirement>> 環境地図 マッチ ング id = text = "周辺環境の地図と 外界計測センサの計測結 果からマッチングを行うこと" <<requirement>> デッ ドレ コニング id = text = "内界センサの計測 値を基に,自分の位置を推 定できること" <<requirement>> 内界 センサ id = text = "ロボットの相対的な 移動量を計測できること" <<requirement>> 周辺 環境情報の 計測 id = text = "ロボット周辺の環境情 報を計測できること" <<requirement>> 移動時 間 id = text = "なるべく短い時間で 目的地まで到達できること" <<requirement>> 連続移動可 能距離 id = text = "なるべく長距離を移 動可能であること" <<requirement>> 低消費電 力化 id = text = "消費電力をなるべ く下げること" <<requirement>> 環境地図自 動生成 id = text = "周辺環境の地図を自 動的に生成できること" <<requirement>> ユーザ ビリ ティの 向上 id = text = "使用時のユーザの負 担をなるべく軽減すること" <<requirement>> 地図精度 の向上 id = text = "なるべく高精度な地 図を生成できること" <<requirement>> パ ターン移動 id = text = "指定されたパターン に従って移動できること" <<requirement>> 効 率的な自律 移動 id = text = "ユーザが指定した目的地ま で,なるべく短時間で安全に移動で きるとともに,ユーザの手間をなるべく 軽減しつつ,長距離を移動可能であ ること" <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<deriveReqt>>
  • 4. 2021.8.23 4 要求図  目的  開発対象システムの説明  どのような機能,特徴を持ったシステムを構築するのか?  開発時の進捗管理  どこまで実現できているのか?を確認  開発時の代替案の検討  作成手順  「何を」実現するシステムなのか?を検討  それぞれの要求を実現するためには,「何を」行わないといけないのか?を検討 ※要求図では,具体的な実現手段は記述しないため,「どのように」実現するかの詳細は 初期段階では気にしない
  • 5. 2021.8.23 5 内部ブロック図  システム構成要素間の接続関係を明確にする  構成要素間でやりとりする内容を明確にする  システムを構成する要素間でやり取りする内容を表現 ibd [Package ] 移動ロボッ ト [移動ロボッ トシステ ム(SW)] : ~レンジデータ : ~深度画像 : 周辺環境計測 : ~レンジデータ : ~深度画像 : ~レンジデータ : 測域センサ制御[0..1] : ~レンジデータ : ~深度画像 : 距離画像センサ制御[0 ..1] : ~深度画像 : レンジデータ : 深度画像 目標位置: 位置 移動指令: ~速度 : 障害物回避 : レンジデータ : 深度画像 目標位置: 位置 移動指令: ~速度 : レンジデータ : 深度画像 現在位置: 位置 移動指令: ~速度 : 地図生成 : レンジデータ : 深度画像 現在位置: 位置 移動指令: ~速度 : レンジデータ : 深度画像 現在位置: ~位置 : 移動量 : 自己位置推定 : レンジデータ : 深度画像 現在位置: ~位置 : 移動量 現在位置: 位置 目標位置: ~位置 : 経路生成 現在位置: 位置 目標位置: ~位置 移動指令: 速度 : ~移動量 : 移動制御 移動指令: 速度 : ~移動量 目的地を設定する
  • 6. 2021.8.23 6 内部ブロック図  RTSystemEditorで構築したシステム情報とほぼ同じ内容を表現 RTC データポート(Out) データポート(In) サービスポート :ブロックR name : BlockType : Type プロパティ ポート ポート インターフェース プロパティ OpenRTM-aist SysML RTコンポーネント プロパティ(ブロック) データポート ポート(連続型) サービスポート ポート(離散型) サービスインターフェース インターフェース
  • 7. 2021.8.23 7 内部ブロック図  作成手順  使用するハードウェアの検討  どの機材を利用するのか?不足している機材は何なのか?  必要な機能の検討  どのようなRTCで構成するか?  RTCを新規開発するのか?既存のRTCを再利用するのか?  RTC間のインタラクションの検討  RTC間でやり取りするデータ,コマンドの検討  各データ型,インターフェースの明確化  検討事項  必須機能の判断  最低限どの機能が必要なのか?  優先順位の決定  どのRTCから開発を行うのか?  開発工数の見積もり  各機能を開発するのに必要な工数はどの程度か?  作業分担の検討  誰がどのRTCを開発するのか?
  • 8. 2021.8.23 8 設計時の注意点  使用する用語の意味を統一 同じ概念を表現する用語は1つに統一する 1つの用語で表現する概念は1つに統一する 一般的な用語ほど,誤解を発生しやすい  代替案の検討  必須機能とオプション機能の検討 初期段階では,どうしても多機能,複雑なシステム構成としがちなため 各RTCの粒度(機能)をあまり大きくしすぎない  再利用RTCの検討  開発工数を下げるため,既存のRTCで使えるものがないか検討 再利用可能かどうかを検証するのにも時間が掛かってしまう場合がある 使用する環境,インターフェース(データ型,操作の詳細)が合致している か確認
  • 9. 2021.8.23 9 設計時の注意点  作業工数の見積もり  担当者を決める前に,全員で各RTC,各機能の開発時間の見積もりを行う  今回は期間が1週間と短いため,時間単位での見積もりを行う  全員で各RTC,各機能について,作業時間の見積もりを行う (以下は見積もり方法の参考) 最初は必須機能のみを対象にして見積もりを行う 1,2,5,10の数字のみ用いて,各人が考える作業工数を出し,単純にそれらの 数の平均値を見積もり工数とする この段階で,細かい検討を行ってもあまり意味がないので,各人の見積 もりは大ざっぱな数値を使用 この際,なるべく見積もり工数がなるべく小さくなる単位まで機能を分解する 見積もり工数が大きい項目が出た場合,作業を更に細分化できないか 検討する 実際に開発にかかった時間を計測しておき,見積もり値との差異を記録する この差異を元に,何度か再見積を行う 工数の見積もりは,個人によって傾向が異なる.自分自身の傾向を把握 し,見積もりの精度を向上させることが重要
  • 10. 2021.8.23 10 設計時の注意点  作業スケジュールの検討  各機能の担当者の決定  上記で作成した見積もり工数を参考に,期間内に作業が終わるか?を確認  サマーキャンプ期間中に開発可能な時間数:17h/人 8/24(月) 2h,25(火) 4h(+4h),26(水) 6.5h(+5h),27(木) 6.5h(+5h),28(金) 3h 計:22h (36h)  もしも工数的に終わらないのであれば,そもそものスケジュールに無理がある  各機能の開発順番の決定  マイルストーンの検討  複数RTCを用いた結合試験のタイミングなど  検討結果を基に,2日目15:00から,今回開発するシステムを発表し て頂きます