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