(57)【特許請求の範囲】
【請求項１】
ロボットシステムであって、
テンドンにより駆動されるロボットフィンガと、
前記ロボットフィンガにおいて前記テンドンの張力を測定する張力センサが利用可能かどうかを決定するように構成される制御システムと、を有し、前記制御システムは、選択的に、前記張力センサが前記テンドンの張力値を測定するために前記ロボットフィンガ内において利用可能であるとき、前記テンドンの測定された張力値を利用する力ベース制御法則を介して、また、張力センサが張力値を測定するために前記ロボットフィンガ内において利用可能でないとき、位置ベース制御法則のみを介して、前記ロボットフィンガを制御する、ロボットシステム。
【請求項２】
請求項１に記載のロボットシステムであって、さらに、複数のテンドンを有し、各テンドンは各テンドンの張力値を測定する対応する張力センサを有し、前記制御システムは、前記張力センサの全てが利用可能であるときに力ベース制御法則を介して、また、前記張力センサの全てが利用可能でないときに位置ベース制御法則のみを介して、選択的に前記ロボットフィンガを制御するように構成される、ロボットシステム。
【請求項３】
請求項２に記載のロボットシステムであって、前記制御システムはさらに、前記張力センサのいくつかだけが利用可能であるときに、選択的に前記位置ベース制御法則にコンプライアンス値を導入するように構成される、ロボットシステム。
【請求項４】
請求項３に記載のロボットシステムであって、前記コンプライアンス値は、前記テンドンの１つの望ましい張力と実際の張力との間の差分として定義される張力エラーの関数である、ロボットシステム。
【請求項５】
請求項１に記載のロボットシステムであって、さらに、前記テンドンを移動させるためのアクチュエータを有し、前記制御システムは２階層構造または階級構造を使用し、前記２階層構造において、ジョイントコントローラが上位の制御ループを形成し、アクチュエータコントローラが下位の制御ループを形成し、
前記ジョイントコントローラは、力ベース制御法則および位置ベース制御法則を実行し、前記ロボットフィンガのジョイントの力および位置をそれぞれ制御するように構成され、
前記アクチュエータコントローラは、位置ベース制御法則のみを実行し、前記アクチュエータの位置を制御するように構成される、ロボットシステム。
【請求項６】
請求項５に記載のロボットシステムであって、前記アクチュエータコントローラに送られる、アクチュエータのための任意の命令されるアクチュエータ位置は、前記ロボットフィンガの範囲空間に制限される、ロボットシステム。
【請求項７】
請求項１に記載のロボットシステムであって、さらに、複数のロボットフィンガを備えるハンドを有し、各ロボットフィンガは複数のテンドンを備え、各テンドンは各テンドンの張力値を測定する対応する張力センサを備え、各ロボットフィンガは、独立に制御されるロボットフィンガにおける利用可能な張力センサの数に依存して、他のロボットフィンガに対して独立に制御可能である、ロボットシステム。
【請求項８】
請求項１に記載のロボットシステムであって、さらに、テンドンを移動させるためのアクチュエータを有し、前記制御システムは、下位および上位の制御ループを備える２階層構造を用い、前記下位の制御ループは、前記ロボットフィンガのアクチュエータ位置を動的にサーボし、前記ロボットフィンガが、前記ロボットフィンガのテンドンマップマトリックスの零空間内の運動に抵抗することを可能にし、一方で、前記テンドン上の初期の内部張力を名目的に維持する、ロボットシステム。
【請求項９】
テンドンにより駆動されるロボットフィンガのための制御システムであって、前記制御システムは、
ホストマシンと、
非揮発性のコンピュータで読み取り可能な媒体と、を有し、前記媒体上に、前記ロボットフィンガを制御するための２階層制御構造を提供する制御プロセスが記憶され、
前記ホストマシンは、前記制御プロセスを実行し、前記テンドンの張力値を測定するのに好適な前記ロボットフィンガ内の張力センサの利用可能性を決定し、
前記張力センサが前記テンドンの張力値を測定するのに利用可能であるときは、前記テンドンの測定された張力値を利用する力ベース制御法則を介して、
前記張力センサが前記テンドンの張力値を測定するのに利用可能でないときは位置ベース制御法則のみを介して前記ロボットフィンガを選択的に制御する、制御システム。
【請求項１０】
請求項９に記載の制御システムであって、前記ロボットフィンガは複数のテンドンを含み、各テンドンは各テンドンの張力を測定する対応する張力センサを備え、前記ホストマシンは、前記ロボットフィンガ内の複数の張力センサの全てが利用可能であるときに、測定されたテンドンの張力値を利用する力ベース制御法則を介して、また、前記複数の張力センサの全てが利用可能でないときに位置ベース制御法則のみを介して、前記ロボットフィンガを選択的に制御するように構成される、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、NASA Space Act Agreement Number SAA-AT-07-003の下による政府の
支援によりなされた。本明細書で説明される発明は、米国政府により、また米国政府の目的（すなわち非商業的）のために  ロイヤリティの支払いなく製造および使用し得る。
【０００２】
[0002]本発明は、ロボットシステムにおいてテンドン駆動ロボットフィンガのロバスト操作を提供するためのシステムおよび方法に関する。
【背景技術】
【０００３】
[0003]ロボットは、一連のリンクを用いて物体を操作することができる自動化された装置である。リンクは、１つまたはそれ以上のアクチュエータ駆動のロボットジョイントにより相互接続される。典型的なロボットの各ジョイントは、少なくとも１の独立制御変数または自由度を持つ。エンドエフェクタは、ハンドで作業ツールの把持のような作業を実行するのに用いられる特定のマニピュレータである。それゆえ、様々なロボットマニピュレータの正確な運動制御は、必要とされる可動性、器用さ、および作業タスクに関連する機能性を達成するのを助ける。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]器用なロボットは、装置またはシステム、特に人間の使用のために設計されたもの、すなわち適正な動作に人間のようなレベルの器用さが必要とされる装置、との直接的な相互作用が必要な場合に用いることができる。器用なロボットの使用は、人間のオペレータとの直接的な相互作用が必要とされる場合に望ましいことがあり、ロボットの動作は、人間の動作に類似するようにプログラムすることができる。そのようなロボットは、テンドン（腱）を用い遠隔的に駆動することができる複数のフィンガを含むことがあり、ロボットの総サイズおよび重量を減少させる。そのようなテンドンは、校正された張力レベルで常に張られている必要がある。
【課題を解決するための手段】
【０００５】
[0005]したがって、器用なロボットのテンドン駆動フィンガを制御するための制御システムおよび方法が本稿に開示される。本制御システムは、本稿で開示される方法を実行することにより、フィンガが環境内において安全に物体に接触することができ、一方で、劣化したセンサ条件下でフィンガの動作を可能にするように、フィンガにおける動的なコンプライアンスを達成できる。これは、可撓性の２つの階層状の制御構造により達成され、ここで、上位の制御ループは、与えられたフィンガのために力ベースまたは位置ベースの制御法則を採用する。位置ベース制御法則は、制御する任意のテンドンのために動的なコンプライアンスを選択的に統合することができる。
【０００６】
[0006]フィンガ内の多数の張力センサの全て、またはいくつか、あるいはいずれでもないかに依存して選択される制御法則が  与えられた実行の間に利用可能である。典型的には、テンドン駆動フィンガの制御法則は、テンドンの内部張力を維持するために張力フィードバックを必要とする。ここで示される位置決め制御法則は、通常、本明細書で説明される範囲−空間強制を備える２つの階層状の制御構造を実行することにより、内部張力を維持する。
【０００７】
[0007]ここで用いられる「力ベース制御法則」および「位置ベース制御法則」との用語
は、当業界で理解されているように、それぞれ力または位置命令およびフィードバック信号に基づくロボットの制御をいう。フレキシブルな制御スキームは、フィンガに特有であり、すなわち、与えられたロボットハンドの様々なテンドン駆動フィンガは、異なる制御法則を備えることができ、互いにフィンガに対して任意の瞬間にそのフィンガを動作させる。
【０００８】
[0008]特に、ロボットシステムは、テンドンにより駆動されるロボットフィンガ、張力センサ、および制御システムを含む。テンドンはアクチュエータにより制御される。制御システムは、張力値を測定するために張力センサが利用可能であるとき、力ベース制御法則を介して選択的にフィンガを制御し、また、張力センサが利用可能でないときに位置ベース制御法則を介して制御される。
【０００９】
[0009]複数のテンドンを使用することができ、それぞれは対応する張力センサを備える。制御システムは、いくつかの張力センサだけが利用可能であるときに、位置ベース制御法則にコンプライアンス値を選択的に導入することができる。コンプライアンス値は、張力誤差の関数とすることができ、誤差は１つのテンドンの望ましい張力と実際の張力との間の差分として決定することができる。
【００１０】
[0010]テンドンにより駆動されるロボットフィンガの制御法則は、張力センサおよびホストマシンを含む。張力センサは、テンドンの張力値を測定するように位置決めされ、ホストマシンは、張力値の測定のために張力センサが利用可能かを決定するように構成される。追加的に、ホストマシンは、張力値の測定のための張力センサが利用可能であるときに力ベース制御法則を介してフィンガを選択的に制御するように、また、張力値を測定するために張力センサが利用可能でないときに位置ベース制御法則を介してフィンガを選択的に制御するように構成される。
【００１１】
[0011]また、ロボットシステム内のテンドン駆動フィンガを制御するための方法が提供される。この方法は、テンドンの張力値を測定するために張力センサが利用可能かどうかを決定することを含み、制御システムを介してフィンガを選択的に制御することを含み、制御システムは、張力値を測定するために張力センサが利用可能であるときに力ベース制御法則を使用し、また、張力値を測定するために張力センサが利用可能でないときに位置ベース制御法則を使用する。
【００１２】
[0012]本発明の上述の特徴、利点、および他の特徴、利点は、添付図面とともに本発明を実行するための詳細な説明を参照することで容易に明らかとなる。
【図面の簡単な説明】
【００１３】
【図１】本稿で説明されるように制御されるテンドン駆動フィンガを備えるロボットを含むロボットシステムの概略図である。
【図２】図１に示されるロボットの、複数のテンドン駆動ロボットフィンガを含む下アームアセンブリの概略斜視図である。
【図３】図２に示されるロボットフィンガを制御するために使用できるテンドンおよびアクチュエータの概略斜視図である。
【図４】テンドン駆動ロボットフィンガの概略斜視図である。
【図５】図２、４に示すテンドン駆動ロボットフィンガを制御するための２階層制御構造の概略図である。
【図６】図２、４に示されるテンドン駆動ロボットフィンガを制御するための方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
[0019]図面を参照すると、いくつかの図面を通じて同様の符号は同一または同様の要素を示す。図１を参照すると、ロボットシステム１０が示されており、これは、器用なロボット１１および制御システム１２を含む。ロボット１１は、様々なマニピュレータを含み、複数のテンドン駆動フィンガ１４を含む。ロボット１１の制御システム１２は、２階層制御序列または構造を介して動作する。ここで用いられる「２階層（two-tier）」との語は、ジョイントコントローラ８０として図１に示される第１または上位の層の制御コントローラが、図１にアクチュエータコントローラ９０として示される第２または下位の制御法則またはコントローラよりも高位の序列レベルで動作することを意味する。コントローラ８０、９０は、２つの異なるプロセッサおよび関連するハードウェア装置として実装することができ、または代替的に、各々が単一のまたは分散型のハードウェア装置に内在する、ネストされたソフトウェアベースの制御ループとして実装することができ、１つまたは複数のプロセッサにより自動的に実行される。
【００１５】
[0020]ジョイントコントローラ８０は、様々なフィンガジョイント（図４参照）の位置を制御するために、高次のループにおいて力ベースまたは位置ベースの制御法則を使用し、これに依存して制御法則が選択される。制御システムによる具体的な制御法則の選択は、張力センサ５８（図３参照）の利用可能性に基づき、張力センサ５８は利用可能であり、すなわち与えられたフィンガ１４においてオンラインおよび完全に機能的である。アクチュエータコントローラ９０は、与えられたフィンガ１４のテンドン５０の位置を制御するために、下位のループにおいて位置ベース制御を使用する。
【００１６】
[0021]図１の制御システムは、図３に示されるテンドン５０上の十分な張力を自動的に維持する。典型的には、力ベース制御法則は、閉鎖ループ力フィードバックなどを介してテンドンの張力を規制するために用いられる。しかし、張力を測定するのに用いられる物理センサは、最適なロバスト性より劣ることがある。結果として、ロボット１１のフィンガ１４内にまたはそれに沿って位置決めされる張力センサのいくつかまたは全ては、特定の瞬間に使用することができるか、または使用できないことがある。それゆえ、制御システム１２は、ジョイントおよびアクチュエータ８０、９０をそれぞれ使用して各フィンガ１４を、以下で説明される選択的なコンプライアンスとともにまたはそれ無しに力または位置の制御法則により自動的にまた個別的に制御する。ジョイントコントローラ８０内で、適用される具体的な制御法則、すなわち力または位置の制御法則は、与えられたフィンガ１４のために利用可能な張力センサの数に依存するように選択される。
【００１７】
[0022]１つの可能な実施形態において、図１に示されるロボット１１は、人間のような外観となるように、また、与えられた作業課題を完成させるのに必要な程度に人間のようなレベルの器用さを備えるように構成することができる。人間型ロボットまたは他の器用なロボットは、人間の使用のために特別に設計された装置またはシステム、たとえば物体３０を適切に操作するために人間のようなレベルの器用さが必要とされる任意の装置、と直接的な接触が必要とされる場面で使用することができる。ロボットの動作を人間の動作に近似するようにプログラムすることができるので、図１に示されるロボット１１のような人間型ロボットの使用は、ロボットと人間のオペレータとの直接的な相互作用が必要とされる場面で好ましいことがある。ロボット１１のフィンガ１４は、ロボットが物体３０に作用する任意の操作または作業課題の実行の間に制御信号５５を介して、コントロールシステム１２のハードウェアコンポーネントにより直接的に制御される。コントロールシステム１２は、たとえば、ホストマシン、サーバ、またはそのような装置のネットワークである。
【００１８】
[0023]図１に示されるロボット１１は、複数の自由度（DOF）で、自動化される課題を
実行するようにプログラムすることができ、また、他の相互に作用する課題を実行するように、または、たとえばクランプ、照明、リレーなどの他の統合されるシステム部品を制
御するようにプログラムすることができる。可能な一実施形態によれば、ロボット１１は、複数の、独立または相互依存した、移動可能なアクチュエータ駆動のロボットジョイントを備えることができ、これらのいくつかは運動範囲が重なる。フィンガ１４の節を分離および移動させる様々なジョイント２３に加えて、ロボット１１のロボットジョイントは、肩ジョイントを含むことができ、この位置は図１において矢印３で全体的に示されおり、また、肘ジョイント（矢印１５）、手首ジョイント（矢印１７）、首ジョイント（矢印１９）、腰ジョイント（矢印２１）を含むことができる。
【００１９】
[0024]図１を参照すると、各ロボットジョイントは、１以上のＤＯＦを備えることができる。たとえば、肩ジョイント（矢印１３）および肘ジョイント（矢印１５）のようなある従順なジョイントは、ピッチおよびロールの形態で少なくとも２の自由度を備えることができる。同様に、首ジョイント（矢印１９）は、少なくとも３の自由度を備えることができ、腰ジョイント（矢印２１）および手首ジョイント（矢印１７）は、１以上の自由度を備えることができる。作業の複雑さに依存して、ロボット１１は、４２を超えるＤＯＦで運動することができる。各ロボットジョイントは、１つ以上のアクチュエータを含み、また内部的にそれに駆動され、たとえば、ジョイントモータ、線形アクチュエータ、回転アクチュエータ等を含む。
【００２０】
[0025]１つの可能な実施形態において、ロボット１１は、図２に示される下腕アセンブリ７５を含むことができる。他の実施形態において、ロボット１１は、ヘッド１６、トルソ１８、ウェスト２０、アーム２２、ハンド２４、フィンガ１４、および対向する親指２６のような追加的な人間のような要素を含むことができ、上述の様々なジョイントは、これらの要素の中または間に配置される。人間のように、アーム２２、および他の要素は、ある程度運動の範囲が重なることができる。ロボット１１は、作業に好適な固定部またはベース（図示せず）を含むことができ、たとえば、ロボットの用途または意図している使用に応じて脚部、トレド、または他の移動可能なまたは固定のベースなどである。電力供給部２８は、ロボット１１に一体的に取り付けることができ、たとえば、充電可能なバッテリパックまたは他の任意のエネルギー供給部を、トルソ１８の背面に装着することができ、あるいは、テザリングケーブルを通して遠隔的に取り付けられ、様々なジョイントの運動のために十分な電気エネルギーを供給することができる。
【００２１】
[0026]制御システム１２およびその各コントローラ８０、９０は、上述したように、サーバまたはホストマシン、すなわち１つまたは複数のディジタルコンピュータまたはデータ処理装置、として実施化することができ、それぞれは１つ以上のマイクロプロセッサまたは中央処理装置（ＣＰＵ）、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的に消去可能なプログラム可能の読取専用メモリ（ＥＥＰＲＯＭ）、高速クロック、アナログ−ディジタル（Ａ／Ｄ）回路、ディジタル−アナログ（Ｄ／Ａ）回路、および任意の必要な入力／出力（Ｉ／Ｏ）回路および装置、信号調整機器、バッファ機器を備えることができる。
【００２２】
[0027]単純化および明確さのために図１に単一の装置として示されるが、制御システム１２の様々な要素は、ロボット２２を最適に制御するのに必要に応じて、多くの異なるハードウェアおよびソフトウェア要素として分散化することができる。制御システム１２内のまたは容易にアクセス可能な個別の制御アルゴリズムは、ＲＯＭ内に記憶でき、または、他の好適な実体的なメモリ位置および／またはメモリ装置内に記憶でき、制御システムの関連するハードウェア要素により自動的に実行され、それぞれの制御機能を提供する。
【００２３】
[0028]図２を参照すると、下腕アセンブリ７５は、図１に示されるロボット１１の一部として使用することができる。各下アームアセンブリ７５は、複数のテンドン駆動フィンガ１４およびテンドン駆動親指２６を備えるハンド２４を含む。「テンドン駆動」との語
は、以下で図３とともに説明する。下アームアセンブリ７５は、複数のフィンガアクチュエータ４０を含み、それぞれは、フィンガ１４または親指２６内の１つ以上のテンドン（図３参照）を選択的に引っ張るまたは解放するように構成される。下アームアセンブリ７５はさらに、リストジョイント（矢印１７）を運動させるための複数のリストアクチュエータ３８を含む。フィンガアクチュエータ４０および／またはリストアクチュエータ３８のためのプリント回路板アセンブリ（ＰＣＢＡ）３９は、図示のようにパッキングの効率のために、下アームアセンブリ７５上およびその中に位置決めすることができる。下アームアセンブリ７５は、ロードセル３２に取り付けることができ、これは、下アームアセンブリを図１のロボット１１のアーム２２の残りに接続するために用いられる。
【００２４】
[0029]複数のフィンガアクチュエータ４０は、各フィンガ１４および親指２６に対応することができる。一般に、１つのフィンガアクチュエータ４０は、各ＤＯＦプラス１つの追加的なフィンガアクチュエータを加えて利用可能である。それゆえ、３ＤＯＦを備える各フィンガは、４つのフィンガアクチュエータを必要とし、また、２ＤＯＦを備えるフィンガは、３つのフィンガアクチュエータが必要となる。
【００２５】
[0030]図３を参照すると、フィンガアクチュエータ４０の可能な実施形態の概略的な斜視図が提供される。フィンガアクチュエータ４０は、モータ４４、ギア駆動部４６、アクチュエータハウジング４８、テンドン５０、およびテンドン終端部５２を含むことができる。テンドン５０は、アクチュエータハウジング４８からフィンガ１４の１つを通って延び、フィンガの端部で終端する。テンドン５０は、フィンガ１４内の中心から外れた位置に示されており、また、与えられたフィンガ内に１つ以上のテンドンが延びることができる。モータ４４、ギア駆動部４６、およびアクチュエータハウジング４８は、フィンガ１４および親指２６内に必要とされるパッケージ空間を最小化するために、全て下アームアセンブリ７５内に配置することができ、また、アクチュエータハウジング４８のようなフィンガアクチュエータ４０の大きな部品が、フィンガよび親指に対して遠隔的にパッケージできるようにする。
【００２６】
[0031]テンドン５０は、保護外導管５６内に位置決めされるシースまたは導管ライナ５４により保護することができる。張力センサ５８は、導管５６上の圧縮力を測定し、テンドン５０に付与される張力の大きさを決定する。テンドン５０の張力は、図１に示される制御システム１２に使用され、与えられたフィンガ１４の様々なジョイントにおいて発生または受けるジョイントトルクを計算し、これは、与えられたハンド２４のフィンガ１４および親指２６の制御のために制御システムに利用される。
【００２７】
[0032]フィンガアクチュエータ４０がテンドン５０を運動させると、テンドンは張力センサ５８に対してスライドする。テンドン５０は、フィンガ１４内に、テンドン終端部５２において終端する。テンドン５０の運動は、テンドン終端部５２の相対的な運動を生じさせ、それにより、フィンガ１４を運動させる。内部的に、すなわちフィンガアクチュエータ４０の運動により、または外部的に、すなわち図１の物体３０からフィンガ１４へ、力がテンドン終端部５２上に付与される。
【００２８】
[0033]図４を参照すると、図１の制御システム１２は、本明細書で説明されるように使用され、各フィンガ１４を、与えられたハンド２４の任意の他のフィンガに対して個別的に制御する。テンドン駆動フィンガのトルク制御において、望ましいジョイントトルクは、最初にテンドン張力値に変換されなければならない。この問題は、張力分配（tension distribution）として言及され、また、各張力値は非負の値となることを保証しなければならない。フィンガ１４は、複数のフィンガジョイント２３を備え、このいくつかは、独立のジョイントであり、各フィンガジョイントのジョイント位置およびジョイントトルクが矢印τ１、τ２、τ３で示される。フィンガ１４はｎの独立のジョイント（ｎＤＯＦ）およびｎ＋１のテンドン５０を備える。
【００２９】
[0034]図４に示されるフィンガ１４は、３ＤＯＦを備え、それゆえ、この実施例においては４つのテンドン５０がある。しかし、本発明の意図する範囲から逸脱することなく、より多くまたは少ないテンドンおよび／またはＤＯＦを使用することもできる。遠位のジョイントは、隣接するジョイント、すなわち中央のジョイントに機械的に連結されることに注意されたい。それゆえ、遠位のジョイントは独立するＤＯＦではない。また、フィンガ１４の制御は、完全に決定され、この語は当業界に理解されるように、またそれゆえ、テンドン５０の数はｎ＋１、あるいは図４に示される具体的な実施形態においては４である。独立する各ジョイント２３は、ジョイントトルクτおよびジョイント位置ｑにより特徴付けられる。テンドン５０の各々は、張力ｆにより特徴付けられ、図４においてはｆ１、ｆ２、ｆ３、ｆ４として示され、あるいは全体としてｆ１からｆｎ＋１として示される。テンドン５０の各々は、決定可能な位置（ｘ）、すなわちｘ１−ｘ４を備える。
【００３０】
[0035]ｎジョイントトルクとｍテンドン張力との間の関係は、τ＝Ｒｆとして示され、ここでｍ＞ｎである。変数
【数１】
0005406893.tif 000002
はテンドンマップとして知られ、これは、テンドン張力をジョイントトルクにマッピングするのに必要とされる様々なジョイント半径データを含む。テンドン制御可能とされるシステムのために、テンドンマップＲは、行フルランクでなければならず、また、ＲＴｗ＝０となる全て正の列マトリックスｗが存在しなければならない。「内部張力」は、フィンガ１４内の全ての張力の重み付き合計であり、それゆえ、より小さな内部張力は、様々なテンドン５０の中のより小さい張力を示し、また、より小さな正味の力を示す。
【００３１】
[0036]逆に、張力ｆの解は以下であり、Ｒ＋がＲの疑似逆行列であり、Ｉは単位行列であり、λは任意の値であり、
【００３２】
【数２】
0005406893.tif 000003
【００３３】
0005406893.tif 000004
【００３４】
ここでｆｉｎｔは、Ｒの零空間に位置する内部張力を示し、ゼロの正味のトルクを生成する。行列［Ｉ−Ｒ＋Ｒ］は、Ｒの零空間への射影演算子を提供する。疑似の静的条件が与えられると、ゼロの外力がフィンガ１４に作用するときはｆ＝ｆｉｎｔである。
【００３５】
[0037]同一の行列Ｒは、テンドン５０とジョイント速度との間の関係を示す。仮想仕事の原理に基づいて、ジョイント運動のテンドン速度値は
【００３６】
【数３】
0005406893.tif 000005
【００３７】
に等しい。Ｒが定数であると仮定すると、テンドン５０の正味の変位は、ジョイントの寄与とテンドンの長さｌ（エル）の変化の合計、Δｘ＝ＲＴΔｑ＋Δｌである。
[0038]以下で、テンドン５０のモデルを線形バネとして提供し、テンドンは緊張したままであると仮定する。また、フィンガ１４で使用されるテンドン５０は、テンドンの長さの差は剛性に優位な差を与えないので同一の剛性値ｋｔを備えると仮定する。以下の分析は、長さの変化（Δｌ）をテンドンの張力およびジョイントトルクに関連させる。
【００３８】
【数４】
0005406893.tif 000006
【００３９】
ゆえに
【００４０】
【数５】
0005406893.tif 000007
【００４１】
[0039]値（Δｌｉｎｔ）は、Ｒの零空間内での長さの変化を示し、すなわち、内部張力にだけ影響を与える長さの変化でありジョイントトルクに影響を与えず、値（Δｌｉｎｔ）は、
【００４２】
【数６】
0005406893.tif 000008
【００４３】
と書くことができ、ここで変数δの値は任意である。テンドンの変位の最終的な関係は、
【００４４】
【数７】
0005406893.tif 000009
【００４５】
と書くことができる。
[0040]張力フィードバックがない場合、たとえば図３の張力センサのいくつかまたは全てが与えられたフィンガ１４内での使用のために利用可能でないとき、図１の制御システム１２により使用される位置法則は、早い位置ベースの制御性能を提供し、誤差が小さく、また、オーバーシュートが無く、また同時にフィンガ内の内部張力を維持する。内部張力を一定に維持するために、値Δｌｉｎｔは、すぐ上の数式から取り除かれる。
【００４６】
[0041]図５を参照すると、図１の制御システム１２の概略図は、２階層制御スキームを示している。制御システム１２は、上位の制御ループおよび下位の制御ループを含み、すなわち、ジョイントコントローラ８０およびアクチュエータコントローラ９０をそれぞれ含む。ジョイントコントローラ８０は、矢印３１で示されるジョイント位置（ｑ）のベクトル、および、矢印１３１で示される望ましいまたは参照ジョイント位置（ｑｄ）を示す信号を処理ノード６０を介して処理し、ジョイント位置エラー（ｑ−ｑｄ）、すなわち矢印３５を計算する。同様に、テンドンの力（ｆ）は矢印３７として示され、テンドンの位置（ｘ）は矢印３３で示される。他の処理ノード６０は、矢印１３３で示される命令されたテンドン位置（ｘｄ）を用いてテンドン位置エラー（ｘ−ｘｄ）を計算し、これをアクチュエータコントローラ９０の下位のループに送る。
【００４７】
[0042]アクチュエータコントローラ９０は、アクチュエータ位置上の単純な位置コントローラからなり、まず、オーバーシュートを回避するために第１命令応答動作の性能を最大化するように調整される。ジョイントコントローラ８０は、当業界で理解されるようなフィンガジョイント上の力ベースコントローラまたは位置ベースコントーラからなる。
【００４８】
[0043]新しい位置コントローラが本稿で説明され、これは、速度コントローラの離散バージョンを実行し、アクチュエータの現在位置が連続的にフィードバックされ、ジョイントエラーに基づいてデルタベクトルと併合される。上述の運動学的な関係に基づいて、命令されたテンドン位置（ｘｄ）、すなわち矢印１３３は、以下のように記述できる。
【００４９】
【数８】
0005406893.tif 000010
【００５０】
ここで、Δｑは、ジョイント位置エラー（ｑ−ｑｄ）、すなわち図５に示される矢印３５を表し、ｋｐは、スカラー定数ゲインである。この制御法則は、上述の数式の零空間変位（null-space displacement）をゼロ化する。
【００５１】
[0044]この制御法則は迅速な応答を生成し、安定状態エラーを閉じ、過度に減衰した動作を維持する。しかし、これは、アクチュエータ位置を範囲空間（range-space）に動的
に制限しない。それゆえ、外乱はアクチュエータ位置に不相応な変化を生じさせ得る。これは、図３に示されるテンドン５０が圧縮に抵抗できないという事実により悪化することがある。これを解決するために、出力は、フィンガ１４の範囲空間内に投射され、これは、下位のループが範囲空間を動的にサーボすることを可能にする。これは、上位ループの最終的な制御法則ｘｄ＝Ｒ＋Ｒｘ−ｋｐＲＴΔｑを提供する。この式の範囲空間拘束は、図５に示される２階層の階層制を必要とする。この範囲空間拘束は、システムが零空間内での運動に抵抗することを可能にし、また、テンドンに付与される最初の内部張力を名目的に維持することを可能にし得る。
【００５２】
[0045]位置制御法則の代替スキームは、比例積分（ＰＩ）補償に基づく。この法則は、安定状態エラーを取り除くためにＰＩ項で使用される各アクチュエータの最終位置のためのフィードフォワード項を実行する。このシステムが初期テンドン位置ｘおよびジョイント位置ｑがゼロになるように初期化される場合、図３のテンドン５０の長さを変化させずに矢印１３１の所望のジョイント位置（ｑｄ）にマッチングさせるアクチュエータ位置は、ＲＴｑｄにより与えられる。運動学的モデルは完全でないことがあるので、ＰＩ補償がエラーを除くために用いられる。
【００５３】
[0046]したがって、フィードフォワード制御から命令される位置（ｘｄ）、すなわち矢印１３３は、以下のようになる。
【００５４】
【数９】
0005406893.tif 000011
【００５５】
このフィードフォワード項は、早い立ち上がり時間を生じさせ、一方、ＰＩ項は定常誤差がゼロとなる結果を生じさせる。
[0047]フィンガ１４の利用可能な張力センサの全数の全てではないがいくつかが利用可能である場合、制御システム１２は、テンドンの選択的なコンプライアンスとともに、そのフィンガのために選択的に位置制御を適用することができ、制御システム１２の位置制御能力を実行する。与えられたハンド２４（図２参照）の異なるフィンガ１４は、同時に異なるコントローラまたは制御法則を用いて制御することができ、たとえば、あるフィンガには力ベース制御であり他のフィンガには位置ベース制御を用いるなどである。
【００５６】
[0048]選択的なコンプライアンス値（矢印５７）は、ｋ（ｆ−ｆｄ）ｓと定義することができ、ｋはスカラー定数であり、（ｆ−ｆｄ）は張力エラーである。ｓは、各テンドンのための要素の選択変数であり、たとえば、１はコンプライアンスがオンでありゼロはコンプライアンスがオフである。したがって、アクチュエータコントローラ９０の下流で、選択的なコンプライアンス値５７は、アクチュエータコントローラの出力５１から減算され、ｓは、選択的なコンプライアンスが望まれるか（すなわち１）あるいは望まれないか（すなわち０）に応じて制御システム１２により選択される。制御信号（矢印５５）は、
図１に示されており、これは、最終的にロボット１１にモータ命令として伝達され、これは、ジョイント位置（ｑ）（矢印３１）、テンドン位置（ｘ）（矢印３３）、およびテンドン張力（ｆ）（矢印３７）をフィードバックする。
【００５７】
[0049]与えられたフィンガ１４の全ての張力センサが利用可能である場合、図１の制御システム１２は、その特定のフィンガを制御するのに力ベース制御法則を使用する。以下の例示の制御法則は、フィンガ１４のジョイント空間における運動を非干渉化（decouple）する。望ましいテンドン位置（ｘｄ）のための式は、
【００５８】
【数１０】
0005406893.tif 000012
【００５９】
であり、ここでＴ＿（上式では「＿」はＴの下）＝Ｐｆであり、ＰはＲおよびｗＴを互いを頂部で連結させる行列である。値Ｋｐおよびｋｄは、それぞれ、ユーザー定義の比例ゲインおよび積分ゲインである。
【００６０】
[0050]図６を参照し、また先の図に示される構造を参照すると、可能な一実施形態による本方法１００は、ステップ１０２で開始し、ここで、制御システム１２は、制御されるフィンガ１４内の利用可能な張力センサの数を決定する。ステップ１０２は、与えられたフィンガ１４内の各張力センサ５８の状態を示す入力信号を受け取ることを含むことができ、たとえば、状態問い合わせコマンドまたは「ping」で張力センサに自動的に問い合わせ、問い合わせされた張力センサがpingの応答に成功した場合に、張力センサが利用可能であることを示す状態、すなわちオンラインであり適正に機能していることを記録することにより行う。
【００６１】
[0051]代替的に、張力センサ５８から校正された間隔で定期的に信号が伝達されるようにすることができ、そのような信号の伝達の中断または停止は、そのセンサが利用可能でないことを示すようにすることができる。追加的な実施形態は、較正された閾値に対する誤差値を測る張力センサ５８を含むことができ、与えられたセンサの利用可能でない状態のプログラマーまたはユーザーによる手動入力を制御システム１２内に記録し、センサのエラーコードまたはフラグ等を処理する。
【００６２】
[0052]ステップ１０４において、図１の制御システム１２は、特定のフィンガ１４の全ての張力センサ５８が利用可能であるかどうかを決定し、たとえば、既知の張力センサの全数と、ステップ１０２で決定された利用可能なセンサの数とを比較することにより行う。フィンガ１４の全ての張力センサ５８が利用可能である場合、本方法１００はステップ１０８に進む。そうでなければ、本方法はステップ１０６に進む。
【００６３】
[0053]ステップ１０６において、制御システム１２は、評価されるフィンガ１４の張力センサ５８の少なくともいくつかが利用可能かどうかを決定する。いくつかが利用可能である場合、本方法１００はステップ１１０に進む。他の場合は本方法１００はステップ１１２に進む。
【００６４】
[0054]ステップ１０８において、ステップ１０４においてフィンガ１４内の全ての張力センサがフィンガでの利用のために利用可能であることが決定された制御システム１２では、図１の制御システムは、前述した力制御法則のみを使用してフィンガを制御する。本方法１００は、利用可能な張力センサ５８の数に変化があったことを決定するためにステップ１０２を繰り返す。
【００６５】
[0055]ステップ１１０において、ステップ１０６で与えられたフィンガ１４内の張力セ
ンサ５８のいくつかだけがフィンガでの使用のために利用可能であると決定された制御システム１２では、図１の制御システムは、上述したように、選択されたコンプライアンスとともに位置ベース制御法則を使用してフィンガを制御する。本方法１００は、利用可能な張力センサ５８の数に変化があったかどうかを決定するために、ループ内でステップ１０２を繰り返す。
【００６６】
[0056]ステップ１１２において、制御されるフィンガ１４の使用のために利用可能な張力センサ５８がステップ１０６で無いと決定された図１の制御システムでは、図１の制御システムは、上述のように、フィンガを位置ベース制御法則のみを用いて制御する。本方法１００は、利用可能な張力センサ５８の数に変化があったかどうかを決定するために、ループ内でステップ１０２を繰り返す。
【００６７】
[0057]したがって、図１の制御システムは、張力センサの機能不全に対するロバスト性と組み合わせて、与えられたフィンガ１４のテンドンを保護するために力制御を提供する。張力の検出なしに、有効な制御が各フィンガ１４上に提供される。張力センサが利用可能でない場合、図５に関して上述した２階層制御構造を備える制御法則は、オーバーシュートなしで迅速な位置制御を提供し、一方で、フィンガ上に名目的な内部張力レベルを維持する。張力センサの全てが利用可能でない場合でさえ、テンドンを保護するために、位置制御に関してコンプライアンスが利用可能である。したがって、図１のロボット１１は、ロバスト性の増加した高いレベルの性能で動作することができる。
【００６８】
[0058]本発明の実施形態が詳細に説明されたが、本発明の分野における当業者は、添付の特許請求の範囲の範囲内で本発明を実施するための様々な代替設計および実施形態を認識するであろう。
【図１】
0005406893.tif 000013
【図２】
0005406893.tif 000014
【図３】
0005406893.tif 000015
【図４】
0005406893.tif 000016
【図５】
0005406893.tif 000017
【図６】
0005406893.tif 000018