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

TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術
TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術
TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術Hiroaki Nagashima
 
OSC2021 Online Spring TOPPERS
OSC2021 Online Spring TOPPERSOSC2021 Online Spring TOPPERS
OSC2021 Online Spring TOPPERSHiroaki Nagashima
 
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
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Naoki Umehara
 
「C++Builderでモバイル開発にトライ!ベータ評価レポート」
「C++Builderでモバイル開発にトライ!ベータ評価レポート」「C++Builderでモバイル開発にトライ!ベータ評価レポート」
「C++Builderでモバイル開発にトライ!ベータ評価レポート」Embarcadero Technologies
 
AzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CDAzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CDShinya Nakajima
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発Developers Summit
 
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 智治 長沢
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...
Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...
Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...Kenji Hiranabe
 
201111 05
201111 05201111 05
201111 05openrtm
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)Developers Summit
 
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようGitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようShinya Nakajima
 
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~SPIRAL Inc.
 

What's hot (15)

TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術
TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術
TOPPERSの開発も出来ちゃうVSCodeのビルド&デバッグ使いこなし術
 
Web IDE Gitpodを使ってTOPPES OSを体験してみよう
Web IDE Gitpodを使ってTOPPES OSを体験してみようWeb IDE Gitpodを使ってTOPPES OSを体験してみよう
Web IDE Gitpodを使ってTOPPES OSを体験してみよう
 
OSC2021 Online Spring TOPPERS
OSC2021 Online Spring TOPPERSOSC2021 Online Spring TOPPERS
OSC2021 Online Spring TOPPERS
 
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)
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
 
「C++Builderでモバイル開発にトライ!ベータ評価レポート」
「C++Builderでモバイル開発にトライ!ベータ評価レポート」「C++Builderでモバイル開発にトライ!ベータ評価レポート」
「C++Builderでモバイル開発にトライ!ベータ評価レポート」
 
AzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CDAzureDevOpsで始めるAndroidのCI/CD
AzureDevOpsで始めるAndroidのCI/CD
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...
Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...
Scrum, Agile, XP, at Community Lightning Talks at Developers Summit 2013 from...
 
201111 05
201111 05201111 05
201111 05
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
 
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しようGitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
 
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
 

Similar to 200824 SysML Tutorial

RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」openrtm
 
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
 
ネットワーク科学で挑戦するゲームマーケティング改革
ネットワーク科学で挑戦するゲームマーケティング改革ネットワーク科学で挑戦するゲームマーケティング改革
ネットワーク科学で挑戦するゲームマーケティング改革RyoAdachi
 
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!Takeshi Kuramochi
 
2016 summercamp SysML講習会
2016 summercamp SysML講習会2016 summercamp SysML講習会
2016 summercamp SysML講習会openrtm
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))HironoriTAKEUCHI1
 
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -Tier_IV
 
Azure の App Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析するAzure の App Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析するYusuke Kojima
 
Azure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するAzure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するYusuke Kojima
 
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう![Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!Tomomi Imura
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Takao Tetsuro
 
『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立についてMasahiko Ebisuda
 
これからはじめる Power Platform
これからはじめる Power Platformこれからはじめる Power Platform
これからはじめる Power PlatformRie Okuda
 
JPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについて
JPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについてJPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについて
JPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについてMPN Japan
 
CISベンチマークに対応したiOSのIntune管理
CISベンチマークに対応したiOSのIntune管理CISベンチマークに対応したiOSのIntune管理
CISベンチマークに対応したiOSのIntune管理Kenta Osuka
 
R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]
R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]
R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
Implementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceImplementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceTakao Tetsuro
 
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてFixstars Corporation
 

Similar to 200824 SysML Tutorial (20)

RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」RTミドルウェアサマーキャンプ2018「SysML実習」
RTミドルウェアサマーキャンプ2018「SysML実習」
 
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)
 
ネットワーク科学で挑戦するゲームマーケティング改革
ネットワーク科学で挑戦するゲームマーケティング改革ネットワーク科学で挑戦するゲームマーケティング改革
ネットワーク科学で挑戦するゲームマーケティング改革
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
 
2016 summercamp SysML講習会
2016 summercamp SysML講習会2016 summercamp SysML講習会
2016 summercamp SysML講習会
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
 
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
 
Azure の App Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析するAzure の App Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析する
 
Azure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するAzure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析する
 
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう![Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.
 
『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について『ハイブリッドクラウド研究会』創立について
『ハイブリッドクラウド研究会』創立について
 
Atomsystem
AtomsystemAtomsystem
Atomsystem
 
これからはじめる Power Platform
これからはじめる Power Platformこれからはじめる Power Platform
これからはじめる Power Platform
 
JPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについて
JPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについてJPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについて
JPC2018[H2]EOS に間に合わせる! Microsoft 製品のマイグレーションを推進する取り組みについて
 
CISベンチマークに対応したiOSのIntune管理
CISベンチマークに対応したiOSのIntune管理CISベンチマークに対応したiOSのIntune管理
CISベンチマークに対応したiOSのIntune管理
 
R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]
R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]
R04_WHITEROOM ではじめるコラボレーティブコンピューティング [Microsoft Japan Digital Days]
 
Implementation Approach of Artifical Intelligence
Implementation Approach of Artifical IntelligenceImplementation Approach of Artifical Intelligence
Implementation Approach of Artifical Intelligence
 
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
 

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
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部openrtm
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)openrtm
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)openrtm
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習openrtm
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎openrtm
 
1.コース概要
1.コース概要1.コース概要
1.コース概要openrtm
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要openrtm
 
Slam実習
Slam実習Slam実習
Slam実習openrtm
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門openrtm
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門openrtm
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦openrtm
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2openrtm
 

More from openrtm (20)

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
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 

200824 SysML Tutorial

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