JP4283752B2 - 多関節物体の連接要素間の内部衝突を回避しながらの仮想環境における仮想多関節物体の動き - Google Patents

多関節物体の連接要素間の内部衝突を回避しながらの仮想環境における仮想多関節物体の動き Download PDF

Info

Publication number
JP4283752B2
JP4283752B2 JP2004309119A JP2004309119A JP4283752B2 JP 4283752 B2 JP4283752 B2 JP 4283752B2 JP 2004309119 A JP2004309119 A JP 2004309119A JP 2004309119 A JP2004309119 A JP 2004309119A JP 4283752 B2 JP4283752 B2 JP 4283752B2
Authority
JP
Japan
Prior art keywords
articulated
articulated object
elements
vector
joint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004309119A
Other languages
English (en)
Other versions
JP2005202927A (ja
Inventor
ブリユノ・マイユ
エドウアール・ランスタン
パトリツク・シヤドマイユ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Aircraft Engines SAS
Original Assignee
SNECMA SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SNECMA SAS filed Critical SNECMA SAS
Publication of JP2005202927A publication Critical patent/JP2005202927A/ja
Application granted granted Critical
Publication of JP4283752B2 publication Critical patent/JP4283752B2/ja
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39096Self-collision, internal collison, collision between links of one robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Manipulator (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Numerical Control (AREA)
  • Tires In General (AREA)

Description

本発明は、仮想環境における仮想多関節物体(virtual articulated object)の移動をシミュレートする分野に関する。より詳細には、本発明は、多関節物体の連接要素と多関節物体の残部との間の衝突を回避することに関する。
航空機または宇宙産業など、多くの産業では、仮想現実でモデルを使用することが一般的な慣行である。例えば、デジタルモックアップは様々な部品間の干渉を評価するためにしばしば使用される。
同様に、モデリングは、技術者またはロボットが例えばこれらの動作をするために行なう必要のある動きを可視化するために、定義された環境で人間またはロボットの動作をシミュレートするのに使用することができる。これは、定期点検および保守を必要とする、航空機エンジンの部品のような機械の特定の部品へのアクセス性を検証し、最適化するのに有用である。
従って、装置の様々な要素へのアクセスの容易さは、要素がモデル化されるとすぐに、仮想多関節物体を使用して、シミュレーションによって仮想的に検査することができる。
仮想多関節物体は、複数の自由度で連接された複数の要素を特徴とする動的システムを定義するデジタルデータセットである。
従って、所定の時点で、仮想多関節物体は、三次元空間におけるその位置および向きによって、およびその関節の自由度の値によって、定義することができる。仮想多関節物体の環境を定義するデータおよびパラメータは、デジタルデータ媒体に格納することができる。
この型の用途のための仮想多関節物体の使用はすでに存在する。
一例は、「仮想現実、製品のデジタルモックアップ、設計を分散しかつ共有するためのツール(Realite virtuelle, maquette numerique du produit, outils de distribution et partage de la conception)」(Journees Primeca, La Plagne, April 7−9, 1999)と称するChedmail、DamayおよびLe Royによる論文に掲げられている。
この論文は、仮想環境における二つの仮想多関節アームまたは仮想ダミーの動きのモデルを使用して、障害のある環境で物体を組み立てたり分解するためのアクセス性を検証する方法を提案している。
この方法は、障害物によって妨害された環境で、障害物と衝突することなく、ダミーが動くことを可能にする。
しかし、ダミーが動くときのその姿勢は任意であり、ダミーの所定の部材とダミーの他の部材との間の衝突を導くことがあり得る。それは、ダミーの動きがモデル化される精度を低減する。
「Realite virtuelle, maquette numerique du produit, outils de distribution et partage de la conception」(Chedmail,Damay and Le Roy,Journees Primeca, La Plagne, April 7−9, 1999)
本発明は、多関節物体の所定の連接要素(articulated element)と他の連接要素との間の衝突を回避しながら、シミュレートされる多関節物体の動きおよび操作を可能にする方法を提供することによって、上述した欠点を是正し、かつ最適化された計算時間によりそうしようと努めるものである。
本発明の別の目的は、様々な連接要素を相互に避けさせることにより、多関節物体の全ての連接要素の間の内部衝突を回避することである。
これらの目的は、仮想多関節物体が一組の関節(joint)によって一まとめに接続された一組の連接要素を含み、連接要素の相対位置が複数の自由度の複数の関節角度によって定義される中で、仮想多関節物体を仮想環境で単位動きの連続により動かす方法であって、
多関節物体の所定の連接要素と他の連接要素との間の相互作用距離を計算する工程と、
上記相互作用距離から、所定の連接要素に属する第一点、および多関節物体の他の連接要素の一つに属する第二点を抽出する工程と、
上記第一および第二点から単一の抽出ベクトルを定義する工程と、
所定の連接要素と多関節物体の他の連接要素との間の衝突を回避するように、多関節物体の自由度に作用することによって、単一抽出ベクトルの関数として定義された動きで、所定の連接要素を多関節物体の他の連接要素から遠ざける工程と、
を含む方法によって達成される。
従って、本発明の方法は、相互作用距離の単一の計算を使用することによって、多関節物体の所定の連接要素と多関節物体の他の連接要素との間の衝突を回避する。
これにより、高い精度および最適化された計算時間で多関節物体の動きをモデル化することが可能になる。
相互作用距離を計算し、第一および第二点を抽出し、抽出ベクトルを定義し、所定の連接要素を遠ざける上記工程は、各連接要素と多関節物体の残部との間の衝突を回避するように、多関節物体の連接要素の各々に対して繰り返されることが好都合である。
様々な連接要素はこうして、内部衝突せずに相互に回避する。
本発明の方法は、単位動きの上記連続における各単位動きの後で、所定の連接要素と他の多関節物体の他の連接要素との間に衝突が発生したかどうかを決定する工程をさらに含む。
本発明の第一実施形態では、相互作用距離は侵入深さに相当するので、抽出ベクトルは第二点の座標から第一点の座標を引いたものに等しく、進入深さは多関節物体がその連接要素間の限定され制御された量の衝突を伴って動くことを可能にする。
本発明の第二実施形態では、相互作用距離は最小距離に相当するので、抽出ベクトルは第一点の座標から第二点の座標を引いたものに等しく、最小距離は多関節物体がその連接要素間の衝突が無く動くことを可能にする。
方法は、所定の連接要素と多関節物体の他の連接要素との間に衝突が発生した場合、単位動きの上記連続における一番最近の単位動きを取り消す工程をさらに含む。
所定の連接要素と多関節物体の他の連接要素との間に衝突が起きない限り、第一および第二点を抽出し、抽出ベクトルを定義し、所定の連接要素を遠ざける上記工程は実行されないことが好都合である。
所定の連接要素は、所定の連接要素に先行する一連の関節に属する関節の各々に作用する関節屈曲動作によって、多関節物体の他の連接要素から遠ざけることができ、上記一連の関節のうちのいずれかの所定の関節で作動する関節屈曲動作は、
上記所定の関節の連接中心と抽出ベクトルの原点との間に第一ベクトルを定義する工程と、
上記所定の関節の連接中心と抽出ベクトルの端点との間に第二ベクトルを定義する工程と、
第一ベクトルを第二ベクトルと一致させるための回転角を計算する工程と、
上記所定の関節に対応する単一または複数の自由度を定義する単一または複数の軸上で上記回転角を分解することによって、一つ以上の個別関節屈曲角度を計算する工程と、
上記所定の関節を中心に上記個別関節角度に比例する一つ以上の角度にわたって連接要素を回転させる工程と、
を含む。
回転角は、第一および第二ベクトル間のベクトル積によって計算することができる。
個別関節角度は、ベクトル積と所定の関節の自由度の軸との間の1つ以上のスカラ積によって計算することができる。
本発明の特定の実施では、多関節物体の複数の自由度に作用する内部アボイダエージェント(avoider agent)によって、連接要素を多関節物体の他の連接要素から遠ざけることができる。
多関節物体はその仮想環境で大域的位置および大域的向きによって特定されるのが有利であり、多関節物体は大域的位置および/または大域的向きおよび/または多関節物体の複数の自由度に作用するアトラクタエージェント(attractor agent)によって動かされる。
方法は、位置および/または向きおよび/または多関節物体の複数の自由度に作用するオペレータエージェント(operator agent)によって、オペレータが多関節物体を実時間で動かす工程をさらに含む。
本発明の特徴によると、多関節物体は仮想環境の床上を移動する仮想ダミーであり、ダミーは仮想床上の位置、上記床に垂直(perpendicular)でありダミーの重心を通る鉛直(vertical)軸を中心とする向き、および連接要素の組を定義する複数の関節角度によって定義される。
本発明はまた、コンピュータによって実行されたときに、上述した方法を実現するように設計されたコンピュータプログラムをも提供する。
本発明の方法およびシステムの他の特徴および利点は、非限定的な例示として添付の図面を参照して掲げる以下の説明を読むことにより、いっそう明らかになるであろう。
図1は、多関節物体の動きをモデル化するのに使用することができるシステムを示す。システムは、発明の方法を実現するように設計されたコンピュータプログラムを実行するために使用される、適正なグラフィックス能力を有するワークステーションまたはコンピュータ1を含む。
コンピュータ1は、この型の装置に通常見受けられるハードウェア手段を含む。さらに詳しくは、コンピュータは、本発明の方法を実現するためのプログラムの命令のシーケンスを実行する中央装置2と、データおよび実行されるプログラムを格納する中央メモリ3と、データおよび使用するプログラムの長期格納用のデジタルデータ記憶媒体(ハードディスク、CD4、フロッピー(登録商標)ディスク等)と、入力周辺装置(キーボード5、2Dまたは3Dマウス6、ジョイスティック等)と、多関節物体の動きを観察することを可能にするための出力周辺装置(スクリーン7、立体ヘッドセットまたは眼鏡等)とを含む。
当然ながら、計算能力を高めるために、本発明のモデリングは並列に動作する複数のワークステーションで実現することができる。
図2Aは非常に簡単な略図であり、一組の関節12によって相互接続された一組の連接要素11を含む仮想多関節物体10を示す。
加えて、多関節物体10は関節の木構造(tree structure)を特徴とするので、連接要素11および関節12を従来の方法で複数の一連の関節に分類することができる。
各関節12は関節の複数の自由度を定義する複数の軸を持つことができ、従って、複数の自由度によって多関節物体10の内部状態を決定することが可能になる。例として、図2Aは、上記関節12aに関連付けられた三つの自由度を定義する三つの軸を有する関節12aを示す。
従って、連接要素10の相対位置はいつでも、多関節物体10の複数の自由度における複数の関節角度によって定義することができる。
加えて、原点が多関節物体10の重心Gにある局所的基準系をそれに関連付けることができる。
特に、局所的基準系は、多関節物体10の重心Gを通る単一の軸
Figure 0004283752
を含むことができる。
多関節物体10は、様々な物体または障害物13a、13b、および13cによって妨害されることがある仮想環境13で動くことができ、かつ従来の方法で多関節物体10は、多関節物体10が動くときに様々な物体または障害物13a、13b、および13cと衝突するのを回避することができる。
従って、多関節物体10およびその環境は三次元空間(O;x,y,z)で定義することができ、それに対して相対的にその環境13における多関節物体10ならびに様々な物体13a、13b、および13cの位置および向きを簡単に特定することができる。
従って、連接要素11の組の相対位置に加えて、多関節物体10もその環境13内でいつでも大域的位置および大域的向きによって特定することができる。
多関節物体10の大域的位置は、その重心Gについて軸x、y、およびzに沿ってデカルト座標によって定義することができる。
その大域的向きは、軸x、y、およびzに対して相対的に多関節物体に関連付けられる軸
Figure 0004283752
の向きを定義する三つの角によって、公知の方法で特定することができる。
当然のことながら、関節の限界によって、かつ多関節物体10の様々な部材または要素11間の物理的接続によって課せられるパラメータまたは制約を考慮に入れることも必要である。
多関節物体10を定義するこれらのデータおよび変数、ならびにその環境13を定義するパラメータは、コンピュータシステム1のデジタルデータ媒体3に格納される。
図2Bは、多関節物体が特に、仮想環境13の床上を動く仮想ダミー10aによって構成することができることを示す。
そのような状況で、ダミー10aは、その連接要素の全てを定義する複数の関節角度、仮想床上のその位置、および上記床に垂直でありダミー10aの重心Gを通る仮想軸
Figure 0004283752
を中心とするその向きによって定義することができる。
従来の方法で、ダミー10aのような多関節物体10は、例えば目標13cに到達するために、単位動きの連続により、仮想環境13で動くことができる。
従って、多関節物体10がその目標13cに到達することを可能にする軌道を生成するために、その位置を移動するための予め定められたステップサイズを使用して多関節物体10の大域的位置に作用し、および/または向きを変えるための予め定められたステップサイズを使用して多関節物体の大域的向きに作用し、および/または関節の動きΔaのための予め定められたステップサイズを使用して多関節物体の複数の自由度に作用することが可能である。
所定の連接要素と多関節物体10の他の連接要素11との間の内部衝突を回避するために、衝突判定基準を定義する必要がある。
公知の方法で、いずれかの二つの物体間の衝突の基準は、二つの物体間の相互作用距離を計算することによって定義することができる。この衝突判定基準はまた、この相互作用距離を具体化する点をも提供することができる。
相互作用距離は二つの物体間の最小距離または侵入深さに相当することができることに注意しなければならない。
図3Aおよび3Bは、多関節物体10の所定の連接要素11cと多関節物体10の他の連接要素の一つ11dとの間の相互作用距離が、どのように認識されるかを示す。
図3Aの例は、さらに詳しくは、多関節物体10の所定の連接要素11cと他の連接要素の一つ11dとの間の最小距離判定基準、およびこの最小距離を具体化する点P1およびP2をも示す。
さらに、図3Bの例は、多関節物体10の所定の連接要素11cと多関節物体10の他の連接要素の一つ11dとの間の侵入深さ判定基準を、この侵入深さを具体化する点P1およびP2と共に示す。
従って、相互作用距離の計算により、多関節物体10の所定の連接要素11cに属し以下の説明で「第一点」と呼ばれる点P1、および多関節物体10の他の連接要素の一つ11dに属し以下の説明で「第二点」と呼ばれる別の点P2を抽出することが可能になる。
次いで、これらの第一および第二点P1およびP2から、単一の抽出ベクトル
Figure 0004283752
を定義することができる。
最小距離の計算に基づくモードでは(図3A)、抽出ベクトル
Figure 0004283752
は第一点P1の座標から第二点P2の座標を引いたものに等しい。すなわち、第二点P2は抽出ベクトル
Figure 0004283752
の原点であり、第一点P1は抽出ベクトル
Figure 0004283752
の端点である。
対照的に、侵入深さの計算に基づくモードでは(図3B)、抽出ベクトル
Figure 0004283752
は第二点P2の座標から第一点P1の座標を引いたものに等しい。すなわち、第一点P1は抽出ベクトル
Figure 0004283752
の原点であり、第二点P2は抽出ベクトル
Figure 0004283752
の端点である。
最終的に、所定の連接要素11cと多関節物体10の他の連接要素11との間の衝突を回避するために、所定の連接要素11cは、単一の抽出ベクトル
Figure 0004283752
の関数として定義され多関節物体10の自由度に作用する動きに従って、他の連接要素11から遠ざけることができる。
図4は、所定の連接要素11cが、最小距離モードを使用して、多関節物体10の他の連接要素11から遠ざかる分離動作を示すが、侵入深さモードを使用する場合も原理は同じであることは当然理解されるであろう。
この分離動作は、多関節物体10の関節をその自由度に応じて屈曲させることを意味する回転動作である。
所定の連接要素11cは、上に定義した第一点P1が属する多関節物体10の連接要素11cに先行する一連の関節の部分を形成する関節12の各々における回転動作によって、多関節物体10の他の連接要素11から遠ざけられることに注意すべきである。この例では、第二点P2は、他の連接要素の一つ、つまり11dと指定された要素に属する。
例として、多関節物体が仮想ダミー10aである場合、そして所定の連接要素11cと多関節物体10の他の連接要素11との間の相互作用距離が前腕の第一点P1によって具体化される場合には、一連の関節は肘、肩、および鎖骨に対応する。すなわち、関節の回転動作は、腕の関節12および前腕に先行する関節12の全てに作用するように計算される。そうではなく、第一点P1が上腕に属する場合には、一連の関節は肩および鎖骨の関節のみを含む。第一点P1が手に属する場合には、腕の関節12の全てを考慮に入れなければならない。すなわち、一連の関節は手首、肘、肩、および鎖骨を含む。
従って、所定の多関節物体10の場合の一連の関節は、多関節物体10のどの連接要素が第一点P1を有するかに依存する。
特に、図4の例では、一連の関節12a、12b、および12cの一部を形成する所定の関節12aに作用する関節の回転動作を見ることができる。
所定の関節12aに作用する関節のこの回転動作は、以下の工程を実現することによって決定することができる。
第一ベクトル
Figure 0004283752
が、上記所定の関節12aの連接中心と抽出ベクトル
Figure 0004283752
の原点との間に定義される。この例で、抽出ベクトル
Figure 0004283752
の原点は第二点P2であるが、侵入深さモードを使用する場合は第一点P1になる。
同様に第二ベクトル
Figure 0004283752
が、上記所定の関節12aの連接中心と抽出ベクトル
Figure 0004283752
の端点P1との間に定義される。
その後、第一ベクトル
Figure 0004283752
を第二ベクトル
Figure 0004283752
と一致させるための回転角
Figure 0004283752
が計算される。回転角
Figure 0004283752
は、次式:
Figure 0004283752
を使用して、第一および第二ベクトル
Figure 0004283752
および
Figure 0004283752
の間のベクトル積を実現することによって計算することができる。
この回転角
Figure 0004283752
は、多関節物体10の上記所定の関節12aに対応する単一または複数の自由度を定義する単一または複数の軸を中心とする一つ以上の個別屈曲角度θに分解(resolve)される。
この例では、回転角
Figure 0004283752
は、軸
Figure 0004283752
Figure 0004283752
Figure 0004283752
を中心とする三つの個別関節屈曲角度θに分解される。
個別関節屈曲角度θは、上記の計算されたベクトル積と所定の関節12aの自由度の単数または複数の軸との間の一つ以上のスカラ積によって計算することができる。
最終的に、上記所定の関節における連接要素は、上記個別関節角度θに比例する一つ以上の角度αにわたって回転される。
個別関節角度θは、関節の移動ステップサイズΔaの換算値によって正規化される。
上記所定の関節12aでは、多関節実施形態は、次式:
Figure 0004283752
によって与えられる一つ以上の角度αにわたって回転される。
当然ながら、上記と同じ工程は、考慮している一連の関節を形成する関節12a、12b、および12cの全てに対して実行しなければならない。
最小距離または侵入深さから計算された単一の抽出ベクトル
Figure 0004283752
を使用することにより、所定の連接要素11cと多関節物体10の他の連接要素11との間の衝突を回避することが可能になり、それにより計算量を最適化しながら、多関節物体10の動きの精度を向上することができる。
本発明は、所定の連接要素11cを多関節物体10の他の連接要素11から遠ざけるために、最小距離または侵入深さの単一の計算を利用する。
さらに、各連接要素11と多関節物体10の残部との間の衝突を回避するために、相互作用距離を計算し、第一および第二点を抽出し、抽出ベクトルを定義し、連接要素を遠ざける前工程は、多関節物体10の連接要素11の各々に対して繰り返される。
特に、所定の連接要素11cは、多関節物体10を構成する連接要素11の所定の部分組(subset)から選択される。
特定の連接要素は、それらの相対的動きが相互に依存するように、かつそれらが相互に衝突しないように、相互に相関させることができる。そのような状況では、相互に独立した動きを提示する連接要素を含む部分組の中から所定の連接要素を選択すれば充分である。
例として、ダミー10aの場合、脚は相互にリンクされており、かつ腕だけが相互に、またはダミー10aの残部と衝突し得ると想定することが可能である。
図5Aは、連接要素11間の内部衝突を回避しながらの多関節物体10の動きをモデル化する主要工程を示すフローチャートである。
ステップS0は、様々なパラメータが定義される初期化工程である。例えば、モデルのクロックパルスまたは計算工程用のカウンタが初期化される。
同様に、位置、向き、および関節Δaに関する単位動きまたは動きステップもステップS0で定義することができる。例えば、関節12の性質に応じて様々なサイズのステップを割り当てることができる。また、全ての関節12に対し、かつ多関節物体10の動き全体に使用するために、最適な一定のステップサイズを選択することも可能である。
ステップS1で、多関節物体10の単位動きが計算される。
ステップS2は、所定の連接要素と多関節物体10の他の連接要素の一つとの間に衝突があるか否かを決定する試験である。衝突判定基準は相互作用距離の値に依存する。
すなわち、最小距離に基づくモードの場合、この最小距離が最小しきい距離未満またはそれに等しいときにはいつも衝突が発生したとみなすことができ、多関節物体10が所定の連接要素と多関節物体10の他の連接要素との間の衝突がなく移動することを可能にするように、最小しきい距離はゼロに等しくすることができる。
対照的に、侵入深さに基づくモードの場合、上記工程がしきい侵入深さより大きいか等しくなったときに衝突が発生したとみなすことができる。
従って、しきい値がどのように選択されるかによって、第一に、多関節物体10を内部衝突なく動かすことを可能にし、あるいは第二に、多関節物体10をその連接要素間の限定されかつ制御された衝突量で動かすことを可能にすることができる。この第二の状況は、連接要素が相互に接触するときに、連接要素間の特定量の可塑性をモデル化することを可能にする。
前ステップS2の判定基準に従って衝突がない場合には、次の単位動きを計算するために上記ステップS1に戻る前に、ステップS1で計算された多関節物体10の動きが、ステップS3で、例えばコンピュータ1のスクリーン7上に表示される。
従って、ステップS3では、第一および第二点を抽出し、抽出ベクトルを定義し、かつ連接要素を遠ざける工程が実行されない。
しかし、衝突がある場合には、ステップS1で計算された単位動きは、ステップS4で取り消される。
その後、ステップS1にループバックする前に、ステップS5で、所定の連接要素を多関節物体10の他の連接要素から遠ざけるために、単一の抽出ベクトルの関数として定義されかつ多関節物体の自由度に作用する動きが計算される。
図5Bは、計算モードが侵入深さを利用する場合にだけ有効な、図5Aの変形を示す。
この図のフローチャートは、ステップS4がもはや存在しないことを除いては、図5Aのそれと同じである。
従って、ステップS2で衝突がある場合、この方法は直ちに、所定の連接要素を多関節物体の他の連接要素から遠ざけるステップS5に進むが、一番最近の単位動きを取り消すことはなく、従って所定の連接要素と多関節物体の他の連接要素との間の少量の侵入が可能になる。
仮想多関節物体10は、「マルチエージェント(multi−agent)」システムによって、またはいずれかの他の公知のシステムによって、仮想環境13で動くことができる。
図6は非常に簡単な略図であり、多関節物体10の動きをモデル化するために使用できるマルチエージェントシステム50のアーキテクチャを示す。このマルチエージェントシステム50は一組の能動要素または「エージェント」20、21、22、23、30、31、32、33、34、および35から構成され、これらは多関節物体10を形成する受動物体(要素11および関節12)にその環境に応じて作用する。
多関節物体10およびその環境を定義するデータまたは変数は共用データ15を構成し、それにより様々なエージェントが相互作用する。
マルチエージェントシステムのアーキテクチャは、基部のエージェントがより高いレベルにあるエージェントの作用に貢献するように、ピラミッド状の複数の段階またはレベルとして編成することができる。
この例では、マルチエージェントシステム50は、第一レベル51、第二レベル52、および第三レベル53を提示する。
第一レベル51は多関節物体10に対する作用または大域的貢献を示し、共用データ15によって多関節物体10に作用する、第一大域的エージェント20の貢献および第二大域的エージェント30の貢献を含む。
第一大域的エージェント20は多関節物体10の位置および向きに作用する一方、第二大域的エージェント30は、多関節物体10の関節12の内部自由度に作用する。
第二レベル52は、共用データ15を介して相互作用することによって、第一および第二大域的エージェント20および30の貢献をもたらす様々な型のエージェントから生じる様々な貢献を示す。
従って、多関節物体10は、大域的位置、および/または大域的向き、および/または多関節物体の複数の自由度に作用するアトラクタエージェントによって動かすことができる。
さらに、所定の連接要素は、多関節物体の複数の自由度に作用する内部アボイダエージェントによって、多関節物体10の他の連接要素11から遠ざけることができる。
加えて、公知の方法で、多関節物体10は、大域的位置、および/または大域的向き、および/または多関節物体の複数の自由度に作用するアボイダエージェントによって、その環境から離れることができる。
従って、マルチエージェントシステム50の第二レベル52は、多関節物体10の大域的位置および/または向きに作用する反発アボイダエージェント21、多関節物体10の大域的位置および/または向きに作用するアトラクタエージェント22、多関節物体10の関節12の内部自由度に作用する動的アボイダエージェント31、および多関節物体10の関節12の内部自由度に作用する動的アトラクタエージェント32を含むことができる。
第三レベルは、共用データ15を介して相互作用して動的アボイダエージェント31の貢献を生じさせる内部アボイダエージェント34および障害物アボイダエージェント35を含むことができる。
障害物アボイダエージェント35は、多関節物体10の複数の自由度に作用することによって、多関節物体と環境との間の衝突を回避する。
従って、内部アボイダエージェント34は、多関節物体10の複数の自由度に作用することによって、所定の要素と多関節物体の他の要素との間の衝突を回避し、あるいはこれらの間に過度の侵入が生じないことを確実にすることを可能にする。
最小距離モードで、近接状態にあるときに、衝突を引き起こした動きを取り消した後、所定の連接要素を多関節物体の他の連接要素から遠ざけることによって、無衝突が確保される。
侵入深さモードで、少量の侵入が生じた場合、所定の連接要素は、少量の侵入を引き起こした動きを取り消すことなく、多関節物体の他の連接要素から遠ざけることができる。これは、多関節物体の外皮の可塑性をモデル化することを可能にする。従って、ダミーはその中身の肉を一定の屈曲率にモデル化することが可能である。
加えて、多関節物体10は、多関節物体の位置および/または向きおよび/または複数の自由度に作用するオペレータエージェントによって、オペレータが実時間で動かすことができる。
従って、マルチエージェントシステム50の第二レベル52は、多関節物体10の大域的位置および/または向きに作用する大域的オペレータエージェント23、および多関節物体10の関節12の内部自由度に作用する内部オペレータエージェント33をも含むことができる。
本発明のシステムまたは方法で実現されるハードウェア手段の斜視図である。 本発明に係る一組の連接要素を含む仮想多関節物体を示す、非常に簡単な略図である。 図2Aの変形を示す図である。 本発明の最小距離モードで定義される抽出ベクトルを示す、非常に簡単な略図である。 本発明の浸透深さモードで定義される抽出ベクトルを示す、非常に簡単な略図である。 本発明の多関節物体の所定の関節に作用する分離動作を示す、非常に簡単な略図である。 本発明の多関節物体を動かすときの主要工程を示すフローチャートである。 図5Aの変形を示す図である。 本発明に係る多関節物体を動かすのに使用されるマルチエージェントシステムのアーキテクチャの簡単な略図である。
符号の説明
1 コンピュータ
2 中央装置
3 中央メモリ
10 仮想多関節物体
11 連接要素
12 関節
13 仮想環境
15 共用データ
20 第一大域的エージェント
21 反発アボイダエージェント
22 アトラクタエージェント
23 大域的オペレータエージェント
30 第二大域的エージェント
31 動的アボイダエージェント
32 動的アトラクタエージェント
33 内部オペレータエージェント
34 内部アボイダエージェント
35 障害物アボイダエージェント
50 マルチエージェントシステム
51 第一レベル
52 第二レベル
53 第三レベル

Claims (15)

  1. 仮想多関節物体(10)が一組の関節(12)によって一まとめに接続された一組の連接要素(11)を備え、連接要素(11)の相対位置が複数の自由度における複数の関節角度によって規定され、仮想多関節物体(10)を仮想環境(13)で単位動きの連続により動かす方法であって、前記単位動きが、大域的位置および/または大域的向きおよび/または多関節物体の複数の自由度に作用する予め定められたステップサイズに相当するものであり、
    多関節物体(10)の所定の連接要素(11c)と他の連接要素(11)との間の衝突判定基準に相当する相互作用距離を計算し、該相互作用距離が、所定の連接要素(11c)に属する第一点(P1)と、多関節物体の他の連接要素の一つ(11c)に属する第二点(P2)とによって具体化されたものである、工程と、
    前記第一および第二点から単一抽出ベクトル
    Figure 0004283752
    規定する工程と、
    所定の連接要素(11c)と多関節物体の他の要素との間の衝突を回避するように、多関節物体(10)の自由度に作用することによって、単一抽出ベクトル
    Figure 0004283752
    に応じて規定された動きで、所定の連接要素(11c)を多関節物体の他の連接要素から遠ざける工程と、
    を備える、方法。
  2. 相互作用距離を計算し、第一および第二点を抽出し、抽出ベクトル
    Figure 0004283752
    規定し、所定の連接要素を遠ざける前記工程が、各連接要素と多関節物体の残部との間の衝突を回避するように、多関節物体(10)の連接要素(11)の各々に対して繰り返されることを特徴とする、請求項1に記載の方法。
  3. 前記単位動きの連続における各単位動きの後で、所定の連接要素(11c)と多関節物体(10)の他の連接要素との間に衝突が発生するかしないかを、相互作用距離の値に従って決定する工程をさらに備えることを特徴とする、請求項1または2に記載の方法。
  4. 相互作用距離が侵入深さに対応し、抽出ベクトル
    Figure 0004283752
    が第二点(P2)の座標から第一点(P1)の座標を引いたものに等しく、侵入深さがしきい侵入深さよりも大きくないかまたは等しくないかを確認することで、多関節物体(10)がその連接要素間の限定かつ制御された量の衝突を伴って動くこと可能にされることを特徴とする、請求項1から3のいずれか一項に記載の方法。
  5. 相互作用距離が最小距離に対応し、抽出ベクトル
    Figure 0004283752
    は第一点(P1)の座標から第二点(P2)の座標を引いたものに等しく、最小距離が最小しきい距離よりも小さくないかまたは等しくないかを確認することで、多関節物体がその連接要素間の衝突なく動くこと可能にされることを特徴とする、請求項1から3のいずれか一項に記載の方法。
  6. 所定の連接要素(11c)と多関節物体(10)の他の連接要素(11)との間に衝突が発生した場合、前記単位動きの連続における一番最近の単位動きを取り消す工程をさらに備えることを特徴とする、請求項1から5のいずれか一項に記載の方法。
  7. 所定の連接要素と多関節物体の他の連接要素との間に衝突が起きない限り、第一および第二点(P1、P2)を抽出し、抽出ベクトル
    Figure 0004283752
    規定し、所定の連接要素(11c)を遠ざける前記工程が実行されないことを特徴とする、請求項1から5のいずれか一項に記載の方法。
  8. 所定の連接要素(11c)は、所定の連接要素に先行する一連の関節に属する関節(12)の各々に作用する関節屈曲動作によって、多関節物体(10)の他の連接要素から遠ざけられ、一連の関節のうちのいずれかの所定の関節(12a)で作用する関節屈曲動作が、
    所定の関節(12a)の連接中心と抽出ベクトル
    Figure 0004283752
    の原点との間に第一ベクトル
    Figure 0004283752
    規定する工程と、
    所定の関節(12a)の連接中心と抽出ベクトル
    Figure 0004283752
    の端点との間に第二ベクトル
    Figure 0004283752
    規定する工程と、
    第一ベクトルを第二ベクトルと一致させるための回転角
    Figure 0004283752
    を計算する工程と、
    所定の関節に対応する単一または複数の自由度を規定する単一または複数の軸に関する回転角
    Figure 0004283752
    を分解することによって、一つ以上の個別関節屈曲角度を計算する工程と、
    前記所定の関節(12a)を中心に前記個別の関節角度に比例する一つ以上の角度にわたって連接要素を回転させる工程と、
    を備えることを特徴とする、請求項1から6のいずれか一項に記載の方法。
  9. 回転角が第一および第二ベクトル間のベクトル積によって計算されることを特徴とする、請求項8に記載の方法。
  10. 個別関節角度がベクトル積と所定の関節の自由度の軸との間の一つ以上のスカラ積によって計算されることを特徴とする、請求項8または9に記載の方法。
  11. 多関節物体の複数の自由度に作用する内部アボイダエージェント(34)によって、連接要素が多関節物体の他の連接要素から遠ざけられることを特徴とする、請求項1から10のいずれか一項に記載の方法。
  12. 多関節物体がその仮想環境で大域的位置および大域的向きによって特定されるので、多関節物体が大域的位置および/または大域的向きおよび/または多関節物体の複数の自由度に作用するアトラクタエージェントによって動かされることを特徴とする、請求項1から11のいずれか一項に記載の方法。
  13. 位置および/または向きおよび/または多関節物体の複数の自由度に作用するオペレータエージェントによって、オペレータが多関節物体を実時間で動かす工程をさらに備えることを特徴とする、請求項1から12のいずれか一項に記載の方法。
  14. 多関節物体が仮想環境の床上を移動する仮想ダミー(10a)であり、ダミーが仮想床上の位置、前記床に垂直でありダミーの重心を通る鉛直軸を中心とする向き、および連接要素の組を規定する複数の関節角度によって規定されることを特徴とする、請求項1から13のいずれか一項に記載の方法。
  15. コンピュータ(1)によって実行されたときに、請求項1から14のいずれか一項に記載の方法を実現するように設計されることを特徴とする、コンピュータプログラム。
JP2004309119A 2003-10-29 2004-10-25 多関節物体の連接要素間の内部衝突を回避しながらの仮想環境における仮想多関節物体の動き Active JP4283752B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0312640A FR2861857B1 (fr) 2003-10-29 2003-10-29 Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions internes entre les elements articules de l'objet articule

Publications (2)

Publication Number Publication Date
JP2005202927A JP2005202927A (ja) 2005-07-28
JP4283752B2 true JP4283752B2 (ja) 2009-06-24

Family

ID=34429707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004309119A Active JP4283752B2 (ja) 2003-10-29 2004-10-25 多関節物体の連接要素間の内部衝突を回避しながらの仮想環境における仮想多関節物体の動き

Country Status (10)

Country Link
US (1) US7403880B2 (ja)
EP (1) EP1537960B1 (ja)
JP (1) JP4283752B2 (ja)
CN (1) CN100474343C (ja)
CA (1) CA2483077C (ja)
DE (1) DE602004007744T2 (ja)
ES (1) ES2290648T3 (ja)
FR (1) FR2861857B1 (ja)
RU (1) RU2308762C2 (ja)
UA (1) UA88757C2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467904B2 (en) 2005-12-22 2013-06-18 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
US7859540B2 (en) * 2005-12-22 2010-12-28 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of motion for articulated systems
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
JP4986543B2 (ja) * 2006-08-31 2012-07-25 キヤノン株式会社 情報処理方法、情報処理装置
CN101005661B (zh) * 2006-11-15 2010-11-03 深圳凯虹移动通信有限公司 具有数据、菜单隐形功能的移动终端及其加密隐藏方法
EP1972416B1 (en) * 2007-03-23 2018-04-25 Honda Research Institute Europe GmbH Robots with occlusion avoidance functionality
EP1972415B1 (en) 2007-03-23 2019-01-02 Honda Research Institute Europe GmbH Robots with collision avoidance functionality
EP1974869A1 (en) * 2007-03-26 2008-10-01 Honda Research Institute Europe GmbH Apparatus and method for generating and controlling the motion of a robot
DE102008016604B4 (de) * 2008-04-01 2014-07-17 Kuka Laboratories Gmbh Verfahren und Vorrichtung zur Eigenkollisionsüberwachung eines Manipulators
CN101719285B (zh) * 2009-12-28 2013-01-02 电子科技大学 一种多层次虚拟群体的避碰方法
AU2011201024A1 (en) 2011-03-08 2012-09-27 Canon Kabushiki Kaisha Shape parameterisation for editable document generation
CN102157008B (zh) * 2011-04-12 2014-08-06 电子科技大学 一种大规模虚拟人群实时绘制方法
ITTO20110994A1 (it) * 2011-10-31 2013-05-01 Comau Spa Metodo per il controllo di almeno due robot aventi rispettivi spazi di lavoro includenti almeno una regione in comune
WO2014121365A1 (ru) * 2013-02-11 2014-08-14 Mytnik Vyacheslav Georgievich Способ управления объектом
US9424378B2 (en) * 2014-02-03 2016-08-23 Siemens Product Lifecycle Management Software Inc. Simulation using coupling constraints
CN104776968B (zh) * 2015-04-03 2018-03-20 华东师范大学 一种多关节模型穿透深度的计算方法
US10525355B2 (en) * 2016-11-01 2020-01-07 Htc Corporation Method, device, and non-transitory computer readable storage medium for interaction to event in virtual space
US10937218B2 (en) * 2019-07-01 2021-03-02 Microsoft Technology Licensing, Llc Live cube preview animation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625577A (en) * 1990-12-25 1997-04-29 Shukyohojin, Kongo Zen Sohonzan Shorinji Computer-implemented motion analysis method using dynamics
WO1997040471A1 (en) * 1996-04-04 1997-10-30 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
JP2000277039A (ja) * 1999-03-26 2000-10-06 Toshiba Corp 画像表示装置およびその製造方法
US6853964B1 (en) * 2000-06-30 2005-02-08 Alyn Rockwood System for encoding and manipulating models of objects
US6856319B2 (en) * 2002-06-13 2005-02-15 Microsoft Corporation Interpolation using radial basis functions with application to inverse kinematics
US7168748B2 (en) * 2002-09-26 2007-01-30 Barrett Technology, Inc. Intelligent, self-contained robotic hand
US20040169656A1 (en) * 2002-11-15 2004-09-02 David Piponi Daniele Paolo Method for motion simulation of an articulated figure using animation input

Also Published As

Publication number Publication date
FR2861857B1 (fr) 2006-01-20
DE602004007744T2 (de) 2008-06-05
CN1612167A (zh) 2005-05-04
US20050096890A1 (en) 2005-05-05
US7403880B2 (en) 2008-07-22
RU2308762C2 (ru) 2007-10-20
CN100474343C (zh) 2009-04-01
FR2861857A1 (fr) 2005-05-06
ES2290648T3 (es) 2008-02-16
CA2483077C (fr) 2014-08-19
UA88757C2 (uk) 2009-11-25
JP2005202927A (ja) 2005-07-28
EP1537960A1 (fr) 2005-06-08
EP1537960B1 (fr) 2007-07-25
RU2004131049A (ru) 2006-04-10
DE602004007744D1 (de) 2007-09-06
CA2483077A1 (fr) 2005-04-29

Similar Documents

Publication Publication Date Title
JP4283752B2 (ja) 多関節物体の連接要素間の内部衝突を回避しながらの仮想環境における仮想多関節物体の動き
Aristidou et al. Extending FABRIK with model constraints
JP4942924B2 (ja) 仮想多関節物体を仮想環境で動きの連続により動かす方法
Borst et al. Realistic virtual grasping
Aristidou et al. Inverse kinematics: a review of existing techniques and introduction of a new fast iterative solver
Borst et al. A spring model for whole-hand virtual grasping
Yang et al. Virtual assembly technologies based on constraint and DOF analysis
JP4267508B2 (ja) 仮想ダミーの人間工学的動きの最適化
US11620416B2 (en) Systems and methods for determining digital model positioning for grasping
Vlasov et al. Haptic rendering of volume data with collision detection guarantee using path finding
Wagner et al. Collision detection and tissue modeling in a vr-simulator for eye surgery
Huagen et al. Virtual grasping for virtual assembly tasks
Ghafil A virtual reality environment for 5-DOF robot manipulator based on XNA framework
He et al. A VR-based complex equipment maintenance training system
Heidari et al. Virtual reality synthesis of robotic systems for human upper-limb and hand tasks
Garbaya et al. Modeling dynamic behavior of parts in virtual assembly environment
EP4081926A1 (en) Automatic simplification of a rigid-body simulation
Al-Junaid ANN based robotic arm visual servoing nonlinear system
Dash et al. A inverse kinematic solution of a 6-dof industrial robot using ANN
Schmidl et al. Geometry‐driven physical interaction between avatars and virtual environments
Perret Haptic device integration
Gandotra et al. TOOLS AND TECHNIQUES FOR CONCEPTUAL DESIGN IN VIRTUAL REALITY ENVIRONMENT.
CN108107765A (zh) 一种异构主从系统的运动映射方法及系统
Kjær‐Nielsen et al. Ring on the hook: Placing a ring on a moving and pendulating hook based on visual input
Tuli et al. Path planning for simulating human motions in manual assembly operations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081023

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090303

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090319

R150 Certificate of patent or registration of utility model

Ref document number: 4283752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250