(57)【要約】【課題】消費電力の低減、かつ、現用系と待機系のコンピュータユニットの安全な切り替えを可能にする冗長化方式を得る。【解決手段】ロボットが実行可能な個々の作業に対し、待機系のコンピュータがホットスタンバイまたはコールドスタンバイのどちらで待機するかを示したリストを記憶させる。個々の作業の開始時に、そのリストを参照し、待機系をホットスタンバイ又はコールドスタンバイに設定する。コールドスタンバイ時の待機系では、ＣＰＵや主記憶などのデバイスを非動作にし、冗長化制御回路とモーションデータ格納用のローカルメモリを動作させる。現用系のＣＰＵは、ロボットの現在の姿勢から安全な姿勢へ導くモーションデータを待機系のローカルメモリに書き込む。現用系で故障が発生してユニットが切り替わったとき、待機系にロボットの制御権が渡り、冗長化制御回路のモーションデータ処理部が、ローカルメモリに入力されたモーションデータに基づいてロボットを安全な姿勢に導く。【選択図】図７
2008093752.tif 000002
【特許請求の範囲】
【請求項１】
待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
コンピュータのデータストレージ部に、ロボットが実行可能な全ての行動と各行動毎の待機系の待機モードとシステムの安全モードが記されたモードリストのファイルを格納し、
ロボットが行動を実行する前に、前記リストを参照し、その行動がコールドスタンバイの待機モードを指定していれば、待機系は冗長化制御に必要なデバイス以外のＣＰＵおよび主記憶および各種プロセッサを非動作にし、
その行動がホットスタンバイの待機モードを指定していれば、待機系は全てのデバイスをアクティブにし現用系ユニットと同期をとって動作する
ロボット制御システム。
【請求項２】
待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
コンピュータのデータストレージ部に、ロボットが実行可能な全ての行動と各行動毎の待機系の待機モードとシステムの安全モードが記されたモードリストのファイルを格納し、
ロボットが行動を実行する前に、前記リストを参照し、その行動がフェイルセーフの安全モードを指定していれば、待機系が正常であっても現用系で故障が生じたとき、速やかにその行動を中止して他の行動手段で状況に対応し、
その行動がフェイルストップの安全モードを指定していれば、待機側のユニットが故障の状態で、且つ、現用系に故障が生じたとき、システムを安全にシャットダウンし、
その行動がフェイルオペレーショナルの安全モードを指定していれば、待機側のユニットが故障の状態で、且つ、現用系に故障が生じたとき、システムを
可能な限り稼働させ、ロボットの行動を継続させるロボット制御システム。
【請求項３】
ロボットを制御するコンピュータのＣＰＵが、ロボットの動作の継続に必要なモーションデータと、ロボットの現在の動作の姿勢から周囲に危害を与えない安全な姿勢に導くモーションデータを計算し、
それらのモーションデータをコンピュータ内のローカルメモリに書き込み、コンピュータが故障した際には、そのローカルメモリのコントローラが、ローカルメモリに格納されたモーションデータに基づき、ロボットの各モータ部に信号を送り、ロボットを安全な姿勢に導くロボット制御システム。
【請求項４】
待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
現用系のＣＰＵがロボットのモーションデータを現用系のローカルメモリと待機系のローカルメモリの両方に書き込み、現用系が正常時には現用系のローカルメモリのメモリコントローラがそのローカルメモリのモーションデータを処理してロボットを動作させ、現用系で故障を検出した場合は、待機系のＣＰＵに依存することなく、待機系のローカルメモリのコントローラがそのローカルメモリのモーションデータを処理してロボットを動作させるロボット制御システム。
【請求項５】
待機冗長方式の二重化コンピュータをもつロボット制御システムにおいて、
現用系のＣＰＵが、ロボットの動作の継続に必要なモーションデータと、ロボットの現在の動作の姿勢から周囲に危害を与えない安全な姿勢に導くモーションデータを現用系のローカルメモリと待機系のローカルメモリの両方に書き込み、現用系が正常時には現用系のローカルメモリのメモリコントローラがそのローカルメモリのモーションデータを処理してロボットを動作させ、
現用系で故障を検出した場合は、待機系のＣＰＵに依存することなく、待機系のローカルメモリのコントローラがそのローカルメモリのモーションデータを処理してロボットの現在の動作の姿勢から安全な姿勢に導くロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信頼性が要求されるロボット制御システムのコンピュータ装置に関するものである。
【背景技術】
【０００２】
ロボットなどの高い信頼性が必要とされるシステムにおいては、制御系を二重化して、一方の系で制御できない場合に、他方の系でバックアップすることが行われている。
【０００３】
高稼働率が要求される二重化コンピュータシステムでは、待機系のコンピュータユニットの待機モードは常にホットスタンバイである。この場合、２つのコンピュータユニットを同時に動作させているため、単一構成のシステムと比較して、２倍の消費電力が必要となる。バッテリを電源とする移動系のロボットのコンピュータ部に、ホットスタンバイによる冗長化を適用した場合、消費電力の制限からロボットの稼働時間が短くなってしまう不都合が生じる。
【０００４】
ロボットに様々な作業が課せられるとすると、システムの停止が一切許容されない作業では、待機系ユニットはホットスタンバイでなければならないが、いくらかの時間の停止が許容される作業では、消費電力の低減のために待機系はコールドスタンバイが望まれる。
しかし、消費電力を抑えるために、待機系をコールドスタンバイにしたとき、現用系と待機系の切り替わり時にＣＰＵの制御を失うため、ロボットが周囲の環境に危害を与える恐れがある。例えば、ヒューマノイドロボットの場合では、歩行中に現用系と待機系の切り替わりが発生すれば、ロボットが転倒してしまい危険である。
【０００５】
特許文献１には待機冗長システム，２，３にはロボットの制御についての記載がある。
【特許文献１】特開平０５−１３４７０３号公報
【特許文献２】特開２００１−２３９４８０号公報
【特許文献３】特開２００３−６２７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１（特開平０５−１３４７０３号公報）に記載されたものは、一つのジョブ区分を実行する毎にモジュールを切替え、片方は休止状態とする手法である。切替時は、状態の同期をとってジョブの切替えを行なう。現用ユニットと待機ユニットとの切替時に処理の中断がなく、かつ、消費電力を低減できる。この方式をロボットに適用した場合には、以下のような不都合がある。
(i)現用系に故障が発生した場合、待機系は休止状態のため、待機系は即座に起動することができず、ロボットが重要な行動を実行している際には不都合となる。
(ii)故障による切り替わり時にＣＰＵの制御を失うため、ロボットが不安定な状態のときに切り替わりが発生すると危険である。
【０００７】
特許文献２（特開２００１−２３９４８０号公報）に記載されたものは、移動ロボットの制御装置について記載があり、各関節のモータ部毎にＣＰＵ，メモリを配置する分散型制御であり、モータ部のメモリに時系列でモーションデータを蓄える。そして、中央ＣＰＵ装置とモータ部で過渡的な通信エラーが発生したときに、モータ部のＣＰＵが、過去のデータに基づき、予測計算で次の時刻のモーション（モータの角度）を決定する構成についての記載がある。また、別の例として、あらかじめ所定の指令データをＲＯＭに格納しておき、クリティカルな通信エラーあるいは通信部などの永久故障が生じたときに、そのＲＯＭからモーションデータを取得し、安全な姿勢でロボットを静止させる構成についての記載がある。
【０００８】
特許文献２に記載された分散制御において、各モータ部のＣＰＵにローカルな制御を行わせるような場合、通信が完全に切れたときに、中央部のＣＰＵとモータ部のＣＰＵが独立して動作することになり、信頼性の面で問題がある。あらかじめ所定の指令データをＲＯＭに格納する手段では、単純な二足歩行にしか対応できない。ヒューマノイドロボットは全身に至る様々な動作パターンがあり、通信エラーや故障に備えて、安全な姿勢に導く指令データのパターンを全て網羅してあらかじめＲＯＭに記憶させる手法は困難といえる。
【０００９】
特許文献３に記載のロボット運用方法は、ダイナミックに装置のオン・オフを行って消費電力を低減させているが、個別のユニットに対してのオン・オフであり、冗長化を行うものではない。電源をオフにする直前のデータを記憶して、電源オン後に、そのデータを用いて、早く作業を開始することについての記載がある。すなわち、初期化作業は時間を要するかもしれないが、初期化を実行すれば作業を開始できるわけであり、起動に時間のかかるコールドスタンバイの系をいかに早く起動させるかを課題としたものである。
【００１０】
以下に説明する本願発明では、早くシステムを起動させることを目的としているのではなく、ヒューマノイドのコンピュータ部で故障が発生したときに、周囲に危害を与えないことを目的とする。例えば、ヒューマノイドロボットの動歩行は、人間の歩行と同じで、システムが急停止したら転倒する危険がある。コンピュータ部が冗長化されてないヒューマノイドロボットは、歩行しているときは常に危険ということを意味する。ヒューマノイドロボットは、現時点から数歩先まで計算して、歩行の軌道を決定するが、本発明は、現在実行している動作の継続動作の計算に全ての計算パワーを使うのではなく、故障を想定して、安全な姿勢に導く動作の計算も行う。そこで得られたモーションデータを待機系のメモリに格納すれば、現用系で故障が発生しても、待機系がそのモーションデータに従ってロボットを安全な姿勢に導くことができる。
【００１１】
本発明はこれらの点に鑑みてなされたものであり、コンピュータ部が冗長化されたロボット制御システムにおいて、消費電力の低減、かつ、現用系と待機系のコンピュータユニットの安全な切り替えを可能にすることを目的とする。
【課題を解決するための手段】
【００１２】
冗長化コンピュータのデータストレージには、ロボットが実行可能な全ての行動と各行動毎の待機系ユニットの待機モードとシステムの安全モードが記されたモードリストがファイルとして格納されている。コンピュータは、行動の開始時にモードリストを参照し、行動毎に待機系ユニットをコールドスタンバイまたはホットスタンバイに設定する。現用系と待機系の両方のユニットには、ロボットのモーションデータを格納するモーションデータ記憶手段と、そのデータを読み出してロボットのモータ部に送信するモーションデータ操作手段を有する。待機系がコールドスタンバイのとき、待機系のＣＰＵや主記憶は非動作の状態であるが、冗長化制御手段およびモーションデータ記憶手段およびモーションデータ操作手段の回路が動作している。
【００１３】
現用系のＣＰＵは、現用系と待機系の両方のモーションデータ記憶手段にモーションデータを書き込む。このとき書き込まれるモーションデータは、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータからなる。あるいは、ロボットの動作の継続性に必要なデータとそこでのロボットの姿勢から安全姿勢に導くデータからなる。
【００１４】
待機系が正常状態にあるときに現用系で故障が発生して現用系と待機系が切り替わったとき、ロボットの制御権が渡った待機系のモーションデータ処理手段は、次の時刻のモーションデータをモーション記憶手段から取り出し、モータ部に制御信号を送信してロボットを操作する。後続の時刻のモーションデータも同じように処理し、ロボットを安全な姿勢に導く。待機系が既に故障状態にあるときに現用系で故障が発生した場合、エラーの内容とシステムの安全モードに基づき、システムをシャットダウンさせるか、または、システムを再起動させるか、または、ロボットの動作を継続させるかを決定する。システムのシャットダウンあるいは再起動の場合は、モーションデータ処理手段が、次の時刻のモーションデータをモーション記憶手段から取り出し、モータ部に制御信号を送信してロボットを操作する。後続の時刻のモーションデータも同じように処理し、ロボットを安全な姿勢に導く。
【発明の効果】
【００１５】
本発明によると、ロボットの行動に応じて二重化コンピュータの待機系の待機モードをホットスタンバイまたはコールドスタンバイに切替えることにより、常に待機系がホットスタンバイの二重化コンピュータよりも消費電力が低減できる。コールドスタンバイ時の待機系では、冗長化制御回路とローカルメモリのみを動作させ、現用系のＣＰＵが、ロボットの現在の姿勢から安全な姿勢に導くモーションデータを待機系のローカルメモリに書き込むことにより、現用系と待機系の切り替わり時に、ＣＰＵによる制御が無い状況において、待機系の冗長化制御回路のモーションデータ処理部がローカルメモリに入力されたモーションデータを用いてロボットを安全な姿勢に導くことができる。ロボットの信頼性で最も考慮すべき点は安全性であり、本発明により、待機系がコールドスタンバイの場合でもロボットが周囲の環境に危害を与えずにユニットを切替えることができる。
【００１６】
ロボットの現在の姿勢から安全な姿勢に導くモーションデータには、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータで構成される。将来、ＣＰＵの処理能力が上がり、コールドスタンバイの待機系が早く起動でき、ロボットが動作を継続させながら、スムーズに待機系がロボットの制御を開始できる見込みがある。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施の形態を、添付図面を参照して説明する。
【００１８】
二重化されたコンピュータ部の両方のユニットは、同じ回路、機能をもつ。ここでは、出力が周辺装置と接続され、ロボットの制御に関わっているコンピュータユニットを現用系、出力が周辺装置と切り離され、ロボットの制御に関わっていないコンピュータユニットを待機系と呼ぶ。ロボットの制御周期は１ｍｓとする。
【００１９】
現用系と待機系は、お互いのＣＰＵが同期をとりながら動作し、現用系で故障が発生しても、システムが停止することなく、待機系によるロボットの制御の継続を可能とする二重化コンピュータシステムとする。各コンピュータユニットの基本コンポーネントは、後述する図２に示すように、ＣＰＵ、主記憶、ローカルメモリ、故障検出回路、冗長化制御回路、入出力ポートとする。ローカルメモリには、ロボットのモーションデータが記憶される。モーションデータとは、例えば、ヒューマノイドロボットであれば、手や足や腰などの各間接の角度データである。
【００２０】
コンピュータのデータストレージには、ロボットが実行可能な全ての行動と各行動毎の待機系の待機モードとシステムの安全モードが記されたモードリストがファイルとして格納されている。図１にモードリストの例を示す。各行動とモードとの対応付けは、ロボットの製造業者やユーザーにより定義される。コールドスタンバイでの待機モードを指定する行動であれば、ロボットがその行動を実行中、待機系はコールドスタンバイになる。ロボットが同時に複数の行動を行なう場合、その行動の中にホットスタンバイの待機モードを指定するものが含まれていれば、コンピュータは待機系の待機モードをホットスタンバイに指定する。
【００２１】
図２は、待機系がコールドスタンバイのときの機能から見た構成図である。図２に示すように、現用系ユニット１０と、待機系ユニット２０とを備える。現用系ユニット１０は、ＣＰＵ１１、主記憶１２、ブートＲＯＭ１３、モーションデータ記憶手段１４、モーションデータ処理手段１５、入出力ポート１６、故障検出手段１７、冗長化制御手段１８、モードリスト１９を有する。
待機系ユニット２０についても同様の構成であり、ＣＰＵ２１、主記憶２２、ブートＲＯＭ２３、モーションデータ記憶手段２４、モーションデータ処理手段２５、入出力ポート２６、故障検出手段２７、冗長化制御手段２８を有する。
また、図２の例では、待機系ユニット２０は、冗長化制御手段２８からのパワーオフ指令をレギュレータ２９に送り、ＣＰＵ２１とその周辺回路である主記憶２２、ブートメモリ２３をオフ状態としてある。
各入出力ポート１６、２６は、ロボット各部のモータ部に動作を制御する指令を出力すると共に、ロボット各部のセンサー部からの信号を入力する。
【００２２】
図３は、モードリストに基づいた二重化ユニットの動作のフローチャートを示す。
現用系ユニットで動作しているプログラムは、ロボットが新しい行動を開始するときに、モードリストを参照し、その行動がコールドスタンバイの待機モードを指定しているならば、現用系の冗長化制御手段がコールドスタンバイ（cold_standby）信号をアクティブにする。
【００２３】
即ち、現用系ユニットのシステムが起動すると（ステップＳ１１）、作業の発生待ちを行い（ステップＳ１２）、作業が発生すると（ステップＳ１３）、モードリストを参照し（ステップＳ１４）、コールドスタンバイの待機モードの指定か否か判断する（ステップＳ１５）。コールドスタンバイの待機モードの指定であった場合には、コールドスタンバイはアクティブか否か判断する（ステップＳ１６）。コールドスタンバイがアクティブでない場合には、冗長化制御手段に通知し（ステップＳ１７）、コールドスタンバイをアクティブにする通知を、待機系ユニットに対して行い（ステップＳ１８）、ステップＳ１９に移り、作業終了か判断し、終了の場合にステップＳ１２に戻る。
ステップＳ１５でコールドスタンバイの待機モードの指定でない場合には、コールドスタンバイはアクティブか否か判断する（ステップＳ２１）。コールドスタンバイがアクティブであった場合には、冗長化制御手段に通知し（ステップＳ２２）、コールドスタンバイを非アクティブにする通知を、待機系ユニットに対して行い（ステップＳ２３）、ステップＳ１９に移り、作業終了か判断し、終了の場合にステップＳ１２に戻る。
ステップＳ１６でアクティブであった場合と、ステップＳ２１で非アクティブであった場合には、ステップＳ１９に移る。
【００２４】
待機系の冗長化制御手段は、コールドスタンバイ信号がアクティブになったことを検知すると、パワーオフ（power_off）信号をアクティブにし、レギュレータの出力をオフにして、待機系のＣＰＵ、主記憶、他のプロセッサへの電源供給を停止する(それらのデバイスへのクロック供給を停止し低電力の状態にすることも含む)。
【００２５】
即ち、待機系ユニットのシステムが起動すると（ステップＳ３１）、現用系ユニットに同調させ（ステップＳ３２）、コールドスタンバイ信号がアクティブになったことを検知すると（ステップＳ３３）、パワーオフ（power_off）信号をアクティブにし（ステップＳ３４）、レギュレータの出力をオフにして（ステップＳ３５）、待機系のＣＰＵ、主記憶、他のプロセッサへの電源供給を停止し、さらに、それらのデバイスへのクロック供給を停止し低電力の状態にする（ステップＳ３６）。また、コールドスタンバイ信号が非アクティブになったことを検知すると（ステップＳ３７）、パワーオフ信号を非アクティブにする（ステップＳ３８）。
【００２６】
安全モードは、二重化ユニットにおいて、待機系が正常なときに現用系で故障が発生した場合と、待機側のユニットが既に故障の状態にあるときに現用系で故障が発生した場合のシステムの動作を指定するものである。フェイルセーフの行動では、片方のユニットに故障が生じたとき、速やかにその行動を中止し、他の行動手段で状況に対応する。フェイルストップの行動では、両方のユニットに故障が生じたとき、システムを安全にシャットダウンさせる。フェイルオペレーショナルの行動では、両方のユニットに故障が生じたとき、システムを可能な限り稼働させ、ロボットの行動を継続させる。
【００２７】
図４は、冗長化ユニットの状態遷移図を示す（“！”はＮＯＴ，“＃”はＯＲを表す）。
Operationalは稼働の状態、Hot standbyはホットスタンバイでの待機の状態、Cold standbyはコールドスタンバイでの待機の状態、Faultyは故障の状態を表す。現用系で故障が発生するとfailover信号がアサートされ、待機系が現用系に切り替わる。
待機系がコールドスタンバイのときは、ＣＰＵは停止しているため、ハードウェアの健全性を知ることができない。ロボットがアイドル状態にあるとき、現用系の冗長化制御手段は、diagnosisという内部信号を生成して、待機系の健全性を確認するためのユニット切替えを行なう。コンピュータは、現在までの行動記録と未来の行動予定をデータストレージに保存する。現用系に故障が発生し、コールドスタンバイの待機系が現用系に切り替わるとき、それらの記録を参照して、ロボットの行動を再開する。
【００２８】
次に、待機系がコールドスタンバイのときの二重化ユニットの動作を説明する。
現用系のＣＰＵは、ロボットのモーションデータを生成し、自側のモーションデータ記憶手段と待機系のモーションデータ記憶手段に同じデータを書き込む(図２−１,図２−１')。このモーションデータは、ロボットの動作の継続性に必要なデータと標準姿勢に戻るまでのデータと標準姿勢から安全姿勢に導くデータからなる。
【００２９】
図５に示した歩行時のヒューマノイドロボットを例にすると、現在から次の一歩までのモーションのデータが、ロボットの動作の継続性に必要なデータであり(図５−１)、次の一歩から両足を揃えて直立の姿勢に移るモーションのデータが標準姿勢に戻るまでのデータであり(図５−２)、直立姿勢から、膝と手を地面について周囲への危険性を小さくした姿勢に移るモーションのデータが標準姿勢から安全姿勢に導くデータである(図５−３)。
ここで、図５−２の標準姿勢を介さず、図５−１の動作の姿勢から図５−３の安全姿勢へ直接変移するモーションデータであってもよい。各時刻毎にモーションデータと必要な制御情報をまとめた個々のメモリ領域をモーションデータフレームと呼ぶ。
【００３０】
図６にモーションデータフレームのフォーマットを示す。
モーションデータフレームには、モーションを開始する時刻を示す「モーション開始時刻」、モーションを保持する時間を示す「モーション保持時間」、「モーションデータ」、次のモーションデータフレームの先頭アドレスを示す「次モーションアドレス」からなる。
【００３１】
モーションデータ処理手段は、１ｍｓのタイマーを備え、現用系のモーションデータ処理手段は、１ｍｓ毎にＣＰＵに割込み(1ms_interupt)を入れる(図２−２)。割込みを受けたＣＰＵは、次の時刻（１ｍｓ後）のモーションを記述したモーションデータフレームの先頭アドレスを現用系と待機系のモーションデータ処理手段が有するモーションデータアドレスレジスタに書き込む(図２−３,図２−３')。現用系のモーションデータ処理手段は、モーションデータアドレスレジスタに入力されたアドレスに従い、モーションデータ記憶手段からモーションデータフレームを取り出す(図２−４)。そして、各モータが要求する信号フォーマットに変換し、入出力ポートを介して、モータ部に信号を送る(図２−５)。時刻毎のモーションデータを順々に繋ぎ合わせることでロボットのモーションが完成する。待機系のモーションデータ処理手段は、同様に、モーションデータアドレスレジスタに入力されたアドレスに従い、モーションデータフレームの内容をリードする(図２−７)。ここでは、モーション開始時刻に矛盾がないかをチェックし、正常な値であればモーションデータ処理手段の動作は完了する。もし、不正な値であれば、ＣＰＵにエラーを通知する。
【００３２】
ＣＰＵからモーションデータ処理手段への１ｍｓ毎の信号を、故障検出手段が監視する（図２−６)。1ms_interuptで割込みを入れてからαｍｓ経過しても検出できなかった場合、ＣＰＵが異常状態にあるとみなし、error_detected信号をアサートし、冗長化制御手段に通知する。故障検出手段は、不正アドレスアクセス、電源電圧低下のなどの致命的なエラーに関してもerror_detected信号をアサートする。冗長化制御手段は、error_detected信号を検出すると、failover信号をアサートし、待機系の冗長化制御手段に通知する。
【００３３】
現用系の冗長化制御手段は、待機系が正常であることを示すstandby_good信号がアクティブであることを確認し、待機系にロボットの制御権を渡し、現用系の冗長化制御回路は、isolate信号をアクティブにして、モータ部に不要な出力をしないように切り離し、ユニットをFaultyの状態にする。
【００３４】
現用系にて故障が時刻ｔｆ（ｔ−２＜ｔｆ＜ｔ）に発生したとし、図７に、故障によるユニット切り替わり時の動作を示す。
時刻ｔ−１のモーションに対するＣＰＵからモーションデータ処理手段へのアクセスはあったが、時刻ｔのモーションに対するＣＰＵからのアクセスは無かったとすると、ユニットが切り替わり、現用系に切り替わったモーションデータ処理手段は、時刻ｔのモーションデータフレームを参照し、モーションデータを入出力ポートに送り、モーション保持時間が経過した後、次モーションデータアドレスに基づき、時刻ｔ＋１のモーションデータを処理する。これを繰り返して、図５のように、ロボットを安全な姿勢に導く。
【００３５】
待機系ユニットで故障が発生したとき、待機系の故障検出手段はerror_detectedをアサートし、待機系の冗長化制御回路は、stanby_goodを非アクティブにする。standby_good信号が非アクティブのときに現用系ユニットで故障が発生したとき場合は、エラーの内容やモードリストの安全モードに応じて、システムをシャットダウンさせるか、または、システムを再起動させるか、または、ロボットの動作を継続させるかを決定する。
ロボットのシャットダウンあるいは再起動の場合は、現用系のモーションデータ処理手段がモーションデータ記憶手段からモーションデータを取り出して、ロボットを安全な姿勢に導く。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施の形態によるモードリストの例を示す説明図である。
【図２】本発明の一実施の形態による待機系がコールドスタンバイのときの二重化ユニットの構成図である。
【図３】本発明の一実施の形態による二重化ユニットの動作のフローチャートである。
【図４】本発明の一実施の形態による冗長化ユニットの状態遷移図である。
【図５】本発明の一実施の形態によるヒューマノイドロボットのモーションデータを示す説明図である。
【図６】本発明の一実施の形態によるモーションデータフレームのフォーマットを示す説明図である。
【図７】本発明の一実施の形態によるユニット切り替わり時の動作例を示す説明図である。
【符号の説明】
【００３７】
１０…現用系ユニット、１１…ＣＰＵ、１２…主記憶、１３…ブートＲＯＭ、１４…モーションデータ記憶手段、１５…モーションデータ処理手段、１６…入出力ポート、１７…故障検出手段、１８…冗長化制御手段、１９…モードリスト、２０…待機系ユニット、２１…ＣＰＵ、２２…主記憶、２３…ブートＲＯＭ、２４…モーションデータ記憶手段、２５…モーションデータ処理手段、２６…入出力ポート、２７…故障検出手段、２８…冗長化制御手段、２９…レギュレータ
【図１】
2008093752.tif 000003
【図２】
2008093752.tif 000004
【図３】
2008093752.tif 000005
【図４】
2008093752.tif 000006
【図５】
2008093752.tif 000007
【図６】
2008093752.tif 000008
【図７】
2008093752.tif 000009