14. モデルベース・ロボット開発のトレーサビリティ(プロセス,アクティビティ ‐ ドキュメント,タスク ‐ モデル,技法)
アクティビティと,
作成するドキュメント タスクと, 定義するモデル(主にSysML)
シ <目的> <機能> <文脈>
ス
システム ドメイン ミッション要求 ユースケース
ユ スケ ス アクティビティ
テ 要求定義 (ブロック定義図) (要求図) (ユースケース図) (アクティビティ図)
ム
組 エ
込み ン D D
ジ
ニ 機能安全
ソ ア リスク ハザード 安全ゴール 機能安全要求
フ リ 要求定義
ト ン
ウ グプ
ェア A <事象> A C <責務> <構造> A
ロ システム
コンテキスト 状態遷移 論理構成 論理内部ブロック
開 セ アーキテクチャ
発 (内部ブロック図) (状態遷移図) (ブロック定義図) (内部ブロック図)
ス 設計
プ
ロセ ソ <責務>
<目的> <機能> <文脈>
ス フ
ガ ト ソフトウェア ドメイン 要求 ユースケース アクティビティ
イ ウ 要求定義 (ブロック定義図) (要求図) (ユースケース図) (アクティビティ図)
ド ェ
ライ アエ <責務>
A B <データ A
> <事象> A C
ン ン ソフトウェア
(E ジ RTコンポーネント インタフェース 状態遷移
ニ アーキテクチャ
(内部ブロック図) (ブロック定義図) (状態遷移表)
S ア 設計
PR リ
) IEC61508 3 SIL3 で推奨される技法
IEC61508‐3 SIL3
ン
グ Technique and measures Detailed
Block diagrams
プ ソフトウェア デバイス依存 A Semi‐formal methods Sequence diagrams
ロ 詳細設計 処理の詳細 Finite state machines
セス B Modular approach
pp
Finite state machines
< > :下流方向のトレーサビリティで追加される情報 C Simulation/modeling Performance modeling
:開発の流れとトレーサビリティ Fault tree analysis
D Failure analysis FMEA
15. ミッション要求(SysML 要求図)
req [Pa ck a g e] Dep end a b leBa s e [03 Mis s ion Req uirement s ]
<<requirement>>
Prov id e d ep end a b le mob ilit y
not es
The robot base shall be capable of moving in 2 dimensions on a road-like
surface. It shall provide this motion service to the utilising entity and allow the
utilising entity to control it. It shall avoid collisions with static and dynamic
obstacles where possible and when a collision is inevitable it shall attempt to
minimise damage. It shall be safe even in the case of internal system failures.
<<requirement>>
q <<requirement>>
Mob ilit y Dep end a b ilit iy
not es not es
The robot shall move in two The robot shall avoid collisions where possible, and attempt to
dimensions. The motion shall be minimise damage when a collision is inevitable. It shall be safe
controlled by the utilising even in the event of internal errors. The robot shall not move in
entity. an unsafe manner.
<<deriveReqt>> <<deriveReqt>>
<<deriveReqt>> <<deriveReqt>>
<<requirement>>
F orwa rd /rev ers e <<requirement>>
Rot a t ion <<requirement>> <<requirement>>
mot ion E merg ency s t op Int erna l error
d e t e c t ion
not es not es
The robot shall be able to not es
The robot shall be The robot shall provide a not es
capable of moving rotate both on the spot
and while moving. facility and interface to The robot shall be
forwards and backwards.
backwards immediately halt all
i di t l h lt ll capable of detecting
<<deriveReqt>> motion. internal errors.
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>> <<deriveReqt>>
<<requirement>> <<deriveReqt>>
S t op <<requirement>> <<requirement>> <<requirement>> <<requirement>> <<requirement>>
C onfined s pa ce E x t erna l cont rol S peed limit ing Ob s t a cle Report current s a fet y
mot ion collis ion s t a t us
p re v e n t ion
not es
The robot shall be able to not es not es
stop. not es The robot's motion shall The robot shall limit its not es
The robot shall be be controlled by the maximum speed so as to not es The robot shall report its current
capable of entering utilising entity. not allow unsafe motion. The robot shall prevent status, including detected errors,
confined spaces.
spaces collisions wherever current speed limits, sensor
t d li it
possible. statuses, etc.
<<deriveReqt>> <<deriveReqt>> <<deriveReqt>>
<<requirement>> <<requirement>> <<deriveReqt>> <<deriveReqt>>
C omma nd s t a t us Res t rict cont rols
<<requirement>>
C ollis ion prev ent ion s t ra t eg y <<requirement>>
not es not es Ob s t a cle det ect ion
The robot shall report whether The robot shall refuse to perform
a command was successfully motion commands that would
executed or not. conflict with the safety goals. not es
When
Wh an obstacle appears within a given range, the
b t l ithi i th not es
<<deriveReqt>> robot shall limit its speed. When an obstacle moves into The robot shall detect obstacles.
a closer range, the robot shall halt all motion. When the
<<requirement>> robot detects contact with an obstacle, it shall halt all
<<deriveReqt>> Report mot ion s t a t us motion.
not es
The robot shall report its current <<deriveReqt>>
motion status, including speed.
<<deriveReqt>>
<<deriveReqt>> <<deriveReqt>> <<deriveReqt>>
<<requirement>>
<< i t>> <<requirement>>
<< >> <<requirement>>
Ov erride s a fet y res t rict ions C ont a ct ing obs t a cle Dis t a nt ob s t a cle
d e t e c t ion d e t e c t ion
not es
The utilising entity shall be capable of not es not es
overriding halted motion to allow restricted The robot shall detect contact with
2012/03/19 motion even in the presence of a close
obstacle.
obstacles.
The robot shall detect
obstacles at a distance
and measure the distance
14
to them.
16. ミッションユースケース(ユースケース図)
uc [Pa c k a g e] Depe nd a b leBa s e [04 Mis s ion u s e c a s e s ]
Dependable mobile robot base
Class:Dependable mobile robot base
Mov e forwa rd s
a n d b a c k wa rds
<<include>>
Rot a t e
<<include>> <<block,external>>
Mov e Roa d
<<include>>
<<include>> S t op
Mov e
de pe nd a b ly
Det ec t
in t e rna l e rrors Av oid Det ect obs t a c les a t a
collis ions <<include>> dis t a nc e
<<include>>
<<include>>
<<include>>
C ont rol mot ion Minimis e
Ma in t a in <<block,external>>
s a fet y c ollis ion Ob s t a c le
<<include>> d a ma g e
<<include>>
De t ec t
<<extend>> Ov e rride s a fe t y <<extend>> cont a ct in g
res t ric t ions obs t a c les
Limit mot ion
s p ee d
Ut ilis ing e nt it y
E x e cu t e When motion is restricted
emerg e nc y s t op by safety concerns, the
When the robot's safety is jeopardized, the speed of motion should
user will initiate an
be limited.
override.
Re port Re port s a fet y
s t a t us es s t at us
Rep ort mot ion
st at us
Rep ort
comma n d
s t at us
15
17. 論理内部ブロック図(SysML 内部ブロック図)
ib d [Pa ck a g e ] Wheelc ha ir [119 Wheelcha ir log ica l int erna l block d ia g ra m]
: DependableWheelchairRobot
: ObstacleSensor Left : LogicalController Right : DriveUnit
<<flowPort>>
<<fl P >> O : <<flowPort>> Resolver
<<flowPort>> O : ObstacleInformation :Angle
ObstacleInformation
<<flowPort>> Encoder :
<<flowPort>> S : <<flowPort>> SS : Angle
SensorStatus SensorStatus <<flowPort>> Encoder :
Angle
EmergencyStop
<<flowPort>> B :BrakeStatus
MotionCommand
<<flowPort>> Resolver :Angle
Override
<<flowPort>> M :
MotionStatus <<flowPort>>
TorqueControl :
StatusInformation Current
StatusInformation
<<flowPort>> MS :
MotionStatus
EmergencyStop
: UserInterfaceUnit <<flowPort>> Resolver <<flowPort>> B
:Angle :BrakeStatus <<delegate>>
BrakeControl
MotionCommand
Left D i U it
L ft : DriveUnit
<<flowPort>> B :
Override BrakeStatus
MotionCommand <<flowPort>> R :Angle BrakeControl
: Brake <<delegate>>
EmergencyStop EmergencyStop : ElectricMotor
<<delegate>>
Override BrakeControl
<<flowPort>> Control
Override MotionCommand :Current
<<flowPort>> <<flowPort>> T :
TorqueControl : Torque
<<flowPort>> MS : Current
MotionStatus <<flowPort>> T
<<flowPort>> M : :Torque
StatusInformation <<flowPort>> T
MotionStatus :Torque
<<delegate>> : Wheel
StatusInformation
<<flowPort>> BrakeT :
Torque
EmergencyStop EmergencyStop : Encoder
<<flowPort>> <<flowPort>> T
Tout :Torque :Torque
<<flowPort>> FOut
:Force
<<flowPort>> A :Angle
<<flowPort>> Encoder :
<<flowPort>> Angle
FOut :Force
2012/03/19 <<flowPort>> 16
F :Force
18. 論理コンポーネント図(SysML 内部ブロック図)
ibd [Pa ck a g e ] Whe e lc h a ir [12 0 Log ica l c ont rolle r in t e rn a l block d ia g ra m]
Left : LogicalController
: SafetyMonitor : PartnerMonitor
<<flowPort>> Theirs : <<flowPort>> Theirs :
PartnerStatus PartnerStatus
<<flowPort>> Mine : <<flowPort>> Mine :
<<flowPort>> O : PartnerStatus PartnerStatus
ObstacleInformation
<<flowPort>> O :
ObstacleInformation
<<flowPort>> SS : <<flowPort>> SS : UserInterfaceController
SensorStatus :SensorStatus <<delegate>> StatusInformation
<<flowPort>> Mine :
<<flowPort>> Encoder : <<flowPort>> Encoder : Override PartnerStatus
Angle Angle EmergencyStop Override StatusInformation
MotionCommand <<flowPort>> MO :
<<flowPort>> B <<flowPort>> BS : MotionStatus <<flowPort>> M :
:BrakeStatus BrakeStatus MotionStatus
EmergencyStop
<<flowPort>> M : MotionCommand
MotionStatus SafeMotionCommand
<<flowPort>> SL : MotionCommand
SafetyLevel
Override
EmergencyStop
g y p
<<flowPort>> SL : MotionCommand
SafetyLevel
<<delegate>>
SafeMotionCommand MotionCommand
: CommandProcessor
Override
: MotorController EmergencyStop
MotionCommand
<<flowPort>> C :
MotorControlSignal <<flowPort>> C :
MotorControlSignal
<<flowPort>> R :Angle
<<flowPort>> M :
MotionStatus <<flowPort>> Control :Current
2012/03/19 <<flowPort>> Resolver :Angle <<flowPort>> TorqueControl :Current 17