(57)【要約】      （修正有）【課題】汎用性に富んだ衝突回避機能を持つモーション制御ユニットを有するロボットを提供すること。【解決手段】ロボットのモーション制御ユニットは、ロボットの異なるセグメント、またはセグメントと他の対象物の最も近い２つのポイントを算出し出力する距離算出モジュールと、全身制御モジュールと、前記距離算出モジュールからの出力信号が供給される衝突回避モジュールと、全身制御モジュールと衝突回避制御モジュールの重み付け出力制御信号を結合する混合制御ユニットと、を備え、算出された衝突危険がより低くなるほど、モーション制御出力信号の重み付け値が高くなり、算出された衝突危険がより高くなるほど、衝突回避制御出力信号の重み付け値が高くなる。衝突回避モジュールは、ロボットの異なるセグメント、またセグメントと他の対象物の最も近い２つのポイントを算出し、衝突回避作用を制御するように、設計されている。【選択図】図３
2008238395.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの制御方法であって、
前記ロボットのモーションに対する目標を規定するステップと、
前記ロボットが前記目標に到逹するために適切なモーション制御信号を算出するステップと、
少なくとも一つのジョイントを介して互いに連結された前記ロボットの異なるセグメント、または前記ロボットのセグメントと他の対象物の最も近いポイントに基づいて衝突回避制御信号を算出するステップと、
重み付けモーション制御信号と重み付け衝突回避制御信号とを結合させるステップと、
前記結合された重み付け信号によって前記ロボットのモーションを制御するステップと、
を備え、
算出された衝突危険がより低くなるほど、モーション制御出力信号の重み付け値が高くなり、
算出された衝突危険がより高くなるほど、衝突回避制御出力信号の重み付け値が高くなる、方法。
【請求項２】
モーションによる目標到達と衝突回避との間でのなめらかなタスクの切り替えを遂行するために、モーション制御出力信号の重み付け値および衝突回避制御出力信号の重み付け値が徐々に変更される、請求項１に記載の方法。
【請求項３】
モーション制御算出は、衝突回避モーションをゼロスペース内に、そして、目標到達モーションをタスク・スペース内にマッピングするステップを備える、請求項１または２に記載の方法。
【請求項４】
最も近いポイントの間の距離が、所定の回避閾値距離よりも大きい限り、衝突回避出力信号の重み付け値は０である、請求項１から３のいずれか１項に記載の方法。
【請求項５】
少なくとも一つのジョイントを介して互いに連結された前記ロボットの異なるセグメント、または前記ロボットのセグメントと他の対象物の最も近い２つのポイントを算出し、  単に最も近いポイントの間の連結線に沿った次元においてのみ、前記ロボットの衝突回避モーションを制御することによって、衝突回避制御を行うステップを備える、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記衝突回避制御のゼロスペースが、モーションによる目標到達に割り当てられる、請求項５に記載の方法。
【請求項７】
ロボットの制御方法であって、
少なくとも一つのジョイントを介して互いに連結された前記ロボットの異なるセグメント、または前記ロボットのセグメントと他の対象物の最も近い２つのポイントを算出するステップと、
単に最も近いポイントの間の連結線に沿った次元においてのみ、前記ロボットの衝突回避モーションを制御するステップと、
によって衝突回避制御を行うステップと、を備える、方法。
【請求項８】
衝突回避制御は、衝突回避モーションをタスク・スペース内に、そして、目標到達モーションをゼロスペース内にマッピングする、請求項１から７のいずれか１項に記載の方法。
【請求項９】
演算装置で実行されるとき、請求項１から８のいずれか１項に記載の方法を実施する、コンピュータ・プログラム。
【請求項１０】
モーション制御ユニットを有するロボットであって、
前記ロボットのモーション制御ユニットは、
少なくとも一つのジョイントを介して互いに連結された前記ロボットの異なるセグメント、または前記ロボットのセグメントと他の対象物の最も近い２つのポイントを算出して、出力する距離算出モジュールと、
モーション制御モジュールと、
前記距離算出モジュールからの出力信号が供給される衝突回避モジュールと、
前記モーション制御モジュールと衝突回避制御モジュールの重み付け出力制御信号を結合する混合制御ユニットと、を備え、
算出された衝突危険がより低くなるほど、モーション制御出力信号の重み付け値が高くなり、
算出された衝突危険がより高くなるほど、衝突回避制御出力信号の重み付け値が高くなる、ロボット。
【請求項１１】
モーション制御ユニットを有するロボットであって、
前記ロボットのモーション制御が、
少なくとも一つのジョイントを介して互いに連結された前記ロボットの異なるセグメント、または前記ロボットのセグメントと他の対象物の最も近い２つのポイントを算出するように、そして
単に最も近いポイントの間の連結線に沿った次元においてのみ、衝突回避作用を制御するように設計されている衝突回避モジュールを備える、ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にロボット分野に関するものであって、特に、自律的に動作するロボットであって、自己衝突（ａｕｔｏ  ｃｏｌｌｉｓｉｏｎ）、すなわち、ロボットの第１の可動セグメント部分と該ロボット自身の第２のセグメントとの間の衝突だけではなく、第３者との衝突を回避するための安全メカニズムを必要とするロボットに関する。
【背景技術】
【０００２】
例えば、ロボットのようなエフェクタの軌道が制御される場合、目標状態が定義されなければならない。目標状態は、例えば、ロボットの操作アームによって操縦される対象物によって定義される。一般的に、対象物の位置は、３つのパラメータで描写することができる。対象物の位置以外にも、しばしばカルダン角（Ｋａｒｄａｎ  ａｎｇｌｅ）またはオイラー角（Ｅｕｌｅｒ  ａｎｇｌｅ）で表現される空間的定位を描写することが必要である。
【０００３】
ロボットのエフェクタを動作させるために、軌道は、一般に、制御パラメータスペースの増加分を構成スペース（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｓｐａｃｅ）の上にマッピングすることにより生成される。
【０００４】
制御パラメータスペースまたはタスク・スペースは、命令成分のスペースである。制御パラメータスペースは、命令成分で構成される。命令（また、「目標」または「タスク」）成分は、個別の命令ベクトルの成分である。これらの成分は、制御されなければならないもの、例えば、手の位置またはヘッド部の傾斜の有用な描写を定義する。構成スペースは、制御可能な自由度を有する空間である。構成スペースは、制御可能な自由度が割り当てられ得る、ロボットの個別ジョイント及び／またはより複雑な運動学的メカニズムからなることができる。
【０００５】
「ゼロスペース（ｎｕｌｌ  ｓｐａｃｅ）」は、ジョイントスペースとタスク・スペースとの間の次元の差異を表わす。ゼロスペースは、冗長自由度を含み、ここで動作は、タスク・スペース・モーションに影響を及ぼすことなく、遂行することが可能である。
【０００６】
ゼロスペースに関する定義は、インターネットで探すことができる（ｈｔｔｐ：／／ｗｗｗ−ｒｏｂｏｔｉｃｓ．ｃｓ．ｕｍａｓｓ．ｅｄｕ／Ｒｅｓｅａｒｃｈ／Ｇｌｏｓｓａｒｙ／ｎｕｌｌ＿ｓｐａｃｅ．ｈｔｍｌを参照）。
ゼロスペースは、対応の関数値が０となるようにする線形演算子の独立変数のセットである。冗長自由度システムは、主要なタスクを妨害することなく、運動学的条件のような副次的な目的を処理するために用いることのできる、（局所的な）ゼロスペースを有する。
【０００７】
特に、本発明は、特定の安全メカニズム、つまり、ロボットの衝突回避を目標とする。従来、ロボットの目標は操作者によって与えられ、ロボットは単に、計画された軌道を追従するだけであった。安全メカニズムは、たとえあったとしても、モーションを単純に停止させるような非常停止機構である。しかしながら、最近のロボット、とりわけ、人間型ロボットには、工場のような広い環境での屋外作業が期待されている。ロボットは、動的環境と相互作用しなければならず、ロボットのモーションは、予測することができない。したがって、より一層改善された安全メカニズムが必要となり、このメカニズムが、非常停止機構の代わりに、衝突回避機構と呼ばれる。衝突回避の長所は、ただ安全なだけではない。その上、ロボットの目標到達モーションを停止させる必要がなく、ロボットの作業範囲を拡張させる。
【０００８】
衝突回避における公知の試みは、２つの分野に分類することができる。一方の分野は、障害物を考慮した上で軌道を生成する計画（非リアルタイム）方法である。
【０００９】
Ｊａｍｅｓ  Ｋｕｆｆｎｅｒらは、非特許文献１において、人間型ロボットの衝突回避を提案した。この文献は、足の妨害を考慮した歩き方の生成のために、速い衝突検出方法及びリアルタイム計画を提案している。
【００１０】
Ｊａｍｅｓ  Ｋｕｆｆｎｅｒらは、非特許文献２において、ランダム探索木（ＲＲＴｓ：Ｒａｐｉｄｌｙ  ｅｘｐｌｏｒｉｎｇ  Ｒａｎｄｏｍ  Ｔｒｅｅｓ）を用いた、動力学に基づく無衝突計画方法を提案した。しかしながら、これらの方法は、人間型ロボットの場合のように、ロボットの自由度が増加するにつれて算出の時間が増加するため、相互作用モーションに適用するには困難である。
【００１１】
その他方の方法は、反応性（リアルタイム）衝突回避である。これは、現在の位置と目標位置とを連結する線セグメントのように、非常に単純な軌道を修正する。
【００１２】
この方法は、リアルタイムで、衝突程度の大きさに応じて、回避方向、及び目標到達モーションと衝突回避モーションとの間の優先度を切り替える方法を決定しなければならない。例えば、セグメントの間の距離が充分に大きい場合は、目標到達モーションが、衝突回避モーションよりも高い優先度を有さなければならない。
【００１３】
衝突回避が、ゼロスペースの最適化基準を用いることができることは、公知となっている［例えば、非特許文献３さらに非特許文献４を参照］。
【非特許文献１】James Kuffner et al. "Self-collision detection and prevention for humanoid robots", In proceedings of the IEEE International Conference on Robotics and Automation, 2002
【非特許文献２】James Kuffner et al. "Dynamically-stable motion planning for humanoid robots", Autonomous Robots, volume 12, pages 105-118, 2002
【非特許文献３】Michael Gienger, Herbert Janssen, and Christian Goerick; “Task-oriented whole body motion for humanoid robots”, In proceedings of the IEEERAS International Conference on Humanoid Robots, 2005
【非特許文献４】Michael Gienger, Herbert Janssen, and Christian Goerick; “Exploiting task intervals for whole body robot control”, In proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、ロボットのより効果的な衝突回避技法、すなわち、ロボットによるタスク遂行への干渉ができるだけ少ない衝突回避を提案することにある。
【課題を解決するための手段】
【００１５】
一般的に、この目的は、独立請求項の特徴によって達成される。従属請求項は、本発明の主なアイディアをさらに発展させる。
【００１６】
本発明の第１の態様によると、ロボットを制御する方法が提案される。この方法は、
ロボットのモーションに対する目標を規定するステップと、
ロボットが前記目標に到逹するために適切なモーション制御信号を算出するステップと、
少なくとも一つのジョイントを介して互いに連結されたロボットの異なるセグメント、またはロボットのセグメントと他の対象物の最も近いポイントに基づいて衝突回避制御信号を算出するステップと、
重み付けモーション制御信号と重み付け衝突回避制御信号とを結合させるステップと、
結合された重み付け信号によってロボットのモーションを制御するステップと、を備え、
算出された衝突危険がより低くなるほど、モーション制御出力信号の重み付け値が高くなり、算出された衝突危険がより高くなるほど、衝突回避制御出力信号の重み付け値が高くなる。
【００１７】
重み付け値が次第に変更されるにつれ、モーションによる目標到達と衝突回避との間でのなめらかなタスクの切り替えを行うことができる。
【００１８】
モーション制御算出は、衝突回避モーションをゼロスペース内に、そして、目標到達モーションをタスク・スペース内にマッピングするステップを備えていてもよい。このように、衝突回避制御出力信号が０の重み付け値を有して非活性化されても、モーション制御算出は、ゼロスペースにおける衝突回避を考慮する。
【００１９】
衝突回避制御は、衝突回避モーションをタスク・スペース内に、そして、目標到達モーションをゼロスペース内にマッピングする。したがって、モーション制御信号が０の重み付け値を有して非活性化されても、衝突回避制御は、ゼロスペースにおける目標到達に貢献することができ、つまり、この場合、利用可能な冗長自由度が存在する。これは、ロボットの目標到達性能を増進させる。
【００２０】
最も近いポイントの間の距離が、所定の回避閾値距離よりも大きい限り、衝突回避出力信号の重み付け値は、０となる。
【００２１】
本発明の他の態様は、ロボットの制御方法に関し、ロボットのモーション制御は、少なくとも一つのジョイントを介して互いに連結されたロボットの異なるセグメント、またはロボットのセグメントと他の対象物の最も近い２つのポイントを算出し、単に最も近いポイントの間の連結線に沿った次元においてのみ、ロボットの衝突回避動作を制御するために設計された衝突回避モジュールを備えている。衝突回避モーションが単一自由度に制限されるということは、たとえ衝突回避制御が、目標到達タスクではなく、衝突回避タスクに最も高い優先度を割り当てるとしても、衝突回避制御のゼロスペース・モーションが目標到達モーションを考慮に入れるということを増加させる。
【００２２】
本発明の他の態様は、たとえば、ロボットに組み込まれて、演算装置で実行されるとき、上記の方法のうちのいずれか１つを実施する、コンピュータ・プログラムに関する。
【００２３】
本発明のさらに他の態様は、モーション制御ユニットを有するロボットに関し、ここにおけるロボットのモーション制御ユニットは、
少なくとも一つのジョイントを介して互いに連結されたロボットの異なるセグメント、またはロボットのセグメントと他の対象物の最も近い２つのポイントを算出して、出力する距離算出モジュールと、
モーション制御モジュールと、
前記距離算出モジュールからの出力信号が供給される衝突回避モジュールと、
モーション制御モジュールと衝突回避制御モジュールの重み付け出力制御信号を結合する混合制御ユニットと、を備え、
算出された衝突危険がより低くなるほど、モーション制御出力信号の重み付け値が高くなり、算出された衝突危険がより高くなるほど、衝突回避制御出力信号の重み付け値が高くなる。
【００２４】
最後に、本発明は、モーション制御ユニットを有するロボットを提案するが、ここにおけるロボットのモーション制御は、少なくとも一つのジョイントを介して互いに連結されたロボットの異なるセグメント、またはロボットのセグメントと他の対象物の最も近い２つのポイントを算出し、単に最も近いポイントの間の連結線に沿った次元においてのみ、衝突回避作用を制御するように設計されている衝突回避モジュールを備えている。
【００２５】
本発明は、たとえば、二足歩行ロボットのような人間型ロボットにおいて実施することができる。起立している間だけではなく、歩いている間にも試験を行った。ロボットが歩いている間にも、アームは、例えば、他方のアームまたは足セグメントなどのような移動セグメントを回避することができる。
【００２６】
本発明のさらなる特徴、利点及び目的は、添付の図面と共に、本発明の好ましい実施形態に関する以下の詳細な説明を通じて、当業者により明らかになるはずである。
【発明を実施するための最良の形態】
【００２７】
距離算出
衝突回避のために、ジョイントにより分離された物理的なリンクであるセグメント同士の間の距離および最も近いポイントを算出することが必要である。算出時間に対して、人間型ロボットのすべての可能なセグメントの対に対する実際の距離及び最も近いポイントを算出することは、本発明が、ロボットに組み込まれているコンピュータで算出しようとするとき、より複雑である。
【００２８】
このように、本発明は、図１に示されているように、プリミティブ対象物（ｐｒｉｍｉｔｉｖｅ  ｏｂｊｅｃｔ）を有する衝突モデルを規定することを提案する。各セグメント（ヘッド部、右側肩など）は、ロボットの形状をカバーするために１つまたはそれ以上の球または球を切る線（ＳＳＬ：ｓｗｅｐｔ−ｓｐｈｅｒｅ−ｌｉｎｅｓ）から構成される。そして、このモデルに基づいて、距離及び最も近いポイントが算出される。
【００２９】
衝突回避
衝突回避の役割は、お互い近くにあるセグメントを、遠ざかるように移動させることである。この移動のための最も有効な方向の１つは、セグメントの最も近いポイントを連結するベクトルに沿って揃えたものである。本発明は、衝突回避制御において、タスク・スペース・モーションのための衝突回避座標システムを規定する。衝突回避座標システムの例が、図２に示されているように規定される。原点は、下方のアームにある最も近いポイントである。ｙは、最も近いポイントを連結する線に沿って揃えるため、回避方向は、この軸に沿って揃えられる。ｘは、ヒジから手首の位置に向かうベクトルに沿って揃えられる。ｚ方向は、ｘ軸とｙ軸の単位ベクトルの外積である。衝突回避は、この座標システムにおいて、セグメントをただｙ方向にのみ移動させる。
【００３０】
言い換えれば、本発明によると、衝突回避のために、例えば３の自由度の代りにただ１の自由度が用いられる。他の自由度は、ゼロスペースのために、例えば、目標到達モーションのために利用可能である。
【００３１】
図３は、本発明を行うための主な演算ブロックを示している。目標（外部から、あるいはロボット自体によって規定される）は、例えば、全身モーション（ＷＢＭ：ｗｈｏｌｅ  ｂｏｄｙ  ｍｏｔｉｏｎ）制御ユニット及び衝突回避（ＣＡ：ｃｏｌｌｉｓｉｏｎ  ａｖｏｉｄａｎｃｅ）ユニットのようなモーション制御ユニットに供給される。全身モーションは、単なるロボットのモーションに対する一例としてだけ理解されるべきである。
【００３２】
ＷＢＭユニットは、第１のジョイント速度ベクトル信号を混合ユニットに出力し、混合ユニットは、この信号をＣＡ制御ユニットからの第２のジョイント速度ベクトル信号と結合する。混合制御ユニットは、結合されたジョイント速度ベクトルを出力し、これに基づいてロボットのモーションが制御される。
【００３３】
さらに、結合されたジョイント速度ベクトルは、少なくとも１つのジョイントを介して互いに連結されたロボットの異なるセグメント、またはロボットのセグメントと他の対象物の最も近い２つのポイントを算出する距離算出ユニットに供給される。距離算出ユニットは、最も近いポイントのデータと距離情報とを、ＣＡ制御ユニットに出力する。また、距離算出ユニットは、距離情報をモーション制御ユニットと混合ユニットとに出力する。混合ユニットは、供給された距離情報に基づいて、第１のジョイント速度ベクトルと第の２ジョイント速度ベクトルとの間の混合割合を算出する。
【００３４】
Ａ．ゼロスペース基準を用いた衝突回避制御
一般的に、ロボットのエフェクタの直交座標位置及び方位ｘは、マニピュレータのジョイント変数ｑのベクトルの関数として表わすことができる。
ｘ＝ｆ（ｑ）
【００３５】
この式は容易に求められが、その逆の問題は難しい。冗長自由度の場合において、一般に、逆マッピングｆ−１を見つけることは不可能である。解析的に逆関数ｇ（ｘ）を
ｆ（ｇ（ｘ））＝ｘ
で構成する代わりに、上記問題は、しばしばｆ（ｑ）の偏微分導関数を用いて、速度で再公式化される。
【数１】
2008238395.tif 000003
【００３６】
冗長自由度の場合、非正方（解析的）ヤコビアンＪ（ｑ）の逆は存在しないため、疑似逆（ｐｓｅｕｄｏ  ｉｎｖｅｒｓｅ）を用いる。
【００３７】
衝突回避のために、タスク・スペースが用いられ、ポテンシャル関数（費用関数）を用いる目標への移動のために、ゼロスペースが用いられる。この制御方法において、それぞれのジョイントの速度は、以下のように算出される。
【数２】
2008238395.tif 000004
ＪＣＡ（ｑ）は、最も近いポイントの間の衝突防止ヤコビアンである。
Ｎｃａは、ξをゼロスペース内にマッピングする行列である。
【数３】
2008238395.tif 000005
は、疑似逆ヤコビアンＪｃａ（ｑ）から抽出される行ベクトルであって、図２に示した衝突回避座標システムのｙ軸にある。
【数４】
2008238395.tif 000006
は、仮想の力Ｆｖｉｒｔｕａｌから誘導される回避速度である。
【００３８】
説明する例において、最も近いセグメントを回避するために、衝突回避は、ただ１つの自由度（ここでは、ｙ方向）の制御を占有する（ｔａｋｅ  ｏｖｅｒ）。Ｚｊｅ衝突回避は、他のＤｏＦｓに影響を及ぼすことなく、これは、タスクの遂行（例えば、ｘ及びｙ方向に係わる目標到達モーション）のために依然として利用可能である。このことは、衝突回避が、それぞれのアームのために１つの自由度を個別に用いることを意味する。
【００３９】
次の式（２）において、Ｄは、０ではなく、所定の減衰係数である。
【数５】
2008238395.tif 000007
【００４０】
最も近いポイントの間の距離ｄが衝突回避を活性化／非活性化するための閾値距離ｄａよりも短い場合は、仮想の力の値は０より大きく、したがって、回避速度も０より大きい。仮想の力と回避速度は、ｄとｄａの間の差に応じて（例えば、線形的に）徐々に増加する。したがって、衝突回避は、最も近いポイントの距離ｄが所定の閾値ｄａよりも小さくなるとすぐに活性化される。（図２の例において、ロボットの最も近いポイントの間の距離ｄは、人間型ロボットの右側アームとボディーの前方部との間の距離で表されている。）
【００４１】
Ｎｃａは、ξをゼロスペースにマッピングする行列であって、Ｉは、恒等行列である。
【数６】
2008238395.tif 000008
【００４２】
ポテンシャル関数Ｈｔ（ｒ）により、ゼロスペースのための目標が得られる。α（ｔ）を、歩幅となるようにする。
【数７】
2008238395.tif 000009
【００４３】
このように、衝突回避は、タスク・スペースにおける衝突回避及びゼロスペースにおける目標到達のために、ジョイントを制御する。
【００４４】
Ｂ．全身モーション制御
一方、全身モーション制御は、また次のようなゼロスペース最適化基準を用いた冗長自由度を有するロボットを制御するために用いられる。
【数８】
2008238395.tif 000010
【００４５】
行列Ｎｗｂｍは、任意のジョイント速度ベクトルξｗｂｍをゼロスペース内にマッピングする。ゼロスペースに対して、２つの費用関数を用いることができる。αｊｃ及びαｃａを歩幅となるようにする。
【数９】
2008238395.tif 000011
【００４６】
第１の費用関数は、任意のジョイント中心ベクト
【数１０】
2008238395.tif 000012
からの偏差にペナルティを課す。この費用関数は、中立位置に近い任意のジョイントを制御しようとするものである。これと関連して、ジョイント制限回避費用関数が用いられる。
【数１１】
2008238395.tif 000013
【００４７】
Ｗｊｃは、重み付け行列である。最も容易な場合において、ジョイント中心
【数１２】
2008238395.tif 000014
を適切に選択する。この費用関数によると、ジョイント限界に近づけないようにすることができる。
【００４８】
第２の費用関数は、衝突回避を実行する。
【数１３】
2008238395.tif 000015
【００４９】
Ｗｃａは、衝突回避のための重み付け行列である。したがって、全身モーションは、ゼロスペースにおける目標到達及びゼロスペースにおける衝突回避ならびにジョイント制限回避のために、ジョイントを制御する。
【００５０】
Ｃ．全身モーション制御と衝突回避の統合
全身モーション制御及び衝突回避制御の出力は、最も近い距離に従ってジョイント速度で混合される。最終のジョイント速度ベクトル
【数１４】
2008238395.tif 000016
は、以下のとおりである。
【数１５】
2008238395.tif 000017
【００５１】
【数１６】
2008238395.tif 000018
は、例えば、全身モーション制御のような、ロボット・コントローラによって算出されたジョイント速度ベクトルである。
【数１７】
2008238395.tif 000019
は、衝突回避コントローラによって算出されたジョイント速度ベクトルである。
ｆ（ｄ）は、０ないし１の値を有することができ、衝突の危険の程度を、例えば、セグメントの間の最も短い距離の関数で表す、利得係数である。ｆ（ｄ）が１になると、衝突回避が制御を完全に引き取る。ｆ（ｄ）が０になると、ロボット・コントローラが制御を完全に引き取る。ｆ（ｄ）は、以下のように定義される。
【数１８】
2008238395.tif 000020
【００５２】
ｄｂは、全身モーション制御がスイッチ・オフされた場合の所定の一定した閾値距離であって、ｄａ＞ｄｂである。
【００５３】
ｄがｄａよりも大きい場合は、衝突回避制御は非活性化され、ロボットは、全身モーション制御によって生成された軌道に追従する。しかし、全身モーションによって算出された軌道は、ゼロスペースにおける衝突回避を考慮する。ｄがｄａよりも小さい場合は、衝突回避は活性化される。これらの間の割合は、最も近いセグメントである最も短い距離に依存しており、これらの間の優先度を決定する。
【００５４】
衝突回避制御及びロボット制御の両方とも、ゼロスペース最適化基準を用いる。この基準は、タスク・スペースとゼロスペースとからなる。タスク・スペースは、常にゼロスペースよりも高い優先度を有する。ロボット制御は、目標到達モーションをタスク・スペース内に、そして、衝突回避モーションをゼロスペース内にマッピングする。一方、衝突回避制御は、衝突回避モーションをタスク・スペース内に、そして、目標到達モーションをゼロスペース内にマッピングする。
【表１】
2008238395.tif 000021
【００５５】
上記式（１４）で表わしたように、ロボット制御貢献及び衝突回避制御貢献が、ｆ（ｄ）によって混合される。ｆ（ｄ）が増加すると、衝突回避モーションが、ロボットモーションに対してより一層重要となる。しかしながら、目標到達モーションが、衝突回避制御におけるゼロスペースにコンパイル（ｃｏｍｐｉｌｅ）されて、ｆ（ｄ）が「１」でなければ、ロボットの制御は、目標への移動のために貢献する。これにより、スムーズなタスク優先度の切り替えが可能となる。
【００５６】
実験の例
ここで、いくつかの実験の例を記述する。衝突回避のための足の動作は不可能であり、そうでなければ、ロボットは、衝突を回避するためにアームを動かさずに、ただ足さえ動けばよいことになるだろう。
【００５７】
１）目標が足動作を伴うボディー内にある。
与えられた目標がボディー内にある。最も短い距離がｄａよりも短い場合、ロボットは、衝突回避によって下方のアームとボディーとの間に加えられる仮想の力のせいで後退する。一方、ロボットは、モーション制御（８）によって目標に向かって移動するが、衝突回避がアーム・ジョイントを用い、目標がボディー内にあるため、すべてのアーム・ジョイントを用いることができるわけではない。したがって、全身モーションは、使用可能な足の位置を用いることにより、モーションの補正を行う。つまり、ロボットは、仮想の力によって後方に押される。次の実験は、回避のためのアーム・モーションを明確にするため、衝突回避のために足の動作は使用しない。
【００５８】
２）目標が足動作を伴わないボディー内にある。
右アームの目標がボディー内にある。衝突回避が非活性化される場合、下方のアームは、ボディーと衝突する。
【００５９】
衝突回避の結果として、アーム・モーションは、ボディーの側面で止まる。ロボットは、目標に最も近いポイントに向かって移動するようにボディーを移動させ、たとえ目標がボディーの内部にあっても、目標に到逹しようと努力する。これが、全身モーション制御による補償である。
【００６０】
３）アームの目標がそれぞれ内部にある。
右アームの目標が左アームの内部にある。左アームも同様の方式である。
【００６１】
４）ボディーが軌道に侵入する。
現在の位置と目標位置との間の軌道上にボディーが存在する。これが、ロボットが衝突回避を介さずには目標に到逹することができない、典型的な場合である。衝突回避は、腕肢（ａｒｍ  ｌｉｍｂｓ）がボディーまたは足を妨害する際に、仮想の力によって外方へ押す。最も短い距離が回避閾値距離ｄａよりも短い場合、仮想の力が生成される。
【００６２】
５）歩行中における衝突回避
歩き始めたとき、目標は、ロボットの後ろにある。足の位置は動くものの、貢献することはなく、衝突回避は、足動作を使用しないことに注目されたい。
【００６３】
ロボットは、目標が与えられた場合、目標に到逹するために上方を眺める。しかし、ロボットが歩き始める直前には、歩行中の姿勢がほとんど固定されているため、ロボットは傾斜しない。それから、ロボットは停止し、また上方を眺める。
【００６４】
６）視覚（ｖｉｓｉｏｎ）で与えられた目標のトラッキング
最終的に、視覚で与えられた目標のトラッキングのための衝突回避の試験を行った。ロボットは、交差している２つの目標に従う。目標は交差されて、これは、右アームと左アームとが交差することを意味する。
【００６５】
７）適用
距離算出に用いられる衝突モデルは、空間内のどこでも規定することができ、衝突回避は、これを簡単に回避する。
【００６６】
また、空間内における「仮想対象物」を規定することも可能である。これは、ロボット・セグメントの侵入が許容されない領域が規定されてもよいことを意味する。これは、「閉鎖（ｏｃｃｌｕｓｉｏｎ）回避」のために用いることができる。ロボットが何かを掴むときの主な問題の１つは、ロボットの手が目標対象物を遮蔽する閉鎖である。本発明によると、仮想の障害物をロボットのヘッド部と目標との間に設計することができ、そのため、ロボットの手は目標に向かって注視線（ｇａｚｅ  ｌｉｎｅ）を通過しない。ロボットが対象物に到逹する直前に、仮想対象物が非活性化される。
【００６７】
要約
本発明は、多関節ロボットのハードウェアとその環境を保護する安全メカニズムのための技術に関する。特に、本発明は、動的環境と相互作用するロボットに用いることができる。リアルタイムで予測することは、困難である。以下は、この技術を適用することができるロボットに関するいくつかの例である。
【００６８】
カメラによって与えられた移動目標のトラッキング
ロボットは、予測することのできない移動目標に従わなければならず、同時に自己衝突を回避しなければならない。
【００６９】
両手操作
ロボットは、タスクによって、両方のアームを同時に動かす。それぞれのアームは、個別に目標を有し、時々互いに交差する。
【００７０】
移動する障害物の回避
ロボットは、人間などを回避しなければならない。
【００７１】
衝突回避は、ただ１つの自由度を用いる。一方、目標到達モーションは、
１．衝突回避制御でのゼロスペース
２．ロボット制御でのタスク・スペース
により助長される。
【００７２】
衝突回避モーションが単一自由度に制限されるということは、たとえ衝突回避制御が目標到達タスクではなく、衝突回避タスクに最も高い優先度を割り当てるとしても、衝突回避制御のゼロスペース・モーションが目標到達モーションを考慮に入れるということを増加させる。したがって、目標に向かった動作が、従来技術の方式に比べてより効率的である。
【００７３】
用語解説
エフェクタ（Ｅｆｆｅｃｔｏｒ）
産業用ロボットにおいて、エフェクタは、通常、マニピュレータである。人間型ロボットにおいて、エフェクタは、しばしば手の基準ポイント（例えば、指先など）として規定される。また、エフェクタは、特定のポイントまたは特定の方向を眺めるように制御されたヘッド部であってもよい。
タスク座標（Ｔａｓｋ  ｃｏｏｒｄｉｎａｔｅｓ）
エフェクタの運動が描写される座標。エフェクタのモーションを描写する多くの方式が存在する。エフェクタの位置の場合、一般的に、位置ベクトルのｘ成分、ｙ成分、及びｚ成分が選択される。空間的定位の場合、タスクは、しばしばオイラー角または四元数で描写される。多くの場合、タスクに対する特別な描写が用いられる。
タスク・スペース（Ｔａｓｋ  ｓｐａｃｅ）
タスク座標によって表される空間。例えば、ｘ方向、ｙ方向、及びｚ方向におけるロボットの手の位置が制御される場合、タスク・スペースは３次元を有し、これらの座標によって計測される。
ゼロスペース（Ｎｕｌｌ  ｓｐａｃｅ）
モーションが、タスク・スペース・モーションに影響を与えない空間。例えば、ロボットが自由度７を有し、タスクベクトルが３次元である手の位置の場合、ゼロスペースは、４次元を有する。システムは、タスクに対して冗長自由度を有する。タスク・モーションに干渉しないアームのすべてのモーションが、ゼロスペース・モーションと呼ばれる。
軌道（Ｔｒａｊｅｃｔｏｒｙ）
システムのモーションを表わす連続的な経路。軌道は、個別ジョイントの経路、またはタスク座標上において表示された経路を示すことができる。
【図面の簡単な説明】
【００７４】
【図１】１７個のセグメントを有する人間型ロボットを示す図であって、各セグメントは、１つ以上の球を切る線（ｓｐｈｅｒｅ−ｓｗｅｐｔ−ｌｉｎｅｓ）または球から構成されている。
【図２】衝突回避座標システムを示す図であって、その座標システムの原点は下方のアームにある最も近いポイントである。ｙは、最も近いポイントを連結する線に沿って整列される。ｘは、ヒジから手首の位置に向かうベクトルに沿って整列される。ｚ方向は、ｘ軸とｙ軸の外積である。
【図３】本発明によるロボットの他の制御モジュールを示す図である。
【図４】最も近い距離の関数である仮想の力（上側グラフ）を示している。
【図１】
2008238395.tif 000022
【図２】
2008238395.tif 000023
【図３】
2008238395.tif 000024
【図４】
2008238395.tif 000025
【外国語明細書】
１．Title of Invention
2008238395.tif 000026
２．Detailed Description of Invention
2008238395.tif 000027
2008238395.tif 000028
2008238395.tif 000029
2008238395.tif 000030
2008238395.tif 000031
2008238395.tif 000032
2008238395.tif 000033
2008238395.tif 000034
2008238395.tif 000035
2008238395.tif 000036
2008238395.tif 000037
2008238395.tif 000038
2008238395.tif 000039
2008238395.tif 000040
2008238395.tif 000041
2008238395.tif 000042
2008238395.tif 000043
2008238395.tif 000044
2008238395.tif 000045
2008238395.tif 000046
2008238395.tif 000047
３．Brief Description of Drawings
2008238395.tif 000048
Claims
2008238395.tif 000049
2008238395.tif 000050
2008238395.tif 000051
2008238395.tif 000052
Abstract
2008238395.tif 000053
Representative Drawing
Figure 3
Figure 1
2008238395.tif 000054
Figure 2
2008238395.tif 000055
Figure 3
2008238395.tif 000056
Figure 4
2008238395.tif 000057