using sysml in an rtc-based robotics application
DESCRIPTION
My presentation on 12/8, 2012, at OMG Robotics MeetingTRANSCRIPT
SysMLを使ったRTCベースのロボットアプリケーション開発 :
事例ケースタディとデモ
平鍋健児(Change Vision, Inc)
安藤慶昭(産総研)
Agenda
•導入
•背景と目的
•例題
•分析と設計(デモ)
•結論
•将来へのアイディア
自己紹介
• 平鍋健児, 株式会社チェンジビジョン
• Astah(UMLエディタ)の開発
• Astah/SysML
–現在開発中(プロトタイプ)
– 「使いやすさ」と「Web共有」に焦点
• RTC plug-in
– Astah/SysMLのプラグイン。RTC仕様のRTC.xmlを生成。OpenRTMへ。
プロジェクトメンバー
Honda R&D Team
安藤慶昭
平鍋健児
岩永寿来
岡村敏弘
関谷眞
原功
鳥井豊隆
SysML to RTC1 2 OpenRTM to Honda RTM
Geoffrey Biggs
背景と目的
• 簡単な例題を使って、SysMLがコンポーネントベース(RTC)のロボットアプリケーションの有
効性を評価する。
• 1つの共通モデルが、複数のRTM実装で動作
することを実証実験。– OpenRTM-aist
– Honda R&D RTM
SysML to RTC1
2 OpenRTM to Honda RTM
�自律ロボットを遠隔操作し、2つの動き (Spiral と Back-and-
Forth) をさせる。Operatorは自律
モードとデモモード切り替えることができる。�ハードウェアアーキテクチャはあらかじめ決まっている。PCを乗せたRoombaを、Wi-Fi通信で、Kinectを使ってモードスイッチする。
問題記述
kinect
OperatorController PC
Receiver PC
Roomba
Wi-Fi
System architecture
RoombaRoomba
Receiver PC for OpenRTMReceiver PC for OpenRTM
OpenRTM RuntimeOpenRTM Runtime
Robot RTC (OpenRTM-aist)Robot RTC (OpenRTM-aist)
libRoombalibRoomba
Roomba SCI (Serial Control Interface)Roomba SCI (Serial Control Interface)
Receiver PC for Honda R&D RTMReceiver PC for Honda R&D RTM
Honda R&D RTM RuntimeHonda R&D RTM Runtime
Robot RTC (Honda R&D RTM)Robot RTC (Honda R&D RTM)
libRoombalibRoomba
RoombaRoomba
Roomba SCI (Serial Control Interface)Roomba SCI (Serial Control Interface)
Controller PCController PC
KinectKinect
Kinect SDKKinect SDK
OpenRTM RuntimeOpenRTM Runtime
Kinect input RTC (OpenRTM-aist)Kinect input RTC (OpenRTM-aist)
Honda R&D RTM RuntimeHonda R&D RTM Runtime
Controller RTC (Honda R&D RTM)Controller RTC (Honda R&D RTM)
RTC connector Serial Bus (USB/RS232C)Software I/F
OMG RTC Family
8
Name Vendor Feature
OpenRTM-aist AIST C++, Python, Java
OpenRTM.NET SEC .NET(C#,VB,C++/CLI, F#, etc..)
miniRTC, microRTC SEC RTC implementation for CAN・ZigBee based systems
Dependable RTM SEC/AIST Functional safety standard (IEC61508) capable
RTM implementation
RTC CANOpen SIT, CiA Standard for RTC mapping to CANOpen by CiA
(Can in automation) and implementation by SIT
PALRO Fuji Soft C++ PSM implementation for small humanoid robot
OPRoS ETRI Developed by Korean national project
GostaiRTC GOSTAI, THALES C++ PSM implementation on URBI
Honda R&D RTM Honda R&D C++, Python. FSM Component.
AnalysisAnalysis DesignDesign
ImplementationImplementationastah SysMLastah SysML
ImplementationImplementation
Process overview
RTC PluginRTC Plugin
Component
spec.
Component
spec.
RTC.xmlRTC.xml
RTS.xmlRTS.xml
SysML
requirements
SysML
requirements
SysML
Requirements
SysML
Requirements
SysML
Use cases
SysML
Use cases
SysML
Use cases
SysML
Use cases
Honda R&D RTMHonda R&D RTM
OpenRTM-aistOpenRTM-aistSysML
Component
(block)
SysML
Component
(block)↑↑↑↑↑↑↑↑↑↑↑↑
SysML
Components
(Block)
SysML
Components
(Block)←←←←←←←←←←←←
RTC source
codes
(Skelton )
RTC source
codes
(Skelton )
Executable RTCExecutable RTC
RTC source
codes
(Skelton )
RTC source
codes
(Skelton )
SysML
requirements
SysML
requirements
SysML
Context
(Block)
SysML
Context
(Block)
FSMFSM
astah RTM
SysML
STMs
SysML
STMs
Executable RTCExecutable RTC
RTCBuilder
RTSystemEditor
SysML
Component
(block)
SysML
Component
(block)
RTCsRTCs
SysML
Component
(block)
SysML
Component
(block)
RTCsRTCsFSMFSMRTC FSMsRTC FSMs
Restore connectors
SysML to RTC1 2 OpenRTM to Honda RTM
分析と設計(Astahモデル)
Overview
req [コア要求(問題文)]
req [派生要求]
req [Robotへの要求]
req [Controllerへ要求]
uc [デモユースケース]
bdd [コンテキスト図]
bdd [システム概要]
ibd [デモシステム]
ibd [robot物理構造]
ibd [controller物理構造]
stm [controller状態遷移]
結論
• SysMLの“Block”が、RT-Componentにうまくマッピングする。
• <<Satisfy>> 関係を「要求」と「コンポーネント」の間に引くことで、コンポーネントの実装意図を理論的に表現できた。
• 使い勝手のよいツール(Astah/SysML)がモデリングの有効性を加速する。
• 地理的に分散したチームが、Web-baseのツール(Astah/share)でモデル共有し、コミュニケーション、レビューできた。
将来へのアイディア
• リアルタイム性(時間概念)をモデルに表現する。
• Safety Case/D-Case の安全性論証モデルを、SysMLのモデルと融合させる。
• トレーサビリティ、インパクト分析を要求とコンポーネントの間(双方向)でツールに実装する。
Thank You !
Honda R&D Team
Noriaki Ando
Kenji Hiranabe
Toshiki Iwanaga
Toshihiro Okamura
Makoto Sekiya
Isao Hara
Toyotaka Torii
Geoffrey Biggs