...

【講演7】 電動車椅子ロボット開発へのTERAS活用

by user

on
Category: Documents
5

views

Report

Comments

Transcript

【講演7】 電動車椅子ロボット開発へのTERAS活用
平成24年3月19日
第1回 TERAS成果報告会
電動車椅子ロボット開発への
TERAS活用
S活用
(独)産業技術総合研究所
知能システム研究部門
主任研究員
2012/03/19
中坊 嘉宏
0
来場者 の事前アンケ ト結果
来場者への事前アンケート結果
質問: 「関心のある項目にチェックしてください(複数回答可)」
0
50
100
150
200
(人)
250
機能安全への対応
機能安全への対応
効果的なトレーサビリティ活用法
効果的なトレーサビリティ活用法
TERASツールの導入/運用方法
既存ツールのTERAS対応
その他
TERAS事務局提供
事務 提供
2012/03/19
1
発表概要
• なぜ機能安全が必要か?
• なぜトレーサビリティが有効か?
• TERASの活用方法
サービスロボット
(生活支援 ボ ト)開発
(生活支援ロボット)開発
2012/03/19
2
生活支援 ボ
生活支援ロボット
‐ 社会背景
• ロボットがサービスを支える
• 生活支援ロボットの市場創造
生活支援ロボ トの市場創造
2025年
労働力人 1)
労働力人口
(15才~64才)
6 770万人
6,770万人
6 300万人
6,300万人
▲470万人
高齢者人 2)
高齢者人口
(65才~)
2 539万人
2,539万人
3 472万人
3,472万人
933万人
発生するギャップ
出典:
2012/03/19
増減
2005年
1 403万人
1,403万人
1) 厚生労働省職業安定局推計(2002年7月)
2) 国立社会保障・人口問題研究所「日本の将来推計人口」(2002年1月)
3
国際安全規格 ‐ 導入の背景
・ 企業や国は,安全の全責任を負えるか?
企業や国は 安全の全責任を負えるか?
安全への
要求の増大
販売
製造物責任
一般消費者
生産者
ロボットメーカー
販売
責任
信頼
(ブランド)
信頼
(適合マーク)
責任分担構造
生産者
ロボットメーカー
認証機関
(第三者機関)
規格適合性認証
一般消費者
般消費者
企業ブランドに頼る方法
安全規格(ISO/IEC →JIS)
• 現状の製品では十分
• では今後の製品では?
• 例えば自動運転車は可能?
EUなどは特に積極的に推進,TBT協定
2012/03/19
4
4
取り組み例 「NEDO生活支援ロボ ト実用化PJ」
取り組み例:「NEDO生活支援ロボット実用化PJ」
ISO TC184/SC2/WG7で規格策定中
ISO TC184/SC2/WG7で規格策定中
生活支援ロボット安全検証センター
生活支援
ボット安全検証センタ
必要な試験をワンストップで実施可能な
検証拠
検証拠点
2012/03/19
障害物接近再現装置
パッシブダミー
5
IEC61508機能安全の要求プロセス
(≒ ウォーターフォール開発モデル)
ウ
タ
開発 デ )
• V字モデル開発
2012/03/19
• 全安全ライフサイクル
6
先行開発のプロセス
= 試行錯誤・繰り返し
試行錯誤 繰り返し
• アジャイル開発
• スパイラル開発
⁻ 動けばOK
⁻ 開発チームの技量に依存
⁻ 至高の極致
2012/03/19
プロトタイプ
分析
設計
評価
7
ロボットソフトウ ア開発の課題
ロボットソフトウェア開発の課題
• 機能安全プロセスに多大な工数がかかる
– 大量のドキュメント..ガイドラインの必要性
– 開発,管理ツールの整備
開発,管理ツ ルの整備
• 先行開発と量産開発のギャップ
先行開発と量産開発 ギ
プ
– 開発が属人的
– 品質の確保
– 要求
要求・設計・実装・テストの整合性
設計 実装 テストの整合性
2012/03/19
8
解決策(機能安全)
• 全て新規ではなく,再利用する
• コンポーネントの組み合わせで作る
RTミドル
ウエア
• プラットフォームを活用する
プ
• モデルベース開発を導入する → SysML
2012/03/19
9
解決策(先行開発)
• 設計図を基にプラモデルを作ることは容易
• ならば,先行開発で設計図が作れればよい
→ トレーサビリティ
→ トレーサビリティ
2012/03/19
10
研究の目標
• 設計図の設計図を作り,変更の影響を制御可能に
– 各工程で設計する項目,ドキュメント,モデルを
各 程で設計する項目 ドキ メント
デルを
あらかじめ定義しておく
– 定義したプロセス,アクティビティ,タスクとその成
果物のトレ サビリティをとる
果物のトレーサビリティをとる
– 変更があった際に影響範囲を検索し、そのタスク
情報を基に再計画する
→ ウォーターフォール開発に移行しやすい環境づくり
2012/03/19
11
実証検証
• 電動車椅子ロボット開発に適用して有効性を検証
電動車椅
ボ
適
有効性を検証
(ROBOMEC2012@5月,浜松にて関連発表数件)
安全を実現する冗長構成
長
2012/03/19
12
モデルベース・ロボット開発のトレーサビリティ(プロセス,アクティビティ ‐ ドキュメント,タスク ‐ モデル,技法)
アクティビティと,
作成するドキュメント
タスクと, 定義するモデル(主にSysML)
ソフトウェアエンジニアリングプロセス
組込みソフトウェア開発プロセスガイドライン(
ESPR)
システムエンジニアリングプロセス
<目的>
ドメイン
(ブロック定義図)
システム
要求定義
D
ミッション要求
(要求図)
ユ スケ ス
ユースケース
(ユースケース図)
アクティビティ
(アクティビティ図)
ハザード
安全ゴール
機能安全要求
D
機能安全
要求定義
リスク
<事象> A C
A
システム
アーキテクチャ
設計
コンテキスト
(内部ブロック図)
<責務>
状態遷移
(状態遷移図)
<目的>
ソフトウェア
要求定義
ドメイン
(ブロック定義図)
A B
ソフトウェア
アーキテクチャ
設計
<文脈>
<機能>
論理構成
(ブロック定義図)
<機能>
要求
(要求図)
<データ> A
RTコンポーネント
(内部ブロック図)
<構造> A
論理内部ブロック
(内部ブロック図)
<責務>
<文脈>
ユースケース
(ユースケース図)
アクティビティ
(アクティビティ図)
<責務>
<事象> A C
インタフェース
(ブロック定義図)
状態遷移
(状態遷移表)
IEC61508 3 SIL3 で推奨される技法
IEC61508‐3 SIL3
Technique and measures
ソフトウェア
詳細設計
デバイス依存
処理の詳細
< > :下流方向のトレーサビリティで追加される情報
:開発の流れとトレーサビリティ
A
Semi‐formal methods
B
Modular approach
pp
C
Simulation/modeling
D
Failure analysis
Detailed
Block diagrams
Sequence diagrams
Finite state machines
Finite state machines
Performance modeling
Fault tree analysis
FMEA
ミッション要求(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
Mob ilit y
<<requirement>>
Dep end a b ilit iy
not es
The robot shall move in two
dimensions. The motion shall be
controlled by the utilising
entity.
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
F orwa rd /rev ers e
mot ion
<<deriveReqt>>
not es
The robot shall avoid collisions where possible, and attempt to
minimise damage when a collision is inevitable. It shall be safe
even in the event of internal errors. The robot shall not move in
an unsafe manner.
not es
The robot shall be
capable of moving
forwards and backwards.
backwards
not es
The robot shall be able to
rotate both on the spot
and while moving.
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
S t op
not es
The robot shall be able to
stop.
<<requirement>>
E x t erna l cont rol
<<deriveReqt>>
not es
The robot shall provide a
facility and interface to
i
immediately
di t l halt
h lt allll
motion.
not es
The robot shall be
capable of detecting
internal errors.
<<requirement>>
Report current s a fet y
s t a t us
not es
The robot shall report its current
status, including detected errors,
currentt speedd limits,
li it sensor
statuses, etc.
not es
The robot shall prevent
collisions wherever
possible.
<<deriveReqt>>
<<requirement>>
Res t rict cont rols
not es
The robot shall refuse to perform
motion commands that would
conflict with the safety goals.
not es
The robot shall report whether
a command was successfully
executed or not.
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
Ob s t a cle
collis ion
p re v e n t ion
not es
The robot shall limit its
maximum speed so as to
not allow unsafe motion.
<<deriveReqt>>
<<requirement>>
C omma nd s t a t us
<<deriveReqt>>
<<requirement>>
Report mot ion s t a t us
not es
The robot shall report its current
motion status, including speed.
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
C ollis ion prev ent ion s t ra t eg y
not es
When an obstacle
Wh
b t l appears within
ithi a given
i
range, the
th
robot shall limit its speed. When an obstacle moves into
a closer range, the robot shall halt all motion. When the
robot detects contact with an obstacle, it shall halt all
motion.
<<requirement>>
Ob s t a cle det ect ion
not es
The robot shall detect obstacles.
<<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
<<
i
t>>
Ov erride s a fet y res t rict ions
2012/03/19
<<requirement>>
Int erna l error
d e t e c t ion
<<requirement>>
S peed limit ing
not es
The robot's motion shall
be controlled by the
utilising entity.
not es
The robot shall be
capable of entering
confined spaces.
spaces
<<deriveReqt>>
<<requirement>>
E merg ency s t op
<<deriveReqt>>
<<requirement>>
C onfined s pa ce
mot ion
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
Rot a t ion
not es
The utilising entity shall be capable of
overriding halted motion to allow restricted
motion even in the presence of a close
obstacle.
<<deriveReqt>> <<deriveReqt>>
<<requirement>>
<<
>>
C ont a ct ing obs t a cle
d e t e c t ion
not es
The robot shall detect contact with
obstacles.
<<requirement>>
Dis t a nt ob s t a cle
d e t e c t ion
not es
The robot shall detect
obstacles at a distance
and measure the distance
to them.
14
ミッションユースケース(ユースケース図)
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>>
Mov e
<<include>>
<<include>>
<<block,external>>
Roa d
S t op
Mov e
de pe nd a b ly
Det ec t
in t e rna l e rrors
Av oid
collis ions
<<include>>
<<include>>
C ont rol mot ion
Ma in t a in
s a fet y
<<include>>
<<extend>>
Ov e rride s a fe t y
res t ric t ions
Det ect obs t a c les a t a
dis t a nc e
<<include>>
Minimis e
c ollis ion
d a ma g e
<<include>>
<<extend>>
<<include>>
<<block,external>>
Ob s t a c le
De t ec t
cont a ct in g
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
emerg e nc y s t op
Re port
s t a t us es
When motion is restricted
by safety concerns, the
user will initiate an
override.
When the robot's safety is jeopardized, the speed of motion should
be limited.
Re port s a fet y
s t at us
Rep ort mot ion
st at us
Rep ort
comma n d
s t at us
15
論理内部ブロック図(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
Right : DriveUnit
Left : LogicalController
<<fl P >> O :
<<flowPort>>
ObstacleInformation
<<flowPort>> Encoder :
<<flowPort>> SS :
Angle
SensorStatus
<<flowPort>> O :
ObstacleInformation
<<flowPort>> S :
SensorStatus
<<flowPort>> Resolver
:Angle
<<flowPort>> Encoder :
Angle
EmergencyStop
<<flowPort>> B :BrakeStatus
MotionCommand
<<flowPort>> Resolver :Angle
Override
<<flowPort>> M :
MotionStatus
<<flowPort>>
TorqueControl :
Current
StatusInformation
StatusInformation
<<flowPort>> MS :
MotionStatus
EmergencyStop
: UserInterfaceUnit
<<flowPort>> B
:BrakeStatus
<<flowPort>> Resolver
:Angle
MotionCommand
EmergencyStop
<<flowPort>> B :
BrakeStatus
<<flowPort>> R :Angle
<<delegate>>
Override
<<flowPort>> M :
MotionStatus
BrakeControl
L ft : DriveUnit
Left
D i U it
Override
MotionCommand
<<delegate>>
: ElectricMotor
EmergencyStop
Override
MotionCommand
: Brake
BrakeControl
<<flowPort>> Control
:Current
<<flowPort>>
TorqueControl :
Current
<<flowPort>> MS :
MotionStatus
<<flowPort>> T :
Torque
<<flowPort>> T
:Torque
<<flowPort>> T
:Torque
StatusInformation
BrakeControl
<<delegate>>
: Wheel
<<delegate>>
StatusInformation
<<flowPort>> BrakeT :
Torque
EmergencyStop
EmergencyStop
: Encoder
<<flowPort>>
Tout :Torque
<<flowPort>> FOut
:Force
<<flowPort>> T
:Torque
<<flowPort>> A :Angle
<<flowPort>>
FOut :Force
2012/03/19
<<flowPort>>
F :Force
<<flowPort>> Encoder :
Angle
16
論理コンポーネント図(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 :
PartnerStatus
<<flowPort>> Theirs :
PartnerStatus
<<flowPort>> Mine :
PartnerStatus
<<flowPort>> Mine :
PartnerStatus
<<flowPort>> O :
ObstacleInformation
<<flowPort>> O :
ObstacleInformation
<<flowPort>> SS :
SensorStatus
<<flowPort>> Encoder :
Angle
<<flowPort>> B
:BrakeStatus
<<flowPort>> SS
:SensorStatus
<<flowPort>> Encoder :
Angle
: UserInterfaceController
<<delegate>>
StatusInformation
<<flowPort>> Mine :
PartnerStatus
Override
EmergencyStop
MotionCommand
StatusInformation
Override
<<flowPort>> MO :
MotionStatus
<<flowPort>> BS :
BrakeStatus
<<flowPort>> M :
MotionStatus
EmergencyStop
<<flowPort>> M :
MotionStatus
MotionCommand
SafeMotionCommand
<<flowPort>> SL :
SafetyLevel
MotionCommand
Override
EmergencyStop
g
y
p
<<flowPort>> SL :
SafetyLevel
MotionCommand
<<delegate>>
: CommandProcessor
MotionCommand
Override
SafeMotionCommand
EmergencyStop
: MotorController
MotionCommand
<<flowPort>> C :
MotorControlSignal
<<flowPort>> C :
MotorControlSignal
<<flowPort>> R :Angle
<<flowPort>> M :
MotionStatus
2012/03/19
<<flowPort>> Resolver :Angle
<<flowPort>> Control :Current
<<flowPort>> TorqueControl :Current
17
トレ サビリティの表示(TERAS)
トレーサビリティの表示(TERAS)
18
ム ビ 1:「ドキュメントトレ サビリティ」
ムービー1:「ドキュメントトレーサビリティ」
2012/03/19
19
ムービー2:
ム
ビ 2: 「下流影響範囲の検索」の具体例
2012/03/19
20
まとめ
• 先行開発から量産開発へスムースにつなぎ,
機能安全に対応するためのトレ サビリティ
機能安全に対応するためのトレーサビリティ
(TERAS)の有効性が見えてきた
• 何のために,何のトレーサビリティをとるのか
が重要
• 説明力の向上には,さらに工夫が必要
説明力の向上には さらに工夫が必要
• トレーサビリティツールは「知の道具」
トレ サビリティツ ルは「知の道具」
2012/03/19
21
ご清聴ありがとう
ございました
2012/03/19
22
Fly UP