Upload
keiju-anada
View
2.801
Download
2
Embed Size (px)
Citation preview
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
トークライブト クライブ
2012年5月11日
キ ブESEC2012 キャッツブース
安心・安全・心地よい社会のために
近年、製品の安全への関心が高まっています。
安全、安心を実現する高信頼なソフトウェアを開発するには、
私たち開発者は 何をどのように取り組んだらよいのでし うか私たち開発者は、何をどのように取り組んだらよいのでしょうか。
このトークライブでは産業技術総合研究所で開発している
電動車椅子ロボットを題材に 安全を支える技術のいくつか電動車椅子ロボットを題材に、安全を支える技術のいくつか
について、トークライブ形式でポイントを紹介します。
安心・安全・心地よい社会のために
(2)(2)システムシステム
1)D-Caseでロジカルに。重要性が増す安全性の説明松野裕 (名古屋大学)
システムシステム冗長構成冗長構成 2)現実的な冗長構成と安全監視ソフトウェア
藤原清司(産業技術総合研究所)
(3)(3)システムシステム安全分析安全分析
(6)(6)ソフトウェアソフトウェア安全設計安全設計(1)(1)
3)おさえるべきはここ! 安全分析の実際水口大知(産業技術総合研究所)
( )( )ディペンダブルディペンダブル
ケースケース
4)実機で納得!電動車椅子のSysMLモデリングGeoffrey Biggs(産業技術総合研究所)
5)高信頼と生産性を両立させるミドルウ ア
(5)(5)安全安全
(4)(4)システムシステム
5)高信頼と生産性を両立させるミドルウェア中本啓之(株式会社セック)
6)安全管理ソフトウェアを検証せよ!安全安全ミドルウェアミドルウェア
システムシステムモデリングモデリング
6)安全管理ソフトウェアを検証せよ!穴田啓樹(キャッツ株式会社)
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
1) D-Caseでロジカルに1) D-Caseでロジカルに
重要性が増す安全性の保証
名古屋大学名古屋大学
情報連携統括本部
情報戦略室
松野裕松野裕
生活支援ロボットの実用化に向けて
• 介護などで役に立つ生活ロボットが多く開発されています
例)産総研で開発中の自動椅子ロボット
• 普及へ向けて多くの課題があります普及 向けて多くの課題があります
– 私達の身の回りで使われるので、
安全性がとても大事です安全性がとても大事です
– しかし新しい分野なので
ノウハウが蓄積されていません
– 国際規格もできはじめたばかりです国際規格もできはじめたばかりです
生活支援ロボットの安全性保証
• 生活ロボットの普及には、利用者に安全性をきちんと
理解してもらう必要があります理解してもらう必要があります
• 例えば、以下のことが必要です
–きちんと設計されていること
S MLによるモデリング• SysMLによるモデリング
–きちんとテストや検証して開発されていること
–国際規格に適合していること安全性などをきちんと説明することを安 性な をきち 説明する を保証(Assurance)といいます。今、ロボットの安全性保証が強く望まれています。
絶対に安全なロボット?絶対に安全なロボット?• 残念ながら、そんなロボットは作れません。。
• ではどうすればよいか?
–起こりうる危険なこと、故障をきちんと予測する起こりうる危険なこと、故障をきちんと予測する
• リスク分析、ハザード分析、…
危険な と 故障に対処 き ように きちんと ボ ト–危険なこと、故障に対処できるように、きちんとロボット
を作る
• 故障検知、冗長構成、セーフティモニタ状態遷移、…
D-Case(ディペンダビリティ・ケース): 安全性 デ ペ ダビリテ を保証するための安全性・ディペンダビリティを保証するためのツール
安全性ゴール
エビデンス
http://www.il.is.s.u‐tokyo.ac.jp/deos/dcase/
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
2) 現実的な冗長構成と2) 現実的な冗長構成と
安全監視ソフトウェア
(独)産業技術総合研究所(独)産業技術総合研究所
主任研究員主任研究員
藤原清司
冗長構成とその問題点冗長構成とその問題点
• 通常の系統と予備系統による判定器 判定器多数決?
通常の系統と予備系統による構成– 内部状態の転送判定器
故障しているのは判定器自身かも?
切替器の
替
判定器
切替器の切替器の判定器?
– 切替器の故障
– 判定器の故障故障判定器の故障は誰が判定す
切替器切替器の予備? 切替器の
切替器?
替器判定器?
• 故障判定器の故障は誰が判定するのか?
– 予備系統の待機中故障
制御系(通常)
出力内部状態の転送
切替器?
• システム肥大化の恐れ– コストアップ
制御系(予備)
出力内部状態の転送
切り替えてみたら– 信頼性がかえって低下制御系
(予備の予備?)
切り替えてみたら故障していたり?予備系の
判定器?
安全側故障と停止のための構成安全側故障と停止のための構成
• 停止によって安全が確保でき意見の不 致 停止によって安全が確保できるのであれば、簡素な構成が可能安全信号 遮断器
(A)
自己診断動作接点溶着の検出
意見の不一致
– 複数制御系の常時稼働• 内部状態の転送不要
• 待機中故障の検出
制御系(A)
相 監視
(A)
出力(A) • 待機中故障の検出
– 切替ではなく遮断
– 不一致による判定制御系(B)
相互監視
出力(B)
( )
致 定• または自己診断による異常申告
– 遮断器の故障診断強制接点ガイドリレ
(B)
安全信号遮断器(B)
動力の遮断ブレーキ故障時に喪失
• 強制接点ガイドリレーブレ キ
安全信号遮断
故障時に喪失(安全側故障)
高信頼試作車両(車椅子ロボット)の構成高信頼試作車両(車椅子ロボット)の構成
• 2系統の制御系が相互監視• 2系統の制御系が相互監視左右の車輪に対応
• 制御系間はシリアル接続• 制御系間はシリアル接続帰還信号によるエラー耐性
セ サ 操作入力は多重化• センサ・操作入力は多重化双方の制御系が等しく入力を得る
• 異常を検知すると停車自己診断、他者診断、意見不一致、、 者 、 見 致、通信途絶…
単独での故障検出の例単独での故障検出の例
• 制御ソフトウェアがモジュールタイムアウトなどエラーを検知した場合制御ソフトウェアがモジュ ルタイムアウトなど ラ を検知した場合
制御系(右)
それはいけない!
制御系(右)
停車
遮断!
停車
遮断!遮断!
制御系(左)
何かおかしい!
相互監視による故障検出の例相互監視による故障検出の例
• ジョイスティックの一部が故障していた場合ジョイスティックの 部が故障していた場合
制御系(右)999
不一致!
制御系(右)999
9
停車
遮断!
どちらかが間違っている! 1
23
99
9 停車
遮断!
制御系(左)123 不一致!
遮断!
制御系(左)
安全は確保できる電気的に独立した
冗長回路どちらが間違っているかはわからないが……
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
3) おさえるべきはここ!3) おさえるべきはここ!
安全分析の実際
(独)産業技術総合 究所(独)産業技術総合研究所
研究員研究員
水口大知
生活支援ロボットと機能安全
・安全関連部の切り分けが困難・多様な機能、運用環境
生活支援ロボット安全検証センター パンフレットより抜粋
機能安全開発ロボット要求仕様書 ハザ ドハザ ドロボット要求仕様書
ロボットリスク分析ハザードハザード
&リスク分&リスク分析析
初期アーキテクチャ設計
機能仕様書
ハザード・リスク分析
析析
機能安全コンセプト
システム設計
技術安全コンセプト
ハードウェア設計
ハードウェア安全要求仕様
ソフトウェア設計
ソフトウェア安全要求仕様
ハザード&リスク分析
制御系不具合 操作者意図 運用状態・環境
故障分析 シチュエーション分析
「ブレ キが 「時速
Hazard Operational Situation
「ブレーキがきかない」
「停止」 「時速X 」、「前方に障害物」
p
Hazardous Event
「車両が速度超過」
Hazardous EventSeverity
リスク評価
「車両と障害物に挟まれる」
「回復可能」
「レベル3」(例)HarmLikelihood
リスク評価
ガ デ
「回避不可能」、
「よくある状況」
「レベル3」(例)
網羅性 → Systematicな手法 → 表・ガイドワード・モデルの活用分析対象の機能仕様が明確であることも重要
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
4) 実機で納得!4) 実機で納得!
電動車椅子のSysMLモデリングy
G ff BiGeoffrey Biggs
産業技術総合研究所産業技術総合研究所
知能システム研究部門
SysMLとは
• システム用のモデル言語
–設計
–分析
–検証
• UMLの拡張 UML SysMLUMLの拡張
–要求図
パラメトリック図
UML SysML
–パラメトリック図
• SysMLモデルに別言語やツールで作られたリソースも含める
SysMLでモデリングするメリット
• 情報交換をより公式情報交換をより公式
• ひとつのモデル、複数のツール
システムモデル(SysML)
• トレーサビリティ
ソフトウェアモデル(UML) ハードウェアモデル(Modelica)
要求→ユーズケース→設計→実装→テスト
• モデルの再利用
SysMLのプロセス:OOSEM
「Obj t O i t d S t E i i M th d• 「Object-Oriented Systems Engineering Method」
ソ トウ アのオブジ クト指向メソ ドとの類似方法• ソフトウェアのオブジェクト指向メソッドとの類似方法
システム分解とモデル再利用を奨励する• システム分解とモデル再利用を奨励する
S MLの利用を支える• SysMLの利用を支える
主要な図
要求図 ユ スケ ス図 ブロック図要求図 ユースケース図 ブロック図
アクティビティ図 ステートマシーン図 内部ブロック図
シーケンス図 パッケージ図 パラメトリック図
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
5) 安全性と生産性を両立する5) 安全性と生産性を両立する
ミドルウェア
株式会社セ ク株式会社セック
開発本部
第四開発部
中本啓之中本啓之
RTミドルウェアとは?
• RTミドルウェアとは、ロボットの部品化・共通化の技術
ド ウ 導入により 部品 再利用化が進む– RTミドルウェア導入により、部品の再利用化が進む
– RTミドルウェア導入により、部品調達のオープン化が進む
ボ ト開発の ストダウン 産業化のための技術→ロボット開発のコストダウン、産業化のための技術
ロボット部品ロボット部品RTC(Robot Technology Component)
RTCのフレームワーク、インタフ スをOMGで標準化インタフェースをOMGで標準化
機能安全対応RTミドルウェア
• 機能安全に対応した高信頼なRTミドルウェアの必要性生活支援分野などサ ビスロボ トにおける機能安全の必要性– 生活支援分野などサービスロボットにおける機能安全の必要性
– IEC61508、ISO26262、ISO13482など国際標準規格への対応の必要性要性
– 機能安全対応のためのコストダウン、安全モジュールの再利用による開発効率の向上による開発効率の向上
• IEC61508 SIL3準拠のRTミドルウェア「RTMSafety」を開発
機能安全対応RTミドルウェア
IEC61508機能安全規格に準拠した
安全認証取得RTミドルウェア
世界初の安全コンセプトをもったロボット用
ミドルウ ア
「RTMSafety」
ミドルウェア
IEC61508の製品認証(SIL3)を取得
ロボット用コンポ ネント(RTC)とCPU負荷を均 化ロボット用コンポーネント(RTC)とCPU負荷を均一化
するフレームワークを提供
RTCの生存状況を監視する機能(Safety Function
Library)を装備Library)を装備
GIOP / CDR準拠の軽量通信プロトコルを実装し、
様々なネットワークプロトコルに対応可能(Network
Protocol))
OpenRTM‐aistと連携する機能を搭載(RTM Safety
Bridge)
RTMSafetyシステム構成
RTコンポーネントフレームワーク
機能安全対応RTコンポーネント群
Middleware
Application 故障監視APL
機能安全
Kernel
RTコンポーネントフレームワーク
故障検出機能OS
機能安全ライブラリ OS抽象化層 N/W抽象化層
System Timer
故障検出機能
Hardware
機能安全の
認証済みの
ため、システ
ム全体の機
ROM
INTC
RAM
CPU BUSTimerTimer WDT
内蔵CLK
能安全対応コ
ストを抑える
ことが可能
Main CLK Ethernet CTL
Ethernet DD
電源 リセ ト
Sub CLK WDT
(周辺回路)
電源・リセット
:機能関連 :データ参照 :データ設定 :クロック供給
RTMSafetyの構成とメリット
RTC RTC RTC
非安全関連系
RTC RTC RTC
非安全関連系
エラーがエラーが伝搬しにくい
通常のRTC
動的システム
Communication middleware
LwRTC LwRTC LwRTC
Communication middleware
LwRTC LwRTC LwRTC
エラーがしない
エラーが伝搬しない
しにくい伝搬しにくいRTC システム
Certified real‐time OS
Lightweight RT‐Middleware
LwRTC LwRTC LwRTC
Communication middleware
Certified real‐time OS
Lightweight RT‐Middleware
LwRTC LwRTC LwRTC
Communication middleware
高信頼RTC
静的システム
Certified real‐time OS
安全関連系(要認証)
Certified real‐time OS
安全関連系(要認証)
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
6) 安全管理ソフトウェアを検証せよ!
キャ ツ株式会社キャッツ株式会社
プロダクト事業本部
穴田 啓樹
ibd [Package] Wheelchair [121 Wheelchair logical internal block diagram]
電動車椅子ロボットのシステム構成ibd [Package] Wheelchair [121 Wheelchair logical internal block diagram]
: DependableWheelchairRobot: ObstacleSensor
Left : LogicalController Right : DriveUnitO :ObstacleInformationO :ObstacleInformation Encoder :Angle Resolver:Angle
<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>>
SS :SensorStatusS:SensorStatus
B:BrakeStatus
Resolver:AngleEmergencyStop
MotionCommand
Encoder :Angle
TorqueControl :CurrentM :MotionStatus
<<flowPort>>
<<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>>
UserInterfaceUnit
Left : DriveUnit
: ElectricMotor: Brake
Override
TorqueControl :Current
TorqueControl :Current
StatusInformation
StatusInformation
B:BrakeStatus
B:BrakeStatusR :Angle
Resolver:Angle<<flowPort>> <<flowPort>>
fl P<<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>>
<<flowPort>> <<flowPort>>
: UserInterfaceUnit
: Wheel : Encoder
EmergencyStop
MotionCommand
Override
EmergencyStop
MotionCommand
EmergencyStop
Override EmergencyStop
MS :MotionStatus
BrakeT :Torque
T:Torque
BrakeControl
Control:Current<<flowPort>>
<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>>
<<delegate>>
<<delegate>><<delegate>>Override
MotionCommand
Override
MS :MotionStatusM :MotionStatus
EmergencyStop
EmergencyStop
FOut:Force
Tout :Torque
BrakeT :Torque
T:Torque T:TorqueA :Angle
Encoder :Angle
BrakeControl<<flowPort>>
<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>> g
<<delegate>>
<<delegate>>
StatusInformation
StatusInformation F :Force <<flowPort>>
de egate
※SysMLモデルをプレゼン用にPPTに書き起こしたもの
電動車椅子ロボットの安全走行
● Safety Monitor が外界を監視して安全レベルを決定● Safety Monitor が外界を監視して安全レベルを決定
● 安全レベル =「安全・注意・警告・危険(・故障)」● 安全レベル =「安全・注意・警告・危険(・故障)」
● Command Processor が安全レベルを考慮して● Command Processor が安全レベルを考慮して
目標速度を決定目標速度を決定
重視したこと
● 設計の意図を説明できること● 設計の意図を説明できること
● 状態遷移表で設計の抜け漏れを防ぐこと
● 実機の振る舞いを効率的に解析できること● 実機の振る舞いを効率的に解析できること
ソフトウェアコンポーネント構成ibd [Package] Wheelchair [120 Logical controller internal block diagram]
: SafetyMonitor : PartnerMonitor
Left : LogicalController
Theirs :PartnerStatus Theirs :PartnerStatus
<<flowPort>> <<flowPort>>
<<flowPort>> <<flowPort>>
: UserInterfaceController
O :ObstacleInformation
SS :SensorStatus
Mine :PartnerStatus Mine :PartnerStatusO :ObstacleInformation
Override
EmergencyStopStatusInformation
StatusInformation<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>> <<delegate>>
S f t M itBS :BrakeStatus
M :MotionStatus
Mine :PartnerStatus
MO :MotionStatusM :MotionStatus
SS :SensorStatusg y p
MotionCommand
OverrideEmergencyStop
MotionCommand
MotionCommand
OverrideEmergencyStop
<<flowPort>>
<<flowPort>>
<<flowPort>>
<<flowPort>> Safety Monitor
: MotorController
: CommandProcessor
Encoder :Angle
Encoder :Angle
SL :SafetyLevel
g y p
MotionCommand
OverrideEmergencyStop
MotionCommandSafeMotionCommand
SafeMotionCommand
<<flowPort>>
<<flowPort>>
<<flowPort>>
fl P t
<<flowPort>> <<delegate>>
SL :SafetyLevel C :MotorControlSignalM :MotionStatus
Control :Current
TorqueControl :CurrentResolver:AngleB:BrakeStatus
R :Angle
C :MotorControlSignal
MotionCommand
<<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>> <<flowPort>>
※SysMLモデルをプレゼン用にPPTに書き起こしたもの
赤線のコンポーネントは安全レベルを決定する SafetyMonitor
Safety Monitor の状態遷移表
ZIPC-RT http://www zipc com/special/zipc rt/
SafetyMonitor の振る舞いに抜け漏れがないことをレビューZIPC-RT http://www.zipc.com/special/zipc_rt/
障害物を検知して安全制御するしくみibd [Package] Wheelchair [120 Logical controller internal block diagram]
: SafetyMonitor : PartnerMonitor
Left : LogicalController
Theirs :PartnerStatus Theirs :PartnerStatus
<<flowPort>> <<flowPort>>
<<flowPort>> <<flowPort>>
セーフティモニタの決定を受け
● 注意状態では減速する
● 危険状態では停止する
: UserInterfaceController
O :ObstacleInformation
SS :SensorStatus
Theirs :PartnerStatus
Mine :PartnerStatus
Theirs :PartnerStatus
Mine :PartnerStatusO :ObstacleInformation
Override
EmergencyStopStatusInformation
StatusInformation<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>> <<delegate>>
● 危険状態では停止する
ように制御する。
: UserInterfaceController
BS :BrakeStatus
M :MotionStatus
Mine :PartnerStatus
MO :MotionStatusM :MotionStatus
SS :SensorStatusEmergencyStop
MotionCommand
OverrideEmergencyStop
MotionCommand
MotionCommand
OverrideEmergencyStop
<<flowPort>>
<<flowPort>>
<<flowPort>>
<<flowPort>>
: MotorController
: CommandProcessor
Encoder :Angle
Encoder :Angle
SL :SafetyLevel
EmergencyStop
MotionCommand
OverrideEmergencyStop
MotionCommandSafeMotionCommand
SafeMotionCommand
<<flowPort>>
fl
<<flowPort>> <<flowPort>>
<<delegate>>
SL :SafetyLevel C :MotorControlSignalM :MotionStatus
Control :Current
TorqueControl :CurrentResolver:AngleB:BrakeStatus
R :Angle
C :MotorControlSignal
MotionCommand
<<flowPort>>
<<flowPort>>
<<flowPort>> <<flowPort>>
<<flowPort>>
<<flowPort>>
qg<<flowPort>> <<flowPort>> <<flowPort>>
※SysMLモデルをプレゼン用にPPTに書き起こしたものアーキテクチャを説明できることを重視
例) 安全状態で遠くに障害物を検出した時
トレーサビリティツールを利用して
例) 安全状態で遠くに障害物を検出した時
要求を実現する構造・振る舞いを説明できるようにしたZIPC-RT http://www.zipc.com/special/zipc_rt/
設計カバレッジを確認
実機ログから設計網羅を確認して検証のエビデンスに利用した
ZIPC-RT http://www.zipc.com/special/zipc_rt/
まとめ (ポイント)
● アーキテクチャの説明にトレーサビリティを活用した● アーキテクチャの説明にトレーサビリティを活用した
● 状態遷移表で安全系の設計の抜け漏れを防いだ
● 実機の状態遷移を効率的に解析できるようにした● 実機の状態遷移を効率的に解析できるようにした
ディペンダブルソフトウェアDAYディペンダブルソフトウェアDAY
ご清聴ありがとうございましたご清聴ありがとうございました
■本発表の詳細は、5月27日~29日に開催される
日本機械学会ロボティクス・メカトロニクス講演会
2012で発表する予定です2012で発表する予定です。
■ご質問、ご相談は [email protected] へお願いします。■ご質問、ご相談は [email protected] お願いします。