Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
SysMLを用いたモデルベースによる
高信頼なロボット開発事例
(独)産業技術総合研究所
知能システム研究部門
ディペンダブルシステム研究グループ長
中坊嘉宏
02014/11/19
モデルを使う意義を考える
• なぜモデル(SysML)を使うのか?
• 目的が大事 (モデル地獄に落ち入らないために)
1. コミュニケーション
– 安全認証、レビュー、異分野理解
2. 分析
– 安全分析、機能安全、要求分析
3. 再利用
– RTミドルウェア(コンポーネント化)
2014/11/19 1
SysMLによる移動ロボットのモデル比較
自律移動ロボット3種をモデル化
セニアカー
インテリジェント車イス
AGV
• 産総研で開発した自律移動ロボット
• 設計開発者へのヒアリングにより,構造や実装だけでなく,設計意図,目的までモデル化した
• SysMLによる統一したシステム記述• 構造の明確化と可視化
狙い:
1.共通部分の抽出と,再利用容易化のためのリプログラミング
2.ディペンダビリティの観点からの構造分析と安全検証
SysMLモデルを作成
2014/11/19 2
SysMLによるモデリングの例(1/6)
• 想定している環境と対象を明らかにする(リスクアセスメント)
1. Context Diagram
2014/11/19 3
SysMLによるモデリングの例(2/6)
• 機能要件に加え,信頼性,安全性などの非機能要件も加える
2. Requirement Diagram
2014/11/19 4
SysMLによるモデリングの例(3/6)
• 全体の振る舞いを記述し,さらに詳細記述へと分解
3. Activity Diagram
2014/11/19 5
4. Use Case Diagram
5. Block Diagram
• 機能とコンポーネントの関係を記述
• 全体のコンポーネント構成,電気構成,機械構成などに分けて記述
• ソフトウェア/ハードウェアコ
ンポーネントの詳細を適宜記述
SysMLによるモデリングの例(4,5/6)
2014/11/196
SysMLによるモデリングの例(6/6)
• コンポーネント内のデータフローの詳細まで記述可能
6. Internal Block Diagram
実装可能なレベルの詳細仕様
2014/11/19
7
機能安全規格 IEC61508
• 機能安全規格IEC61508
– プラントや鉄道から、組込み、車載、医療機器、ロボットへと適用範囲が拡大
– V字モデルと全安全ライフサイクル
ソフトウェア開発V字モデル
要求・概念・仕様レベルからのモデルベース開発,検証が有効
SysMLによるHW,SWのモデリング
Agileでやりたい(Waterfallでやりたくない)
2014/11/19 8
9
安全システム開発の実証検証
• 電動車椅子ロボット開発に適用して有効性を検証
安全を実現する冗長構成
2014/11/19
モデルベース・ロボット開発のトレーサビリティ(プロセス,アクティビティ - ドキュメント,タスク -モデル,技法)
ハザードリスク機能安全要求定義
状態遷移(状態遷移図)
コンテキスト(内部ブロック図)
システムアーキテクチャ
設計
論理構成(ブロック定義図)
論理内部ブロック(内部ブロック図)
ソフトウェア要求定義
要求(要求図)
ドメイン(ブロック定義図)
ユースケース(ユースケース図)
アクティビティ(アクティビティ図)
ソフトウェア詳細設計
デバイス依存処理の詳細
ソフトウェアアーキテクチャ
設計
インタフェース(ブロック定義図)
RTコンポーネント(内部ブロック図)
状態遷移(状態遷移表)
ミッション要求(要求図)
ドメイン(ブロック定義図)
システム要求定義
ユースケース(ユースケース図)
アクティビティ(アクティビティ図)
システムエンジニアリングプロセス
ソフトウェアエンジニアリングプロセス
アクティビティと,作成するドキュメント タスクと, 定義するモデル(主にSysML)
A
C
D
A
C
A A
D
A A
B
Semi-formal methods
Modular approach
Simulation/modeling
Failure analysis
Block diagramsSequence diagramsFinite state machines
Finite state machines
Performance modelingFault tree analysisFMEA
Technique and measures Detailed
A
B
C
D
IEC61508-3 SIL3で推奨される技法
組込みソフトウェア開発プロセスガイドライン(ESPR)
<目的> <機能> <文脈>
<事象> <責務> <構造>
<目的> <機能> <文脈>
<責務>
<責務>
<データ> <事象>
< >:下流方向のトレーサビリティで追加される情報:開発の流れとトレーサビリティ
安全ゴール 機能安全要求
2014/11/19 10
設計に使用したSysML図
要求図 ユースケース図 ブロック図
アクティビティ図 ステートマシーン図 内部ブロック図
シーケンス図パッケージ図 パラメトリック図
2014/11/19 11
12
トレーサビリティの表示(TERAS)
2014/11/19
機能によるRTCモジュール分割と連携
(モジュール)情報の隠蔽と公開
音声合成ンポーネントコ
カメランポーネントコ
カメランポーネントコ
画像データ
画像データ ポート
データ・コマンドの流れ顔位置合せ問
文字データ
音声データ
人物データ
カメラコントロール
表情データ
文字データ
ジェスチャ道データ軌
頭・腕駆動ンポーネントコ
マイクンポーネントコ
ステレオビジョンンポーネントコ
対話ンポーネントコ
音声認識ンポーネントコ
顔認識ンポーネントコ
ロボット体内のコンポーネントによる構成例
2014/11/19 13
Analysis
Design
Implementation
astah SysML
SysML+RTC 開発プロセス
RTC Plugin
Component spec.
RTC.xml
RTS.xml
SysMLrequirements
SysMLRequirements
SysMLUse cases
SysMLUse cases
OpenRTM-aist
SysMLComponent
(block)↑
SysMLComponents
(Block)←
RTC source codes
(Skelton )
Executable RTC
SysMLrequirements
SysMLContext (Block)
FSMSysMLSTMs
RTCBuilder
RTSystemEditor
SysMLComponent
(block)
RTCs
Restore connectors
2014/11/1914
ヒューマノイドロボットタスクのアジャイルプロセスによる拡張
• Harmonyプロセス• ユースケース単位で拡張• システムエンジニアリング部が対象
チョコ停(把持物を落とすなど)
復帰処理(ロボットの手先を操作) チョコ停復帰
シナリオにしたがった作業実行
Pick&Place
安全機能(センサで監視)
人が近くに来たら動作を停止
ソフト開発
各種テスト要求分析
システム機能分析
設計合成
利害関係者要求 モ
デル/要求レポジトリー
要求 &
テストシナリオ
15
逐次的分析,設計
1. シナリオ実行,非常停止・復帰
16
1-1. 要求分析 1-2. システム機能分析 1-3. 設計合成
要求分析
システム機能分析
設計合成
モデル/要求レポジトリー
逐次的分析,設計2. 安全機能
17
2-2. システム機能分析
2-3. 設計合成
逐次的拡張にも対応が容易
3. チョコ停復帰機能
3-2. システム機能分析
3-3. 設計合成
• 逐次的に妥当性確認(前の反復までのテストも行う)
• 要求とトレース
要求分析
システム機能分析
設計合成
モデル/要求レポジトリー
排泄支援 見守り支援
移乗支援
移動支援
経済産業省ロボット介護機器開発・導入促進事業
目的高齢者の自立支援, 介護者の負担軽減
に資するロボット介護機器の開発・導入を促進すること.
開発補助事業
介護現場のニーズを踏まえてロボット技術の利用が有望な分野を重点分野として特定し,開発企業に対し補助を行う.
基準策定・評価事業
機器の開発に必要となる安全性と効果のアセスメント手法・検証方法、倫理審査等の「実証プロトコル」を確立する.
2014/11/1918
重点分野の定義(例)
• 移乗介助機器(装着型)
– ロボット技術を用いて介助者のパワーアシストを行う装着型の機器で、以下の特徴を持つものを装着型移乗介助機器として重点的に開発を行います。
1. 介助者が装着して用い、移乗介助の際の腰の負担を軽減する。
2. 介助者が一人で着脱可能であること。
3. ベッド、車いす、便器の間の移乗に用いることができる。
2014/11/19 19
重点分野のSysMLによるモデル化
2014/11/1920
• 移乗介助機器(装着型)– ロボット技術を用いて介助者のパワーアシストを行う装着型の機器で、以下の特徴を持つものを装着型移乗介助機器として重点的に開発を行います。
1. 介助者が装着して用い、移乗介助の際の腰の負担を軽減する。
2. 介助者が一人で着脱可能であること。
3. ベッド、車いす、便器の間の移乗に用いることができる。
モデルを使った要求分析• 本当に、乗り移らせるだけの機能要求で良いか?
2014/11/19 21
分析の結果、新たな要求が見つかる
まとめ
• ロボット開発におけるモデルベースの適用事例を紹介した。
• 分析、トレーサビリティ確保、モジュールコンポーネント開発、要求分析など、様々な活用が可能。
• モデルの目的(コミュニケーション、分析、再利用)を明確にすることが重要。
222014/11/19
ご清聴ありがとうございました
232014/11/19