(57)【特許請求の範囲】
【請求項１】
コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定方法において、
複数の３次元モデルの中から２つの３次元モデルを任意に選択するステップと、
前記２つの３次元モデル間に設定する関節のタイプを入力するステップと、
前記２つの３次元モデルの表面形状から部分形状パラメータを抽出するステップと、
前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択するステップと、
前記関節設定候補に拘束位置と拘束方向を指定するステップと、
を含むことを特徴とする３次元モデルの関節設定方法。
【請求項２】
請求項１記載の３次元モデルの関節設定方法において、
前記部分形状パラメータは、少なくとも円柱の軸方向ベクトルと、円柱の中心位置と、円柱の直径とのいずれかであることを特徴とする３次元モデルの関節設定方法。
【請求項３】
請求項１記載の３次元モデルの関節設定方法において、
更に、前記関節設定候補として選択された３次元モデルの組みを分解表示するステップを含むことを特徴とする３次元モデルの関節設定方法。
【請求項４】
請求項３記載の３次元モデルの関節設定方法において、
前記分解表示は、３次元モデルの拘束方向に移動して関節設定部の端面を表示することを特徴とする３次元モデルの関節設定方法。
【請求項５】
コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定を実行させるためのプログラムであって、
コンピュータに
複数の３次元モデルの中から２つの３次元モデルを任意に選択する手順と、
前記複数の３次元モデルの中から２つの３次元モデルを任意に選択する手順と、
前記２つの３次元モデル間に設定する関節のタイプを入力する手順と、
前記２つの３次元モデルの表面形状から部分形状パラメータを抽出する手順と、
前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択する手順と、
前記関節設定候補に拘束位置と拘束方向を指定する手順と、
を実行させる３次元モデルの関節設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデルの関節設定方法および関節設定プログラムに関し、特に、機構の運動などのシミュレーションを行うソフトウェアにおいて、２つの３次元モデル間に関節を定義する関節設定方法および関節設定プログラムとして用いると好適である。
【背景技術】
【０００２】
機構の運動シミュレーションにおいては、２つの３次元モデルの間で一定の運動を定義する。動きを限定するためには、２つの３次元モデル間に関節を定義する必要がある。関節には、回転関節、直動関節等が存在し、これらはいくつかの拘束条件の組み合わせにより定義される。
【０００３】
拘束条件とは、３次元モデル間の位置又は方向の状態を限定するものであり、関節を定義するためには、これら拘束条件（拘束位置と拘束方向）を３次元モデル上で確認しながら指定する必要がある。
【０００４】
従来の３次元モデルに対する拘束条件の指定方法には、以下の２つの方法がある。
（１）３次元モデルごとに拘束条件（拘束位置・方向）をマウスピックで指定する方法
（２）２つの３次元モデルのアセンブリに対し、拘束位置・拘束方向をマウスピックで指定する方法
図１０は、２つの３次元モデル間に関節を定義するための説明図である。
同図において、３次元モデル１００と３次元モデル２００は、それぞれに円柱と凹凸部の形状を有する回転関節部品の例を示す３次元モデル図である。
【０００５】
この３次元モデル１００と３次元モデル２００の間で一定の運動を定義するために、２つの３次元モデル間に関節を定義する。この関節を定義する拘束条件は、拘束位置と拘束方向であり、拘束位置は、矢印の先の黒丸がそれぞれの位置（ＸＡＹＡＺＡ，ＸＢＹＢＺＢ）を示し、拘束方向は、軸に沿った方向となる。
【０００６】
このように、人手のかかる２つの部品間の関節の拘束条件（拘束位置と拘束方向）の組み合わせを効率よく設定し作業量を減少させるために、従来よりいろいろな試みが成されてきた。
【０００７】
特許文献１では、複数部品の部分形状と拘束関係を入力して部品の位置関係を算出し、算出された相対的位置関係に基づいて作成されたアセブリのモデルに付加的な拘束関係と機構パラメータを設定する内容が開示されている。
【０００８】
特許文献２では、３次元モデルから分解組立図を作成するとき、部品の形状データから部品が重ならない配置位置を求めて表示する内容が開示されている。
【０００９】
特許文献３では、３次元モデルから分解の配置図を作成するとき、軸合わせの位置関係を自動的に検出し、干渉しない位置まで移動して表示する内容が開示されている。
【特許文献１】特開２０００−１３７７４０号公報
【特許文献２】特開平０７−２３９８６６号公報
【特許文献３】特開２００３−６２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記（１）の方法では２つの部品間の相対的な位置関係が示されていないため、拘束条件の設定が直感的に行えず、ユーザーに負担がかかり、上記（２）の方法では、２つの部品の拘束位置・拘束方向が重なっていたときマウスピックによる指定が困難となる問題を抱えていた。
【００１１】
また、従来技術（特許文献１）においては、複数部品の位置関係を算出する内容の発明であり、アセンブリモデルにある自由度を減らすための作成方法の記載にとどまり、抽出された部分形状パラメータの詳細な確認、またはユーザーのマウスピックによる拘束位置・拘束方向の再指定ができなかった。別の従来技術（特許文献２および特許文献３）においては、部品が重ならないようにして表示する内容であるため、３次元モデルの分解した状態が表示されず、確認ができなかった。
【００１２】
本発明は、３次元モデルに動きを定義するために、作業量の少ない簡易な関節設定を可能とする３次元モデルの関節設定方法および関節設定プログラムを提供することを目的にする。
【課題を解決するための手段】
【００１３】
上記課題を解決するための第１の発明は、コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定方法において、複数の３次元モデルの中から２つの３次元モデルを任意に選択するステップと、前記２つの３次元モデル間に設定する関節のタイプを入力するステップと、前記２つの３次元モデルの表面形状から部分形状パラメータを抽出するステップと、前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択するステップと、前記関節設定候補に拘束位置と拘束方向を指定するステップとを含んでいる。
【００１４】
この第１の発明によれば、３次元モデルに動きを定義する際に作業量の少ない簡易な関節設定を可能とする３次元モデルの関節設定方法を提供できる。
【００１５】
第２の発明は、第１の発明に記載の３次元モデルの関節設定方法において、前記部分形状パラメータは、少なくとも円柱の軸方向ベクトルと、円柱の中心位置と、円柱の直径とのいずれかである。
【００１６】
この第２の発明によれば、一致度の高い順番に関節設定候補となる部分パラメータの組を提示可能とする３次元モデルの関節設定方法を提供できる。
【００１７】
第３の発明は、第１の発明に記載の３次元モデルの関節設定方法において、更に、前記関節設定候補として選択された３次元モデルの組みを分解表示するステップを含んでいる。
【００１８】
この第３の発明によれば、抽出された円柱や穴などの部分形状パラメータの詳細な確認が可能となり、またはユーザーのマウスピックによる拘束位置と拘束方向の再度指定を行なうことが可能な３次元モデルの関節設定方法を提供できる。
【００１９】
第４の発明は、第３の発明に記載の３次元モデルの関節設定方法において、前記分解表示は、３次元モデルの拘束方向に移動して関節設定部の端面を表示する。
【００２０】
この第４の発明によれば、部分形状パラメータが画面上に見えるまで移動可能な３次元モデルの関節設定方法を提供できる。
【００２１】
第５の発明は、コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定を実行させるためのプログラムであって、コンピュータに複数の３次元モデルの中から２つの３次元モデルを任意に選択する手順と、前複数の３次元モデルの中から２つの３次元モデルを任意に選択する手順と、前記２つの３次元モデル間に設定する関節のタイプを入力する手順と、前記２つの３次元モデルの表面形状から部分形状パラメータを抽出する手順と、前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択する手順と、前記関節設定候補に拘束位置と拘束方向を指定する手順とを実行させるための３次元モデルの関節設定プログラムである。
【００２２】
この第５の発明によれば、３次元モデルに動きを定義する際に作業量の少ない簡易な関節設定を可能とする３次元モデルの関節設定プログラムを提供できる。
【発明の効果】
【００２３】
以上、３次元モデルの関節設定方法および関節設定プログラムによれば、３次元モデルの関節設定の作業量を減少させることが可能になり、また抽出された円柱や穴などの部分形状パラメータの詳細な確認、およびユーザーのマウスピックによる拘束位置・拘束方向の再指定が容易となる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について、図を参照しながら説明する。
【００２５】
図１は、本発明の一実施形態におけるコンピュータシステムのブロック構成図である。同図に示すコンピュータシステムは一般的なパソコンシステムの構成であり、入力装置１、表示装置２、ハードディスクドライブ（ＨＤＤ）３、入出力制御部４、メモリ５および中央処理装置（ＣＰＵ）６で構成されるが、それぞれの装置は、本発明を実施する上で各機能の役割分担を行う。
【００２６】
入力装置１に関連しては、関節タイプ入力部１１、拘束条件選択・入力部１２および３次元モデル選択部１３がそれぞれ機能し、表示装置２に関連しては、分解表示部２１および拘束条件提示部２２が機能し、ハードディスクドライブ（ＨＤＤ）３に関連しては、３次元モデル入力部３１が機能し、メモリ５に関連しては、３次元モデル保持部５１が機能し、中央処理装置（ＣＰＵ）６に関連しては、部分形状パラメータ抽出部６１と、関節設定部６２と、一致度計算部６３とがそれぞれ機能する。
【００２７】
図２は、本発明の一実施形態における関節設定システムのブロック構成図である。以下に各部の働きと相互の関連について説明する。
【００２８】
３次元モデル入力部３１では、各種３次元モデルを設定する。３次元モデル保持部５１では、新たに３次元モデルが入力されるたびに蓄積されたデータ内容が更新される。関節タイプ入力部１１では、２つの３次元モデル間に設定する関節のタイプを設定する。例として、回転関節、円筒関節、並進関節等がある。３次元モデル選択部１３では、関節設定対象となる２つの３次元モデルを指定する。部分形状パラメータ抽出部６１では、入力された関節タイプと選択された各３次元モデルの表面形状から、ポリゴンセグメンテーション等の技術により、抽出すべき部分形状パラメータを抽出する。一致度計算部６３において、抽出された部分形状パラメータの中から２つの部分形状パラメータを選び、その軸方向・面法線などの幾何情報の一致度を計算する。拘束条件提示部２２において、計算された一致度が高い部分形状パラメータの組から、拘束条件(拘束位置・方向)を提示する。拘束条件選択・入力部１２において、順序付けられた拘束条件の中から拘束条件を選択する。選択した拘束条件の詳細な確認、またはユーザーのマウスピックによる拘束条件の再指定を行いたい場合は、分解表示２１を行う。拘束条件が確定後、関節設定部６２において、関節タイプ、拘束条件より関節の設定を行う。
【００２９】
図３は、本発明の一実施形態における関節設定のフローチャートである。以下に２つの３次元モデル間の関節を設定する手順について、図１、図２を参照して説明する。
【００３０】
Ｓ１. ３次元モデル入力部３１にて３次元モデルを入力する。
Ｓ２．３次元モデル選択部１３にて２つの３次元モデルを選択する。
Ｓ３．関節タイプ入力部１１にて間接タイプを入力する。
Ｓ４．部分形状パラメータ抽出部６１にて部分形状パラメータを抽出する。
Ｓ５．一致度計算部６３にて一致度を計算する。
Ｓ６．拘束条件提示部２２にて拘束条件候補の組みを提示する。
Ｓ７．拘束条件選択・入力部１２にて拘束条件を選択する。
Ｓ８．分解表示を行うか否かを判定する。
Ｓ９．前記Ｓ８にて分析表示を行うと判定されれば、分解表示２１で分解表示する。
Ｓ１０．マウスピック拘束条件を設定するか否かを判定する。
Ｓ１１．前記Ｓ１０にてマウスピック拘束条件を設定すると判断されれば、関節設定部６２は拘束条件選択・入力部１２からの拘束条件を入力して関節が設定される。
Ｓ１２．前記Ｓ８にて分解表示を行なわないと判定されるか、または、前記Ｓ１１にて拘束条件の入力が行なわれれば、２つの３次元モデルの関節設定は完了する。
【００３１】
図４は、本発明による“一致度の計算”（回転関節タイプ）を示す説明図である。同図において、２つの３次元モデル１００と３次元モデル２００は、部分形状パラメータとして各３次元モデルから円柱面を抽出し、円柱の中心軸、円柱の直径、円柱の重心位置を一致度計算部に入力し、各円柱面間の中心軸の平行度、直径の大きさ、重心位置の一致度を計算する。その結果、２つの３次元モデル１００と３次元モデル２００は、一致度の高い円柱面の組を有する候補として選択される。
【００３２】
図５は、本発明による“一致度の計算”（円筒関節タイプ）を示す説明図である。同図において、２つの部品３００と部品４００で円筒関節を設定する際に、関節タイプとして円筒関節タイプを入力し、拘束方向は円筒の中心軸に沿って矢印の向きに入力される。
【００３３】
図６は、図５による円柱の部品形状パラメータを示す説明図である。同図において、１つの部品から以下の３つのパラメータが抽出される。
（１）円柱の軸方向ベクトル、（２）円柱の中心位置、（３）円柱の直径
【００３４】
図７は、図６による円柱の軸方向ベクトルを示す説明図である。同図において、（ａ）二つの円柱の軸がなす角度は、軸方向Ａと軸方向Ｂの角度の一致度が高いか否かを見るパラメータである。（ｂ）二つの円柱の軸間距離は、二つの軸を結ぶ距離が小さいか否かを見るパラメータである。
【００３５】
図８は、本発明の一実施形態における“一致度の計算”のフローチャートである。以下に“一致度の計算”の手順について、図５〜図７を参照して説明する。
【００３６】
Ｓ５１. 部品形状パラメータを抽出する。
Ｓ５２．円柱の軸方向ベクトルを抽出する。
Ｓ５３．二つの軸がなす角度＜基準値を判定する。
Ｓ５４．前記Ｓ５３にて条件が合致後に、二つの軸間距離＜基準値を判定する。
Ｓ５５．円柱の中心位置を抽出する。
Ｓ５６．二つの中心位置間距離＜基準値を判定する。
Ｓ５７．円柱の直径を抽出する。
Ｓ５８．二つの直径の大きさの差＜基準値を判定する。
Ｓ５９．上記Ｓ５４と、Ｓ５６と、Ｓ５８との条件に合致した３次元モデルの組を一致度の高い候補として選択する。
【００３７】
図９は、本発明による分解表示を示す説明図である。同図において、２つの３次元モデル１００と３次元モデル２００からなるアセンブリは、拘束方向に移動することにより関節部が分解表示され、視点から円柱面の端面が見える様子を示す。
【００３８】
すなわち、拘束条件選択において選択した拘束方向に３次元モデル２００を移動することで、抽出された円柱や穴などの部分形状パラメータの詳細な確認、またはユーザーのマウスピックによる拘束位置、拘束方向の再指定を行なう。
【００３９】
このとき、３次元モデルの移動は、部分形状パラメータが画面上に見えるまで行なう。例えば、部分形状パラメータが円柱の場合は、円柱の端面が見えるまで移動する。３次元モデルを移動しても部分形状パラメータが画面上に見えない場合は、モデル全体を回転させ、部分形状パラメータが見えるようにする。
【産業上の利用可能性】
【００４０】
本発明は、機構解析を行なう目的で３次元モデルに動きをつけるために関節を設定し、機構パラメータの変化や、上記関節に対する駆動力により、機構の運動などのシミュレーションを行う３次元モデルの関節設定方法および関節設定プログラムに利用できる。
【００４１】
以上の実施例を含む実施態様に関し、更に以下の付記を開示する。
（付記１)
コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定方法において、
複数の３次元モデルの中から２つの３次元モデルを任意に選択するステップと、
前記２つの３次元モデル間に設定する関節のタイプを入力するステップと、
前記２つの３次元モデルの表面形状から部分形状パラメータを抽出するステップと、
前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択するステップと、
前記関節設定候補に拘束位置と拘束方向を指定するステップと、
を含むことを特徴とする３次元モデルの関節設定方法。
（付記２）
付記１記載の３次元モデルの関節設定方法において、
前記部分形状パラメータは、少なくとも、円柱の軸方向ベクトル、円柱の中心位置および円柱の直径、のいずれかであることを特徴とする３次元モデルの関節設定方法。
（付記３）
付記２記載の３次元モデルの関節設定方法において、
前記円柱の軸方向ベクトルは、２つの軸がなす角度および２つの軸間距離であることを特徴とする３次元モデルの関節設定方法。
（付記４）
付記２記載の３次元モデルの関節設定方法において、
前記円柱の中心位置は、２つの中心位置間距離であることを特徴とする３次元モデルの関節設定方法。
（付記５）
付記１記載の３次元モデルの関節設定方法において、
更に、前記関節設定候補として選択された３次元モデルの組みを分解表示するステップを含むことを特徴とする３次元モデルの関節設定方法。
（付記６）
付記５記載の３次元モデルの関節設定方法において、
前記分解表示は、３次元モデルの拘束方向に移動して関節設定部の端面を表示することを特徴とする３次元モデルの関節設定方法。
（付記７）
コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定を実行させるためのプログラムであって、
コンピュータに、
複数の３次元モデルの中から２つの３次元モデルを任意に選択する手順と、
前記複数の３次元モデルの中から２つの３次元モデルを任意に選択する手順と、
前記２つの３次元モデル間に設定する関節のタイプを入力する手順と、
前記２つの３次元モデルの表面形状から部分形状パラメータを抽出する手順と、
前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択する手順と、
前記関節設定候補に拘束位置と拘束方向を指定する手順と、
を実行させる３次元モデルの関節設定プログラム。
（付記８）付記７記載の３次元モデルの関節設定プログラムにおいて、
前記部分形状パラメータは、少なくとも、円柱の軸方向ベクトルと、円柱の中心位置と、円柱の直径とのいずれかであることを特徴とする３次元モデルの関節設定プログラム。
（付記９）付記７記載の３次元モデルの関節設定プログラムにおいて、
更に、前記関節設定候補として選択された３次元モデルの組みを分解表示する手順を実行させる３次元モデルの関節設定プログラム。
（付記１０）コンピュータシステムを用いて機構の動きを定義する３次元モデルの関節設定装置において、
複数の３次元モデルの中から２つの３次元モデルを任意に選択する手段と、
前記２つの３次元モデル間に設定する関節のタイプを入力する手段と、
前記２つの３次元モデルの表面形状から部分形状パラメータを抽出する手段と、
前記２つの３次元モデルの部品形状パラメータの一致度を計算し、その一致度の高い組を関節設定候補として選択する手段と、
前記関節設定候補に拘束位置と拘束方向を指定する手段と、
を含むことを特徴とする３次元モデルの関節設定装置。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態におけるコンピュータシステムのブロック構成図である。
【図２】本発明の一実施形態における関節設定システムのブロック構成図である。
【図３】本発明の一実施形態における関節設定のフローチャートである。
【図４】本発明による“一致度の計算”（回転関節タイプ）を示す説明図である。
【図５】本発明による“一致度の計算”（円筒関節タイプ）を示す説明図である。
【図６】図５による円柱の部品形状パラメータを示す説明図である。
【図７】図６による円柱の軸方向ベクトルを示す説明図である。
【図８】本発明の一実施形態における“一致度の計算”のフローチャートである。
【図９】本発明による分解表示を示す説明図である。
【図１０】２つの３次元モデル間に関節を定義するための説明図である。
【符号の説明】
【００４３】
１    入力装置
２    表示装置
３    ハードディスクドライブ（ＨＤＤ）
４    入出力制御部
５    メモリ
６    中央処理装置（ＣＰＵ）
１１    関節タイプ入力部  
１２    拘束条件選択・入力部
１３    ３次元モデル選択部
２１    分解表示部
２２    拘束条件提示部
３１    ３次元モデル入力部
５１    ３次元モデル保持部
６１    部分形状パラメータ抽出部
６２    関節設定部
６３    一致度計算部
１００    ３次元モデル
２００    ３次元モデル
３００    ３次元モデル
４００    ３次元モデル
【図１】
0004946936.tif 000002
【図２】
0004946936.tif 000003
【図３】
0004946936.tif 000004
【図４】
0004946936.tif 000005
【図５】
0004946936.tif 000006
【図６】
0004946936.tif 000007
【図７】
0004946936.tif 000008
【図８】
0004946936.tif 000009
【図９】
0004946936.tif 000010
【図１０】
0004946936.tif 000011