(57)【特許請求の範囲】
【請求項１】
複数のコンプライアントロボット関節と、各々がロボット関節のそれぞれ１つを動かすように接続され構成されたアクチュエータと、ロボットシステムの複数の制御ポイントにおいて制御及びフィードバックデータを計測するセンサと、を含む複数の統合システム構成要素を有するロボットと、
前記統合システム構成要素と通信を行い、多重分散制御レベルを有するコントローラであって、前記多重分散制御レベルを介して、多重高速通信ネットワークに渡って、前記センサからの情報を使用して前記統合システム構成要素を制御するように構成された前記コントローラと、
を備えたロボットシステムであって、
前記コントローラは、ハードウェア、ソフトウェア及びファームウェアを有する有限ステートマシン（ＦＳＭ）を備え、更に前記コントローラは、複数の組込み診断、予知及び健全管理（ＤＰＨＭ）モジュールを含み、それらの少なくとも１つは、前記統合システム構成要素の各々の内部に組み込まれ、前記ＤＰＨＭモジュールの各々は、少なくとも１つの前記有限ステートマシン（ＦＳＭ）を使用して、前記統合システム構成要素のそれぞれに対して、ＤＰＨＭデータ及びシステムの振舞いを計測して制御すると共に、前記多重高速通信ネットワークに渡ってアクセス可能なメモリ位置にＤＰＨＭデータを記録するように構成され、
前記ロボットシステムは、前記多重分散制御レベルのいずれかに接続されたＤＰＨＭハードウェア機器を更に備え、該ＤＰＨＭハードウェア機器は、前記多重高速通信ネットワークのいずれをも介して通信を行うことなく、前記ＤＰＨＭモジュールのいずれか内に格納された情報に直接アクセスするように構成されていることを特徴とするロボットシステム。
【請求項２】
前記ＤＰＨＭモジュールは、前記ロボットシステムの全てのソフトウェア及びハードウェアレベルにおいて、ＤＰＨＭ機能性を集約的に提供することを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記コントローラは、所定の障害条件に応じて、ロボットを自動的にフェールセーフモードに移行させるため前記ＤＰＨＭモジュールを使用するように構成されていることを特徴とする請求項１に記載のロボットシステム。
【請求項４】
前記コントローラは、前記ＤＰＨＭモジュール及び少なくとも１つの前記有限ステートマシン（ＦＳＭ）を介して、前記所定の障害条件に応じて、システム状態の通知、指示機器の起動、前記統合システム構成要素の少なくとも１つの停止、及び、少なくとも１つの関節が閾位置に動くことの防止、のうちの少なくとも１つを実行するように構成されていることを特徴とする請求項３に記載のロボットシステム。
【請求項５】
ヒューマノイドロボットによる実行のための異なる専用機能を各々が提供する多重ハードウェア制御モジュールを更に備え、前記ＤＰＨＭモジュールのうちの対応する１つは、前記多重ハードウェア制御モジュールの各々内に組み込まれていることを特徴とする請求項１に記載のロボットシステム。
【請求項６】
複数のコンプライアントロボット関節と、アクチュエータと、複数の統合システム構成要素の対応する１つでの制御及びフィードバックデータを計測するように構成されたセンサと、を含む前記複数の統合システム構成要素を有するロボットシステムで使用するためのコントローラであって、
各々がハードウェア制御モジュールを有する多重分散制御レベルと、
ハードウェア、ソフトウェア及びファームウェアを有する有限ステートマシン（ＦＳＭ）であって、複数の組込み診断、予知及び健全管理（ＤＰＨＭ）モジュールの各々が直接前記有限ステートマシン（ＦＳＭ）とインターフェースをとる、前記有限ステートマシン（ＦＳＭ）と、
多重高速通信ネットワークと、
を備え、
前記ハードウェア制御モジュールの各々は、前記複数のＤＰＨＭモジュールを含み、前記ＤＰＨＭモジュールの少なくとも１つは、前記多重分散制御レベルの少なくとも１つで、前記統合システム構成要素の少なくとも１つの内部に組み込まれ、前記ハードウェア制御モジュールの各々は、前記ＤＰＨＭモジュールのそれぞれ１つを使用して、前記統合システム構成要素のそれぞれに対して、ＤＰＨＭデータ及びシステムの振舞いを計測して制御すると共に、前記多重高速通信ネットワークに渡ってアクセス可能なメモリ位置に、前記ＤＰＨＭデータを記録するように構成され、
前記コントローラは、ＤＰＨＭハードウェア機器を更に備え、該ＤＰＨＭハードウェア機器は、前記多重高速通信ネットワークのいずれをも使用することなく、前記ＤＰＨＭモジュールのいずれか内に格納された情報に直接アクセスすることを特徴とするコントローラ。
【請求項７】
前記ＤＰＨＭモジュールは、前記ロボットシステムの全てのソフトウェア及びハードウェアレベルにおいて、ＤＰＨＭ機能性を集約的に提供することを特徴とする請求項７に記載のコントローラ。
【請求項８】
前記センサは、一対の位置エンコーダを含み、前記ハードウェア制御モジュールの少なくとも１つは、前記ＤＰＨＭモジュールの一つを介して、前記一対の位置エンコーダからの値の差異が、調整閾値を超えたときには、フェールセーフモードに入るように構成されていることを特徴とする請求項６に記載のコントローラ。
【請求項９】
ヒューマノイドロボットによる実行のための異なる専用機能を各々が提供する複数の制御モジュールを更に備え、ＤＰＨＭモジュールのうちの１つは、前記制御モジュールの各々内に組み込まれていることを特徴とする請求項６に記載のコントローラ。
【請求項１０】
前記複数の制御モジュールは、触覚的感知モジュール及び視覚的感知モジュールの各々を有していることを特徴とする請求項９に記載のコントローラ。
【請求項１１】
複数のコンプライアントロボット関節と、アクチュエータと、前記ロボット関節の対応する１つでのフィードバックデータを計測するセンサと、を含む複数の統合システム構成要素を有するロボットシステム内のロボットを制御する方法であって、
コントローラを、多重制御レベル及び多重高速通信ネットワークで構成し、
ＤＰＨＭモジュールを、前記統合システム構成要素の各々内に組み込み、
前記ＤＰＨＭモジュールを使用して、前記多重制御レベルの各々内のＤＰＨＭデータを計測し、
前記多重制御レベルの少なくとも１つにおいて、ハードウェア、ソフトウェア及びファームウェアを有する有限ステートマシン（ＦＳＭ）を使用して、前記統合システム構成要素に対して、前記ＤＰＨＭモジュールを介してＤＰＨＭデータ及びシステムの振舞いを計測して制御し、
前記多重高速通信ネットワークの少なくとも１つに渡ってアクセス可能なメモリ位置に、前記ＤＰＨＭデータを記録する、各工程を備え、
前記多重高速通信ネットワークが利用不能なときには、ＤＰＨＭハードウェア機器によって、前記多重高速通信ネットワークのいずれをも介して通信を行うことなく、前記ＤＰＨＭモジュールのいずれか内に格納された情報に直接アクセスすることを特徴とする方法。
【請求項１２】
前記ＤＰＨＭモジュールを使用してＤＰＨＭデータを計測するステップは、前記ＤＰＨＭモジュールが、所定の障害条件の存在を判定したときには、前記ロボットシステムを自動的にフェールセーフモードに移行させるステップを含んでいることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記フェールセーフモードに移行させるステップは、状態を通知し、指示機器を起動し、前記統合システム構成要素の少なくとも１つへの電力を停止し、前記コンプライアントロボット関節の少なくとも１つが非安全状態に動くことを防止し、前記コンプライアントロボット関節の少なくとも１つを所定の受動状態に置くことのうちの少なくとも１つを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記フェールセーフモードに移行させるステップは、関節を所定の受動状態に移すことを含み、その所定の状態とは、前記ロボットの閾値最少重量に対する重力補償の調整量を維持する重力補償状態であることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ロボットは、少なくとも４２の自由度を有する、請求項１に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]連邦政府により後援された研究又は開発に関する陳述
本発明は、ＮＡＳＡスペースアクトアグリーメント（Space Act Agreement）第SAA-AT-07-003号に基づいて、政府の支援によりなされたものである。政府は、この発明に関し、いくつかの権利を有する。
【０００２】
[0002]本発明は、ヒューマノイドロボットの制御に関し、特に、器用なヒューマノイドロボットの診断、予知、及び健全管理（ＤＰＨＭ）に関する。
【背景技術】
【０００３】
[0003]ロボットは、一連のリンクを使用して物体を操作できる自動、自律、遠隔操作機器であり、そしてそのリンクは、咬合節、又はモータ駆動のロボット関節を介して相互接続されている。典型的なロボットにおける各関節は、独立制御変数で表現でき、それはまた自由度（ＤＯＦ）とも称される。エンドエフェクタは、手においてタスクを実行する、例えば作業工具又は物体を掴むために使用される特別なリンクである。故に、ロボットの正確な制御は、タスク仕様のレベル、すなわち、ロボットによる単独把持又は協働把持において保持される物体の振る舞いを制御する能力である物体レベル制御、エンドエフェクタ制御、及び関節レベル制御、により組織化される。集約すれば、各種制御領域は、協働し、要求された機能性を遂行する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]特にヒューマノイドロボットというのは、全身、胴部、及び／又は外肢に拘わらず、概ね人間の構造、機能性、及び／又は外見を有して構成され、そのヒューマノイドロボットの構造的複雑さというのは、主に、遂行されるべき作業タスクの質に依存する。人間の使用のために特別に作られた機器又はシステムによる直接的な相互作用が必要な場合には、ヒューマノイドロボットを使用することが好ましい。ヒューマノイドロボットに期待される作業タスクの広範性により、異なる制御モードが同時に必要となることもある。例えば、負荷トルク又は力、動き、及び各種把持タイプに対する制御と同様、上記の異なる空間内で、正確な位置制御が行われることも必要となる。
【０００５】
[0005]ロボット制御構造は、とりわけ、閾値ベースの故障検出及び隔離のような、低レベルの診断情報のみを提供する。かかる故障後検出及び隔離アプローチは、主に、システム展開又は故障回復モードの間に使用され、故に、統合ライフサイクル管理への最適アプローチほど情報を提供しない。同様に、新たな制御機能性を、ここで記述する４２＋ＤＯＦのヒューマノイドロボットのような極端に複雑な電気機械システムに調整して組み込むための高い費用のため、特に、問題であるシステム展開及びインターフェースに関する事項を現われる。
【課題を解決するための手段】
【０００６】
[0006]しかして、ロボットシステムの如何なる立上げの前に、モジュラー診断、予知、及び健全管理（ＤＰＨＭ）機能性を設計し、それを分散制御システムの多重レベル内に隙間なく統合し、又は組み込むようなフレームワークが提供される。かかる統合ボトムアップ設計アプローチにより、個々のソフトウェア及びハードウェアレベルでロボットシステムの保守性及び拡張性を発揮しつつ、システムワイドな観測及び制御が可能となる。拡縮可能な特徴又はコマンドモジュールは、深さ方向及び広さ方向の各種レベルで展開でき、伸展するアプリケーションの要求及び制約を満たし、それにより結局、システムの展開、実行、及び保守の費用が削減される。
【０００７】
[0007]現在あるいくつかのロボット制御システムにおいて、状態ビット又はビットマップは、ステータスレジスタを有するシステムの現在の状態を示している。エラービットを人間が読めるメッセージに変換して、システム診断の間、ユーザーに提示するために、ルックアップテーブルも使用できる。しかしながら、ＤＰＨＭ機能性の立上げ後の統合は、システムの複雑性が増すほど、即座に実用的ではなくなる。システム予知及び健全情報が全く収集可能であっても、それらは保持されない。代わりに、ハード閾値トリガー障害又は故障により駆動されるデータが、収集されて記録され、制限された障害後イベント故障検出及び隔離が提供される。かかる制約に部分的に対処すべく、本発明は、ロボットシステム内にモジュラーＤＰＨＭ機能性を直接設計し、分散ロボットコントローラの各種制御レベルの各々内に個々のＤＰＨＭモジュールを組み込む。
【０００８】
[0008]特に、複数のコンプライアントロボット関節と、各々がロボット関節の１つを動かすように調整されたアクチュエータと、ロボットシステムの複数の制御ポイントにおいて制御及びフィードバックデータを計測するように調整されたセンサと、を含む複数の統合システム構成要素を有するロボットを含むロボットシステムがここに提供される。また、ロボットシステムは、多重分散制御レベルを有し、前記多重分散制御レベルを介して、多重高速通信ネットワークに渡って、前記統合システム構成要素を制御するコントローラを含む。
【０００９】
[0009]コントローラは、複数の組込み診断、予知、及び健全管理（ＤＰＨＭ）モジュールを含み、それらの少なくとも１つは、前記統合システム構成要素の各々の内部に組み込まれ、ＤＰＨＭモジュールの各々は、前記統合システム構成要素のそれぞれの対して、ＤＰＨＭデータ及びシステムの振舞いを計測して制御すると共に、前記高速通信ネットワークに渡ってアクセス可能な位置におけるＤＰＨＭデータを記録するように調整されている。
【００１０】
[0010]ロボットシステムは、制御レベルに応じて、多重コンピュータ制御ノードを含んでおり、それらのノードは、組込み印刷回路基板アセンブリ（ＰＣＢＡ）又はプロセッサ又は外部ワークステーションコンピュータとして具現化でき、それらは異なるネットワークに渡って自動的に通信して、例えば、コンプライアント関節、リレー、レーザ、ライト、電磁クランプ等の各種統合システム構成要素の機能を制御して協働させる。ロボット自体は、同期して動くことができる多重同期関節、例えば、肩、肘、首、ウエスト、手首、指、親指等、を有しており、特定のアクションを実行する。かかるヒューマノイドロボットは、従来のロボットの何倍もの自由度（ＤＯＦ）又は方向性制御変数を有することができる。その結果、そのような複雑なシステムを協働させ制御させようとするいかなる制御システムも、従来のロボット制御システム内で発生するデータ量の何倍もの量の制御及びフィードバックデータを素早く処理する必要がある。
【００１１】
[0011]分散コントローラは、それが、ロボットによる自律タスクの実行を指令する制御信号を送信するコマンドレベルコントローラと、ロボット関節のそれぞれ、又は他の統合システム構成要素の動きを制御するための多重組込み関節レベルコントローラと、コマンドレベルコントローラからのコマンド信号を受け取り、それに応じて、ロボット関節及び他の統合システム構成要素の動作を協働させる関節協働レベルコントローラと、を含むという意味において“分散的”である。複数のＤＰＨＭモジュールは、ロボットシステム内で各種制御レベルに、すなわち、コントローラそれ自体内と共にそれに接続される各種機器内に、組み込まれている。各ＤＰＨＭモジュールは、そのモジュール組み込まれるコントローラ／機器のためのＤＰＨＭ情報を自動的に判定し、その後、そのデータは、通信ネットワークに渡って容易にアクセスできる、又は、例えば各種ネットワークが一時的に利用不能なときには、外部ＤＰＨＭ機器を使用して容易にアクセスできる位置に記憶される。
【００１２】
[0012]コンプライアントロボット関節と、複数のアクチュエータと、前記ロボット関節の対応する１つでのフィードバックデータを判定するように調整されたセンサと、を含む複数の統合システム構成要素を有するロボットシステム内のロボットを制御する方法が、また提供される。その方法は、多重高速通信ネットワークを有する分散コントローラの多重制御レベル内に、複数のＤＰＨＭモジュールを組み込み、前記ＤＰＨＭモジュールを使用して、前記制御レベルの各々内のＤＰＨＭデータを計測し、前記高速通信ネットワークの少なくとも１つに渡ってアクセス可能な位置に、前記ＤＰＨＭデータを記録する。
【００１３】
[0013]本発明の上記特徴及び利点並びに他の特徴及び利点は、添付図面との関連で考慮すると、発明を実行するベストモードの以下の詳細記述から容易に明らかとなる。
【図面の簡単な説明】
【００１４】
【図１】[0014]図１は、分散された診断、予知、及び健全管理（ＤＰＨＭ）モジュールを伴った分散制御フレームワークを有するヒューマノイドロボットの概略図である。
【図２】[0015]図２は、図１のヒューマノイドロボットに使用できる、ＤＰＨＭモジュールを伴った分散制御フレームワークの概略図である。
【図３】[0016]図３は、図２の分散制御フレームワークと共に使用できるタイプの有限ステートマシンを記述する概略図である。
【図４】[0017]図４は、図２の分散制御フレームワークの概略論理流れ図である。
【発明を実施するための形態】
【００１５】
[0018]これから参照する図面においては、複数の図を通して、同様の参照番号は、同一の又は類似の構成を意味している。図１は、分散制御システム又はコントローラ（Ｃ）２４と、それにより制御される器用なヒューマノイドロボット１０とを有するロボットシステムを示している。ロボット１０は、多重の自由度（ＤＯＦ）をもって１つ以上の自律的タスクを遂行するように調整されている。一実施形態によれば、ロボット１０は、限定するわけではないが、肩関節（矢印Ａ）、肘関節（矢印Ｂ）、手首関節（矢印Ｃ）、首関節（矢印Ｄ）、及びウエスト関節（矢印Ｅ）、そして更に各ロボット指１９の指骨の間に位置する各種指関節（矢印Ｆ）のような、複数の独立に、かつ相互依存的に可動できるロボット関節を有するように構成されている。
【００１６】
[0019]各ロボット関節は、１以上のＤＯＦを有している。例えば、肩関節（矢印Ａ）、肘関節（矢印Ｂ）、及び手首関節（矢印Ｃ）のようないくつかの関節は、あおり及び回転というような少なくとも２つのＤＯＦを有している。同様に、首関節（矢印Ｄ）は、少なくとも３つのＤＯＦを有しており、一方、ウエスト（矢印Ｅ）は、１以上のＤＯＦを有している。タスクの複雑さに応じて、ロボット１０は、４２を超えるＤＯＦをもってして動作する。各ロボット関節は、例えば、関節モータ、直列弾性アクチュエータ、リニアーアクチュエータ、ロータリーアクチュエータ等の１つ以上のアクチュエータを含んでおり、それらにより内部的に駆動される。
【００１７】
[0020]ロボット１０は、頭１２、胴１４、ウエスト１５、腕１６、手１８、指１９、及び親指２１を含んでおり、上記各種関節はそれらの内部又はそれらの間に配設されている。ロボット１０は、その特定の応用又は意図的な使用に応じて、脚、トレッド（踏面）、又は他の可動もしくは固定ベースのような、タスクに適した固定部又はベース（図示せず）を有している。電源１３は、ロボット１０に一体的に搭載されることができ、例えば、充電可能バッテリパックが胴１４の背面に取り付けられたり、背負われたりし、また他の適したエネルギー供給源であってもよく、又は、電源１３は、ロボットの外部にあり、電源ケーブルにより接続されていてもよく、それにより各種関節が動かせるように、それらに十分な電気的エネルギーが供給される。
【００１８】
[0021]簡略化のため図１には示されていないが、各ロボット関節は、例えば、関節モータ、リニアーアクチュエータ、直列弾性アクチュエータ、他のロータリーアクチュエータ、電気的に制御される拮抗腱等の１つ以上のアクチュエータを含んでおり、それらにより駆動される。ロボットシステムは、複合的なコンピュータ制御ノード、すなわち、組込み印刷回路基板アセンブリ（ＰＣＢＡ）又はプロセッサ、及び外部ワークステーションコンピュータを有しており、それらは異なるネットワークを介して自動的に通信して、例えばコンプライアント関節、リレー、レーザ、光、電磁クランプ等の各種統合システム構成要素の機能を制御し協働させ、それにより、ロボットの動作を制御している。
【００１９】
[0022]ロボット１０の関節は、上記のようにコンプライアントである。つまり、それらは、そのいくつか、又は全ての内部にばねを含んでいるため十分に非硬質であり、故に、例えば図２のエンコーダ６９Ａ及び６９Ｉのような位置エンコーダが、アクチュエータ又はサーボモータのために使用されると共に、関節そのもののために使用され、関節にかかる力に関する情報を提供している。加えて、各コンプライアント関節の間には、任意のコンプライアント関節の状態に関する完全な力情報を収集する６軸力トルクセンサ（図示せず）が設けられている。
【００２０】
[0023]分散コントローラ（Ｃ）２４は、片手又は両手１８の指１９及び親指２１により掴まれる物体２０を操作するのに必要な正確かつ全体的な動きに対する制御のような、ヒューマノイドロボット１０の正確な動き及びシステム制御を提供する。制御システム２４は、他のロボット関節と隔絶して各ロボット関節を独立に制御できると共に、複雑な作業タスクを遂行するにあたり、多重関節の動作を全面的に協働させるべく、多くの関節を相互依存的に制御できる。
【００２１】
[0024]制御システム２４は、多重デジタルコンピュータ又はデータ処理機器を含んでおり、その各々は、１つ以上のマイクロプロセッサ又は中央処理ユニット（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的書換え可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、高速クロック、アナログ／デジタル（Ａ／Ｄ）回路、デジタル／アナログ（Ｄ／Ａ）回路、及び、必要な入出力（Ｉ／Ｏ）回路、Ｉ／Ｏ機器、及び通信インターフェースを有しており、また、信号調整及びバッファー電子素子を有している。コントローラ２４内にあるか、またはそれにより容易にアクセス可能な個々の制御アルゴリズムは、ＲＯＭに格納されており、１以上の異なる制御レベルで自動的に実行され、それによりそれぞれの制御機能性が提供される。
【００２２】
[0025]図１をもう少し参照し、コントローラ２４は、コマンドレベル制御が、比較的マクロなレベルで提供されるという意味において、“分散されており”、それにより中間レベルで、関節及びシステム協働動作が制御されており、更に、多重的分散及び組込み低レベルコントローラを介して特定のタスクを担う各関節及びシステムが制御されている。故に、コントローラ２４は、システムコマンダー２５とここで称されるコマンドレベルコントローラと、頭脳２７と以降称されるリアルタイム関節協働コントローラとを含んでいる。コントローラ２４は、また、多重的組込み関節レベルコントローラ２９を含んでおり、後述のように、それらは、その記述が暗示するように、各々、それにより制御される関節に近接してロボット１０構造内部に組み込まれている。双方向矢印１１により示される制御データ及びフィードバックデータは、ロボット１０とコントローラ２４の各種レベルの間で交わされ、ロボットの正確で複雑な動き制御を保証している。
【００２３】
[0026]コントローラ２４は、例えばコントロールパネル又は他のマンマシンインターフェース（ＨＭＩ）のようなユーザーインターフェース２２を伴って構成されている。インターフェース２２は、動作レベル及びプログラミングレベルで、別途ロボット１０にアクセスできるように構成されている。その結果、インターフェース２２は、ロボット１０に対する制限された制御ではあるが、直観的又はメニュー駆動型の一連の機能的オプションをオペレータに提供するグラフィカルユーザーインターフェース（ＧＵＩ）を含んでいる。インターフェース２２は、また、ロボットの核となる制御コードを変更する権限を有する技術者、プログラマー、又は他の指定された個人による、ロボット１０へのプログラムによるアクセスを提供する専用インターフェースを含んでいる。図２乃至４を参照してこれから説明するが、コントローラ２４は、上述の各種制御レベルの各々で、システムの立上げ前にモジュールとして組み込まれた診断、予知、及び健全管理（ＤＰＨＭ）機能性を含んでいる。
【００２４】
[0027]図２を参照すると、コントローラ２４は、多重高速ネットワークに渡って分散されており、上述のロボット１０内の各種関節の協働的動きを正確に制御している。つまり、システムコマンダー（ＳＣ）２５は、高速通信リンク４１に渡ってインターフェース２２を介して指令されて、ロボット１０に対する一般的なトップレベルの制御を提供するものであるが、そしてそのトップレベルのコマンドは、そのシステムコマンダーにより頭脳２７に送信される。例えば、システムコマンダー２５は、“物体を持ち上げ”、そして“その物体を３秒で、点Ｘ，Ｙ，Ｚに移動させよ”というようなタスクベースのコマンドを発行する。これらのコマンドは、アプリケーションプログラミングインターフェース（ＡＰＩ）４８を介して、第一ネットワーク４２に渡って、中間レベル制御機器、すなわち頭脳２７に送信され、又は受け渡されるが、そのネットワークは、一実施形態においては、イーサネット接続又は他の適した高速ネットワークである。システムコマンダー２５は、また、ランタイムエンジン３１を介して、実行中にプログラミング言語又はコード４６を実行する。
【００２５】
[0028]頭脳２７は、ＡＰＩ４８を介して第一ネットワーク４２を通じて、システムコマンダー２５から（複数の）コマンドを受け取り、そしてそのコマンドを処理する。頭脳２７のレベルでの処理としては、特別な統合システムを特定すること、例えば、最も効率的な方法で要求されたタスクを実行するように制御されなければならない、図１に示されたロボット１０の特定のコンプライアント関節を特定することがあると共に、要求された起動コマンドを各関節を動かすアクチュエータに発することがある。例えば、頭脳２７は、特定の関節に信号を送り、特定の速度で１０度動くようにその関節に指令する。この信号は、第２ネットワーク４２を介して、各組込み関節コントローラ（ＣＪ）２９に送られるが、その第２ネットワークとしては、例えば、頭脳２７内に統合され、高速接続リンク４１を通じて、内部の各種関節及び／又はタスク指定コマンドモジュール（図示せず）を接続するバックプレーンである。
【００２６】
[0029]上記機器に加えて、コントローラ２４は、任意のネットワークと機器の間の通信を優先するように構成されたネットワーク通信マネージャー（ＮＣＭ）３８の収集も含んでいる。当業者であれば理解できるように、ＮＣＭ３８は、特定のハードウェア機器に対するプログラミングインターフェースを提供して、ネットワークへの接続を試み、その機器が、そのネットワークにより使用される特定の通信プロトコルに従って、適切に接続されることを保証しているソフトウェアを含んでいる。
【００２７】
[0030]コントローラ２４は、また、一実施形態によれば多点低電圧差分信号（Ｍ−ＬＶＤＳ）バスのような第３高速ネットワーク４４を含んでおり、それは多重アプリケーションモジュール（ＡＰＰ）３０との接続を確立するために使用される。各モジュール３０は、各種ロボットの能力に対して、トップレベルの制御又はタスク指定制御論理を提供する。一実施形態においては、モジュール３０は、例えば、触覚的又はタッチベースの感知モジュール、及び／又は、レーザ、レーダー、及び／又は光学ベースの視覚的認識能力を提供する視覚的感知モジュールのようないくつかの周辺センサーアプリケーションを制御できるよう構成されている。他のモジュールとしては、例えば音声又は音認識のような音又は音声ベースの感知モジュール、ロボット１０へのユーザーアクセスを提供するユーザーインターフェースモジュール、タスク計画モジュール、遠隔操作モジュール、ロボットを訓練するための推論モジュール及び／又は学習モジュール、及び／又は、所望の機能性を提供する他のモジュールがある。かかる環境的感知能力又は図１のロボット１０の能力を高める他の機能性は、リンク４１、ＮＣＭ３８、及びＡＰＩ４８を介して、システムコマンダー２５並びにネットワーク４２，４３及び４４を通じて、関節レベルに受け渡される。
【００２８】
[0031]図２に示されたロボットシステムは、コンプライアント関節ごとに少なくとも３つのエンコーダを含んでおり、それらは一対の絶対値エンコーダ６９Ａ及び増分エンコーダ６９Ｉである。絶対値エンコーダ６９Ａは、比較的高解像度で、低速度のエンコード機器として構成されている。増分エンコーダ６９Ｉは、比較的低解像度で、高速機器である。以下に記述されるように、エンコーダによる測定及びその測定値は、ロボットの障害診断及び隔離能力として、所定の障害条件の存在を判定するために使用される。
【００２９】
[0032]かかる条件は、センサからの読み込みと障害閾値との比較とを含んでおり、及び／又は、信号傾斜を抽出し、その傾斜を閾値比較のための仮想的変数として使用することを含んでいる。あるいは又は同時に、二値信号が使用される。例えば、安全リレーが、通信状態についての情報を提供する。近接センサ又はリミットスイッチが、達成された離散的条件等の二値信号を提供するように構成されている。
【００３０】
[0033]更に図２を参照して、上記のように、コントローラ２４は、上記のようにシステムコマンダー２５、頭脳２７、及び多重組込み関節レベルコントローラ２９を介して、多重制御レベルの間に、制御機能性を分配している。関節又はシステムレベルの感知、信号処理、及び即座のアクチュエータ制御が、１つ以上の印刷回路基板アセンブリ（ＰＣＢＡ）を介して、関節レベルで実行されるが、そのアセンブリは、制御されるべき特定の関節に近接して、例えば腕１６内のような、ロボットの構造内に直接的に組み込まれている。
【００３１】
[0034]本発明の意図した範囲内において、コントローラ２４は、同様に設計しており、各種制御レベル、すなわち、システムコマンダー２５、頭脳２７、及び関節レベルコントローラ２９、並びに接続ネットワーク機器、すなわち、ユーザーインターフェース２２、ランタイムエンジン４４、コード４６、ＮＣＭ３８、及びアプリケーションモジュール３０において、一連のＤＰＨＭモジュール３７を介して、診断、予知、及び健全管理（ＤＰＨＭ）機能性を分配している。ロボット１０に渡る制御機能性の他のレベルが、ＤＰＨＭマスター又はバイパスモジュール５０を介して提供され、そのバイパスモジュール５０は、同じく、ＤＰＨＭモジュール３７を有しており、コントローラ２４の各種レベル全体に組み込まれたＤＰＨＭモジュール３７のいくらか又は全てに対する全体的なアクセスを提供している。かかる組込みＤＰＨＭ機能性は、図３及び４を参照して以下説明される。
【００３２】
[0035]図３を参照すると、ステートマシン６０は、上述のコントローラ２４の構造内で使用される。図４を参照して以下に記載のＤＰＨＭ機能性は、有限及び／又は無限ステートマシンアプローチを使用するものであるが、ステートマシン６０は、例示目的で示されている。当業者であれば理解できるであろうが、有限ステートマシン（ＦＳＭ）は、連続的論理及び制御機能性を設計できる技法である。ＦＳＭは、マイクロコントローラのための論理回路、プログラム、ファームウェアと共に、パターン認識及び人口知能を設計するために使用される。
【００３３】
[0036]概念的には、ＦＳＭは、図２のコントローラ２４のような制御システムが、任意の瞬間において、有限個数の状態内、例えば、開／閉、オン／オフ、移動／停止など、においてのみ動作する、ということを認識している。ＦＳＭは、システムの重要な状態を特定し、図の形態で状態遷移を表現する。図３は、異なる状態６６Ａ−Ｅを有する、簡略化した状態図を示しており、初期（ＩＮＩＴ）状態６６Ａ、オン及びオフ状態６６Ｂ及び６６Ｃ、連続（ＣＴ）動作状態６６Ｄを含んでいる。エラー状態（ＥＲＲ）６６Ｅも示されている。各状態６６Ａ−６６Ｅは、状態の変化を引き起こす特定のイベントを表す矢印６７により結ばれている。イベントは、状態変化を引き起こす特定の遷移条件又は動作として定義される。また、図３には、コントローラ２４内の各種実装ステートマシンタイプ６１が示されており、それらには、ハードウェア（Ｈ／Ｍ）６２，ソフトウェア（Ｓ／Ｗ）６４、及びファームウェア（Ｆ／Ｗ）６５がある。従って、ＦＭＳ技法は、コントローラ２４の各種制御レベルでのみならず、特定制御レベル内の異なるタイプとしても採用される。
【００３４】
[0037]図４を参照すると、図２のコントローラ２４の各種レベルの各々の内部に、すなわち上述のＤＰＨＭを介して、ＤＰＨＭ機能性を組み込むためのシステム構造７０が示されている。頭脳２７は、イーサネット、バックプレーン、Ｍ−ＬＤＶＳバス等の上述の高速ネットワークを介して、通信リンク４１などの高速ハードウェア／ソフトウェア通信バスを通じて、各種組込み関節コントローラ（ＣＪ）２９に接続されている。簡略化のために１つの関節レベルコントローラ２９しか示されていないが、図１のロボット１０は、多重関節レベルコントローラを有することができることが理解でき、一実施形態によれば、例えば、全てのＤＯＦのための１つのコントローラ２９である。頭脳２７へのＤＰＨＭアクセスは、リンク４１を通じてモジュール５０を介して提供される。同様に、ＤＰＨＭアクセスは、ＤＰＨＭモジュール５０を介して関節コントローラ２９のいくらか又は全てに対して提供される。あるいは、ＤＰＨＭアクセスは、以下に説明されるように、隔てられた外部ＤＰＨＭバイパスハードウェア９０を伴ったハードウェア接続９１を介して提供される。
【００３５】
[0038]ロボット１０の各種制御機能は、Ｎ個のステートマシンに分けられ、Ｎ番目のステートマシン８０は、各種のレベル１（Ｌ１）ステートマシン８２を有し、その各々が、その最下位の又は最も基礎のレベルの任意の関節の機能性を制御している。各Ｌ１ステートマシン８２は、高レベルステートマシン、例えば、レベル２（Ｌ２）ステートマシン８４、の１つの構成要素である。この繋がりは、最も高いレベル、すなわちＮ番目のステートマシン８０まで伸展する。各制御レベルでは、ＤＰＨＭバイパスモジュール、すなわち、ＤＰＨＭバイパスモジュール５０，８１，及び／又は８３、並びにオプションのＤＰＨＭバイパスモジュール９０、により、後述のツールを使用して診断、予知、及び健全管理のために直接的に各種ステートマシン８２，８４にアクセスできるようになっている。
【００３６】
[0039]オプションのＤＰＨＭバイパス外部ハードウェア９０は、ＤＰＨＭモジュール５０とその構成バイパス制御レベル、すなわち、Ｌ１ＤＰＨＭモジュール８３及びＬ２ＤＰＨＭモジュール８１、に実質的に冗長なＤＰＨＭ機能性を提供するために使用される。ハードウェア９０を使用することは、通信リンク４１が遮断されるかダウンしたときや、あるいはＤＰＨＭ機能が実行不可能となるような事態のときに、特に有用である。かかる場合、ハードウェア９０、例えば、ラップトップコンピュータ又は携帯電子機器、が、ローカルインターフェース９２を使用してハードウェア接続９１を介してステートマシン８０にいかなる所望のレベルでも接続できる。例えば、ローカルインターフェース９２は、ＲＳ−２３２直列通信ポートもしくはＵＳＢポート、又はハードウェア９０に対して直接のプラグアンドプレイ接続を提供する他のポートとして構成できる。
【００３７】
[0040]ハードウェア９０としては、アナログパラメータ調整とビット設定性能を提供する調整ＧＵＩ９３がある。かかるＧＵＩは、図１のロボット１０を関節レベルで制御するために使用される１つ以上のセンサ９４、アクチュエータ９５、並びにソフトウェア、ハードウェア、及び／又はファームウェアレベルの制御機器９６に直接的に、かつ直観的にアクセスするための一組のオプションを含んでいる。例えば、これらの直観的オプションを通して、上述のステートマシン８２，８４に論理的なアクセスができる。ハードウェア９０は、任意に構成された複合データ監視及び制御オプションを含んでおり、機能性、すなわち、診断、予知、及び健全管理の構成領域の各々を実現している。例えば、オプションとしては、キャリブレーションカーブ９８、アラーム及び／又はエラー閾値データ９９、並びにエラー／クラッシュログ１００の組へのアクセスが含まれ、それらの各々は、適切な予知、診断、又は健全管理情報を判定するためにアクセルされる。
【００３８】
[0041]更に図４を参照し、組込みＤＰＨＭモジュール及び結果的な機能性は、多くの領域に渡って適用される。その領域としては、（ａ）障害検出、（ｂ）診断、（ｃ）予知、及び（ｄ）健全管理である。各領域内では、各種のアルゴリズムベースのアプローチが使用され、データが集められ、分析される。そのアプローチとしては、物理的又はモデルベースのアプローチ、人工知能、マシン学習、信頼性及び確率／統計学ベースのアプローチ、並びにシステム固有のアプローチがある。
【００３９】
[0042]例えば、領域（ａ）、すなわち障害検出においては、運動学ベースのパラメータ、境界、及び状態確認モデル、事例ベースの推論（人工知能）、又はクラスタリング（マシン学習）が利用できる。信頼性の観点では、制御チャート又は線形回帰手法が採用でき、一方、システムレベルでは、信号対雑音比が自動的に算出され、記録されると共に、各種通信チャネルにおけるビットエラーレート、エラーログ等も記録される。
【００４０】
[0043]領域（ｂ）、すなわち診断においては、因果関係モデル、又は、図３を参照して説明された有限／無限ステートマシン（人工知能）が利用できる。マシン学習は、決定ツリーを介して提供できる。信頼性の観点では、記号論理学的回帰手法を実行して、検出された障害又は所定の障害条件を診断できる。システムレベルでは、専用センサ、ビットフリッピング、ハードウェア及び／又はソフトウェアトルクフェールセーフアプローチ等を採用できる。
【００４１】
[0044]フェールセーフオペレーションには、特に順序にはとらわれないが、（i）異常状況をロギングし、より上位のレベルシステム又はユーザー／オペレータに知らせて通知し、及び／又は、システムステータスを示す発光ダイオード（ＬＥＤ）のような適切な視覚的インジケータを起動し、（ii）アクチュエータへの電力を遮断し、又は取り除き、（iii）特定の関節が、安全でない位置に移動しないようにパーキングブレーキを起動させ、（iv）所定の受動状態を含むコンプライアントモードへ移行させること、例えば、関節を受動又は準受動状態に置くことが含まれる。なお、そのコンプライアントモードでは、トルク、圧力、及び近接センサが使用されて、負荷された圧力に対して何ら抵抗を示さない関節がシミュレートされる。かかる受動状態は、ロボットがもたつくことを防ぐような重力補償モード又は状態を含んでいる。また、（v）例えばオーバーヒート又は過負荷のようなリスクが増した特定の制御モジュールを停止させることが含まれる。重力補償モードは、コンプライアントロボット関節の少なくとも１つにかかる外力に対して無視できる、又はほとんどゼロのレベルの抵抗を示し、例えば、重力補償すべき特定の関節において、ヒューマノイドロボットの閾値最少重量に対する重力補償の量を調整して維持している。
【００４２】
[0045]上記のように、ロボットシステムは、コンプライアント関節ごとに少なくとも３つのエンコーダを含んでおり、それらは、一対の絶対値エンコーダ６９Ａと、増分エンコーダ６９Ｉである。絶対値エンコーダ６９Ａは、比較的高い解像度で低速のエンコード機器として構成できる。増分エンコーダ６９Ｉは、比較的低い解像度で高速の機器である。図１のロボット１０の初期化の際に、又は他の所定の事象のときに、絶対値エンコーダ６９Ａの読出し値が比較される。この読出し値の差異が、閾値範囲外にあれば、ロボットシステムは、上述のようなフェールセーフモードに入る。
【００４３】
[0046]全てのモジュール／ノードは、通常制御コマンド及び定期通報コマンドにより、図２のシステムコマンダー２５と定期的にメッセージを交わす。生の接続が失われると、それらのモジュールは、フェールセーフモード又は状態に戻る。関節レベルにおいては、要求された一連の動きを実行するために、構成パラメータが使用される。パラメータの新しい組がより低いレベルのコントローラ、例えばコントローラ２９、にダウンロードされるごとに、それらは、パラメータがまだ有効であるか否か、それらが何らかの理由により改竄されたか否かを判定するために、パリティコードを報告する。制御パラメータの保全性が維持されていなければ、ノードはフェールセーフモードに入る。
【００４４】
[0047]加えて、図１に示されたヒューマノイドロボット１０の機械的及び電気的な複雑さがあれば、他の診断ツールは、修理、検査、及びアセンブリ位置の自動セットであり、それによりユーザー、オペレータ、又はメンテナンス要員は、視覚的信号を観測し、必要であればモジュールを交換するために、制御基盤をアクセスできるような適当な場所及び／又は位置に、コンプライアント関節を位置付けできる。通信の保全性については、例えば閾値エラーレートのような履歴的情報に基づき、プリセットレベルが選択されて、例えば、接地問題、接触不良配線、接触不良コネクター、又は他の電気的問題のような劣化したシステム条件を示すようにしている。トレンド情報が外挿され、現在の条件下でのシステムの寿命の見込みの予知的な量が提供される。
【００４５】
[0048]図１の指１９を動かすために使用されるサーボモータの制御について、システムの状態を常時診断するために、オープン／クローズドループ制御で通信信号により駆動される仮想的エンコーダと共に標準のエンコーダが実装される。ソフトウェア腱制御に対する冗長な特徴として、機器の故障又は電気的もしくは機械的過負荷が生じるようなアクチュエータの位置に対する厳格な制限を設定するためにリミットスイッチが使用される。
【００４６】
[0049]予知領域内においては、累積損傷モデルを使用でき、一方、人工知能レベルにおいては、ファジー論理が十分な予知の値を提供する。マシン学習は、時間的なデータマイニング、ニューラルネットワーク等を介して達成できる。信頼性に関しては、フリート管理技法、カルマンフィルタリング等を採用できる。システムレベルでは、冗長な配線、センサ、統合コントローラ等の“犠牲カナリア”機器を設けることができる。
【００４７】
[0050]領域（ｄ）、すなわち健全管理内については、上述の障害検出、診断、及び予知の機能性のサポートにおいて判定される集約情報に基づき、モデル、人工知能、マシン学習、及び信頼性レベルにおいて、統合ライフサイクル管理技法が実行できる。同様に、システムメンテナンス動作及びスケジュール及びリスク応答が最適化され、図１のロボット１０の連続的な動作健全管理が保証される。システムレベル動作には、例として、統合パワーシステム管理があり、電力分配を最適化し、各種関節レベル及びより高い制御及びオペレーションに渡って使用される。
【００４８】
[0051]本発明を実行するためのベストモードが詳細に記述されてきたが、この発明に関係する技術に精通した者であれば、付随の特許請求の範囲内の発明を実施化するための各種の他の設計及び実施形態を認識できるであろう。
【図１】
0005567438.tif 000002
【図２】
0005567438.tif 000003
【図３】
0005567438.tif 000004
【図４】
0005567438.tif 000005