using sysml in an rtc-based robotics application

25
SysML使ったRTC開発 : 事例と 平鍋健児(Change Vision, Inc) 安藤慶昭(産総研)

Upload: kenji-hiranabe

Post on 10-May-2015

7.584 views

Category:

Technology


4 download

DESCRIPTION

My presentation on 12/8, 2012, at OMG Robotics Meeting

TRANSCRIPT

Page 1: Using SysML in an RTC-based Robotics Application

SysMLを使ったRTCベースのロボットアプリケーション開発 :

事例ケースタディとデモ

平鍋健児(Change Vision, Inc)

安藤慶昭(産総研)

Page 2: Using SysML in an RTC-based Robotics Application

Agenda

•導入

•背景と目的

•例題

•分析と設計(デモ)

•結論

•将来へのアイディア

Page 3: Using SysML in an RTC-based Robotics Application

自己紹介

• 平鍋健児, 株式会社チェンジビジョン

• Astah(UMLエディタ)の開発

• Astah/SysML

–現在開発中(プロトタイプ)

– 「使いやすさ」と「Web共有」に焦点

• RTC plug-in

– Astah/SysMLのプラグイン。RTC仕様のRTC.xmlを生成。OpenRTMへ。

Page 4: Using SysML in an RTC-based Robotics Application

プロジェクトメンバー

Honda R&D Team

安藤慶昭

平鍋健児

岩永寿来

岡村敏弘

関谷眞

原功

鳥井豊隆

SysML to RTC1 2 OpenRTM to Honda RTM

Geoffrey Biggs

Page 5: Using SysML in an RTC-based Robotics Application

背景と目的

• 簡単な例題を使って、SysMLがコンポーネントベース(RTC)のロボットアプリケーションの有

効性を評価する。

• 1つの共通モデルが、複数のRTM実装で動作

することを実証実験。– OpenRTM-aist

– Honda R&D RTM

SysML to RTC1

2 OpenRTM to Honda RTM

Page 6: Using SysML in an RTC-based Robotics Application

�自律ロボットを遠隔操作し、2つの動き (Spiral と Back-and-

Forth) をさせる。Operatorは自律

モードとデモモード切り替えることができる。�ハードウェアアーキテクチャはあらかじめ決まっている。PCを乗せたRoombaを、Wi-Fi通信で、Kinectを使ってモードスイッチする。

問題記述

kinect

OperatorController PC

Receiver PC

Roomba

Wi-Fi

Page 7: Using SysML in an RTC-based Robotics Application

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

Page 8: Using SysML in an RTC-based Robotics Application

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.

Page 9: Using SysML in an RTC-based Robotics Application

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

Page 10: Using SysML in an RTC-based Robotics Application

分析と設計(Astahモデル)

Page 11: Using SysML in an RTC-based Robotics Application

Overview

Page 12: Using SysML in an RTC-based Robotics Application

req [コア要求(問題文)]

Page 13: Using SysML in an RTC-based Robotics Application

req [派生要求]

Page 14: Using SysML in an RTC-based Robotics Application

req [Robotへの要求]

Page 15: Using SysML in an RTC-based Robotics Application

req [Controllerへ要求]

Page 16: Using SysML in an RTC-based Robotics Application

uc [デモユースケース]

Page 17: Using SysML in an RTC-based Robotics Application

bdd [コンテキスト図]

Page 18: Using SysML in an RTC-based Robotics Application

bdd [システム概要]

Page 19: Using SysML in an RTC-based Robotics Application

ibd [デモシステム]

Page 20: Using SysML in an RTC-based Robotics Application

ibd [robot物理構造]

Page 21: Using SysML in an RTC-based Robotics Application

ibd [controller物理構造]

Page 22: Using SysML in an RTC-based Robotics Application

stm [controller状態遷移]

Page 23: Using SysML in an RTC-based Robotics Application

結論

• SysMLの“Block”が、RT-Componentにうまくマッピングする。

• <<Satisfy>> 関係を「要求」と「コンポーネント」の間に引くことで、コンポーネントの実装意図を理論的に表現できた。

• 使い勝手のよいツール(Astah/SysML)がモデリングの有効性を加速する。

• 地理的に分散したチームが、Web-baseのツール(Astah/share)でモデル共有し、コミュニケーション、レビューできた。

Page 24: Using SysML in an RTC-based Robotics Application

将来へのアイディア

• リアルタイム性(時間概念)をモデルに表現する。

• Safety Case/D-Case の安全性論証モデルを、SysMLのモデルと融合させる。

• トレーサビリティ、インパクト分析を要求とコンポーネントの間(双方向)でツールに実装する。

Page 25: Using SysML in an RTC-based Robotics Application

Thank You !

Honda R&D Team

Noriaki Ando

Kenji Hiranabe

Toshiki Iwanaga

Toshihiro Okamura

Makoto Sekiya

Isao Hara

Toyotaka Torii

Geoffrey Biggs