(57)【要約】      （修正有）【課題】多節型ロボットハンドにおいて、関節同士に力学的連成を生じさせることなく関節トルク又は関節インピーダンスの閉ループ制御を行う腱駆動型マニピュレータのシステムと制御方法を提供する。【解決手段】単一の線形演算を使用して、トルクエラーを腱の位置空間へ投影することによって、腱の基準位置又はモーターコマンドを計算する段階を備えている。センサで感知された腱張力と基準トルクと内部張力とを使用して、トルクエラーを計算する。関節位置エラーに基づいて基準トルクを計算することによって関節インピーダンスを制御するのに使用することができる。また、トルクエラーを腱張力空間に投影し、次にそれを関節空間に投影し直すことによって、最小及び最大腱張力を制限する。【選択図】図１
2010149274.tif 000002
【特許請求の範囲】
【請求項１】
腱駆動型マニピュレータのトルク制御を提供するための方法において、
単一の線形演算を使用して、トルクエラーを腱の位置空間へ投影することにより、アクチュエータの基準位置又はモーターコマンドを計算する段階と、
感知された腱張力と、基準トルクと、内部張力とを使用して、前記トルクエラーを計算する段階と、
前記トルクエラーを前記腱の張力空間に投影し、次いで前記トルクエラーを関節空間に投影することにより、最小及び最大腱張力を制限する段階と、を備える方法。
【請求項２】
関節位置エラーに基づいてインピーダンス制御を提供する段階を更に備えている、請求項１に記載の方法。
【請求項３】
正の関節剛性が、関節空間エラーに剛性定数を乗じることによって実現される、請求項２に記載の方法。
【請求項４】
正の関節減衰が、関節空間速度エラーに減衰定数を乗じることによって実現される、請求項２に記載の方法。
【請求項５】
所望のインピーダンス法則により要求されるトルクコントローラの安定性と減衰とを提供するため、単一の速度補償の項が使用される、請求項４に記載の方法。
【請求項６】
前記腱張力を制限する段階は、腱制限値を前記関節空間から前記腱空間に換算する段階と、前記腱張力を制限する段階と、前記腱張力を前記腱空間から前記関節空間へ換算し直す段階と、を備えている、請求項１に記載の方法。
【請求項７】
所望の内部腱張力は、トルク基準信号をトルクコントローラへ提供することによって設定される、請求項１に記載の方法。
【請求項８】
前記トルク基準信号は、前記トルク基準信号とトルクフィードバック信号の間の差異を提供するトルクコントローラに提供される、請求項７に記載の方法。
【請求項９】
アクチュエータは、基準アクチュエータ位置を特定することによって命令される、請求項１に記載の方法。
【請求項１０】
トルクと内部張力又は関節空間インピーダンスを制御するのに、比例積分コントローラが使用されている、請求項１に記載の方法。
【請求項１１】
コマンドアクチュエータ位置は、速度フィードバックの項とトルクエラーの項を現在のアクチュエータ位置に加えることによって計算される、請求項１０に記載の方法。
【請求項１２】
前記トルクエラーを使用するトルク基準は、正の剛性を実現するために関節エラーに剛性定数を乗じることによって計算される、請求項１１に記載の方法。
【請求項１３】
腱駆動型マニピュレータのトルク制御を提供するための方法において、
単一の線形演算を使用して、トルクエラーを腱の位置空間へ投影することにより、アクチュエータの基準位置又はモーターコマンドを計算する段階と、
感知された腱張力と、基準トルクと、内部張力とを使用して、前記トルクエラーを計算する段階と、
前記トルクエラーを前記腱の張力空間に投影し、次いで前記トルクエラーを関節空間に投影することにより、最小及び最大腱張力を制限する段階であって、腱制限値を前記関節空間から前記腱空間へ換算する段階と、前記腱張力を制限する段階と、前記腱張力を前記腱空間から前記関節空間に換算し直す段階と、を備えている、段階と、
トルクと内部張力又は関節空間インピーダンスを制御するために、比例積分コントローラを提供する段階と、
速度フィードバックの項とトルクエラーの項を現在のアクチュエータ位置に加えることによって、コマンドアクチュエータ位置を計算する段階と、
正の剛性を実現するために関節エラーに剛性定数を乗じることによって、前記トルクエラーの項を使用するトルクエラー基準を計算する段階と、を備える方法。
【請求項１４】
関節位置エラーに基づいてインピーダンス制御を提供する段階を更に備えている、請求項１３に記載の方法。
【請求項１５】
正の関節剛性が、関節空間エラーに剛性定数を乗じることによって実現される、請求項１４に記載の方法。
【請求項１６】
正の関節減衰が、関節空間速度エラーに減衰定数を乗じることによって実現される、請求項１４に記載の方法。
【請求項１７】
所望のインピーダンス法則により要求されるトルクコントローラの安定性と減衰とを提供するため、単一の速度補償の項が使用される、請求項１６に記載の方法。
【請求項１８】
所望の内部腱張力は、トルク基準信号をトルクコントローラへ提供することによって設定される、請求項１３に記載の方法。
【請求項１９】
前記トルク基準信号は、前記トルク基準信号とトルクフィードバック信号の間の差異を提供するトルクコントローラに提供される、請求項１８に記載の方法。
【請求項２０】
アクチュエータは、基準アクチュエータ位置を特定することによって命令される、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的には、閉ループ制御を使用して腱駆動型マニピュレータを制御するためのシステム及び方法に関する。厳密には、マニピュレータの各関節の関節角度とトルクは、過渡的関節運動の連成を低減し各関節が独立した運動を行えるように制御される。
【背景技術】
【０００２】
（連邦政府の後援による研究又は開発に関する声明）
ここに記載されている発明は、米国政府の（即ち、非営利的）目的のためには、それに対し又はそのために特許権使用料を支払うこと無く、米国政府によって又は米国政府のために製造及び使用することができる。
【０００３】
器用なロボットシステムは、通常、組み立て時又は他の用途に際し、目的物又は部品を把持し巧みに操る働きをするロボットアームとハンドを備えている。１つ又はそれ以上のロボットアーム及びハンドの全部又は一部を記述するのに、「ロボットマニピュレータ」という用語が使用されている。腱駆動型ロボットマニピュレータは、腱又はケーブルを使用して作動させるロボットマニピュレータであり、アクチュエータを、制御されるマニピュレータ部分の外に設置できるようにしたものである。腱伝動機構は、ロボットマニピュレータの遠位側の関節を作動させるのによく使用されている。これらの機構は、アクチュエータをマニピュレータの基部により近接して設置できるようにしたことで、強度対重量比を高めることができる。更に、これにより、機械設計者がアクチュエータを選択する際の自由度が増す。例えば、マニピュレータが、人型ロボットハンドの腱駆動型フィンガである時、アクチュエータは、通常、ロボットアームの前腕区域に設置されている。この場合、腱は、前腕のアクチュエータからフィンガまで伸張し、フィンガに取り付けられている。
【０００４】
時として、腱駆動型マニピュレータの腱の数が、複数の腱による対応する動きと関係付けられている場合がある。これは、「ｎ＋１」腱配置の場合であり、この配置では、ｎ＋１本の腱でｎ個の関節を双方向式に作動させる。ｎ＋１腱配置は、最低限の数のアクチュエータで双方向関節動作を行わせることができるので有用である。しかしながら、この配置は、発生する腱と関節の間の物理的連成を制御システム内で非連成化しなければならないので、余分な制御負荷が掛る。制御中、アクチュエータは、複数の腱を、マニピュレータの関節が動いた際にそれらの腱が無理に伸ばされ又は破断することのないように、動かさなくてはならない。１つの関節の運動には、その関節運動を作り出すのに必要な複数の腱運動が関わっている。而して、関節運動と腱運動の間には複雑な運動が存在する。
【０００５】
腱を作動させるアクチュエータを制御するための既知の制御スキームは、通常、実質的に階層式である。各アクチュエータには、一本の腱の位置又は一本の腱によって加えられる力を制御する一つのコントローラが関係付けられている。より高位のコントローラが、特定の関節運動又はトルクが実現できるように、単一の腱コントローラのそれぞれにコマンドを送る。この階層的な制御手法を使用した場合、下位のコントローラの力学が連成関節運動を生じさせる。換言すれば、下位のコントローラは、それぞれが一本の腱を制御し、一本の腱の運動が複数の関節を動かすので、下位のコントローラの力学によって連成関節運動が生じることになる。この様な連成の結果、一つの関節だけを動かしたい時に複数の関節が動いてしまうことがある。而して、望んでいない運動がロボットマニピュレータに起こってしまう。
【０００６】
腱駆動型マニピュレータでは、関節のコンプライアンスとトルクを制御することが望ましい場合が多い。このことは、特に腱駆動型マニピュレータがフィンガであるロボットハンドの場合に当てはまる。これらの用途では、フィンガによって環境に加えられる力の力学を正確に制御することが、最優先事項である。例えば、ロボットフィンガの関節のコンプライアンス制御は、目的物の周りにフィンガを巻きつけるのに有効なやり方であり、これによって、接触面の面積を最大化し把持性を高めることができる。或いは、接触力が正確に制御されると、ロボットは、目的物をよりしっかりと把持して持ち上げることができる。これらの用途では、関節位置と力を独立して且つ力学的に正確なやり方で制御することが必要不可欠である。
【発明の概要】
【０００７】
腱駆動型ロボットマニピュレータの関節のトルクとインピーダンスを制御するためのシステムと方法を開示する。この方法は、単一の線形演算を使用して、トルクエラーを腱の位置空間へ投影することにより、腱の基準位置又はモーターコマンドを計算する段階を備えている。本方法は、感知された腱張力と基準トルクと内部張力とを使用して、トルクエラーを計算する。本方法は、関節位置エラーに基づいて基準トルクを計算することによって、関節インピーダンスを制御するのに使用することができる。本方法は、トルクエラーを腱張力空間に投影し、次にそれを関節空間に投影し直すことによって、最小及び最大腱張力を制限する。
【０００８】
本発明の更なる特徴は、以下の説明及び特許請求の範囲を添付図面と併せて読んで頂ければ明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】複数の腱駆動型関節を備えているロボットフィンガの斜視図であり、関節を制御する腱は、関節角度とトルクの閉ループ制御によって制御される。
【図２】図１に示す腱の制御スキームのブロック図である。
【図３】腱配置を示している、関節システムの平面図である。
【発明を実施するための形態】
【００１０】
腱駆動型マニピュレータを制御するためのシステムと方法に着眼した本発明の実施形態についての以下の考察は、実質的に一例に過ぎず、本発明又はその用途又は使用を何ら制限するものではない。
【００１１】
以下の実施形態では、本発明を腱作動式フィンガの制御に適用している。しかしながら、本発明は、どの様な腱駆動型ロボットマニピュレータにも適用することができる。図１に示すロボットアーム用のロボットフィンガ１０の斜視図を考察してみよう。ロボットフィンガ１０には、３つの指節部分、即ち、末節１２、中節１４、及び基節１６が備えられている。末節１２はパッド１８を備え、中節１４はパッド２０を備え、基節１６はパッド２２を備えており、フィンガ１０が特定の部品（図示せず）を効果的に把持できるようになっている。指節部分１２、１４、及び１６とパッド１８、２０、及び２２は、具体的な用途に適した、例えばアルミニウムなど、どの様な材料で作ることもできる。末節１２は、中節２４に対し軸２４を中心に回転し、中節１４は、基節１６に対し軸２６を中心に回転する。
【００１２】
フィンガ１０の関節は、腱２８によって、当技術では十分に理解されているやり方で操縦される。腱２８は、通常、ロボットアームの前腕区域に位置している張力センサー３２に連結されている。張力センサー３２は、フィンガ１０に加えられている力を表す腱２８の張力信号を提供する。腱２８は、モーター３４の様な適切なアクチュエータによって起動される牽引力を提供する。
【００１３】
全ての関節は回転関節であると仮定すると、腱張力と関節トルクの間の関係は、
【００１４】
【数１】
2010149274.tif 000003
【００１５】
で表わすことができる。ここに、τはｎ個の関節トルクのベクトルであり、ｆはｍ＞ｎ＋１腱張力のベクトルである。
なお、この関係を逆転させると、特定のトルクを生成する一組の腱張力は、
【００１６】
【数２】
2010149274.tif 000004
【００１７】
として計算することができる。ここにＲ＋は、Ｒの擬似逆行列であり、Ｎ（Ｒ）はＲのゼロ空間である。
厳密に正の腱張力を印加しながら、任意の双方向の関節トルクを生成できるようにするという要件は、力拘束として知られており、Ｒに関する２つの制約と表現することができる。第一に、任意の関節トルクを生成できるようになるためには、Ｒは、全射であることが要求される。第二に、λ∈Ｒm-nは、Ｎ（Ｒ）λのあらゆる要素が厳密に正になるように存在しなくてはならない。これらの条件が満たされた時、方程式（２）の要素は、λに必要な数を乗じることで厳密に正になるはずである。
【００１８】
Ｗを、ＲＷＴ＝０となるようなＲの直交化補空間であるとしよう。範囲Ｗ内の腱張力のベクトルは、内部腱張力と呼ぶことができる。更に、便宜上、行列Ｒはその直交化補空間で拡張され、その結果、次の正方フルランク行列Ｐが得られる。
【００１９】
【数３】
2010149274.tif 000005
【００２０】
この表記法を使用すると、
【００２１】
【数４】
2010149274.tif 000006
【００２２】
が与えられる。ここに、ｔは、システムの内部腱張力を表している。
仮想仕事引数を使用すると、Ｐを腱速度と関節速度の間の関係を表すのにも使用できることを示すことができる。
【００２３】
【数５】
2010149274.tif 000007
【００２４】
がｍ本の腱の速度のベクトルを表し、
【００２５】
【数６】
2010149274.tif 000008
【００２６】
がｎ個の関節速度のベクトルを表すとしよう。すると、
【００２７】
【数７】
2010149274.tif 000009
【００２８】
となる。ここに、θは、本システムの内部腱速度、即ち、如何なる関節速度も生成しない一組の腱速度を表している。内部腱速度は関節に動きを生じさせるものではないので、内部腱速度は、弾力性のある腱という観点では非ゼロ値しか取り得ない。
【００２９】
これらの関係を周波数ドメインに書き込み、アクチュエータに取り付けられている腱部分とマニピュレータに取り付けられている腱部分を区別できれば好都合であろう。Ｘａを、リニアアクチュエータに取り付けられている地点の腱の位置としよう。Ｘｊを、関節に取り付けられている地点の腱の位置としよう。関節空間腱制御を使用すると、関節空間内で腱の位置を表現するのに有用である。方程式（５）で与えられている関節速度と腱速度の間の関係では、非ゼロの内部腱速度
【００３０】
【数８】
2010149274.tif 000010
【００３１】
を考慮していることを思い出して頂きたい。これらの内部速度は、腱のアクチュエータ側でのみ起こり得る。アクチュエータ側では、
【００３２】
【数９】
2010149274.tif 000011
【００３３】
となる。ここに、ＱａとΘａとは、関節空間変数の項によってアクチュエータ側の腱の位置を表している。
積分式（６）により、
【００３４】
【数１０】
2010149274.tif 000012
【００３５】
が与えられる。ここに、積分定数は、Ｘａの測定では暗示的であると仮定する。
腱の関節側では、関節側の腱と関節の間には弾力性が存在しないので、内部速度は起こり得ない。従って、Θｊは常にゼロであり、
【００３６】
【数１１】
2010149274.tif 000013
【００３７】
となる。ここでも、積分定数はＸｊの測定では暗示的であると仮定する。
本発明の１つの実施形態では、比例積分コントローラの観点で関節空間トルク制御を使用している。この制御法則では、所望の関節空間挙動は、
【００３８】
【数１２】
2010149274.tif 000014
【００３９】
である。ここに、Ｑ＊aとΘ＊ａとは、関節空間アクチュエータコマンドであり、ｓは、ラプラス変数である。
方程式（４）と（７）を使用すると、
【００４０】
【数１３】
2010149274.tif 000015
【００４１】
が与えられる。ここに、ｋｐとｋｉは、単位元の倍数であると仮定する。
腱空間制御で実践した様に、関節トルク基準は、関節コンプライアンス法則を実施するために
【００４２】
【数１４】
2010149274.tif 000016
【００４３】
の様に用いることができる。
得られる関節空間コンプライアンス法則は、
【００４４】
【数１５】
2010149274.tif 000017
【００４５】
となる。
方程式（１２）の制御法則は、システム４０での、所望の関節が動くようにモーター３４を制御して腱２８に加えられる張力を制御するコントローラ３６内のアルゴリムに対するプロセス制御を示している、図２のブロック図に示されている。制御アルゴリズムは、関節コマンドと、システム４０の出力における関節値との間のエラー信号を生成するためにコンパレータ４２に提供される、特定の関節コマンドを識別する。関節コマンドは、制御されている特定の関節にとっての所望の位置である。エラー信号は、所望の関節剛性を識別する比例コントローラに対する比例利得として識別される、所望の剛性ブロック４４に提供される。ボックス４４の比例利得と所望の内部腱張力信号がブロック４６で組み合わされ、組み合わされた信号が、システム４０の張力制限部４８に送られる。張力制限部４８は、指定された最小及び最大腱張力に基づいて腱２８の内部張力を調節する。腱制限部４８は、リニアマッピングを使用して信号を関節空間から腱空間へ換算する逆ブロック５０を備えている。制限ブロック５２は腱空間の限界を提供し、ブロック５４は腱空間から返された信号をトルク基準信号として関節空間用に換算する。
【００４６】
信号は、次に、システムのトルクコントローラ部５８の加算ジャンクション５６に提供される。トルクコントローラ部５８はトルク空間の演算を行う。加算ジャンクション５６は、ブロック６０からのトルクフィードバック信号と、ｂブロック６２からの信号を受信する。トルクコントローラ部５８は、関節変位信号を提供する特定の関節のトルクを制御している比例／積分コントローラである。ボックス６４と６６は信号を積分する。ボックス６８は、信号を、所望の関節変位から所望の腱変位に換算する。
【００４７】
腱変位信号は、腱張力を制御するためにモーター３４に送られる。モーターは、高速位置コントローラを保有しているものと仮定する。信号をモーター３４へ送信した効果は、システム４０の受動的なロボット力学部７０によってモデル化される。加算ジャンクション７２は、アクチュエータとマニピュレータの間で腱２８が伸ばされる量をモデル化する。ブロック７４は、腱の剛性をモデル化し、生じる腱の張力を計算する。ロボット力学部７０のボックス７６、７８、及び８０は、全て、ロボットシステムの慣性的及び物理的連成を定義する。受動的なロボット力学部７０は、関節変位信号を使用して、関節の位置をモデル化し、それがコンパレータ４２にフィードバックされる関節値に具現化される。
【００４８】
本発明のもう１つの実施形態は、比例微分コントローラの観点で関節空間トルク制御を使用している。この制御法則では、所望の関節空間挙動は、
【００４９】
【数１６】
2010149274.tif 000018
【００５０】
である。ここに、ｋｄとｋｐとは、夫々比例利得と微分利得である。
この制御法則は、腱空間では、
【００５１】
【数１７】
2010149274.tif 000019
【００５２】
と書き表すことができる。
所望の関節基準位置を組み込むと、対応する腱空間インピーダンス法則は、
【００５３】
【数１８】
2010149274.tif 000020
【００５４】
となる。
方程式（１４）と（１５）の間の類似性に注目されたい。２つの制御法則の唯一の相違は、ＰＴ対Ｐ−１の使用である。逆行列の移項を使用すると、関節空間における非連成化された運動が生成される。これは、直列のマニピュレータのデカルト制御におけるヤコビアン行列式と関係付けられる双対性に類似している。２つの制御法則、Ｊ−１ΔｘとＪＴΔｘを考察してみよう。一番目の法則では、デカルト空間内の直線運動が生成され、二番目の法則では、連成デカルト運動が生成される。
【００５５】
以上の考察は、本発明の一例的な実施形態を開示し説明しているに過ぎない。この様な考察並びに添付図面及び特許請求の範囲から当業者には容易に理解頂けるように、本発明においては、続く特許請求の範囲で定義されている本発明の精神及び範囲から逸脱すること無く、様々な変更、修正、及び変型を加えることができる。
【符号の説明】
【００５６】
１０  ロボットフィンガ
１２  末節
１４  中節
１６  基節
１８、２０、２２  パッド
２４、２６  回転軸
２８  腱
３２  張力センサー
３４  モーター
３６  コントローラ
４０  システム
４２  コンパレータ
４８  張力制限部
５８  トルクコントローラ部
７０  ロボット力学部
【図１】
2010149274.tif 000021
【図２】
2010149274.tif 000022
【図３】
2010149274.tif 000023
【外国語明細書】
2010149274000001.pdf