(57)【要約】【課題】自己衝突および障害物をリアルタイムで回避するためにロボットやその他の多関節剛体システムの運動を制御する。【解決手段】多関節システムにおける体節とその他の構造体との衝突を回避するシステム、方法、およびコンピュータプログラム製品を開示する。一態様によれば、このような衝突を回避するための衝突関数が決定され、体節と１つの構造体との間の距離が測定され、この衝突関数および距離に基づいて重み行列が生成され、この重み行列を用いて体節の変向運動が決定される。体節の方向は、この変向運動に基づいて変更され、上記構造体との衝突が回避される。【選択図】図１
2011502801.tif 000002
【特許請求の範囲】
【請求項１】
多関節システムにおける体節の衝突を回避する方法であって、
前記体節と前記多関節システムにおけるその他の構造体との衝突を回避するための衝突関数を決定し、
前記体節と前記その他の構造体の１つである第１構造体との間の距離を測定し、
前記衝突関数および前記距離に基づいて、前記体節と前記第１構造体との衝突を回避するための重み行列を生成し、
前記重み行列に基づいて、前記体節が前記第１構造体と衝突することを防止する変向運動を決定し、
前記変向運動に基づいて前記体節の方向を変えることにより前記第１構造体との衝突を回避する、
ことを含む方法。
【請求項２】
前記第１構造体が、前記体節と直接接続されていないことを特徴とする、請求項１に記載の方法。
【請求項３】
前記衝突関数が衝突勾配関数を含み、
前記衝突勾配関数の各要素は、対応する自由度が前記距離に影響を及ぼす程度を表すことを特徴とする、請求項１に記載の方法。
【請求項４】
前記重み行列が対角要素を有するｎ×ｎ対角行列を含み、当該対角要素が前記衝突勾配関数の要素を含むことを特徴とする、請求項３に記載の方法。
【請求項５】
前記衝突関数が、前記距離がゼロに等しい場合に最大値を有し、当該距離の増加とともにゼロに向かって指数関数的に減少し、減少速度に影響を及ぼす調整可能なパラメータを有することを特徴とする、請求項１に記載の方法。
【請求項６】
前記衝突関数の値は、前記体節と前記第１構造体との間の距離に応じて変化することを特徴とする、請求項１に記載の方法。
【請求項７】
前記衝突関数が関節制限関数を含み、前記重み行列が、関節制限勾配重み行列および衝突勾配重み行列の影響を受けるｎ×ｎ行列を含むことを特徴とする、請求項１に記載の方法。
【請求項８】
動作記述子を受け取り、
前記動作記述子に基づいて関節変数を生成し、
前記関節変数に基づいて前記体節の対象物方向への運動を制御する、
ことをさらに含み、
前記変向運動の決定が、前記体節が前記第１構造体と衝突することを防止しながら、前記対象物方向へ前記体節の方向を変える変向運動を決定することを含み、
前記体節の変向が、前記第１構造体と衝突することなく前記対象物方向へ前記体節の方向を変えることをさらに含む、
ことを特徴とする、請求項１に記載の方法。
【請求項９】
前記動作記述子が人体の運動を記述しており、前記多関節システムが人型ロボットを具備しており、前記関節変数が前記人型ロボットを制御して前記人体の運動をシミュレーションすることを特徴とする、請求項８に記載の方法。
【請求項１０】
前記体節の変向が、
前記変向運動に基づいて変向動作記述子を生成し、
前記変向動作記述子に基づいて変向関節変数を生成し、
前記変向関節変数に基づいて前記体節の方向を変えることにより前記第１構造体との衝突を回避する、
ことをさらに含む、請求項１に記載の方法。
【請求項１１】
前記重み行列が、前記多関節システムにおける衝突対の総数によって正規化されていることを特徴とする、請求項１に記載の方法。
【請求項１２】
前記変向運動が、閉ループ逆運動学（ＣＬＩＫ：Ｃｌｏｓｅｄ  Ｌｏｏｐ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）アルゴリズムを用いて算出されることを特徴とする、請求項１に記載の方法。
【請求項１３】
多関節システムにおける体節の衝突を回避するコンピュータプログラム製品であって、
前記体節と前記多関節システムにおけるその他の構造体との衝突を回避するための衝突関数を決定し、
前記体節と前記その他の構造体の１つである第１構造体との間の距離を測定し、
前記衝突関数および前記距離に基づいて、前記体節と前記第１構造体との衝突を回避するための重み行列を生成し、
前記重み行列に基づいて、前記体節が前記第１構造体と衝突することを防止する変向運動を決定し、
前記変向運動に基づいて前記体節の方向を変えることにより前記第１構造体との衝突を回避する、
ことを含む方法を実施するための実行可能なコンピュータプログラムコードを含むコンピュータ可読の記憶媒体を備えたコンピュータプログラム製品。
【請求項１４】
前記衝突関数が衝突勾配関数を含み、
前記衝突勾配関数の各要素は、対応する自由度が前記距離に影響を及ぼす程度を表すことを特徴とする、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記重み行列が対角要素を有するｎ×ｎ対角行列を含み、当該対角要素が前記衝突勾配関数の要素を含むことを特徴とする、請求項１４に記載のコンピュータプログラム製品。
【請求項１６】
前記方法が、
動作記述子を受け取り、
前記動作記述子に基づいて関節変数を生成し、
前記関節変数に基づいて前記体節の対象物方向への運動を制御する、
ことをさらに含み、
前記変向運動の決定が、前記体節が前記第１構造体と衝突することを防止しながら、前記対象物方向へ前記体節の方向を変える変向運動を決定することを含み、
前記体節の変向が、前記第１構造体と衝突することなく前記対象物方向へ前記体節の方向を変えることをさらに含む、
ことを特徴とする、請求項１３に記載のコンピュータプログラム製品。
【請求項１７】
多関節システムにおける体節の衝突を回避するシステムであって、
実行可能なコンピュータプログラムコードを実行するコンピュータプロセッサと、
前記体節と前記多関節システムにおけるその他の構造体との衝突を回避するための衝突関数を決定し、
前記体節と前記その他の構造体の１つである第１構造体との間の距離を測定し、
前記衝突関数および前記距離に基づいて、前記体節と前記第１構造体との衝突を回避するための重み行列を生成し、
前記重み行列に基づいて、前記体節が前記第１構造体と衝突することを防止する変向運動を決定し、
前記変向運動に基づいて前記体節の方向を変えることにより前記第１構造体との衝突を回避する、
ことを含む方法を実施するための前記実行可能なコンピュータプログラムコードを含むコンピュータ可読の記憶媒体と、
を備えたシステム。
【請求項１８】
前記衝突関数が衝突勾配関数を含み、
前記衝突勾配関数の各要素は、対応する自由度が前記距離に影響を及ぼす程度を表すことを特徴とする、請求項１７に記載のシステム。
【請求項１９】
前記重み行列が対角要素を有するｎ×ｎ対角行列を含み、当該対角要素が前記衝突勾配関数の要素を含むことを特徴とする、請求項１８に記載のシステム。
【請求項２０】
前記方法が、
動作記述子を受け取り、
前記動作記述子に基づいて関節変数を生成し、
前記関節変数に基づいて前記体節の対象物方向への運動を制御する、
ことをさらに含み、
前記変向運動の決定が、前記体節が前記第１構造体と衝突することを防止しながら、前記対象物方向へ前記体節の方向を変える変向運動を決定することを含み、
前記体節の変向が、前記第１構造体と衝突することなく前記対象物方向へ前記体節の方向を変えることをさらに含む、
ことを特徴とする、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的にはシステムの運動制御の分野に関し、より具体的にはシステムの運動制御による衝突の回避に関する。
【０００２】
（関連出願）
本願は、米国特許法第１１９条（ｅ）項に基づき、２００７年１１月１日付け米国仮特許出願第６０／９８４，６３９号に対する優先権を主張する。この先行出願の全開示内容は、本明細書中に参考として援用する。
【背景技術】
【０００３】
衝突回避は、ロボット技術が始まって以来の重要な課題であって、広範な研究が行われている。この分野における初期の研究は主に、移動ロボットナビゲーションおよび産業用マニピュレーション等への応用が一般的な障害物回避に焦点を当てていた（Ａ．Ａ．ＭａｃｉｅｊｅｗｓｋｉおよびＣ．Ａ．Ｋｌｅｉｎ著、「Ｏｂｓｔａｃｌｅ  ａｖｏｉｄａｎｃｅ  ｆｏｒ  ｋｉｎｅｍａｔｉｃａｌｌｙ  ｒｅｄｕｎｄａｎｔ  ｍａｎｉｐｕｌａｔｏｒｓ  ｉｎ  ｄｙｎａｍｉｃａｌｌｙ  ｖａｒｙｉｎｇ  ｅｎｖｉｒｏｎｍｅｎｔｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  Ｒｅｓｅａｒｃｈ、４：１０９−１１７ページ（１９８５年）およびＯ．Ｋｈａｔｉｂ著、「Ｒｅａｌ−Ｔｉｍｅ  Ｏｂｓｔａｃｌｅ  Ａｖｏｉｄａｎｃｅ  ｆｏｒ  Ｍａｎｉｐｕｌａｔｏｒｓ  ａｎｄ  Ｍｏｂｉｌｅ  Ｒｏｂｏｔｓ」、Ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  Ｒｅｓｅａｒｃｈ（ＩＪＲＲ）、５（１）：９０−９８ページ（１９８６年）参照。これら文献の全開示内容は、本明細書中に参考として援用する）。これらの用途においては、作業空間が静止または徐々に変化するものと予め規定されることが多い。さらに、応用開発者らは一般的に、人との衝突を回避するための安全対策として、ロボットの作業空間と人とを分離する考え方を採用していた。衝突距離の閾値を大きく設定することは、初期の移動ナビゲーションおよび産業用マニピュレーション用途の多くで許容可能なものであった。そして、このような状況下において、人工ポテンシャル場の概念が障害物回避に有効であることが判明した。
【０００４】
今日、ロボット工学の分野は、高自由度で人間のような個人用ロボットの開発に向かっており、人と作業空間を共有するとともに物理的に相互作用するように設計されることが多い。このようなロボットは、基本的には新たな機能（自己運動および副次的作業を行う機能）が追加されているので、冗長度が高くなることが多い。ただし、冗長度が高くなることによって、関節制限および自己衝突を回避するために内部運動を抑制するという新たな課題も生まれている。これらの課題により、上記用途に適応するための堅牢な衝突回避方策の必要性に対する研究者らの認識が非常に高まってきている。
【０００５】
特に、当初の障害物回避方策の開発時には概ね看過されまたは不要とされていた自己衝突回避は、現在では重要な研究テーマとなっている（Ｈ．Ｓｕｇｉｕｒａ、Ｍ．Ｇｉｅｎｇｅｒ、Ｈ．Ｊａｎｓｓｅｎ、およびＣ．Ｇｏｅｒｉｃｋ著、「Ｒｅａｌ−ｔｉｍｅ  ｃｏｌｌｉｓｉｏｎ  ａｖｏｉｄａｎｃｅ  ｗｉｔｈ  ｗｈｏｌｅ  ｂｏｄｙ  ｍｏｔｉｏｎ  ｃｏｎｔｒｏｌ  ｆｏｒ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔｓ」、ＩＥＥＥ  Ｉｎｔ．Ｃｏｎｆ．ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ（ＩＲＯＳ２００７）（２００７年）およびＯ．Ｓｔａｓｓｅ、Ａ．Ｅｓｃａｎｄｅ、Ｎ．Ｍａｎｓａｒｄ、Ｓ．Ｍｉｏｓｓｅｃ、Ｐ．Ｅｖｒａｒｄ、およびＡ．Ｋｈｅｄｄａｒ著、「Ｒｅａｌ−ｔｉｍｅ（ｓｅｌｆ）−ｃｏｌｌｉｓｉｏｎ  ａｖｏｉｄａｎｃｅ  ｔａｓｋ  ｏｎ  ａ  ｈｒｐ−２  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ」、Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＣＲＡ、３２００−３２０５ページ、Ｐａｓａｄｅｎａ、ＣＡ（２００８年）参照。これら文献の全開示内容は、本明細書中に参考として援用する）。自己衝突回避は、人間のような作業を行う人型ロボットにおいては特に困難である。この衝突回避方策は、複数の衝突体に同時に対応するのみならず、初期の障害物回避アルゴリズム用に構築した衝突距離よりも短い衝突距離を許容するものである必要がある。また、自己衝突回避方策は、基準運動または最初に計画された運動を大幅に変更するものであってはならない。このことは、人体の運動を観察してロボットの運動を再現する目標動作修正と称する用途等において特に重要である（Ｂ．Ｄａｒｉｕｓｈ、Ｍ．Ｇｉｅｎｇｅｒ、Ｂ．Ｊｉａｎ、Ｃ．Ｇｏｅｒｉｃｋ、およびＫ．Ｆｕｊｉｍｕｒａ著、「Ｗｈｏｌｅ  ｂｏｄｙ  ｈｕｍａｎｏｉｄ  ｃｏｎｔｒｏｌ  ｆｒｏｍ  ｈｕｍａｎ  ｍｏｔｉｏｎ  ｄｅｓｃｒｉｐｔｏｒｓ」、Ｉｎｔ．Ｃｏｎｆ．Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ（ＩＣＲＡ）、Ｐａｓａｄｅｎａ、ＣＡ（２００８年）およびＡ．Ｎａｋａｚａｗａ、Ｓ．Ｎａｋａｏｋａ、Ｋ．Ｉｋｅｕｃｈｉ、およびＫ．Ｙｏｋｏｉ著、「Ｉｍｉｔａｔｉｎｇ  ｈｕｍａｎ  ｄａｎｃｅ  ｍｏｔｉｏｎｓ  ｔｈｒｏｕｇｈ  ｍｏｔｉｏｎ  ｓｔｒｕｃｔｕｒｅ  ａｎａｌｙｓｉｓ」、Ｉｎｔ．Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ（ＩＲＯＳ）、２５３９−２５４４ページ、Ｌａｕｓａｎｎｅ、Ｓｗｉｔｚｅｒｌａｎｄ（２００２年）参照。これら文献の全開示内容は、本明細書中に参考として援用する）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上より、自己衝突および障害物をリアルタイムで回避するためにロボットやその他の多関節剛体システムの運動を制御するシステムおよび方法がとりわけ不十分である。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、多関節システムにおける体節とその他の構造体との衝突を回避する方法（ならびに対応するシステムおよびコンピュータプログラム製品）を提供する。一態様によれば、このような衝突を回避するための衝突関数が決定され、上記体節と１つの構造体との間の距離が測定され、この衝突関数および距離に基づいて重み行列が生成され、この重み行列を用いて体節の変向運動が決定される。体節の方向は、この変向運動に基づいて変更され、上記構造体との衝突が回避される。
【０００８】
本発明の別の態様によれば、接続体節間の衝突を回避するために関節制限勾配重み行列が生成され、障害物および非接続体節間の衝突を回避するために衝突勾配重み行列が生成される。そして、これら２つの行列に基づいて重み行列が生成され、この重み行列を用いて体節の変向運動が決定されることにより、障害物および多関節システムにおける体節間の衝突が回避される。
【０００９】
本明細書に記載の特徴および利点は、これらがすべてではなく、図面、明細書、および請求の範囲を考慮すれば、特に当業者にはその他多くの特徴および利点が明らかとなる。さらに、本明細書中で使用する表現は主に、読み易さと説明の容易さを考慮して選択したものであって、開示の主題の範囲を画定または制限するものではないことに注意すべきである。
【００１０】
開示の実施形態は、詳細な説明、添付の請求の範囲、および図面から容易に明らかとなるその他の利点および特徴を有する。図面の簡単な説明は、以下の通りである。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る、ターゲットシステムを制御する目標動作修正システムのブロック図である。
【図２】本発明の一実施形態に係る、図１に示した目標動作修正システムの構成を示すブロック図である。
【図３】本発明の一実施形態に係る、追跡・修正プロセスのフロー図である。
【図４】本発明の一実施形態に係る、ロボットシステムを示す図である。
【図５】本発明の一実施形態に係る、物体対間の衝突を防止する例示的なプロセスのフローチャートである。
【図６】本発明の一実施形態に係る、人体モデルを示す図である。
【図７Ａ】本発明の一実施形態に係る、体節の自己衝突防止における衝突回避方策の結果を示す図である。
【図７Ｂ】本発明の一実施形態に係る、体節の自己衝突防止における衝突回避方策の結果を示す図である。
【図８Ａ】本発明の一実施形態に係る、体節の自己衝突防止における衝突回避方策の結果を示す図である。
【図８Ｂ】本発明の一実施形態に係る、体節の自己衝突防止における衝突回避方策の結果を示す図である。
【発明を実施するための形態】
【００１２】
本発明は、自己衝突および障害物を回避しながら、リアルタイムでロボットやその他の多関節剛体システムの運動を制御する目標動作修正システム（ならびに対応する方法およびコンピュータプログラム製品）を提供する。衝突は、衝突対間の距離を監視し、重み行列および監視した距離を用いて決定された変向運動に基づいて体節の方向を変えることにより回避することができる。
【００１３】
図面および以下の説明は、本発明の実施形態に関連するが、ほんの一例に過ぎない。以下、複数の実施形態について詳細に参照するが、これらの例は添付の図面中に図示する。なお、図面においては、可能な限り同様または同種の符号を使用するとともに、同様または同種の機能を示すものとする。図面は、開示のシステム（または方法）の実施形態を示すものであるが、ほんの一例に過ぎない。当業者であれば、以下の説明より、本明細書に示す構造および方法の別の実施形態を発明の本質から逸脱することなく採用可能であることを容易に認識できるであろう。
【００１４】
（目標動作修正システム）
図１は、本発明の一実施形態に係る、ロボット／バイオロボットシステム等のターゲットシステム１０４を制御することにより、自己衝突および障害物を回避しながら、ソースシステム１０２で追跡された運動をリアルタイムでシミュレーションする目標動作修正システム１００のブロック図である。目標動作修正システム１００（動作プランニングシステムまたは動作フィルタリングシステムとしても知られている）は、ソースシステム１０２の動作記述子１０８を検出する。ソースシステム１０２は、たとえば人間や動物等、任意の運動発生源であってもよい。目標動作修正システム１００は、動作記述子１０８に応答して、ターゲットシステム１０４の運動を制御する関節変数１１０を生成する。ターゲットシステム１０４は、たとえばロボット等の一般的な多関節システム、多関節機構（たとえば、人型ロボット等）、アバター、または人間や動物が装着する外骨格装置等であってもよい。
【００１５】
一実施形態において、目標動作修正システム１００は、ソースシステム１０２で生成された運動を取得し、この取得した運動をターゲットシステム１０４に転送する。このプロセスは通常、目標動作修正と称する。ソースシステム１０２の運動は、直交座標（またはタスク）空間における１または複数の基本動作を用いることにより、動作記述子１０８（動作軌跡、所望のタスク記述子、またはタスク変数としても知られている）として追跡（たとえば、マーカー位置や特徴点等の測定による）および表現が行われる。動作記述子１０８は、目標動作修正システム１００によって、関節変数１１０（関節空間軌跡、関節運動、関節コマンド、または関節動作記述子としても知られている）に変換される。目標動作修正システム１００は、関節変数１１０を用いてターゲットシステム１０４を制御し、ソースシステム１０２における運動をシミュレーションする。また、目標動作修正システム１００は、ターゲットシステム１０４における運動に制約を設けることによって、関節制限、筋性トルク制限、自己衝突、障害物等を回避することができる。説明の便宜上、ソースシステム１０２が人体モデルを表し、ソースの運動が通常は測定により観測または推測される人体の基本動作を表し、ターゲットシステム１０４が人体モデルの運動を模倣するように制御される人型ロボットを表すこととしても一般性は失われない。当業者であれば、人体姿勢推定、追跡と推定、および生体力学における関節トルク推定等、その他の目的に目標動作修正システム１００を利用してもよいことが分かるであろう。
【００１６】
図２は、一実施形態に係る、観測される動作記述子１０８から関節コマンドを生成する目標動作修正システム１００の構成を示すブロック図である。目標動作修正システム１００は、ソースシステム１０２における人体の運動の観察により抽出された動作記述子１０８および予め生成された関節コマンドに応答して、ロボットシステム２１４（ターゲットシステム１０４）に適用する関節コマンドｑ（関節変数１１０）を生成する。目標動作修正システム１００は、追跡・修正システム２０２、制約システム２０４、およびバランス制御システム２０６を備える。追跡・修正システム２０２は、観測される動作記述子１０８から関節コマンドｑを生成し、制約システム２０４から制約動作記述子２３０および適当な重み行列２３２を取得し、バランス制御システム２０６からバランス動作記述子２３４を取得する。制約システム２０４は、予め生成された関節コマンドに応答して制約動作記述子２３０を生成する。バランス制御システム２０６は、ロボットシステム２１４から検出した運動情報２３６に応答してバランス動作記述子２３４を生成する。なお、別の実施形態においては、目標動作修正システム１００、追跡・修正システム２０２、および／または制約システム２０４が、予め生成された関節コマンドの代替または追加として、ロボットシステム２１４から検出した運動情報２３６を入力として取得する。同様に、バランス制御システム２０６は、ロボットシステム２１４から検出した運動情報２３６の代替または追加として、予め生成された関節コマンドを入力として取得することができる。
【００１７】
一実施形態において、目標動作修正システム１００は、タスク空間制御フレームワークを用いて、（たとえば、特徴点等における）測定による観測、合成、またはターゲットシステム１０４（この場合は、ロボットシステム２１４）の現在構成から計算により得られる所望の動作記述子１０８群から、ターゲットシステム１０４における全自由度の運動を生成する。追跡・修正システム２０２は、たとえば直交座標追跡誤差の最小化等、所望のタスク記述子を追跡する計算された関節コマンド群において、運動結果を生成する。また、バランス制御システム２０６は、得られた運動を制御してバランスを図るとともに、ターゲットシステム１０４を安定に保つ。制約システム２０４は、ターゲットシステム１０４が関節制限、速度制限、トルク制限等の物理的制限に違反することを防止するためのコマンドを提供するとともに、追跡・修正システム２０２と協働して、ターゲットシステム１０４が特異性に起因する障害物、自己衝突、および計算上の問題を回避できるようにする。これら３つのシステム２０２、２０４、２０６は、階層的なタスク管理方策によって解決可能な多数の相反するタスクを提示するように構成されていてもよい。相反するタスクの解決に関する詳細については、２００７年４月１２日付け米国特許出願第１１／７３４，７５８号、発明の名称：「Ｃｏｎｔｒｏｌ  Ｏｆ  Ｒｏｂｏｔｓ  Ｆｒｏｍ  Ｈｕｍａｎ  Ｍｏｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒｓ」を参照することができる（この文献の全開示内容は、本明細書中に参考として援用する）。優先度の低い（または重要度の低い）因子の精度については、優先度の高い（または重要度の高い）因子のために犠牲となってもよい。
【００１８】
目標動作修正システム１００または後述するその任意の構成要素は、ソフトウェア（たとえば、プロセッサで実行可能な命令を含むモジュール等）、ハードウェア（たとえば、特定用途向け集積回路等）、またはそれらの組み合わせとして構成してもよい。ソフトウェアおよび／またはハードウェアは、プロセッサ、メモリ、コンピュータ可読の記憶媒体（たとえば、ハードディスクドライブ等）、ネットワークインターフェース、適用可能なオペレーティングシステムおよびその他の機能的なソフトウェア（たとえば、ネットワークドライバ、通信プロトコル等）を含むように構築されたコンピュータシステムにおいて動作するものであってもよい。
【００１９】
（軌跡変換プロセス）
追跡・修正システム２０２は、軌跡変換プロセスにおいて、所望の軌跡（動作記述子１０８）を直交座標空間から関節空間に変換する。関節（または配置）空間は、ターゲットシステム１０４の考え得るすべての配置群を参照する。直交座標（またはタスク）空間は、ソースシステム１０２の空間を参照する。
【００２０】
ロボットの自由度の数はｎで表される。また、関節空間全体を特徴付けるこれらの自由度は、ベクトルｑ＝［ｑ1，…，ｑn］Tで表される。追跡・修正システム２０２の目標の１つとして、タスク空間で記述された基準運動に基づいて無衝突関節運動を生成することが挙げられる。一般論として、位置および向きにそれぞれ３次元を割り当てた全６次元タスク空間でタスク変数が作用するものと仮定する。また、タスク変数の数をｋと仮定する。さらに、添字ｉ（ｉ＝１…ｋ）を、ｉ番目のタスク記述子に対応する空間速度ベクトルのインデックスとする。
2011502801.tif 000003
そして、関節空間速度とタスク空間速度との間の写像は、式（１）のように２つの空間に関連する微分運動学を考慮することによって求められる。
【００２１】
【数１】
2011502801.tif 000004
【００２２】
ここで、Ｊiは、当該タスクのヤコビアンである。空間速度ベクトルは、式（２）のように定義される。
【００２３】
【数２】
2011502801.tif 000005
【００２４】
2011502801.tif 000006
【００２５】
【数３】
2011502801.tif 000007
【００２６】
ヤコビアン行列は、式（５）のように、ＪoおよびＪpで表される回転成分および並進成分に分解してもよい。
【００２７】
【数４】
2011502801.tif 000008
【００２８】
2011502801.tif 000009
【００２９】
（閉ループ逆運動学）
閉ループ逆運動学（ＣＬＩＫ：Ｃｌｏｓｅｄ  Ｌｏｏｐ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）は、タスク空間から関節空間への軌跡変換を行う際に有効な方法である。一実施形態においては、追跡・修正システム２０２がＣＬＩＫアルゴリズムを利用して軌跡変換を行う。ＣＬＩＫアルゴリズムの詳細な説明については、Ｂ．Ｄａｒｉｕｓｈ、Ｍ．Ｇｉｅｎｇｅｒ、Ｂ．Ｊｉａｎ、Ｃ．Ｇｏｅｒｉｃｋ、およびＫ．Ｆｕｊｉｍｕｒａ著、「Ｗｈｏｌｅ  ｂｏｄｙ  ｈｕｍａｎｏｉｄ  ｃｏｎｔｒｏｌ  ｆｒｏｍ  ｈｕｍａｎ  ｍｏｔｉｏｎ  ｄｅｓｃｒｉｐｔｏｒｓ」、Ｉｎｔ．Ｃｏｎｆ．Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ（ＩＣＲＡ）、Ｐａｓａｄｅｎａ、ＣＡ（２００８年）を参照することができる（この文献の全開示内容は、本明細書中に参考として援用する）。
【００３０】
ＣＬＩＫアルゴリズムは、タスク記述子群を入力として使用し、基準直交座標運動（所望のタスク記述子）と予測直交座標運動との間の追跡誤差を最小化するロボット関節コマンドを推定する。
【００３１】
一実施形態において、ＣＬＩＫアルゴリズムの調整方針としては、予測ロボットタスク記述子と基準タスク記述子との間の直交座標誤差が最小化されるようにロボット関節コマンドを生成することが挙げられる。追跡性能は、ロボットシステム２１４の運動学的拘束のほか、相反することが多い複数のタスク記述子要求の実行にも左右される。このような条件付き最適化の構築は、ＣＬＩＫ構成の拡張に基づいている。
【００３２】
タスク空間における基準タスク記述子の速度を式（６）のように記述する。
【００３３】
【数５】
2011502801.tif 000010
【００３４】
関節速度は、式（１）を逆変換し、フィードバック誤差項を追加して数値変動を補正することにより計算してもよい。
【００３５】
【数６】
2011502801.tif 000011
【００３６】
ここで、Ｊ*は、正定値行列Ｗで重み付けされたＪの正規化右擬似逆行列を表す。
【００３７】
【数７】
2011502801.tif 000012
【００３８】
パラメータλ＞０は減衰項、Ｉは恒等行列である。λ2Ｉ＝０の場合、式（８）は単に、Ｊの重み付け右擬似逆行列となる。さらに、Ｊが正方正則行列である場合は、Ｗが恒等行列、λ2Ｉ＝０であり、行列Ｊ*は一般的な行列反転Ｊ-1で置き換えられる。
【００３９】
2011502801.tif 000013
追跡誤差に関する詳細については、Ｄａｒｉｕｓｈ著、「Ｗｈｏｌｅ  ｂｏｄｙ  ｈｕｍａｎｏｉｄ  ｃｏｎｔｒｏｌ  ｆｒｏｍ  ｈｕｍａｎ  ｍｏｔｉｏｎ  ｄｅｓｃｒｉｐｔｏｒｓ」、Ｊ．Ｙ．Ｓ．Ｌｕｈ、Ｍ．Ｗ．Ｗａｌｋｅｒ、およびＲ．Ｐ．Ｃ．Ｐａｕｌ著、「Ｒｅｓｏｌｖｅｄ−ａｃｃｅｌｅｒａｔｉｏｎ  ｃｏｎｔｒｏｌ  ｏｆ  ｍｅｃｈａｎｉｃａｌ  ｍａｎｉｐｕｌａｔｏｒｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ａｕｔｏｍａｔｉｃ  Ｃｏｎｔｒｏｌ、２５：４６８−４７４ページ（１９８０年）、およびＦ．Ｃｈｉａｖｅｒｉｎｉ、Ｂ．Ｓｉｃｉｌｉａｎｏ、およびＯ．Ｅｇｅｌａｎｄ著、「Ｒｅｖｉｅｗ  ｏｆ  ｄａｍｐｅｄ  ｌｅａｓｔ  ｓｑｕａｒｅｓ  ｉｎｖｅｒｓｅ  ｋｉｎｅｍａｔｉｃｓ  ｗｉｔｈ  ｅｘｐｅｒｉｍｅｎｔｓ  ｏｎ  ａｎ  ｉｎｄｕｓｔｒｉａｌ  ｒｏｂｏｔ  ｍａｎｉｐｕｌａｔｏｒ」、ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍｓ  Ｔｅｃｈ．、２（２）：１２３−１３４ページ（１９９４年）を参照することができる（これら文献の全開示内容は、本明細書中に参考として援用する）。
【００４０】
図３は、ＣＬＩＫアルゴリズムに基づく追跡・修正プロセスのフロー図である。一実施形態において、このプロセスは追跡・修正システム２０２中で実現され、ＣＬＩＫアルゴリズムを用いることにより観測された動作記述子１０８の位置および方向を追跡可能である。図示のように、追跡・修正システム２０２は、位置誤差システム３０７で生成された位置誤差および向き誤差システム３０４で生成された向き誤差に応答して、時間的に変化するタスク記述子１０８の所望の位置（ｐr）および向き（Θr）に追従する関節コマンド（ｑ）を生成する。一実施形態において、追跡・修正システム２０２は、式（７）を制御則として用いることにより、ロボットシステム２１４の関節コマンドを生成する。
【００４１】
追跡・修正システム２０２に関する詳細およびその他の実施形態については、Ｂ．Ｄａｒｉｕｓｈ、Ｍ．Ｇｉｅｎｇｅｒ、Ａ．Ａｒｕｍｂａｋｋａｍ、Ｙ．Ｚｈｕ、Ｋ．Ｆｕｊｉｍｕｒａ、およびＣ．Ｇｏｅｒｉｃｋ著、「Ｏｎｌｉｎｅ  Ｔｒａｎｓｆｅｒ  ｏｆ  Ｈｕｍａｎ  Ｍｏｔｉｏｎ  ｔｏ  Ｈｕｍａｎｏｉｄｓ」、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｈｕｍａｎｏｉｄ  Ｒｏｂｏｔｉｃｓ（２００８年１０月６日）および２００７年４月１２日付け米国特許出願第１１／７３４，７５８号、発明の名称：「Ｃｏｎｔｒｏｌ  Ｏｆ  Ｒｏｂｏｔｓ  Ｆｒｏｍ  Ｈｕｍａｎ  Ｍｏｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒｓ」を参照することができる（これら文献の全開示内容は、本明細書中に参考として援用する）。
【００４２】
（衝突回避）
ターゲットシステム１０４は、自己衝突または他の障害物との衝突を回避することによって、安全に運動を行うことができる。衝突回避は、自己衝突回避または障害物回避として分類してもよい。自己衝突回避とは、ロボットシステム２１４の２つの体節が接触する状況に関連するものである。一方、障害物回避とは、ロボットシステム２１４が周囲の物体と接触する状況に関連するものである。自己衝突回避は、接続体節対間の自己衝突回避および非接続体節対間の自己衝突回避として分類してもよい。接続体節対の含意としては、２つの体節が共通の関節で接続され、その関節が回転可能であるものと仮定されている。障害物回避の場合、２つの衝突体は常に非接続状態である。
【００４３】
自己衝突および障害物を回避する方法を以下に詳述する。この方法は、追跡・修正システム２０２のＣＬＩＫ構成中に実現することができる。接続体節対間の自己衝突の回避を最初に説明した後、非接続体間の衝突の回避を説明する。これらのアルゴリズムを利用することによって、自己衝突および障害物を回避するための統合的な方法を構築することができる。なお、非接続体節対間の自己衝突および障害物との衝突はいずれも、ロボットシステム２１４の体節が非接続体と接触することになるため、非接続体間の衝突を回避する上記方法によって回避することができる。
【００４４】
（２つの接続体間の自己衝突の回避）
２つの体節対が共通の回転関節で接続されている場合、すなわち、接続体節対である場合、当該体節対間の自己衝突回避は、関節の可動域を制限することにより対処してもよい。自己衝突回避のための関節制限は、物理的な関節制限に対応する必要はなく、衝突が起こらない限界を手動で確認することにより値を求めた、より安全な仮想関節制限であってもよい。このように、体節対間の衝突回避は、関節の可動域を制限することによって実現することができる。
【００４５】
一実施形態において、接続体節間の自己衝突回避および関節制限の回避は、式（８）における重み行列Ｗを適当に選択することによって実現される。重み行列の一例は、重み付け最小ノルム（ＷＬＮ：Ｗｅｉｇｈｔｅｄ  Ｌｅａｓｔ−Ｎｏｒｍ）解によって定義される。ＷＬＮ解は、Ｔ．Ｆ．ＣｈａｎおよびＲ．Ｖ．Ｄｕｂｅｙ著、「Ａ  ｗｅｉｇｈｔｅｄ  ｌｅａｓｔ−ｎｏｒｍ  ｓｏｌｕｔｉｏｎ  ｂａｓｅｄ  ｓｃｈｅｍｅ  ｆｏｒ  ａｖｏｉｄｉｎｇ  ｊｏｉｎｔ  ｌｉｍｉｔｓ  ｆｏｒ  ｒｅｄｕｎｄａｎｔ  ｊｏｉｎｔ  ｍａｎｉｐｕｌａｔｏｒｓ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ、１１（２）（１９９５年）により最初に提案されたものである（この文献の全開示内容は、本明細書中に参考として援用する）。また、ＷＬＮ解は、減衰最小２乗ヤコビアン反転との関連で構築されたものである。このＷＬＮ解を利用し、関節制限関数の勾配に基づいて適切な重み行列を生成することにより、関節が限界に近づくことを抑制する。この解については後述する。
【００４６】
関節がその限界に近いほど大きな値を有し、関節限界で無限大となる関節制限関数の候補は、Ｈ（ｑ）で表される。このような関数の候補は、Ｚｇｈａｌらによる提案として式（９）で与えられる。
【００４７】
【数８】
2011502801.tif 000014
【００４８】
ここで、ｑiは、ｉ番目の自由度の正規化座標を表し、ｑi,minおよびｑi,maxはそれぞれ、関節限界の下限および上限である（Ｈ．ＺｇｈａｌおよびＲ．Ｖ．Ｄｕｂｅｙ著、「Ｅｆｆｉｃｉｅｎｔ  ｇｒａｄｉｅｎｔ  ｐｒｏｊｅｃｔｉｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  ｍａｎｉｐｕｌａｔｏｒｓ  ｗｉｔｈ  ｍｕｌｔｉｐｌｅ  ｄｅｇｒｅｅｓ  ｏｆ  ｒｅｄｕｎｄａｎｃｙ」、Ｉｎｔ．Ｃｏｎｆ．Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ、第２巻、１００６−１０１１ページ（１９９０年）参照。この文献の全開示内容は、本明細書中に参考として援用する）。関節限界の上限および下限は、物理的な関節制限と衝突回避に使用する仮想関節制限との間のより厳密な限界を表す。なお、Ｈ（ｑ）は、正規化により可動域における変化の度合いとなる。∇Ｈとして表されるＨの勾配は、Ｈの増加速度が最大となる方向を指すｎ×１ベクトルである関節制限勾配関数を表す。
【００４９】
【数９】
2011502801.tif 000015
【００５０】
関節ｉに対応する要素は、式（１１）で与えられる。
【００５１】
【数１０】
2011502801.tif 000016
【００５２】
2011502801.tif 000017
ＷJLで表される関節制限勾配重み行列は、対角要素ｗJLi（ｉ＝１…ｎ）を有する式（１２）のｎ×ｎ対角行列で定義される。
【００５３】
【数１１】
2011502801.tif 000018
【００５４】
式（８）における重み行列Ｗは、ＷJLによって構成される（たとえば、Ｗ＝ＷJL）。対角要素ｗJLiは、式（１３）のように定義される。
【００５５】
【数１２】
2011502801.tif 000019
【００５６】
Δ｜∂Ｈ／∂ｑi｜の項は、関節制限勾配関数の大きさの変化を表す。正数であれば関節がその限界方向に運動していることを表し、負数であればその限界から離れる方向に運動していることを表す。関節がその限界方向に運動している場合、式（１３）の第１の条件に関連する重み付け係数は、非常に大きな値となって運動速度が低下する。そして、関節がその限界にほぼ到達すると、重み付け係数は無限大に近づいて、対応する関節は実質的に停止する。関節がその限界から離れる方向に運動している場合は、運動を制限または制約する必要はない。この場合には、式（１３）の第２の条件によって、関節の自由な運動が可能になる。このように、ＷJLを関節制限の回避に使用することができる。
【００５７】
（非接続体間の衝突の回避）
非接続体の衝突回避方策の一実施形態を以下に説明する。非接続体節対間の自己衝突の回避を最初に説明した後、障害物の回避を説明する。
【００５８】
同じ関節を共有しないロボットシステム２１４の体節対に対して、この衝突回避方策では、２つの衝突体間の最小ユークリッド距離（最短距離）を入力として取得する。２つの物体間の最短距離は、ｄ（ｄ≧０）で表される。また、２つの物体間の最短距離ｄの座標は、ｐaおよびｐbによって表され、関節空間のベースフレームを参照している。ａおよびｂで表される２つの点は、衝突点（または衝突点対）と称する。Ｐ（ｑ，ｄ）は、ｄ＝０で最大値を有し、ｄの増加とともにゼロに向かって指数関数的に減少する衝突関数の候補を表す。別の実施形態において、この衝突関数の候補は、ｄ＝０で最小値を有し、距離ｄの増加とともにたとえば指数関数的に増加するものであってもよい。
【００５９】
∇Ｐとして表されるＰの勾配は、Ｐの増加速度が最大となる方向を指すｎ×１ベクトルである衝突勾配関数を表す。
【００６０】
【数１３】
2011502801.tif 000020
【００６１】
衝突勾配関数∇Ｐの各要素は、各自由度が衝突距離に影響を及ぼす程度を表す。衝突勾配関数は、式（１５）のように計算することができる。
【００６２】
【数１４】
2011502801.tif 000021
以下では、自己衝突またはロボットシステム２１４の２つの物体間の衝突についてまず考える。この場合には、式（１５）の第２項を式（１６）のように表すことができる。
【００６３】
【数１５】
2011502801.tif 000022
【００６４】
ここで、ｐaおよびｐbはベースを基準とする２つの衝突点の座標を表し、ＪaおよびＪbは関連するヤコビアン行列である。座標ｐaおよびｐbは、一般的な衝突検出ソフトウェアを用いて求めることができる。図４は、ロボットシステム２１４の一例を示す図である。図示のように、ロボットシステム２１４は、その前腕と胴体との間に衝突点群（ａ１およびｂ１）を有する。
【００６５】
衝突点対のうちの１つ（たとえば、衝突点ｂ）がロボットシステム２１４に属さない周囲の障害物上の点を表す場合（たとえば、図４のａ２およびｂ２）、式（１６）は式（１７）のように簡素化される。
【００６６】
【数１６】
2011502801.tif 000023
【００６７】
上述の通り、式（１４）における衝突勾配関数∇Ｐの各要素は、各自由度が衝突距離に影響を及ぼす程度を表す。
2011502801.tif 000024
【００６８】
【数１７】
2011502801.tif 000025
【００６９】
2011502801.tif 000026
【００７０】
【数１８】
2011502801.tif 000027
【００７１】
衝突関数Ｐは、異なる形式でも表すことができる。たとえば、式（２０）は、一実施形態に係る衝突関数Ｐの候補である。
【００７２】
【数１９】
2011502801.tif 000028
【００７３】
この衝突関数の候補は、ｄ＝０の場合に無限大であり、ｄの増加に伴って指数関数的に減少する。減少速度は、パラメータαおよびβを調整することによって制御することができる。αを大きくすることによって、関数がより速くゼロに近づくように指数関数的な減少速度を調整することができる。同様に、βを大きくすることによっても減少速度は大きくなる。パラメータρは、大きさを調整するためのものである。Ｐのｑに関する偏導関数は、式（２１）の通りである。
【００７４】
【数２０】
2011502801.tif 000029
【００７５】
2011502801.tif 000030
【００７６】
（統合的な衝突回避方法）
上述の通り、接続体節対間の衝突は、関節制限勾配重み行列ＷJLを適用することによって回避することができ、非接続体間の衝突は、衝突勾配重み行列ＷCOLにより回避することができる。また、これらの行列を組み込んで、接続体節対間または非接続体節対間の自己衝突および障害物との衝突を回避するように、重み行列Ｗを構築することができる。なお、ＷJLは、２つの接続体の衝突回避のため、物理的な関節制限だけでなく仮想的な関節制限も強制するように設計してもよいことを前提とする。
【００７７】
統合的な方法の基本的な考え方は、式（８）のように適切な重み行列Ｗを設計することによって、体節を衝突に至らしめる運動をする関節を制約・抑制することである。この重み行列は、関節制限の勾配および衝突ポテンシャル関数を考慮することによって得られた要素を有する対角行列である。この方策は、衝突回避のための関節制限・衝突勾配重み（ＪＬＣＧＷ：Ｊｏｉｎｔ  Ｌｉｍｉｔ  ａｎｄ  Ｃｏｌｌｉｓｉｏｎ  Ｇｒａｄｉｅｎｔ  Ｗｅｉｇｈｔｉｎｇ）行列とも称する。ＪＬＣＧＷ行列Ｗは、ｎ×ｎ行列ＷJLおよびｎ×ｎ行列ＷCOLの影響を受ける。たとえば、Ｗは、式（２２）のように簡単に定義することができる。
【００７８】
【数２１】
2011502801.tif 000031
【００７９】
あるいは、合計Ｎc個の物体対（接続体節対、非接続体節対、体節−障害物対）について、衝突の確認を行うものと仮定する。
2011502801.tif 000032
各衝突対のポテンシャル関数の候補は式（２３）で与えられる。
【００８０】
【数２２】
2011502801.tif 000033
【００８１】
そして、衝突勾配重み行列は式（２４）で与えられる。
【００８２】
【数２３】
2011502801.tif 000034
【００８３】
2011502801.tif 000035
【００８４】
【数２４】
2011502801.tif 000036
【００８５】
重み行列Ｗは、式（２６）のように表される。
【００８６】
【数２５】
2011502801.tif 000037
【００８７】
ここで、分母（Ｎc＋１）は、衝突対の総数Ｎcに関節制限回避の効果を加えて解を正規化するものである。
【００８８】
（衝突回避のプロセス）
図５は、本発明の一実施形態に係る、上記アルゴリズムを用いて物体対間の衝突を防止する例示的なプロセス５００のフローチャートである。このプロセス５００は、図３に示すように、たとえばＣＬＩＫ軌跡変換システム３０８により実行または実施することによって、ロボットシステム２１４における衝突を回避することができる。
【００８９】
プロセス５００の１または複数の部分は、ハードウェアおよび／またはソフトウェアまたはそれらの組み合わせの実施形態で実装してもよい。たとえば、本明細書に記載の動作を行う命令によってプロセス５００を具現化してもよく、具体的なコンピュータ読み取り可能な媒体（たとえば、フラッシュメモリ、ハードディスクドライブ等）に格納するとともに、コンピュータプロセッサによって実行することができる。また、当業者であれば、別の実施形態により、プロセス５００の各ステップを異なる順序で実行可能であることが分かるであろう。さらに、別の実施形態では、本明細書に記載のステップと異なるステップおよび／または追加ステップを含むことができる。ＣＬＩＫ軌跡変換システム３０８は、プロセス５００の各ステップにおける複数のインスタンスを同時および／または並列に実行することができる。
【００９０】
ＣＬＩＫ軌跡変換システム３０８は、ソースシステム１０２から受け取った動作記述子に基づいて、ロボットシステム２１４の運動を制御する。ＣＬＩＫ軌跡変換システム３０８は、接続体節対間の衝突を回避するための関節制限関数と、障害物および非接続体節対間の衝突を回避するための衝突関数とを決定する（ステップ５１０）。関節制限関数の一例が式（９）であり、衝突勾配関数の一例が式（２０）である。
【００９１】
ＣＬＩＫ軌跡変換システム３０８は、互いに衝突する可能性がある物体対間の距離を測定する（ステップ５２０）。このような物体対としては、接続体節対、非接続体節対、および体節−障害物対等が挙げられる。一実施形態において、ＣＬＩＫ軌跡変換システム３０８は、衝突対間の距離を一覧にした距離テーブルを保持しておき、センサを介してリアルタイムで距離を測定し（ステップ５２０）、その結果により距離テーブルを更新する。
【００９２】
ＣＬＩＫ軌跡変換システム３０８は、関節制限関数、衝突関数、および測定された距離に基づいて、関節制限・衝突勾配重み（ＪＬＣＧＷ）行列を生成する（ステップ５３０）。このＪＬＣＧＷ行列を生成するプロセス（ステップ５３０）の例は、式（２２）および式（２６）に関連して上述した通りである。
【００９３】
ＣＬＩＫ軌跡変換システム３０８は、ＪＬＣＧＷ行列を用いて衝突を防止する（ステップ５４０）。一実施形態においては、式（８）に示すように、ＣＬＩＫ軌跡変換システム３０８で使用するＣＬＩＫアルゴリズムにおける重み行列としてＪＬＣＧＷ行列を用いることにより、ロボットシステム２１４における体節の運動の方向を変えて衝突を回避する。その後、ＣＬＩＫ軌跡変換システム３０８は、変向した衝突対間の距離の測定（ステップ５２０）を継続して、その後の衝突を防止する。
【００９４】
（実施例）
開示の衝突回避方策の一実施形態を人体からロボットへの目標動作修正に適用した場合についてテストする。まず、人体上半身の所望の動作記述子群を人体モデルと関連付ける。これら人体の動作記述子は、腰関節１つ、肩関節２つ、肘関節２つ、手首関節２つ、および首関節１つに対応した最大８つの上半身直交座標位置から成る。図６は、このような人体モデルを示す図である。
【００９５】
人体の運動データを、低域濾波および補間を行った後、本田技研工業製の人型ロボットＡＳＩＭＯの寸法に変換した。得られた運動は、無衝突ロボット関節運動を生成するＣＬＩＫ軌跡変換システム３０８の入力として用いられる基準ロボット動作記述子に対応する。
【００９６】
図７Ａおよび図７Ｂは、接続体節の自己衝突防止における衝突回避方策の結果を示す図である。図７Ａは、関節制限回避が不使用の場合の左肩関節の第２オイラー回転（内転／外転）を示す。図７Ｂは、関節制限を強制した後の結果を示す。破線は、関節制限の上限および下限を示す。関節制限回避が不使用の場合は、肩関節が急速に回転して限界を大きく超え、腕と胴体が衝突する。関節制限回避を使用する場合、関節の角度がその限界に近づくことが徐々に抑制され、非常に滑らかで自然に見える運動となる。
【００９７】
図８Ａおよび図８Ｂは、非接続体節の自己衝突防止における衝突回避方策の結果を示す図である。これらの図は、左手および胴体上の衝突点対間の最短距離を示す。衝突回避アルゴリズムを用いずに生成した最短距離は、実線でプロットしている。また、衝突回避アルゴリズムを用いて生成した最短距離は、破線でプロットしている。図示のように、衝突回避を行わない場合は、図８Ｂにより詳しく示すように、左手および胴体上の衝突点がフレーム４７０とフレーム５０５との間で衝突する。なお、負の距離は、２つの物体の衝突および進入を意味する。衝突回避を行うと、２つの体節間の接触は起こらない。
【００９８】
このテストの詳細については、Ｂ．Ｄａｒｉｕｓｈ、Ｍ．Ｇｉｅｎｇｅｒ、Ｂ．Ｊｉａｎ、Ｃ．Ｇｏｅｒｉｃｋ、およびＫ．Ｆｕｊｉｍｕｒａ著、「Ｗｈｏｌｅ  ｂｏｄｙ  ｈｕｍａｎｏｉｄ  ｃｏｎｔｒｏｌ  ｆｒｏｍ  ｈｕｍａｎ  ｍｏｔｉｏｎ  ｄｅｓｃｒｉｐｔｏｒｓ」、Ｉｎｔ．Ｃｏｎｆ．Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ（ＩＣＲＡ）、Ｐａｓａｄｅｎａ、ＣＡ（２００８年）を参照（この文献の全開示内容は、本明細書中に参考として援用する）。
【００９９】
（その他の実施形態）
上述の実施形態では、リアルタイムでロボットシステムの運動を制御することによって、目標動作修正における自己衝突および障害物を回避する目標動作修正システムを説明している。当業者であれば、実環境または仮想環境（たとえば、人物のアニメーション等）におけるその他の多関節剛体システムの制御、および目標動作修正以外の目的（たとえば、ロボット運動の生成と制御、人体姿勢推定、追跡と推定、および生体力学における関節トルク推定等）にこの目標動作修正システムを利用可能であることが分かる。
【０１００】
上記説明の一部では、たとえば図６で説明したプロセスや動作のようなアルゴリズム的なプロセスまたは動作の観点で実施形態を説明している。これらアルゴリズム的な説明および表現は通常、データ処理の熟練者が当業他者に対して仕事の内容を効果的に伝達する際に用いられている。これらの動作は、機能的、計算的、または論理的に説明しているが、プロセッサまたは同等の電気回路、マイクロコード等で実行する命令を含むコンピュータプログラムによって実装されるものと理解される。さらに、一般性を失わずに、これら機能的動作の構成をモジュールとして参照することが場合によっては都合が良いことも判明した。上記説明した動作および関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせとして具現化してもよい。
【０１０１】
本明細書で使用する「一実施形態」または「実施形態」という表現はいずれも、その実施形態と関連して説明した特定の要素、特徴、構造、または特性が少なくとも１つの実施形態に含まれることを意味する。また、本明細書の様々な箇所に登場する「一実施形態において」という表現は、必ずしも同じ実施形態を参照しているわけではない。
【０１０２】
一部の実施形態は、「結合（ｃｏｕｐｌｅｄ）」および「接続（ｃｏｎｎｅｃｔｅｄ）」という表現をそれぞれの派生語とともに用いて記述してもよいが、これらの用語は、互いの同義語をなすものではないことを理解すべきである。たとえば、一部の実施形態は、２つ以上の要素が互いに直接物理的または電気的に接触していることを示すために、「接続（ｃｏｎｎｅｃｔｅｄ）」という用語を用いて記述してもよい。別の例として、一部の実施形態は、２つ以上の要素が直接物理的または電気的に接触していることを示すために、「結合（ｃｏｕｐｌｅｄ）」という用語を用いて記述してもよい。ただし、「結合（ｃｏｕｐｌｅｄ）」という用語は、２つ以上の要素が互いに直接接触はしていないが、互いに協働または相互作用するということを意味していてもよい。なお、実施形態は、これに関連する制約を受けない。
【０１０３】
本明細書で使用する「備える（ｃｏｍｐｒｉｓｅｓ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含んでいる（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有している（ｈａｖｉｎｇ）」という用語、またはこれらのその他任意の変形は、非排他的な包含を網羅することを意図している。たとえば、一連の要素を備えたプロセス、方法、物品、または装置は、必ずしもこれら要素にのみ限定されず、明確に記載されていないその他の要素またはこれらプロセス、方法、物品、または装置に固有のその他要素を含んでいてもよい。さらに、明確に反対のことが記載されていない場合、「または（ｏｒ）」は、包含的論理和の意味を有し、排他的論理和の含意はない。たとえば、「条件ＡまたはＢ」は、Ａが真（または存在）でＢが偽（または存在しない）、Ａが偽（または存在しない）でＢが真（または存在）、ＡおよびＢともに真（または存在）、のいずれかによって満足される。
【０１０４】
また、本明細書中における実施形態の要素および構成要素の記述に不定冠詞（ａまたはａｎ）を使用しているが、これは、単に便宜上のことであって、本発明の一般的な意味を与えるためである。このような記述は、１つまたは少なくとも１つの要素を含むものと解釈されるべきである。また、単数形は、その他の意味が明確に記載されていない場合は複数形も含む。
【０１０５】
当業者が本開示内容を読めば、自己衝突および障害物を回避するためにロボットやその他の多関節剛体システムの運動をリアルタイムで制御するシステムおよびプロセスのさらに別の構造設計および機能設計が想到されるであろう。したがって、特定の実施形態および用途を例示・説明したが、本発明は、本明細書に開示の構成および構成要素にのみ限定されるものではなく、本明細書に開示した方法および装置の構成、動作、および詳細に対して、添付の請求の範囲に規定する本発明の精神および範囲から逸脱することなく、当業者には明白な種々の改良、変更、および変形を行ってもよいものと理解すべきである。
【図１】
2011502801.tif 000038
【図２】
2011502801.tif 000039
【図３】
2011502801.tif 000040
【図４】
2011502801.tif 000041
【図５】
2011502801.tif 000042
【図６】
2011502801.tif 000043
【図７Ａ】
2011502801.tif 000044
【図７Ｂ】
2011502801.tif 000045
【図８Ａ】
2011502801.tif 000046
【図８Ｂ】
2011502801.tif 000047
【国際調査報告】
2011502801.tif 000048