JP2008093752A - ロボット制御システム - Google Patents
ロボット制御システム Download PDFInfo
- Publication number
- JP2008093752A JP2008093752A JP2006275599A JP2006275599A JP2008093752A JP 2008093752 A JP2008093752 A JP 2008093752A JP 2006275599 A JP2006275599 A JP 2006275599A JP 2006275599 A JP2006275599 A JP 2006275599A JP 2008093752 A JP2008093752 A JP 2008093752A
- Authority
- JP
- Japan
- Prior art keywords
- standby
- robot
- motion data
- local memory
- active
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】消費電力の低減、かつ、現用系と待機系のコンピュータユニットの安全な切り替えを可能にする冗長化方式を得る。
【解決手段】ロボットが実行可能な個々の作業に対し、待機系のコンピュータがホットスタンバイまたはコールドスタンバイのどちらで待機するかを示したリストを記憶させる。個々の作業の開始時に、そのリストを参照し、待機系をホットスタンバイ又はコールドスタンバイに設定する。コールドスタンバイ時の待機系では、CPUや主記憶などのデバイスを非動作にし、冗長化制御回路とモーションデータ格納用のローカルメモリを動作させる。現用系のCPUは、ロボットの現在の姿勢から安全な姿勢へ導くモーションデータを待機系のローカルメモリに書き込む。現用系で故障が発生してユニットが切り替わったとき、待機系にロボットの制御権が渡り、冗長化制御回路のモーションデータ処理部が、ローカルメモリに入力されたモーションデータに基づいてロボットを安全な姿勢に導く。
【選択図】図7
【解決手段】ロボットが実行可能な個々の作業に対し、待機系のコンピュータがホットスタンバイまたはコールドスタンバイのどちらで待機するかを示したリストを記憶させる。個々の作業の開始時に、そのリストを参照し、待機系をホットスタンバイ又はコールドスタンバイに設定する。コールドスタンバイ時の待機系では、CPUや主記憶などのデバイスを非動作にし、冗長化制御回路とモーションデータ格納用のローカルメモリを動作させる。現用系のCPUは、ロボットの現在の姿勢から安全な姿勢へ導くモーションデータを待機系のローカルメモリに書き込む。現用系で故障が発生してユニットが切り替わったとき、待機系にロボットの制御権が渡り、冗長化制御回路のモーションデータ処理部が、ローカルメモリに入力されたモーションデータに基づいてロボットを安全な姿勢に導く。
【選択図】図7
Description
本発明は、信頼性が要求されるロボット制御システムのコンピュータ装置に関するものである。
ロボットなどの高い信頼性が必要とされるシステムにおいては、制御系を二重化して、一方の系で制御できない場合に、他方の系でバックアップすることが行われている。
高稼働率が要求される二重化コンピュータシステムでは、待機系のコンピュータユニットの待機モードは常にホットスタンバイである。この場合、2つのコンピュータユニットを同時に動作させているため、単一構成のシステムと比較して、2倍の消費電力が必要となる。バッテリを電源とする移動系のロボットのコンピュータ部に、ホットスタンバイによる冗長化を適用した場合、消費電力の制限からロボットの稼働時間が短くなってしまう不都合が生じる。
ロボットに様々な作業が課せられるとすると、システムの停止が一切許容されない作業では、待機系ユニットはホットスタンバイでなければならないが、いくらかの時間の停止が許容される作業では、消費電力の低減のために待機系はコールドスタンバイが望まれる。
しかし、消費電力を抑えるために、待機系をコールドスタンバイにしたとき、現用系と待機系の切り替わり時にCPUの制御を失うため、ロボットが周囲の環境に危害を与える恐れがある。例えば、ヒューマノイドロボットの場合では、歩行中に現用系と待機系の切り替わりが発生すれば、ロボットが転倒してしまい危険である。
しかし、消費電力を抑えるために、待機系をコールドスタンバイにしたとき、現用系と待機系の切り替わり時にCPUの制御を失うため、ロボットが周囲の環境に危害を与える恐れがある。例えば、ヒューマノイドロボットの場合では、歩行中に現用系と待機系の切り替わりが発生すれば、ロボットが転倒してしまい危険である。
特許文献1には待機冗長システム,2,3にはロボットの制御についての記載がある。
特開平05−134703号公報
特開2001−239480号公報
特開2003−62778号公報
特許文献1(特開平05−134703号公報)に記載されたものは、一つのジョブ区分を実行する毎にモジュールを切替え、片方は休止状態とする手法である。切替時は、状態の同期をとってジョブの切替えを行なう。現用ユニットと待機ユニットとの切替時に処理の中断がなく、かつ、消費電力を低減できる。この方式をロボットに適用した場合には、以下のような不都合がある。
(i)現用系に故障が発生した場合、待機系は休止状態のため、待機系は即座に起動することができず、ロボットが重要な行動を実行している際には不都合となる。
(ii)故障による切り替わり時にCPUの制御を失うため、ロボットが不安定な状態のときに切り替わりが発生すると危険である。
(i)現用系に故障が発生した場合、待機系は休止状態のため、待機系は即座に起動することができず、ロボットが重要な行動を実行している際には不都合となる。
(ii)故障による切り替わり時にCPUの制御を失うため、ロボットが不安定な状態のときに切り替わりが発生すると危険である。
特許文献2(特開2001−239480号公報)に記載されたものは、移動ロボットの制御装置について記載があり、各関節のモータ部毎にCPU,メモリを配置する分散型制御であり、モータ部のメモリに時系列でモーションデータを蓄える。そして、中央CPU装置とモータ部で過渡的な通信エラーが発生したときに、モータ部のCPUが、過去のデータに基づき、予測計算で次の時刻のモーション(モータの角度)を決定する構成についての記載がある。また、別の例として、あらかじめ所定の指令データをROMに格納しておき、クリティカルな通信エラーあるいは通信部などの永久故障が生じたときに、そのROMからモーションデータを取得し、安全な姿勢でロボットを静止させる構成についての記載がある。
特許文献2に記載された分散制御において、各モータ部のCPUにローカルな制御を行わせるような場合、通信が完全に切れたときに、中央部のCPUとモータ部のCPUが独立して動作することになり、信頼性の面で問題がある。あらかじめ所定の指令データをROMに格納する手段では、単純な二足歩行にしか対応できない。ヒューマノイドロボットは全身に至る様々な動作パターンがあり、通信エラーや故障に備えて、安全な姿勢に導く指令データのパターンを全て網羅してあらかじめROMに記憶させる手法は困難といえる。
特許文献3に記載のロボット運用方法は、ダイナミックに装置のオン・オフを行って消費電力を低減させているが、個別のユニットに対してのオン・オフであり、冗長化を行うものではない。電源をオフにする直前のデータを記憶して、電源オン後に、そのデータを用いて、早く作業を開始することについての記載がある。すなわち、初期化作業は時間を要するかもしれないが、初期化を実行すれば作業を開始できるわけであり、起動に時間のかかるコールドスタンバイの系をいかに早く起動させるかを課題としたものである。
以下に説明する本願発明では、早くシステムを起動させることを目的としているのではなく、ヒューマノイドのコンピュータ部で故障が発生したときに、周囲に危害を与えないことを目的とする。例えば、ヒューマノイドロボットの動歩行は、人間の歩行と同じで、システムが急停止したら転倒する危険がある。コンピュータ部が冗長化されてないヒューマノイドロボットは、歩行しているときは常に危険ということを意味する。ヒューマノイドロボットは、現時点から数歩先まで計算して、歩行の軌道を決定するが、本発明は、現在実行している動作の継続動作の計算に全ての計算パワーを使うのではなく、故障を想定して、安全な姿勢に導く動作の計算も行う。そこで得られたモーションデータを待機系のメモリに格納すれば、現用系で故障が発生しても、待機系がそのモーションデータに従ってロボットを安全な姿勢に導くことができる。
本発明はこれらの点に鑑みてなされたものであり、コンピュータ部が冗長化されたロボット制御システムにおいて、消費電力の低減、かつ、現用系と待機系のコンピュータユニットの安全な切り替えを可能にすることを目的とする。
冗長化コンピュータのデータストレージには、ロボットが実行可能な全ての行動と各行動毎の待機系ユニットの待機モードとシステムの安全モードが記されたモードリストがファイルとして格納されている。コンピュータは、行動の開始時にモードリストを参照し、行動毎に待機系ユニットをコールドスタンバイまたはホットスタンバイに設定する。現用系と待機系の両方のユニットには、ロボットのモーションデータを格納するモーションデータ記憶手段と、そのデータを読み出してロボットのモータ部に送信するモーションデータ操作手段を有する。待機系がコールドスタンバイのとき、待機系のCPUや主記憶は非動作の状態であるが、冗長化制御手段およびモーションデータ記憶手段およびモーションデータ操作手段の回路が動作している。
現用系のCPUは、現用系と待機系の両方のモーションデータ記憶手段にモーションデータを書き込む。このとき書き込まれるモーションデータは、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータからなる。あるいは、ロボットの動作の継続性に必要なデータとそこでのロボットの姿勢から安全姿勢に導くデータからなる。
待機系が正常状態にあるときに現用系で故障が発生して現用系と待機系が切り替わったとき、ロボットの制御権が渡った待機系のモーションデータ処理手段は、次の時刻のモーションデータをモーション記憶手段から取り出し、モータ部に制御信号を送信してロボットを操作する。後続の時刻のモーションデータも同じように処理し、ロボットを安全な姿勢に導く。待機系が既に故障状態にあるときに現用系で故障が発生した場合、エラーの内容とシステムの安全モードに基づき、システムをシャットダウンさせるか、または、システムを再起動させるか、または、ロボットの動作を継続させるかを決定する。システムのシャットダウンあるいは再起動の場合は、モーションデータ処理手段が、次の時刻のモーションデータをモーション記憶手段から取り出し、モータ部に制御信号を送信してロボットを操作する。後続の時刻のモーションデータも同じように処理し、ロボットを安全な姿勢に導く。
本発明によると、ロボットの行動に応じて二重化コンピュータの待機系の待機モードをホットスタンバイまたはコールドスタンバイに切替えることにより、常に待機系がホットスタンバイの二重化コンピュータよりも消費電力が低減できる。コールドスタンバイ時の待機系では、冗長化制御回路とローカルメモリのみを動作させ、現用系のCPUが、ロボットの現在の姿勢から安全な姿勢に導くモーションデータを待機系のローカルメモリに書き込むことにより、現用系と待機系の切り替わり時に、CPUによる制御が無い状況において、待機系の冗長化制御回路のモーションデータ処理部がローカルメモリに入力されたモーションデータを用いてロボットを安全な姿勢に導くことができる。ロボットの信頼性で最も考慮すべき点は安全性であり、本発明により、待機系がコールドスタンバイの場合でもロボットが周囲の環境に危害を与えずにユニットを切替えることができる。
ロボットの現在の姿勢から安全な姿勢に導くモーションデータには、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータで構成される。将来、CPUの処理能力が上がり、コールドスタンバイの待機系が早く起動でき、ロボットが動作を継続させながら、スムーズに待機系がロボットの制御を開始できる見込みがある。
以下、本発明の一実施の形態を、添付図面を参照して説明する。
二重化されたコンピュータ部の両方のユニットは、同じ回路、機能をもつ。ここでは、出力が周辺装置と接続され、ロボットの制御に関わっているコンピュータユニットを現用系、出力が周辺装置と切り離され、ロボットの制御に関わっていないコンピュータユニットを待機系と呼ぶ。ロボットの制御周期は1msとする。
現用系と待機系は、お互いのCPUが同期をとりながら動作し、現用系で故障が発生しても、システムが停止することなく、待機系によるロボットの制御の継続を可能とする二重化コンピュータシステムとする。各コンピュータユニットの基本コンポーネントは、後述する図2に示すように、CPU、主記憶、ローカルメモリ、故障検出回路、冗長化制御回路、入出力ポートとする。ローカルメモリには、ロボットのモーションデータが記憶される。モーションデータとは、例えば、ヒューマノイドロボットであれば、手や足や腰などの各間接の角度データである。
コンピュータのデータストレージには、ロボットが実行可能な全ての行動と各行動毎の待機系の待機モードとシステムの安全モードが記されたモードリストがファイルとして格納されている。図1にモードリストの例を示す。各行動とモードとの対応付けは、ロボットの製造業者やユーザーにより定義される。コールドスタンバイでの待機モードを指定する行動であれば、ロボットがその行動を実行中、待機系はコールドスタンバイになる。ロボットが同時に複数の行動を行なう場合、その行動の中にホットスタンバイの待機モードを指定するものが含まれていれば、コンピュータは待機系の待機モードをホットスタンバイに指定する。
図2は、待機系がコールドスタンバイのときの機能から見た構成図である。図2に示すように、現用系ユニット10と、待機系ユニット20とを備える。現用系ユニット10は、CPU11、主記憶12、ブートROM13、モーションデータ記憶手段14、モーションデータ処理手段15、入出力ポート16、故障検出手段17、冗長化制御手段18、モードリスト19を有する。
待機系ユニット20についても同様の構成であり、CPU21、主記憶22、ブートROM23、モーションデータ記憶手段24、モーションデータ処理手段25、入出力ポート26、故障検出手段27、冗長化制御手段28を有する。
また、図2の例では、待機系ユニット20は、冗長化制御手段28からのパワーオフ指令をレギュレータ29に送り、CPU21とその周辺回路である主記憶22、ブートメモリ23をオフ状態としてある。
各入出力ポート16、26は、ロボット各部のモータ部に動作を制御する指令を出力すると共に、ロボット各部のセンサー部からの信号を入力する。
待機系ユニット20についても同様の構成であり、CPU21、主記憶22、ブートROM23、モーションデータ記憶手段24、モーションデータ処理手段25、入出力ポート26、故障検出手段27、冗長化制御手段28を有する。
また、図2の例では、待機系ユニット20は、冗長化制御手段28からのパワーオフ指令をレギュレータ29に送り、CPU21とその周辺回路である主記憶22、ブートメモリ23をオフ状態としてある。
各入出力ポート16、26は、ロボット各部のモータ部に動作を制御する指令を出力すると共に、ロボット各部のセンサー部からの信号を入力する。
図3は、モードリストに基づいた二重化ユニットの動作のフローチャートを示す。
現用系ユニットで動作しているプログラムは、ロボットが新しい行動を開始するときに、モードリストを参照し、その行動がコールドスタンバイの待機モードを指定しているならば、現用系の冗長化制御手段がコールドスタンバイ(cold_standby)信号をアクティブにする。
現用系ユニットで動作しているプログラムは、ロボットが新しい行動を開始するときに、モードリストを参照し、その行動がコールドスタンバイの待機モードを指定しているならば、現用系の冗長化制御手段がコールドスタンバイ(cold_standby)信号をアクティブにする。
即ち、現用系ユニットのシステムが起動すると(ステップS11)、作業の発生待ちを行い(ステップS12)、作業が発生すると(ステップS13)、モードリストを参照し(ステップS14)、コールドスタンバイの待機モードの指定か否か判断する(ステップS15)。コールドスタンバイの待機モードの指定であった場合には、コールドスタンバイはアクティブか否か判断する(ステップS16)。コールドスタンバイがアクティブでない場合には、冗長化制御手段に通知し(ステップS17)、コールドスタンバイをアクティブにする通知を、待機系ユニットに対して行い(ステップS18)、ステップS19に移り、作業終了か判断し、終了の場合にステップS12に戻る。
ステップS15でコールドスタンバイの待機モードの指定でない場合には、コールドスタンバイはアクティブか否か判断する(ステップS21)。コールドスタンバイがアクティブであった場合には、冗長化制御手段に通知し(ステップS22)、コールドスタンバイを非アクティブにする通知を、待機系ユニットに対して行い(ステップS23)、ステップS19に移り、作業終了か判断し、終了の場合にステップS12に戻る。
ステップS16でアクティブであった場合と、ステップS21で非アクティブであった場合には、ステップS19に移る。
ステップS15でコールドスタンバイの待機モードの指定でない場合には、コールドスタンバイはアクティブか否か判断する(ステップS21)。コールドスタンバイがアクティブであった場合には、冗長化制御手段に通知し(ステップS22)、コールドスタンバイを非アクティブにする通知を、待機系ユニットに対して行い(ステップS23)、ステップS19に移り、作業終了か判断し、終了の場合にステップS12に戻る。
ステップS16でアクティブであった場合と、ステップS21で非アクティブであった場合には、ステップS19に移る。
待機系の冗長化制御手段は、コールドスタンバイ信号がアクティブになったことを検知すると、パワーオフ(power_off)信号をアクティブにし、レギュレータの出力をオフにして、待機系のCPU、主記憶、他のプロセッサへの電源供給を停止する(それらのデバイスへのクロック供給を停止し低電力の状態にすることも含む)。
即ち、待機系ユニットのシステムが起動すると(ステップS31)、現用系ユニットに同調させ(ステップS32)、コールドスタンバイ信号がアクティブになったことを検知すると(ステップS33)、パワーオフ(power_off)信号をアクティブにし(ステップS34)、レギュレータの出力をオフにして(ステップS35)、待機系のCPU、主記憶、他のプロセッサへの電源供給を停止し、さらに、それらのデバイスへのクロック供給を停止し低電力の状態にする(ステップS36)。また、コールドスタンバイ信号が非アクティブになったことを検知すると(ステップS37)、パワーオフ信号を非アクティブにする(ステップS38)。
安全モードは、二重化ユニットにおいて、待機系が正常なときに現用系で故障が発生した場合と、待機側のユニットが既に故障の状態にあるときに現用系で故障が発生した場合のシステムの動作を指定するものである。フェイルセーフの行動では、片方のユニットに故障が生じたとき、速やかにその行動を中止し、他の行動手段で状況に対応する。フェイルストップの行動では、両方のユニットに故障が生じたとき、システムを安全にシャットダウンさせる。フェイルオペレーショナルの行動では、両方のユニットに故障が生じたとき、システムを可能な限り稼働させ、ロボットの行動を継続させる。
図4は、冗長化ユニットの状態遷移図を示す(“!”はNOT,“#”はORを表す)。
Operationalは稼働の状態、Hot standbyはホットスタンバイでの待機の状態、Cold standbyはコールドスタンバイでの待機の状態、Faultyは故障の状態を表す。現用系で故障が発生するとfailover信号がアサートされ、待機系が現用系に切り替わる。
待機系がコールドスタンバイのときは、CPUは停止しているため、ハードウェアの健全性を知ることができない。ロボットがアイドル状態にあるとき、現用系の冗長化制御手段は、diagnosisという内部信号を生成して、待機系の健全性を確認するためのユニット切替えを行なう。コンピュータは、現在までの行動記録と未来の行動予定をデータストレージに保存する。現用系に故障が発生し、コールドスタンバイの待機系が現用系に切り替わるとき、それらの記録を参照して、ロボットの行動を再開する。
Operationalは稼働の状態、Hot standbyはホットスタンバイでの待機の状態、Cold standbyはコールドスタンバイでの待機の状態、Faultyは故障の状態を表す。現用系で故障が発生するとfailover信号がアサートされ、待機系が現用系に切り替わる。
待機系がコールドスタンバイのときは、CPUは停止しているため、ハードウェアの健全性を知ることができない。ロボットがアイドル状態にあるとき、現用系の冗長化制御手段は、diagnosisという内部信号を生成して、待機系の健全性を確認するためのユニット切替えを行なう。コンピュータは、現在までの行動記録と未来の行動予定をデータストレージに保存する。現用系に故障が発生し、コールドスタンバイの待機系が現用系に切り替わるとき、それらの記録を参照して、ロボットの行動を再開する。
次に、待機系がコールドスタンバイのときの二重化ユニットの動作を説明する。
現用系のCPUは、ロボットのモーションデータを生成し、自側のモーションデータ記憶手段と待機系のモーションデータ記憶手段に同じデータを書き込む(図2−1,図2−1')。このモーションデータは、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータからなる。
現用系のCPUは、ロボットのモーションデータを生成し、自側のモーションデータ記憶手段と待機系のモーションデータ記憶手段に同じデータを書き込む(図2−1,図2−1')。このモーションデータは、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータからなる。
図5に示した歩行時のヒューマノイドロボットを例にすると、現在から次の一歩までのモーションのデータが、ロボットの動作の継続性に必要なデータであり(図5−1)、次の一歩から両足を揃えて直立の姿勢に移るモーションのデータが標準姿勢に戻るまでのデータであり(図5−2)、直立姿勢から、膝と手を地面について周囲への危険性を小さくした姿勢に移るモーションのデータが標準姿勢から安全姿勢に導くデータである(図5−3)。
ここで、図5−2の標準姿勢を介さず、図5−1の動作の姿勢から図5−3の安全姿勢へ直接変移するモーションデータであってもよい。各時刻毎にモーションデータと必要な制御情報をまとめた個々のメモリ領域をモーションデータフレームと呼ぶ。
ここで、図5−2の標準姿勢を介さず、図5−1の動作の姿勢から図5−3の安全姿勢へ直接変移するモーションデータであってもよい。各時刻毎にモーションデータと必要な制御情報をまとめた個々のメモリ領域をモーションデータフレームと呼ぶ。
図6にモーションデータフレームのフォーマットを示す。
モーションデータフレームには、モーションを開始する時刻を示す「モーション開始時刻」、モーションを保持する時間を示す「モーション保持時間」、「モーションデータ」、次のモーションデータフレームの先頭アドレスを示す「次モーションアドレス」からなる。
モーションデータフレームには、モーションを開始する時刻を示す「モーション開始時刻」、モーションを保持する時間を示す「モーション保持時間」、「モーションデータ」、次のモーションデータフレームの先頭アドレスを示す「次モーションアドレス」からなる。
モーションデータ処理手段は、1msのタイマーを備え、現用系のモーションデータ処理手段は、1ms毎にCPUに割込み(1ms_interupt)を入れる(図2−2)。割込みを受けたCPUは、次の時刻(1ms後)のモーションを記述したモーションデータフレームの先頭アドレスを現用系と待機系のモーションデータ処理手段が有するモーションデータアドレスレジスタに書き込む(図2−3,図2−3')。現用系のモーションデータ処理手段は、モーションデータアドレスレジスタに入力されたアドレスに従い、モーションデータ記憶手段からモーションデータフレームを取り出す(図2−4)。そして、各モータが要求する信号フォーマットに変換し、入出力ポートを介して、モータ部に信号を送る(図2−5)。時刻毎のモーションデータを順々に繋ぎ合わせることでロボットのモーションが完成する。待機系のモーションデータ処理手段は、同様に、モーションデータアドレスレジスタに入力されたアドレスに従い、モーションデータフレームの内容をリードする(図2−7)。ここでは、モーション開始時刻に矛盾がないかをチェックし、正常な値であればモーションデータ処理手段の動作は完了する。もし、不正な値であれば、CPUにエラーを通知する。
CPUからモーションデータ処理手段への1ms毎の信号を、故障検出手段が監視する(図2−6)。1ms_interuptで割込みを入れてからαms経過しても検出できなかった場合、CPUが異常状態にあるとみなし、error_detected信号をアサートし、冗長化制御手段に通知する。故障検出手段は、不正アドレスアクセス、電源電圧低下のなどの致命的なエラーに関してもerror_detected信号をアサートする。冗長化制御手段は、error_detected信号を検出すると、failover信号をアサートし、待機系の冗長化制御手段に通知する。
現用系の冗長化制御手段は、待機系が正常であることを示すstandby_good信号がアクティブであることを確認し、待機系にロボットの制御権を渡し、現用系の冗長化制御回路は、isolate信号をアクティブにして、モータ部に不要な出力をしないように切り離し、ユニットをFaultyの状態にする。
現用系にて故障が時刻tf(t−2<tf<t)に発生したとし、図7に、故障によるユニット切り替わり時の動作を示す。
時刻t−1のモーションに対するCPUからモーションデータ処理手段へのアクセスはあったが、時刻tのモーションに対するCPUからのアクセスは無かったとすると、ユニットが切り替わり、現用系に切り替わったモーションデータ処理手段は、時刻tのモーションデータフレームを参照し、モーションデータを入出力ポートに送り、モーション保持時間が経過した後、次モーションデータアドレスに基づき、時刻t+1のモーションデータを処理する。これを繰り返して、図5のように、ロボットを安全な姿勢に導く。
時刻t−1のモーションに対するCPUからモーションデータ処理手段へのアクセスはあったが、時刻tのモーションに対するCPUからのアクセスは無かったとすると、ユニットが切り替わり、現用系に切り替わったモーションデータ処理手段は、時刻tのモーションデータフレームを参照し、モーションデータを入出力ポートに送り、モーション保持時間が経過した後、次モーションデータアドレスに基づき、時刻t+1のモーションデータを処理する。これを繰り返して、図5のように、ロボットを安全な姿勢に導く。
待機系ユニットで故障が発生したとき、待機系の故障検出手段はerror_detectedをアサートし、待機系の冗長化制御回路は、stanby_goodを非アクティブにする。standby_good信号が非アクティブのときに現用系ユニットで故障が発生したとき場合は、エラーの内容やモードリストの安全モードに応じて、システムをシャットダウンさせるか、または、システムを再起動させるか、または、ロボットの動作を継続させるかを決定する。
ロボットのシャットダウンあるいは再起動の場合は、現用系のモーションデータ処理手段がモーションデータ記憶手段からモーションデータを取り出して、ロボットを安全な姿勢に導く。
ロボットのシャットダウンあるいは再起動の場合は、現用系のモーションデータ処理手段がモーションデータ記憶手段からモーションデータを取り出して、ロボットを安全な姿勢に導く。
10…現用系ユニット、11…CPU、12…主記憶、13…ブートROM、14…モーションデータ記憶手段、15…モーションデータ処理手段、16…入出力ポート、17…故障検出手段、18…冗長化制御手段、19…モードリスト、20…待機系ユニット、21…CPU、22…主記憶、23…ブートROM、24…モーションデータ記憶手段、25…モーションデータ処理手段、26…入出力ポート、27…故障検出手段、28…冗長化制御手段、29…レギュレータ
Claims (5)
- 待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
コンピュータのデータストレージ部に、ロボットが実行可能な全ての行動と各行動毎の待機系の待機モードとシステムの安全モードが記されたモードリストのファイルを格納し、
ロボットが行動を実行する前に、前記リストを参照し、その行動がコールドスタンバイの待機モードを指定していれば、待機系は冗長化制御に必要なデバイス以外のCPUおよび主記憶および各種プロセッサを非動作にし、
その行動がホットスタンバイの待機モードを指定していれば、待機系は全てのデバイスをアクティブにし現用系ユニットと同期をとって動作する
ロボット制御システム。 - 待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
コンピュータのデータストレージ部に、ロボットが実行可能な全ての行動と各行動毎の待機系の待機モードとシステムの安全モードが記されたモードリストのファイルを格納し、
ロボットが行動を実行する前に、前記リストを参照し、その行動がフェイルセーフの安全モードを指定していれば、待機系が正常であっても現用系で故障が生じたとき、速やかにその行動を中止して他の行動手段で状況に対応し、
その行動がフェイルストップの安全モードを指定していれば、待機側のユニットが故障の状態で、且つ、現用系に故障が生じたとき、システムを安全にシャットダウンし、
その行動がフェイルオペレーショナルの安全モードを指定していれば、待機側のユニットが故障の状態で、且つ、現用系に故障が生じたとき、システムを
可能な限り稼働させ、ロボットの行動を継続させるロボット制御システム。 - ロボットを制御するコンピュータのCPUが、ロボットの動作の継続に必要なモーションデータと、ロボットの現在の動作の姿勢から周囲に危害を与えない安全な姿勢に導くモーションデータを計算し、
それらのモーションデータをコンピュータ内のローカルメモリに書き込み、コンピュータが故障した際には、そのローカルメモリのコントローラが、ローカルメモリに格納されたモーションデータに基づき、ロボットの各モータ部に信号を送り、ロボットを安全な姿勢に導くロボット制御システム。 - 待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
現用系のCPUがロボットのモーションデータを現用系のローカルメモリと待機系のローカルメモリの両方に書き込み、現用系が正常時には現用系のローカルメモリのメモリコントローラがそのローカルメモリのモーションデータを処理してロボットを動作させ、現用系で故障を検出した場合は、待機系のCPUに依存することなく、待機系のローカルメモリのコントローラがそのローカルメモリのモーションデータを処理してロボットを動作させるロボット制御システム。 - 待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
現用系のCPUが、ロボットの動作の継続に必要なモーションデータと、ロボットの現在の動作の姿勢から周囲に危害を与えない安全な姿勢に導くモーションデータを現用系のローカルメモリと待機系のローカルメモリの両方に書き込み、現用系が正常時には現用系のローカルメモリのメモリコントローラがそのローカルメモリのモーションデータを処理してロボットを動作させ、
現用系で故障を検出した場合は、待機系のCPUに依存することなく、待機系のローカルメモリのコントローラがそのローカルメモリのモーションデータを処理してロボットの現在の動作の姿勢から安全な姿勢に導くロボット制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006275599A JP2008093752A (ja) | 2006-10-06 | 2006-10-06 | ロボット制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006275599A JP2008093752A (ja) | 2006-10-06 | 2006-10-06 | ロボット制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008093752A true JP2008093752A (ja) | 2008-04-24 |
Family
ID=39377144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006275599A Pending JP2008093752A (ja) | 2006-10-06 | 2006-10-06 | ロボット制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008093752A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022750A (ja) * | 2009-07-15 | 2011-02-03 | Nec Corp | 情報処理装置、情報処理方法、動作環境設定プログラム及び情報処理システム |
JP2011083835A (ja) * | 2009-10-13 | 2011-04-28 | Seiko Epson Corp | ロボット制御装置およびロボット制御方法 |
JP2012079292A (ja) * | 2010-09-08 | 2012-04-19 | Toshiba Corp | 監視制御システム |
CN108008698A (zh) * | 2016-10-28 | 2018-05-08 | 深圳市朗驰欣创科技股份有限公司 | 一种机器人系统及其开关机控制装置 |
-
2006
- 2006-10-06 JP JP2006275599A patent/JP2008093752A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022750A (ja) * | 2009-07-15 | 2011-02-03 | Nec Corp | 情報処理装置、情報処理方法、動作環境設定プログラム及び情報処理システム |
JP2011083835A (ja) * | 2009-10-13 | 2011-04-28 | Seiko Epson Corp | ロボット制御装置およびロボット制御方法 |
JP2012079292A (ja) * | 2010-09-08 | 2012-04-19 | Toshiba Corp | 監視制御システム |
CN108008698A (zh) * | 2016-10-28 | 2018-05-08 | 深圳市朗驰欣创科技股份有限公司 | 一种机器人系统及其开关机控制装置 |
CN108008698B (zh) * | 2016-10-28 | 2024-03-08 | 深圳市朗驰欣创科技股份有限公司 | 一种机器人系统及其开关机控制装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9195553B2 (en) | Redundant system control method | |
JP6130520B2 (ja) | 多重系システムおよび多重系システム管理方法 | |
JP2009211517A (ja) | 仮想計算機冗長化システム | |
JP2008093752A (ja) | ロボット制御システム | |
US5390103A (en) | Synchronized programmable controller and method of controlling the same | |
JP5445572B2 (ja) | コンピュータシステム、待機電力削減方法、及びプログラム | |
JP4824345B2 (ja) | 活性ファームウェア交換装置 | |
US9852033B2 (en) | Method of recovering application data from a memory of a failed node | |
JP2004046507A (ja) | 情報処理装置 | |
JP2008262426A (ja) | 2重化コントローラシステム、そのコントローラ | |
JP4131078B2 (ja) | ロボットコントローラ | |
JP2009025967A (ja) | 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム | |
JP4503003B2 (ja) | 電源バックアップシステム及びこれを具えた電子機器 | |
JP6810630B2 (ja) | ロボット制御装置、ロボットシステム及びロボットの制御方法 | |
JP2010218530A (ja) | モーションコントロールシステム | |
KR100227611B1 (ko) | 통신처리시스템에서 축적장치의 이중화 제어장치 | |
JP3760278B2 (ja) | 多重化システム | |
JPH11175108A (ja) | 二重化コンピュータ装置 | |
JPH0534877B2 (ja) | ||
JPH06318160A (ja) | 二重化プロセッサ・システムの系構成制御方式 | |
JP2005148890A (ja) | プロセッサ監視装置 | |
CN114839895A (zh) | 外骨骼系统、控制方法以及存储介质 | |
JPH07200334A (ja) | 二重化同期運転方式 | |
JP2005327284A (ja) | 多重化システム | |
JPH04170619A (ja) | 半導体製造装置用制御装置 |