(57)【特許請求の範囲】
【請求項１】
組立公差を解析する装置であって、
解析対象を構成する部品の形状とアセンブリに関する情報を記憶する記憶手段と、
前記部品の組立公差の初期設定値に基づいて、前記部品の取り付け位置が異なるアセンブリサンプルの母集団を、モンテカルロ法によって作成する作成手段と、
前記母集団のアセンブリサンプル毎に、前記部品の取り付け位置での解析対象の動作を、前記情報を用いてシミュレートし、ある視点での動作軌跡を求めるシミュレーション手段と、
前記動作軌跡の中で前記視点において課される設計仕様範囲で動作する軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの部品の取り付け位置に基づいて、新たな組立公差を決定する解析手段と、
を有することを特徴とする組立公差解析装置。
【請求項２】
前記アセンブリサンプルの中で自己の各部品取り付け位置が前記新たな組立公差を満たすアセンブリサンプルを選別し、該選別したアセンブリサンプルに対応する動作軌跡が全て前記設計仕様範囲にあるか否かを判定することを特徴とする請求項１記載の組立公差解析装置。
【請求項３】
前記シミュレーションにおいて溝の遊び・ガタ機構を厳密に再現するヒステリシス解析手段を更に有することを特徴とする請求項１記載の組立公差解析装置。
【請求項４】
前記解析手段は、前記動作軌跡上の任意の位置で該動作軌跡を２次元的な断面図上に描画し、該２次元断面図上で前記設計仕様範囲を設定させて前記選別を行うことを特徴とする請求項１記載の組立公差解析装置。
【請求項５】
コンピュータが、
解析対象を構成する部品の組立公差の初期設定値に基づいて、前記部品の取り付け位置が異なるアセンブリサンプルの母集団を、モンテカルト法によって作成し、
前記母集団のアセンブリサンプル毎に、前記部品の取り付け位置での解析対象の動作を、記憶手段に記憶されている前記部品の形状とアセンブリに関する情報を用いてシミュレートし、ある視点での動作軌跡を求め、
前記動作軌跡の中で前記視点において課される設計仕様範囲内にある軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの部品の取り付け位置に基づいて、新たな組立公差を決定することを特徴とする組立公差解析方法。
【請求項６】
コンピュータに、
解析対象を構成する部品の組立公差の初期設定値に基づいて、前記部品の取り付け位置が異なるアセンブリサンプルの母集団を、モンテカルト法によって作成する機能と、
前記母集団のアセンブリサンプル毎に、前記部品の取り付け位置での解析対象の動作を、前記部品の形状とアセンブリに関する情報を用いてシミュレートし、ある視点での動作軌跡を求める機能と、
前記動作軌跡の中で前記視点において課される設計仕様範囲内にある軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの部品の取り付け位置に基づいて、新たな組立公差を決定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元機構アセンブリモデルの適切な組立公差を効率よく求めることができるようにするシステム／方法に関するものである。
【０００２】
【従来の技術、及び発明が解決しようとする課題】
よく知られているように、公差は、実際の製造において設計基準値からどの程度までのズレが許されるか（許容範囲）を設定するものであり、公差が広過ぎると製造物が不良品となる確率が高くなり、公差が狭過ぎると精度が高い製造作業が必要となる為、負担が大きくなり、コストも高くなる。よって、適切な公差を設定することは重要な事であるが、実際の現場では設計者が経験／勘に基づいて任意に設定している場合が多い。この為、適切な公差を効率良く設定できるように支援するシステムが必要とされている。
【０００３】
従来の公差解析システムとしては、例えば以下に列挙するものがある。
[1] J. Lee and G. E. Johnson, “OptimalTolerance allotment using a genetic algorithm and truncated Monte Carlosimulation," Computer-Aided Design Vol. 25, No. 9, pp.601-611, 1993.
[2] Victor J. Skowronski and Joshua U.Turner, "Estimating gradients for statistical tolerance synthesis,"Computer-Aided Design Vol. 28, No. 12, pp.933-941, 1996.
[3] Victor J. Skowronski and Joshua U.Turner, "Using Monte-Carlo variance reduction in statistical tolerancesynthesis," Computer-Aided Design Vol. 29, No. 12, pp.63-69, 1997.
[4] "CE/TOL 6σ” manual, published byRAND TECHNOLOGIES Ltd.
[5] “VALISYS” manual, published byTECNOMATIX Ltd.
[6] Tolerance Design
A HANDBOOK FOR DEVELOPING OPTIMALSPECIFICATIONS,
C. M. Creveling, Addison-Wesley, 1997
従来の公差解析システム（例えば、[4],[5]）では、溝の遊びやギヤのガタを忠実に再現するように３次元的組立公差を指定することはできなかった。いずれのシステムも、機構の特定姿勢における公差を確率分布として指定する方式のため、３次元に動的な駆動を伴う場合のトータルな組立公差がどのように分布するかを解析することは出来なかった。また、[1],[2],[3]の論文では、モンテカルロ法に基づいて公差の分布を求める手法が論じられているが、いずれも２次元に限られており、かつ静的な一特定姿勢の場合の解析に限られていた。
【０００４】
本発明の課題は、３次元機構アセンブリモデルの設計仕様値を満足するように、適切な組立公差を効率よく求めることができるようにし、感度やほぼ適切と思われる組立公差を算出／提示してユーザの判断作業を支援する組立公差解析システム、その方法を提供することである。
【０００５】
【課題を解決するための手段】
本発明による請求項１記載の組立公差解析装置は、組立公差を解析する装置であって、解析対象を構成する部品の形状とアセンブリに関する情報を記憶する記憶手段と、前記部品の組立公差の初期設定値に基づいて、前記部品の取り付け位置が異なるアセンブリサンプルの母集団を、モンテカルロ法によって作成する作成手段と、前記母集団のアセンブリサンプル毎に、前記部品の取り付け位置での解析対象の動作を、前記情報を用いてシミュレートし、ある視点での動作軌跡を求めるシミュレーション手段と、前記動作軌跡の中で前記視点において課される設計仕様範囲で動作する軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの部品の取り付け位置に基づいて、新たな組立公差を決定する解析手段とを有するように構成する。
【０００６】
上記組立公差解析装置によれば、モンテカルロ法により生成される多数のアセンブリサンプルの中で、その注視点の動作軌跡が設計仕様範囲内となるアセンブリサンプルを選別するので、この選別されたアセンブリサンプルを生成したときの各部品取り付け位置データを利用すれば（例えばその中の最小値、最大値を新たな組立公差とする）、高い確率でほぼ適切な組立公差を決定することができる。
【０００７】
上記公差許容範囲逆解析手段により決定される新たな組立公差は、必ずしも全ての動作軌跡が前記設計仕様範囲内となることを保証するものではない。よって、新たな組立公差を用いて最初から処理をやり直して、全ての動作軌跡が前記設計仕様範囲内となるか否かを確認することが考えられる。但し、モンテカルロ法による母集団作成手段、シミュレーション手段による処理は、特にアセンブリサンプル数が多い場合には処理時間が掛かる。
【０００８】
これより、上記確認は、例えば請求項２記載のように、前記アセンブリサンプルの中で自己の各部品取り付け位置が前記新たな組立公差を満たすアセンブリサンプルを選別し、該選別したアセンブリサンプルに対応する動作軌跡が全て前記設計仕様範囲にあるか否かを判定するようにしてもよい。このようにすることで、ユーザは上記処理時間中待たされることなく、全体としての作業効率が向上する。
【０００９】
また、本発明は、上記組立公差解析装置に限らず、この組立公差解析装置の機能をコンピュータ上で実現させるプログラム自体として構成することもできるし、このプログラムを記録した記録媒体、または方法として構成することもできる。
【００１０】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
尚、公差には、寸法公差、組立公差があるが、本例では組立公差を対象としているので、以下の説明で単に「公差」と記してあった場合でも、組立公差を意味するものとする。
【００１１】
図１は、本実施の形態による組立公差解析システムの機能ブロック図である。
同図に示す組立公差解析システム１０は、各部品の物体形状およびそれらのアセンブリ状態を記憶する「物体形状・アセンブリ情報記憶部」１１、各部品の組み付け状態に対してモンテカルロ法に基づく確率分布のアセンブリ母集団を作り出す「モンテカルロ法による母集団作成部」１２、この母集団作成部１２により作成された母集団の各個体に対して、位置・姿勢状態を更新する「物体位置・姿勢情報更新部」１３、アセンブリ設計の基本仕様を指定する「設計仕様指定部」１４、物体位置・姿勢情報更新部１３と設計仕様指定部１４とに基づいて、後述する注視点が設計仕様を満足するようにする為に各部品の組立公差を算出する「公差許容範囲逆解析部」１５、この“注視点が設計仕様を満足するようにする為”にはどの各部品の組立公差を変更するのが最も効率が良い（最も寄与する）かを示す“感度”を算出／提示する「感度解析部」１６、この“注視点が設計仕様を満足するようにする為”に各部品の組立公差をどの程度変更すれば良いのかについてある程度最適な値を算出／提示する「感度解析公差反映部」１７からなる。
【００１２】
もっとも重要な部分は「公差許容範囲逆解析部」１５である。「公差許容範囲逆解析部」１５では、ユーザが指定する設計仕様（例えば、ある部品とあるセンサとの距離が、ある値より大きくならない、等々）に対して、その仕様を満たす個体群を、「モンテカルロ法による母集団作成部」１２で作り出した母集団内から探し出す。設計仕様を変更すると選別した個体群も変更を受けるが、設計仕様の変更と個体群の変更とはリアルタイムに対応するようにＧＵＩを工夫し、ユーザビリティを高めている。更に「感度解析部」１６、「感度解析公差反映部」１７も、本発明の重要な特徴である。これらについては詳しくは後述する。
【００１３】
図２は、上記組立公差解析システムを実現する情報処理装置の基本的なハードウェア構成図である。
図２において、ＣＰＵ２１は、形状データ・アセンブリデータの駆動・表示、モンテカルロ母集団の作成、ユーザによる設計仕様値の設定、各部品の許容公差範囲の計算、計算結果を表示するための演算、物体の動きをグラフィカルに表示するための演算、その他、あらゆる論理演算を行う。
【００１４】
記憶装置２２には、作業環境、物体の形状データ、アセンブリデータ、それらの初期位置、組立公差解析システムの各種処理機能を実現させるアルゴリズムの実行モジュール、物体の動きをグラフィカルに表示するための実行モジュール、その他、本発明の装置を駆動するために必要となるデータ、実行モジュールが格納される。
【００１５】
ＲＡＭ２３は、ＣＰＵ２１により記憶装置２２から呼び出された作業環境および物体の形状データ・アセンブリデータを格納するメモリ領域３１、データ入力装置２４を介して入力した物体の移動指令データを使いＣＰＵ２１内にて算出した物体形状の座標変換データを格納するメモリ領域３２、モンテカルロ法により各部品を組立公差範囲内で様々な値に振らせて作成した母集団を格納するメモリ領域３３、ユーザが指定した設計仕様値を格納するためのメモリ領域３４、設計仕様値に基づいて各部品の組立公差（ズレの許容範囲）を計算し、その結果を格納するメモリ領域３５等の各種記憶領域を有する。
【００１６】
データ入力装置２４は、各部品の公差設定値、設計仕様値、公差解析を行うための各種条件をＩ／Ｆ２６を介してＣＰＵ２１に送る。グラフィックディスプレイ２５は、Ｉ／Ｆ７を介して送られてきたＲＡＭ２３内のアセンブリデータのグラフィックス表示、公差解析結果の表示を行う。
【００１７】
以下、まず、３次元的な組立公差を指定し、モンテカルロ法により個体群の母集団を作り出す方法について説明する。
図３は、組立公差設定画面３０の一例を示している。図４（ａ）は、この画面３０中の組立公差設定ボックス４０を拡大したものであり、図４（ｂ）は次に表示される設定画面である。
【００１８】
図５は、モンテカルロ法による、アセンブリ状態の母集団作成処理を説明する為のフローチャート図である。
図５において、まず、ユーザ等に、本例による組立公差解析システムを用いて解析したいと所望するアセンブリ（部品の組み合わせ）を指定させ、この指定した各部品に対して各々の組立公差を設定させる設定画面を表示して、これら設定操作を行わせる（ステップＳ１１）。
【００１９】
すなわち、まず、図４（ａ）の組立公差設定ボックス４０を表示して、上記アセンブリ（部品の組み合わせ；ここではベース部品とこれに組み合わせる部品）を選択／指定させる。
図４（ａ）では、ユーザ等が選択／指定領域４８上で所望の部品をクリックする等して、土台となるベース部品４３として丸い大きな円盤４１（部品名；ｄｉｓｃ＿ｆ）を指定し、このベース部品に取付ける部品（公差設定部品４４）として溝付きのギヤ部品４２（部品名；ｌ＿ｇｅａｒ＿ｐｒｔ）を指定した例を示している。ユーザは、選択／指定したら「追加」ボタン４６をクリックすれば、この指定内容は登録される。また、組み合わせ一覧４５に表示される。更に他の組み合わせがある場合には、再び、選択／指定領域４８上で所望の部品をクリックする等して指定して（指定された部品の部品名は、ベース部品４３、公差設定部品４４に表示される）、「追加」ボタン４６をクリックすればよい。選択／入力が完了したら、「次へ」ボタン４７をクリックすると、図４（ｂ）に示す組立公差設定ボックス５０が表示される。
【００２０】
図４（ｂ）の組立公差設定ボックス５０には、その部品表示領域５１に、上記図４（ａ）で指定された部品（円盤４１とギヤ部品４２）が表示され、上記組み合わせ一覧４５と同じ内容の組み合わせ一覧５２が表示される。
また、公差設定領域５３が表示され、この公差設定領域５３内には、上記指定された部品各々の基準座標系名（本例では、＿ｗｃ０００１４,＿ｗｃ０００１５であるものとする）、組立公差入力領域５４が表示される（その他の「台形」５５、「正規分布」５６、「ベータ分布」５７、「関節座標修正」５８の各ボタンについては後述する）。
【００２１】
本システムでは、図４（ｂ）のように、ベース部品（この場合は大きな円盤４１）側の基準座標系（ギヤ部品４２が取り付けられる基準座標系）と、このベース部品に取り付ける部品（この場合はギヤ部品４２）側の基準座標系（ギヤ部品の取り付け座標系）の双方の座標系に対して組立公差が設定される。
【００２２】
この例が示すように多数部品のアセンブリでは、必ず、組み付けられる側の部品と組み付く側の部品の２種類があり、各々の部品に対し、組み付けられる側の基準座標系と組み付く側の基準座標系がある。本システムでは、これらの座標系の設計基準値からのズレを組立公差としている。
【００２３】
ユーザ等による組立公差の設定法は、まず、公差設定領域５３において、組立公差を設定したい基準座標系を選択し（図示の例では＿ｗｃ０００１４が選択されている）、当該選択した基準座標系に関する組立公差を、組立公差入力領域５４内において入力する。組立公差は、図示の通り、Ｘ，Ｙ，Ｚの各軸方向についてそれぞれ設定するものであり、Ｍｉｎ，Ｍａｘは、上記設計基準値からのズレの範囲（許容範囲）を意味している。また、θは、Ｚ軸周りの姿勢の傾き度合いの最大許容値を示している。すなわち、各部品の設計基準値からのズレの許容範囲は、このＭｉｎ／Ｍａｘで規定される範囲内ということである。
【００２４】
また、ユーザは、確率分布の種類を指定できる。すなわち、図４（ｂ）に示す確率分布の選択指定ボタン（「台形」５５（矩形分布）、「正規分布」５６、「ベータ分布」５７）の中から、ユーザは、所望のボタンを選択する。
次に、ユーザ等は、作成させる母集団の要素数を指定する（ステップＳ１２）。例えば、母集団要素数をＮとするとき、Ｎ＝１００００とは、１００００個の要素数からなるアセンブリ母集団を作成することを意味する。尚、図３、図４（ａ）、（ｂ）には特に示していないが、上記Ｎの数を設定する画面が別途存在するものとする。
【００２５】
上記ユーザ等からの指定操作を受けて、システム側では、指定された確率分布に従ってモンテカルロ・シミュレーションにより、各組立公差を振らせる（上記許容範囲内でランダムに多数のサンプルを発生させる）。
例えば、部品座標 PartCoord1のX軸方向の組立公差範囲がmax=0.1,min = -0.1 (単位 mm) とするとき、確率分布として「台形」５５（矩形分布）の場合、各個体は、PartCoord1の位置が、X軸方向に基準値から、-0.1〜0.1までの範囲で矩形的に分布した個体群を発生する（ステップＳ１３）。
【００２６】
モンテカルロ的に個体群を発生させるため、例えば、部品座標PartCoord 1からPartCoord M までのM個の座標系に公差が指定してある場合、PartCoord 1のサンプルPC 11, PartCoord2のサンプルPC 22, …, PartCoord MのサンプルPC MMの組み合わせで一つのアセンブリ要素が出来上がり、これをN回繰り返すことで、部品座標の位置、傾きが公差範囲内でランダムな値を取るアセンブリ集合がN個出来上がる。図示の例では、２個の座標系＿ｗｃ０００１４,＿ｗｃ０００１５の各サンプルの組み合わせで一つのアセンブリ要素が出来上がる。尚、これは、＿ｗｃ０００１４の各サンプルと＿ｗｃ０００１５ の各サンプルとの全ての組み合わせを作るものではない。例えば、＿ｗｃ０００１４で最初に発生するサンプルと＿ｗｃ０００１５で最初に発生するサンプルとの組み合わせ、＿ｗｃ０００１４ で２番目に発生するサンプルと＿ｗｃ０００１５ で２番目に発生するサンプルとの組み合わせ、というようにアセンブリ要素を作成していくのであり、更に例えば＿ｗｃ０００１４で最初に発生するサンプルと＿ｗｃ０００１５で２番目に発生するサンプルとを組み合わせてアセンブリ要素を作成するというものではない。
【００２７】
そして、このようにして出来上がった各アセンブリ個体に対して、実際に座標変換を実行し、組み付け状態が微妙に異なったＮ個のアセンブリ個体群を作成する（ステップＳ１４）。
次に、以下に、ヒステリシス機構がある場合のモンテカルロ法による母集団作成方法について説明する。
【００２８】
モンテカルロ法によりアセンブリ母集団を作成する場合には、特に、図６に示すような溝ジョイント機構（遊び・ガタが存在する）のヒステリシスを、母集団の各個体毎に忠実に再現する必要がある。これを忠実に再現するために、以下に説明するカム・ヒステリシスの実現法を使い、各個体毎に溝ジョイント機構の駆動関節値のリレーション関係を求める。
【００２９】
カム・ヒステリシスの実現法
［前提］
カム関係は、遊び・ガタを考慮しない場合には、駆動関節値ｘから従動関節値ｙを求める関数ｆ（ｘ）を作成し（通常はテーブルと補間を用いる）、シミュレーション中は駆動関節が動くとその関節値ｘに対する従動関節値ｙを計算・移動することで実現している。尚、関節値ｘ、ｙは、各々、基本的には、ギア等の回転角度が使われる。
【００３０】
これは、駆動関節値（ｘ）を横軸、従動関節値（ｙ）を縦軸に取ったグラフで記述すると、シミュレーション中の任意の姿勢における駆動関節・従動関節の関係は必ず図７（ａ）に示すようなグラフの線上に位置している。
［実現方法］
一方、図６に示すような溝ジョイント機構（遊び・ガタが存在する；溝の幅よりピンの直径が小さい溝機構など）に関しては、カム関係でガタの表現には、駆動・従動の関係を二重に持たせることで実現する。ここで、二つの関係を表す関数をそれぞれｆ（ｘ）、ｇ（ｘ）とすると、図７（ｂ）に示すようになる。ｆ（ｘ）、ｇ（ｘ）は、一方がｘを最大値に近づける方向に動かしたときのグラフであり、他方がｘを最小値に近づける方向に動かしたときのグラフである。つまり、駆動関節の関節値ｘの値を大きくしていくときと小さくしていくときとはで、従動関節値ｙが違うということを表している。但し、ｆ（ｘ）≧ｇ（ｘ）が成り立つものとする。
【００３１】
本例によるシステムでは、図９に示すステップＳ２１〜Ｓ２９の処理を実行する。これら処理は、現在の駆動関節値がｘ、現在の従動関節値がｙ、駆動関節が移動した場合の新たな駆動関節値がｘ’とし、駆動関節がｘ’に移動した際の対応する従動関節値ｙ’を求める処理である。
【００３２】
まず、遊び・ガタがない場合には（ステップＳ２２，ｎｏ）、上記関数ｆ（ｘ）をそのまま当てはめればよいので、ｙ’＝ｆ（ｘ’）となる（ステップＳ２３）。
ガタのある溝機構である場合には（ステップＳ２４，ｙｅｓ）、特に図示していないが、まず、ｆ（ｘ’）、ｇ（ｘ’）を計算する。
【００３３】
そして、ｆ（ｘ’）がｙより大きければ（ステップＳ２５，ｎｏ）、ｙ’＝ｆ（ｘ’）とする（ステップＳ２６）。
ｆ（ｘ’）がｙより小さい場合（ステップＳ２５，ｙｅｓ）、更にｇ（ｘ’）がｙより小さければ（ステップＳ２７，ｎｏ）、ｙ’＝ｇ（ｘ’）とする（ステップＳ２８）。
【００３４】
一方、ステップＳ２７がｙｅｓの場合、すなわちｙがｆ（ｘ’）とｇ（ｘ’）の間にある場合には、駆動関節が移動しても従動関節は変化しないものと見做し、ｙ’＝ｙにすればよい（ステップＳ２９）。
［応用］
グラフ上で考えると、カムにガタを持たせる方法は、ｆ（ｘ）、ｇ（ｘ）の間の領域しか、駆動・従動の関節値を許さないものと考えることができる（図８（ａ））。
【００３５】
これを応用して、
・ｆ（ｘ）、ｇ（ｘ）の線上にしか存在を許さない（分岐した場合は、現在のｙからの移動量が小さいものを新しいｙとする）関係
・ｆ（ｘ）、ｇ（ｘ）の間以外の領域しか存在を許さない関係
を作成すると、それぞれ、
・バネや重力などで元に戻る“のれん機構”
・元に戻らない“のれん機構”
を表現することができる（それぞれ、図８（ｂ）、図８（ｃ））。
【００３６】
これより、“のれん機構”に関しては、本例によるシステムでは、図９に示すステップＳ３０〜Ｓ３５の処理を実行する。すなわち、バネや重力などで元に戻る“のれん機構”である場合には（ステップＳ３０，ｙｅｓ）、ステップＳ３１の条件（ｆ（ｘ’）−ｙ＞ｙ−ｇ（ｘ’））を満たす場合には（ステップＳ３１，ｙｅｓ）ｙ’＝ｇ（ｘ’）とする（ステップＳ３３）。満たさない場合には（ステップＳ３１，ｎｏ）ｙ’＝ｆ（ｘ’）とする（ステップＳ３２）。
【００３７】
一方、元に戻らない“のれん機構”である場合には（ステップＳ３０，ｎｏ）、ステップＳ３４の条件（ｆ（ｘ’）＞ｙ＞ｇ（ｘ’））を満たす場合には（ステップＳ３４，ｙｅｓ）ｙ’＝ｙとし（ステップＳ３５）、満たさない場合には（ステップＳ３４，ｎｏ）ステップＳ３１の処理に移る。
【００３８】
図４（ｂ）ではギアのみを選択した例を示したが、以下の説明では上記のような溝ジョイント機構を含む構成を解析対象とするものとし、図４（ａ）に示す全ての構成が選択されたものとして説明する。
これら構成を、３次元ＣＡＤシミュレーション機能により、駆動させる様子を図１０（ａ）〜（ｃ）に示す。
【００３９】
この例では、ギヤＡの回転を起点として、ギヤＢ，ギヤＣが回転し、最終的にギヤＣ上のピン６１と部品Ｄの溝６２との溝リレーション（図９で溝リレーション関係が求められている）に従って部品Ｄが回転する。この駆動動作をシミュレートする３次元ＣＡＤシミュレーション機能は、基本的には既存のシミュレータの機能により実現できるが（上記「物体形状・アセンブリ情報記憶部」１１、「物体位置・姿勢情報更新部」１３等が実現手段である）、ギヤＣ上のピン６１と部品Ｄの溝６２との連動による部品Ｄの動作は、上記図９の処理により溝ジョイント機構の駆動関節値のリレーション関係を求めてシミュレートする。
【００４０】
設計上は、例えば部品Ｄ上に設けた注視点が所望通りの軌跡を描くか否かが重要なポイントとなる。例えば、部品Ｄ上の注視点の部分が、不図示の溝に沿って移動するように設計されていた場合、最低限、この溝に衝突したりしないような軌跡を描くようにすることが重要となる（例えば後述する「設計仕様の指定範囲」内に収まるようにしなければならない）。しかしながら、各部品（ギア）毎に見た場合には各々所定の公差の範囲内に収まっていたとしても、所謂“累積公差”の影響により、注視点の動作が「設計仕様の指定範囲」内に収まるとは限らない。
【００４１】
以下に説明するように、本例のシステムを用いれば、ユーザ等は、注視点の動作が「設計仕様の指定範囲」に収まるようにする為に、各部品の公差をどのようにすべきかが、容易に分かるようになる。
まず、図１０で説明したようなシミュレーションを、図５で説明したようなアセンブリ母集団の各々について行う。例えば上記のように１００００個の要素数からなるアセンブリ母集団を作成した場合には、１００００回シミュレーションを実行する。
【００４２】
図１１は、このようにしてアセンブリ母集団の各々を駆動させた場合の注視点の軌跡の分布を図示した例である。
図示の例では、例えば公差部品操作ウィンドウ７０上で所望の（あるいは設計に従った）部品の回転量等をユーザが設定入力し、上記シミュレーションを実行させると、図示の右側に示す３次元図形グラフィック上での注視点の軌跡７２が描かれることになる。図では１本の軌跡７２が描かれているように見えるが、実際には、微妙に異なる例えば１００００本の軌跡が描かれることになる。
【００４３】
次に、公差部品操作ウィンドウ７０内の「分布画面表示」ボタン７１をクリックすると、図示の分布画面ウィンドウ８０が表示され、ユーザはウィンドウ８０上で所望の設定操作を行うことで、上記３次元の軌跡を所望の位置で切断して見た場合（透明な切断面上）の分布（注視点の位置の分布）が表示される。なお、この透明な切断面の向きは、注視点の回りで任意の方向（Ｘ軸／Ｙ軸／Ｚ軸）に取ることが出来る。上記３次元の軌跡をどの位置／方向で切断して見るのが良いかは、ユーザが経験等に基づいて判断する。また、注視点の位置も、ユーザが特に注目するもの（センサとの距離や他の部品との衝突等、機器が正常に動作する為に重要と思われる部品／位置）を設定しておく。
【００４４】
図示の分布画面ウィンドウ８０の右側には、注視点の軌跡のある断面（透明な断面）上に、基準値を中心に分布する様子を表示した状態を示している。このように、アセンブリ母集団の各個体は、基準点を中心とした統計分布をなす。
図１２は、分布画面ウィンドウ８０の拡大図である。
【００４５】
分布画面ウィンドウ８０の左側には、注視点設定領域８１、断面操作領域８２、許容範囲設定領域８３があり、これらの設定内容に応じて、右側に示す断面上での分布／設計仕様の指定範囲が表示される。
注視点設定領域８１では、解析対象となる注視点の選択（図示の例では＿ｗｃ０００２３という識別名で予め設定／管理されている注視点が選択されている）、及びこの注視点の上記軌跡上での断面の位置の指定（スライダ８５により設定する）が行われる。
【００４６】
断面操作領域８２では、上記注視点設定領域８１で設定した位置において、Ｘ軸、Ｙ軸、Ｚ軸の何れの方向の切断面とするのかを設定する。図示の例では、Ｘ軸方向の切断面としている。
許容範囲設定領域８３では、上記注視点設定領域８１で設定した位置における上記断面操作領域８２で設定した方向での切断面上における注視点のバラツキが許される範囲（基準点を中心に設計上許される範囲）を設定する。ここで設定される範囲が、右側に示す設計仕様の指定範囲８７であり、この範囲８７（矩形）内に表示される“点”が「設計上許されるアセンブリ母集団の個体群」を表す。
【００４７】
尚、これは一例であり、例えば右側の分布領域８６上でマウス等でグラフィカルに範囲を指定してもよいし、勿論、縦軸、横軸、及びそれらのmin,maxに対して数値入力も可能である。
また、尚、３次元の軌跡上のどの位置を切断面とするか、更にこの位置でＸ軸、Ｙ軸、Ｚ軸の何れの方向の切断面とするのかは、ユーザの経験や勘により決定される。
【００４８】
そして、「公差反映」ボタン８４をクリックすると、図１３に示す公差反映ウィンドウ９０が表示される。
ここで、アセンブリ母集団の各個体（図１２の右側の各点）に関するデータとして、図５の処理においてこれら各個体を生成した際の各部品（ギア等）の位置（上記のように公差範囲内でランダムにバラつかせたもの）のデータが格納されており、このデータを参照すれば、指定範囲８７内に存在するアセンブリ母集団の各個体について、上記各部品（ギア等）の位置（基準からのＸ軸／Ｙ軸／Ｚ軸方向へのズレ、及びθ；図４（ｂ）参照）が分かる。
【００４９】
よって、公差反映ウィンドウ９０上の公差設定リスト９１において、ユーザ等が、任意の部品名を選択し（図の例では各部品の基準座標系名が表示され、その中で＿ｗｃ０００１５が選択されている）、更に軸方向選択ボタン群９２より任意の軸方向を選択すると（図の例ではＸ軸方向）、表示領域９３に図示のような各点が表示される。この各点は、上記の例では、アセンブリ母集団の各個体についての部品＿ｗｃ０００１５のＸ軸方向の位置（基準からのズレ）を表す。そして、同図では分からないが、実際には、上記指定範囲８７内に存在するアセンブリ母集団の各個体についての点は、色を変えて表示される。
【００５０】
これによって、ユーザは、色が違う点が存在する範囲が容易に視認できるので、これを参照しながら組立公差を再設定できる。
あるいは、システム側で、図示のように、上記色が違う点の中でＸ軸方向の位置のＭＩＮ／ＭＡＸ値を検出して表示し、これを新たな組立公差とするようにしてもよい。これは、注視点に対して課した設計仕様値を満たす各アセンブリサンプルをメモリ上にて識別することで可能となる。
【００５１】
図示の例では、最初に指定してあった公差 [-0.1, 01]を、[-0.057576,0.079798]に再設定すべきことが表示される。これは、注視点の動作が指定範囲８７内に収まる様にする為には、部品＿ｗｃ０００１５のＸ軸方向の組立公差を上記[-0.057576,0.079798]に狭めなければならないことを意味する。
【００５２】
同様にして、Ｙ軸方向、Ｚ軸方向の公差を再設定する。また、他の部品についても同様にして公差を再設定する。
このようにして、本例のシステムを用いれば、注視点の動作が指定範囲８７内に収まる様にする為の各公差の最適値を得ることができる。
【００５３】
但し、こうして求めた公差許容範囲は、設計仕様を満たすための必要条件であって十分条件ではない。十分条件であることを確認するためには、上記図４（ｂ）の画面上で上記再設定した公差の値を用いて設定し直し、アセンブリ母集団を作り直して、上述した解析を繰り返す。
【００５４】
図１４は、以上説明した処理手順を示すフローチャート図である。これは、本例による第１の公差許容範囲逆解析法を示す図であるともいえる。
同図において、まず、上記図４（ｂ）で説明したように、各部品の組立公差を設定する（ステップＳ４１）。
【００５５】
次に、各部品の組立位置をステップＳ４１で設定した組立公差の範囲内でランダムに振らせて確率分布の個体群を作成する。すなわち、モンテカルロ法によるアセンブリ母集団を作成する（ステップＳ４２）。
そして、ステップＳ４２で作成した各アセンブリ個体に対して、実際の取付け位置を再現する座標変換を実行する。これより、既に説明してあるように、組み付け状態が微妙に異なったＮ個のアセンブリ個体群が作成される（ステップＳ４３）。
【００５６】
尚、溝・ガタ機構がある場合には、図９に示す処理により、各個体毎のリレーション関係を算出する。
次に、図１１で説明したように、上記組み付け状態が微妙に異なったＮ個の各アセンブリ個体毎に、３次元ＣＡＤシミュレーション機能等により上述した指定範囲内での駆動を実行して、注視点の軌跡分布（Ｎ通りの軌跡）を描画させる（ステップＳ４４）。そして、図１２の分布画面ウィンドウ８０で説明したように、ユーザ等の指定に応じてこの軌跡分布を任意の位置で切断した断面図を表示する。すなわち、軌跡分布を２次元上のポイント（点）として表示する（ステップＳ４５）。そして、ユーザ等は、図１２で説明した「設計仕様の指定範囲」８７を設定する（ステップＳ４６）。尚、この指定範囲８７は、設計仕様上予め決まっている場合、予め設定／登録されているものを読み出して指定範囲８７とするものであってもよい。この場合、ユーザは、逐一指定する手間が省ける。
【００５７】
システムは、上記ユーザにより設定された「設計仕様の指定範囲」８７の範囲内に存在するアセンブリ個体をメモリ上にて選別し（ステップＳ４７）、図１３の公差反映ウィンドウ９０で説明したように、選別したアセンブリ個体を、組立公差分布内にて、他のサンプル（アセンブリ個体）とは違った色で表示する（ステップＳ４８）。
【００５８】
これは、例えば、各アセンブリ個体には生成時に識別符号が割り当てられており、メモリ上では各識別符号に対応付けてそのアセンブリ個体を生成したときの各部品の組み付け状態（Ｘ軸／Ｙ軸／Ｚ軸方向のズレ、及びθ）が格納／管理されている。一方、各軌跡（断面図上では“点”）のデータの中には、それを描き出したアセンブリ個体の識別符号が含まれている。これより、「設計仕様の指定範囲」８７の範囲内に存在するアセンブリ個体の識別符号が分かるので、メモリ上にて、当該識別符号と一致するデータを検索／抽出することができるので、これより、図１３でも説明したように、ユーザが指定した部品／軸方向における全てのアセンブリ個体のバラツキ分布の中で、上記「設計仕様の指定範囲」８７の範囲内に存在するアセンブリ個体のものが区別できるように（例えば違った色で）表示することができる。
【００５９】
次のステップＳ４９の処理は、上記“十分条件”を満たすか否かを確認するために後述する２回目以降の処理を行った際に必要な判定処理であるので、ここでは説明せず、次のステップＳ５１の処理について説明する。
ステップＳ５１の処理は、上記図１３で説明したＭＩＮ／ＭＡＸを表示する処理であり、この各部品毎／軸方向毎に表示されるＭＩＮ／ＭＡＸの値を、新たな組立公差として（ステップＳ５２）ステップＳ４１に戻り上述した処理を繰り返す（２回目以降の処理を行う）。この２回目以降の処理は、組立公差の値が変わったこと以外は、１回目の処理と同じとする。
【００６０】
これより、２回目の処理におけるステップＳ４８の表示は、例えば図１３の例では[-0.057576, 0.079798] の範囲内に全てのアセンブリ個体が表示されると共に、上記“十分条件”を満たしていた場合には全てのアセンブリ個体が「設計仕様の指定範囲」８７の範囲内に存在しているはずであるので、全て同一色で表示されるはずである。よって、全てのサンプルが同一色で表示された場合には（ステップＳ４９，ＹＥＳ）、上記新たな組立公差が“十分条件”を満たしていることが確認できたので、当該処理を終了する（ステップＳ５０）。
【００６１】
一方、全てのサンプルが同一色で表示されない場合（ステップＳ４９，ＮＯ）、すなわち「設計仕様の指定範囲」８７の範囲外に表示されたアセンブリ個体が存在した場合には、上記１回目の処理のときと同様にＭＩＮ／ＭＡＸを表示し、これより新たな組立公差を設定し直して、３回目の処理へと移行する。
【００６２】
このように、本例のシステムを用いれば、ユーザは、注視点の動作が設計仕様を満たすようにするのに各部品の組立公差をどのように設定すべきかを、容易に決めることができる。
次に、以下に、第２の公差許容範囲逆解析法について説明する。
【００６３】
上述した第１の公差許容範囲逆解析法では、２回目以降の処理が、最初から（すなわち組立公差として再設定してモンテカルロ法によるアセンブリ個体群の生成するところから）処理をやり直すものとなっている為、ユーザにとって処理待ち時間が長くなり、特に何度も解析を繰り返す場合には作業効率が良いとは言えないものであった。
【００６４】
これに対して、第２の公差許容範囲逆解析法では、作業効率を上げるため、以下に説明するように組立公差の再設定結果をＧＵＩ上ですぐに反映できるようにしている。すなわち、各部品の組立公差を変更したとき、モンテカルロ法によるアセンブリ個体群の生成等は行わずに、即座に、変更後の組立公差を満たすアセンブリ個体が設計仕様を満たすか否かの判定を行い表示する。
【００６５】
図１５は、第２の公差許容範囲逆解析法の処理手順を説明する為のフローチャート図である。
同図において、ステップＳ６１〜Ｓ６７の処理は、図１４のステップＳ４１〜Ｓ４７の処理と同じであるので、説明は省略する。また、ステップＳ６８の処理も、図１４のステップＳ５１の処理とほぼ同様にして、設計仕様を満たす各アセンブリ個体に属するデータ（それを生成したときの各部品毎の軸方向毎の“振れ”の値）に基づいて、各部品毎／軸方向毎にＭＩＮ／ＭＡＸ値を算出する。
【００６６】
次に、各部品毎／軸方向毎の組立公差を、上記算出したＭＩＮ／ＭＡＸ値に置き換える。そして、全てのアセンブリ個体各々についてそれが属するデータ（上記各部品毎の軸方向毎の“振れ”の値）を参照して、その全てが上記新たな組立公差の範囲内にあるアセンブリ個体を抽出（選択）する（ステップＳ６９）。
【００６７】
そして、ステップＳ６９で抽出したアセンブリ個体の中で、「設計仕様の指定範囲」８７の範囲内に存在するアセンブリ個体を選別する（ステップＳ７０）。
仮に上記算出したＭＩＮ／ＭＡＸ値が、図１４で説明した“十分条件”を満たすものであるならば、ステップＳ６９で抽出したアセンブリ個体は、全て、「設計仕様の指定範囲」８７を満たすものであるはずである。よって、ステップＳ７１において、ステップＳ６９で抽出したアセンブリ個体が全て「設計仕様の指定範囲」８７を満たすものか否かを判定し、満たすものであるならば（ステップＳ７１，ＹＥＳ）、当該公差解析処理を終了する（ステップＳ７３）。
【００６８】
一方、ステップＳ６９で抽出したアセンブリ個体の中に「設計仕様の指定範囲」８７を満たさないものが存在する場合には（ステップＳ７１，ＮＯ）、各部品毎／軸方向毎の組立公差を新たに設定してステップＳ６９〜Ｓ７１の処理を繰り返す。
【００６９】
この新たな組立公差の設定は、基本的には、上記ＭＩＮ／ＭＡＸ値を基準にしながらユーザが試行錯誤して判断し決定するものであるが、本例によるシステムでは、図１６に示すＧＵＩを提供することで、このユーザの判断作業がやり易くなるように支援する。
【００７０】
上記新たな組立公差の変更設定作業の際には、図１６に示すような組立公差調整画面１００と分布画面１１０とが表示される。組立公差調整画面１００上で設定を行った結果は、直ちに、分布画面１１０上で反映されるようになっている。
組立公差調整画面１００上では、部品毎／軸方向毎に組立公差（図では最小値、最大値と表示している）を調整することもできるし、全部品の組立公差を一律調整することもできる。すなわち、組立公差調整画面１００上では、まず、上記ステップＳ６８の処理結果を受けて、部品毎／軸方向毎のＭＩＮ／ＭＡＸ値を、公差設定リスト１０１として表示する。ユーザが、上記ステップＳ７２において新たな組立公差を設定する際には、まず、組立公差調整画面１００上で一括操作１０２か個別操作１０３かを選択する。
【００７１】
一括操作１０２を選択した場合には、最小値／最大値１０４のどちらを変更するかを選択した後、比率１０５を入力する。例えば、最大値を選択して比率１０５を９０％とした場合には、公差設定リスト１０１に表示される各部品毎／軸方向毎の組立公差の値に一括して０．９を乗じた値が、新たな組立公差として設定されることになる。
【００７２】
個別操作１０３を選択した場合には、公差設定リスト１０１上で設定対象を指定し（図示の例では＿ｗｃ００１１０のＸ軸方向）、最小値／最大値１０６のどちらを変更するかを選択した後、新たな値を設定する（これは、直接数値を入力してもよいし、マウスを用いてスライダ１０７を左右に動かして設定してもよい）。
【００７３】
このようにして組立公差調整画面１００上で組立公差を変更した結果、注視点の分布が変わるが、これは分布画面１１０上の断面図１１１上に即座に反映される。その際、図では表すことができないが、実際の表示画面では、組立公差変更前の注視点の分布もそのまま表示すると共に、組立公差変更後の注視点の分布を色違いで表示する（例えば変更前のものは緑色の点、変更後のものはピンク色の点として表示する）。これにより、組立公差の変更前／後で注視点の分布がどの様に変化したのか把握し易くなる。更に、変更後の注視点の分布について、図示の様に、縦軸および横軸への投影分布（ヒストグラム）１１２を表示することにより、分布の中心からの偏りや許容範囲外の分布が把握し易くなる。また、図示の反映点数１１３のように許容範囲内に入っている点の数を表示したり、（図示していないが）許容範囲外の点の数を表示することにより、公差を絞り込んだときの影響がすぐに分かる。
【００７４】
また、分布画面１１０上には、分布画面ウィンドウ８０の許容範囲設定領域８３とこの領域８３における設定内容に応じて表示される設計仕様の指定範囲８７と同様に、許容範囲設定領域１１５とこの領域１１５における設定内容に応じて表示される設計仕様の指定範囲１１４がある。
【００７５】
上記図１６では、組立公差調整画面１１０での公差範囲の設定を、基本的にはユーザが試行錯誤して行うが、この試行錯誤して設定した結果が即座に把握し易くなるような表示形態で表示させることで、作業効率の向上を図れるものであるが、更にこの試行錯誤して設定値を判断するときに、どの部品の公差を絞り込むのが最も効果的かという指標があれば、この試行錯誤の作業を大幅に軽減できる。そこで、各部品の組立公差と注視点分布状況との関係を調べ、注視点を許容範囲内に収めるのにもっとも影響の大きい部品／軸方向を抽出する。
【００７６】
具体的には、例えば、図１６の組立公差調整画面１１０は、図示の「範囲操作」、「感度解析」、「表示設定」の項目の中で「範囲操作」を選択しているときの表示画面を示しているが、「感度解析」を選択すると、特に図示しないが、各部品それぞれに対する組立公差の変化量（一定量）を設定する画面が表示され、この設定内容に応じて上記「感度解析部」１６により図１７に示す処理が実行され、この処理結果が、公差設定リスト１０１内の右側に示す「感度解析結果」として表示される。ここで“一定量”とは、例えば、0.01mmとか設定した公差の１０％などである。
【００７７】
図１７は、この感度解析処理を説明する為のフローチャート図である。
上記のように組立公差の変化量（一定量）が設定されると、各部品／軸方向の中から、１つずつ選択し、選択する毎に、選択した部品／軸方向の組立公差を一定量変化させたときの注視点の分布状況を算出する。また、組立公差変更前の注視点の分布状況を記憶しておく。そして、これら組立公差の変更前／後の注視点の分布状況を比較して、「設計仕様を満たさないアセンブリ個体数の変化量α」、「設計仕様を満たすアセンブリ個体数の変化量β」を各々算出し、
感度Ａ＝α÷β
を算出する（ステップＳ８１）。
【００７８】
この感度Ａを、公差設定リスト１０１内の右側に示す「感度解析結果」として表示する（ステップＳ８２）。
上記感度Ａを算出した部品／軸方向の組立公差の値は変更前に戻し、次の部品／軸方向を選択して同様にして感度Ａを算出／表示する。このようにして全ての部品／軸方向について感度Ａを算出／表示したら処理を終了する。
【００７９】
ここで、公差を調整して範囲を絞り込むときは、許容範囲外の点を減らすことが大きな指標であるが、同時に許容範囲内の点はできるだけ残しておく必要がある。上記感度Ａの算出式を見れば明らかなように、感度Ａの値は、許容範囲外の点が多く減るほど、許容範囲内の点が多く残るほど、その値は大きくなる。
【００８０】
つまり、感度Ａが最も大きい（高い）部品／軸方向が、注視点分布を許容範囲内に収めるのにもっとも影響の大きい部品／軸方向ということになる。
よって、ユーザは、公差設定リスト１０１内の右側に示す「感度解析結果」の表示より、感度Ａの値が大きい部品／軸方向の組立公差を優先的に変更するようにすれば、作業効率の向上を図れる。
【００８１】
上述した感度解析法では、どの部品の組立公差を調整すればよいかはわかるが、どのくらい調整すればよいかはわからない。そこで、ある程度最適な調整量を自動的に計算してユーザに提示し、ユーザはこれをもとに微調整を行えばよいだけにする。これを実現するのが、上記「感度解析公差反映部」１７である。
【００８２】
この「感度解析公差反映部」１７に実行される処理の概略フローチャートを図１５に示す。まず、“設計仕様を満たさないアセンブリ個体（許容範囲１１４外の点）”を除去する最適な公差範囲を計算する。これは、各部品の組立公差を変更し、“設計仕様を満たさないアセンブリ個体（許容範囲１１４外の点）”が取り除かれるまで絞っていく（“取り除かれる”とは許容範囲１１４外のエリアから取り除かれること、すなわち許容範囲１１４内に入るようにすることを意味し、“絞る”とは、組立公差の幅を狭める、という意味である）。このとき、次の値を感度として使用する（上記感度Ａと区別し、感度Ｗと呼ぶ）。
【００８３】
感度Ｗ＝  感度Ａ÷「修正比率」
（但し、修正比率 ＝ 「組立公差を狭める幅（調整量）」÷「組立公差の幅（組立公差調整画面１００上で入力した最大値から最小値の幅）」）
上記感度Ｗの算出は、“設計仕様を満たさないアセンブリ個体（許容範囲１１４外の点）”の各々を順次対象として、それぞれ、各部品／軸方向毎に、少なくともそのアセンブリ個体は“取り除かれる”ようにする新たな組立公差（調整量）を設定しつつ、感度Ｗを計算する（ステップＳ９１）。また、各々の感度Ｗとそのときの組立公差（調整量）は記憶しておく。この処理の詳細は図１９に示す。
【００８４】
これにより、記憶してある全ての組立公差（調整量）を用いて組立公差を修正すれば、許容範囲外の点はなくなる。しかし、冗長性があるので、記憶してある感度の中で値の大きなものから順にそれに対応する組立公差（調整量）を用いて組立公差を修正していき、許容範囲内にすべて収まるまで、これを繰り返す。
【００８５】
つまり、上記算出した各感度Ｗの中でまず最も大きな値を持つものを選択し、それに対応する組立公差（調整量）を用いた場合に全てのアセンブリ個体が設計仕様を満たすようになるか判定し、満たさない場合には２番目に大きな値の感度Ｗに対応する組立公差（調整量）も加えて上記判定を行い、これを全てのアセンブリ個体が設計仕様を満たすようになるまで繰り返す（ステップＳ９２）。この処理の詳細は図１９に示す。
【００８６】
上記処理の詳細フローチャートを図１９に示す。
同図に示す処理を説明する前に、その前提について説明しておく。
まず、部品の数はＭ個であるとする。このＭ個の部品の各々の最初に設定される組立公差をＣ1、Ｃ2、・・・ＣM で表す。この組立公差に基づいて図１５のステップＳ６２でモンテカルロ法により生成されたＮ個（例えば上記例では１００００個）のアセンブリ個体をＡ1、Ａ2、・・・ＡNで表す。また、図１５のステップＳ６９の処理で最大値／最小値に置き換えられた新たな組立公差をＣ'1、Ｃ'2、・・・Ｃ'Mで表す。また、このステップＳ６９で選択されたアセンブリ個体、すなわち新たな組立公差をＣ'1、Ｃ'2、・・・Ｃ'Mを満たすアセンブリ個体（その数はＬ個であったとする）の番号をｐ1、ｐ2、・・・ｐLで表す。例えば、極く簡単な例で言って、ステップＳ６９で選択されたアセンブリ個体がＡ7、Ａ29、Ａ69の３つ（Ｌ＝３）であったとすると、ｐ1＝７、ｐ2＝２９、ｐ3＝６９ということになる。そして、このｐ1、ｐ2、・・・ｐLの中でステップＳ７０の処理で選別されなかったもの、すなわち設計仕様を満たさないものを（その数はｔ個であったとする）の番号をｇ1、ｇ2、・・・ｇt （ｇは１〜Ｌの中の数字）で表す。例えば、ｐ1、ｐ2、・・・ｐLの中でｐ3、ｐ6、ｐ8 の３つが該当するものであったとすると、ｇ1＝３、ｇ2＝６、ｇ3＝８ということになる。
【００８７】
以上の事から、まず、図１９に示す処理のうち、ステップＳ１０１〜１０９の処理は、ステップＳ７０の処理で選別されなかったもの、すなわち新たな組立公差は満たすが設計仕様を満たさないアセンブリ個体の各々を対象にして、１つずつ、順次、処理を繰り返していくものであることが分かるであろう。
【００８８】
但し、メモリ上では、設計仕様を満たさないアセンブリ個体をｇ1、ｇ2、・・・ｇtで管理しているので、これに対応するアセンブリ個体番号を求める必要がある為、ステップＳ１０２でｊ＝ｇi とし、ステップＳ１０４で処理対象となるアセンブリ個体Ｐjを指定している。例えば上記の例を用いれば、最初は、ステップＳ１０１でｉに初期値＝１を代入されているので、ｇ1＝３ であることから、ステップＳ１０２でｊ＝３となり、番号ｐ3のアセンブリ個体（上記例ではＡ69）がステップＳ１０４の処理対象となる。
【００８９】
ステップＳ１０４では、まず、上記処理対象となるアセンブリ個体に関して、これを生成した際の各部品の組み付け位置データを読み出して（生成時にメモリに格納してある）、各部品ｕ（部品座標ｕ）毎にこの組み付け位置データを用いて仮の組立公差を設定する。これを、具体例を挙げて説明すると、部品ｕは、例えばｕ＝１はギアＡ、ｕ＝２はギアＢ、ｕ＝３はギアＣ、ｕ＝４は部品Ｄを意味するものとする（よって、この場合、Ｍは４である）。これより、ｕ＝５となるまで、ｕ＝１〜４の各々の部品について、ステップＳ１０４〜Ｓ１０６の処理を繰り返すことになる。また、処理対象は、上記例の場合、ｉ＝１のとき、アセンブリ個体ｐ3であり、ギアＡの組立公差、及びアセンブリ個体ｐ3のギアＡの組み付け位置は、ここではｘ軸方向のみ例にすると、組立公差は最小値＝-1.0、最大値＝+1.0であり、組み付け位置は+0.6であったとすると、今回の処理対象であるアセンブリ個体ｐ3に対する上記仮の組立公差は、最小値＝-1.0、最大値＝+0.6となる。この例では上記修正比率＝ 「組立公差を狭める幅（調整量）」÷「組立公差の幅」は、「組立公差を狭める幅（調整量）」が0.4、「組立公差の幅」が2.0であるので、０．２となる。同様の処理は、ｙ軸方向、ｚ軸方向、θの各々についても行う。これより、更に、上記ステップＳ８１の処理の場合と同様にして、全てのアセンブリ個体の中で全ての部品の組立公差（ここでは、ギアＡは上記仮の組立公差となり、他の部品の組立公差は元のまま）を満たすアセンブリ個体を選択し、選択したアセンブリ個体の中で「設計仕様を満たすものの数の変化量」と「設計仕様を満たさないものの数の変化量」を求めることで、上記感度Ａを算出する。  以上の事より、感度Ｗ＝感度Ａ÷「修正比率」が算出できる。ここでは、部品ｕに関する感度Ｗを感度Ｗuと表現するものとし、最初はｕ＝１の部品が対象なので感度Ｗ1 が算出されることになる。
【００９０】
以上が、ステップＳ１０４の処理であり、この感度Ｗu をｕ＝１〜Ｍの各々について算出する。上記の例では、感度Ｗ1、Ｗ2、Ｗ3、Ｗ4が算出される。
次に、ステップＳ１０７の処理により、上記算出した感度Ｗ1〜ＷMの中の最大値をＶiとする。そして、ｉを＋１インクリメントし（ステップＳ１０８）、ｇ1〜ｇtまでの全てについて上記処理を行ってＶ1〜Ｖtが得られるまで（ステップＳ１０９）上述した処理を繰り返し行う。
【００９１】
ここで、上記ｉ＝１の場合のステップＳ１０４の処理の際には、アセンブリ個体ｐ3 を生成した際の部品の組み付け位置を仮の組立公差に使用しているので、少なくともアセンブリ個体ｐ3 については設計仕様を満たすものへと変わることになる。よって、ｇ1〜ｇtの全てについて、その組み付け位置を用いて仮の組立公差（調整量）を決定し、これらを全てまとめて新たな組立公差を設定すれば、設計仕様を満たさなかったアセンブリ個体（ｇ1〜ｇt）は全て、設計仕様を満たすものへと変わることになる。この事が、上述した「記憶してある全ての組立公差（調整量）を用いて組立公差を修正すれば、許容範囲外の点はなくなる。」と言っている意味である。しかしながら、これでは、確実に許容範囲外の点はなくなる一方で、冗長性がある、すなわち組立公差が不当に狭くなり過ぎる可能性がある。
【００９２】
よって、いきなり上記仮の組立公差（調整量）全てを用いて組立公差を修正するのではなく、１つづつ用いて順次修正を加えながら、その都度、許容範囲外の点が無くなったか否か判定し、許容範囲外の点が無くなったら処理を終了し、その時点までに修正された組立公差が、上記「ある程度最適な調整」が行われた組立公差ということになる。上記「１つずつ用いて順次」の順番は、感度Ｗの高いものから順番にするのが望ましい。以上述べたことが、図１９のステップＳ１１１〜ステップＳ１１４の処理である。
【００９３】
但し、本例では、ステップＳ１１１の処理の前に、ステップＳ１１０において、Ｖ1〜Ｖtの中で、ステップＳ１０７で記憶された部品座標が同じであるものがある場合（例えばＶ1とＶ2はどちらもステップＳ１０７の処理においてＷ1〜ＷMの中で最大値がＷ1であった為、このときの部品ｕ＝１が記録されていた場合）、調整量が最も小さいものを採用する。
【００９４】
そして、まず最初に、Ｖ1〜Ｖtの中で（但し、ステップＳ１１０で採用されなかったものは除く）最も値が大きい（最も感度が高い）ものを選び（ステップＳ１１１）、これに対応する仮の組立公差（ステップＳ１０７で対応付けて記憶されている）を用いて組立公差を修正し、全てのアセンブリ個体の中でこの新たな組立公差を満たすアセンブリ個体を選択し、選択したアセンブリ個体が全て設計仕様を満たすものとなったか否かを判定する（ステップＳ１１３）。全て設計仕様を満たすものとならなかった場合には（ステップＳ１１３，ＮＯ）、２番目に感度が高いものを選択し（ステップＳ１１４）、これに対応する仮の組立公差を用いて上記と同様に組立公差を修正する。但し、最も感度が高いものにより修正した組立公差はそのまま残しておくのであり、これに加えて更に他の組立公差を修正していくのである。そして、上記ステップＳ１１３の判定を行い、判定がＮＯであった場合には更に３番目に感度が高いもの、４番目に感度が高いものというように順次選択していき、組立公差の修正を加えていく。
【００９５】
全て設計仕様を満たすものとなったら（ステップＳ１１３，ＹＥＳ）当該処理を終了し、そのときの組立公差（修正後の組立公差）または修正に用いた調整量をユーザに提示する等する。これよりユーザは、「ある程度最適な調整」が行われた組立公差またはその調整量を参照して、微調整を行えばよく、最適な組立公差を決めるのに試行錯誤して判断する手間が掛からなくなり、最適な組立公差決定の為の作業効率が大幅に向上することが期待できる。
【００９６】
以上説明したような本発明による組立公差解析システム／方法は、上記図８、図１４、図１５、図１７、図１８、図１９等のフローチャートで示したプログラムが格納された情報処理装置、または外部からこの情報処理装置に上記プログラムをダウンロードすることで実現可能である。
【００９７】
図２０は、このような本発明を実現するためのプログラムの情報処理装置へのローディングを説明する為の図である。
同図において、本発明の組立公差解析システム／方法を実現するための情報処理装置（コンピュータ）１２１は、本体１２２とメモリ１２３等より構成される。メモリ１２３は、ランダムアクセスメモリ（ＲＡＭ）、ハードディスク、磁気ディスク等の記憶装置であり、例えば図２のＲＡＭ２３／記憶装置２２に相当する構成である。
【００９８】
このようなメモリ１２３に上記図８、図１４、図１５、図１７、図１８、図１９等のフローチャートで示したプログラムが格納され、このプログラムが本体１２２（ＣＰＵ２１等）によって実行されることによって、上述した本発明の組立公差解析システム／方法の各種処理機能が実現される。
【００９９】
また、このようなプログラムは、プログラム提供者側の情報処理装置（サーバ等）１３０からネットワーク１２４を介して情報処理装置１２１にダウンロードする形態であってもよいし、あるいは上記プログラムが記録されて市販され流通している可搬記憶媒体１２５を、情報処理装置１２１にセットして、本体１２２によって実行されることで、上述した本発明の組立公差解析システム／方法の各種処理機能が実現される形態であってもよい。
【０１００】
尚、可搬記憶媒体１２５としては、例えばＣＤ−ＲＯＭ、フロッピーディスク、光ディスク、光磁気ディスク等様々であってよい。
（付記１）  組立公差を解析する装置であって、
解析対象を構成する各部品の形状・アセンブリ情報を格納する物体形状・アセンブリ情報記憶手段と、
解析対象を構成する各部品の組立公差の初期設定値に基づいてモンテカルロ法により各部品取り付け位置が微妙に異なるアセンブリサンプルの母集団を作成する、モンテカルロ法による母集団作成手段と、
該モンテカルロ法による母集団作成手段により求められたアセンブリサンプル毎にその部品取り付け位置での解析対象の動作を、前記形状・アセンブリ情報を用いてシミュレートし、任意の注視点の動作軌跡を求めるシミュレーション手段と、
該複数の動作軌跡の中で前記注視点に課される設計仕様範囲で動作する軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの各部品取り付け位置に基づいて、新たな組立公差を決定する公差許容範囲逆解析手段と、
を有することを特徴とする組立公差解析装置。
【０１０１】
（付記２）  前記シミュレーションにおいて溝の遊び・ガタ機構を厳密に再現するヒステリシス解析手段を更に有することを特徴とする付記１記載の組立公差解析装置。
（付記３）  前記公差許容範囲逆解析手段は、前記動作軌跡上の任意の位置で該動作軌跡を２次元的な断面図上に描画し、該２次元断面図上で前記設計仕様範囲を設定させて前記選別を行うことを特徴とする付記１または２記載の組立公差解析装置。
【０１０２】
（付記４）  前記公差許容範囲逆解析手段により決定された新たな組立公差を用いて、再度、前記モンテカルロ法による母集団作成手段、シミュレーション手段による処理を実行し、全ての動作軌跡が前記設計仕様範囲にあるか否かを判定することをことを特徴とする付記１〜３の何れかに記載の組立公差解析装置。
【０１０３】
（付記５）  前記アセンブリサンプルの中で自己の各部品取り付け位置が前記新たな組立公差を満たすアセンブリサンプルを選別し、該選別したアセンブリサンプルに対応する動作軌跡が全て前記設計仕様範囲にあるか否かを判定することをことを特徴とする付記１〜３の何れかに記載の組立公差解析装置。
【０１０４】
（付記６）  前記２次元的な断面図上に描画された動作軌跡分布の投影分布を表示する手段を更に有することを特徴とする付記５記載の組立公差解析装置。
（付記７）  前記設計仕様範囲外の動作軌跡が存在する場合、更に新たな組立公差を設定する際、各部品の組立公差の変更が、該設計仕様範囲外の動作軌跡を無くすのにどの程度寄与するかを示す感度を算出して表示する感度解析手段を更に有することを特徴とする付記５または６記載の組立公差解析装置。
【０１０５】
（付記８）  前記感度解析手段は、各部品の組立公差を一定量小さくした際の設計仕様範囲外の動作軌跡数の変化量と設計仕様範囲外の動作軌跡数の変化量との比率を感度とすることを特徴とする付記７記載の組立公差解析装置。
（付記９）  前記設計仕様範囲外の動作軌跡が存在する場合、更に新たな組立公差を設定する際、該設計仕様範囲外の動作軌跡を無くすのに必要な各部品の組立公差の変更量を算出／提示する感度解析公差反映手段を更に有することを特徴とする付記５または６記載の組立公差解析装置。
【０１０６】
（付記１０）  前記感度解析公差反映手段は、前記設計仕様範囲外の動作軌跡毎に、少なくともその動作軌跡は設計仕様範囲内となるようにする組立公差の調整量を求めると共に感度を算出し、該感度が高いものから順にその調整量を用いて組立公差を修正していくことで前記変更量を求めることを特徴とする付記９記載の組立公差解析装置。
【０１０７】
（付記１１）  前記解析対象を構成する各部品の組立公差を入力／変更させる組立公差入力画面と、
前記２次元的な断面図と該２次元的な断面図上に描画された動作軌跡分布の投影分布を表示する分布画面とを表示し、
該組立公差入力画面上での組立公差の入力／変更は、直ちに分布画面の動作軌跡分布、投影分布の表示に反映されることを特徴とする付記６記載の組立公差解析装置。
【０１０８】
（付記１２）  前記モンテカルロ法で作成される母集団の確率分布として、矩形分布または正規分布あるいはベータ分布を取ることを特徴とする付記１記載の組立公差解析装置。
（付記１３）  解析対象を構成する各部品の組立公差の初期設定値に基づいてモンテカルロ法により各部品取り付け位置が微妙に異なるアセンブリサンプルの母集団を作成し、
該アセンブリサンプル毎にその部品取り付け位置での解析対象の動作を、前記形状・アセンブリ情報を用いてシミュレートし、任意の注視点の動作軌跡を求め、
該複数の動作軌跡の中で前記注視点に課される設計仕様範囲内にある軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの各部品取り付け位置に基づいて、新たな組立公差を決定することを特徴とする組立公差解析方法。
【０１０９】
（付記１４）  前記アセンブリサンプルの中で自己の各部品取り付け位置が前記新たな組立公差を満たすアセンブリサンプルを選別し、該選別したアセンブリサンプルに対応する動作軌跡が全て前記設計仕様範囲にあるか否かを判定することを特徴とする付記１３記載の組立公差解析方法。
【０１１０】
（付記１５）  前記解析対象を構成する各部品の組立公差を一定量小さくした際の前記設計仕様範囲外の動作軌跡数の変化量と設計仕様範囲外の動作軌跡数の変化量との比率を感度として提示することを特徴とする付記１４記載の組立公差解析方法。
【０１１１】
（付記１６）  前記設計仕様範囲外の動作軌跡が存在する場合、更に新たな組立公差を設定する際、該設計仕様範囲外の動作軌跡を無くすのに必要な各部品の組立公差の変更量を算出／提示することを特徴とする付記１４記載の組立公差解析方法。
【０１１２】
（付記１７）  コンピュータに、
解析対象を構成する各部品の組立公差の初期設定値に基づいてモンテカルロ法により各部品取り付け位置が微妙に異なるアセンブリサンプルの母集団を作成する機能と、
該アセンブリサンプル毎にその部品取り付け位置での解析対象の動作を、前記形状・アセンブリ情報を用いてシミュレートし、任意の注視点の動作軌跡を求める機能と、
該複数の動作軌跡の中で前記注視点に課される設計仕様範囲内にある軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの各部品取り付け位置に基づいて、新たな組立公差を決定する機能と、
を実現させるためのプログラム。
【０１１３】
（付記１８）  コンピュータに、
前記解析対象を構成する各部品の組立公差を一定量小さくした際の前記設計仕様範囲外の動作軌跡数の変化量と設計仕様範囲外の動作軌跡数の変化量との比率を感度として提示する機能を更に実現させるための付記１７記載のプログラム。
【０１１４】
（付記１９）  コンピュータに、
前記設計仕様範囲外の動作軌跡が存在する場合、更に新たな組立公差を設定する際、該設計仕様範囲外の動作軌跡を無くすのに必要な各部品の組立公差の変更量を算出／提示する機能を更に実現させるための付記１７記載のプログラム。
【０１１５】
（付記２０）  コンピュータにおいて用いられたとき、
解析対象を構成する各部品の組立公差の初期設定値に基づいてモンテカルロ法により各部品取り付け位置が微妙に異なるアセンブリサンプルの母集団を作成する機能と、
該アセンブリサンプル毎にその部品取り付け位置での解析対象の動作を、前記形状・アセンブリ情報を用いてシミュレートし、任意の注視点の動作軌跡を求める機能と、
該複数の動作軌跡の中で前記注視点に課される設計仕様範囲内にある軌跡を選別し、該選別した軌跡に対応するアセンブリサンプルの各部品取り付け位置に基づいて、新たな組立公差を決定する機能と、
を実現させるプログラムを記録した前記コンピュータ読取り可能な記録媒体。
【０１１６】
【発明の効果】
以上、詳細に説明したように、本発明の組立公差解析装置によれば、モンテカルロ法に基づく逆解析により、コンピュータ上に構築された３次元機構アセンブリモデルを構成する各部品（パーツ）の最適な組立公差を求めることを支援することができる。また、この逆解析の処理速度を向上させ、更にユーザ・フレンドリーなＧＵＩを提供することで、ユーザが最適な組立公差を求める作業効率を向上させることができる。また、どの部品の組立公差が、注視点の動作を設計仕様範囲内に絞り込むのにどの程度寄与しているか（これを感度と呼ぶ）を求めて提示することで、上記ユーザの作業効率を更に向上させることができる。更に、組立公差の調整量について、ある程度最適な調整量を自動的に計算してユーザに提示し、ユーザはこれをもとに微調整を行えばよいだけにでき、上記ユーザの作業効率を更に向上させることができる。
【０１１７】
本発明は、量産機械製品の歩留まりを向上させ、機械設計の信頼度を高めるために貢献する技術である。
【図面の簡単な説明】
【図１】実施の形態による組立公差解析システムの機能ブロック図である。
【図２】組立公差解析システムを実現する情報処理装置の基本的なハードウェア構成図である。
【図３】組立公差設定画面の一例を示す図である。
【図４】（ａ）は組立公差設定ボックス４０、（ｂ）は次に表示される設定画面である。
【図５】モンテカルロ法による、アセンブリ状態の母集団作成処理を説明する為のフローチャート図である。
【図６】溝ジョイント機構（遊び・ガタが存在する）の簡単な例を示す図である。
【図７】（ａ）〜（ｃ）は、駆動関節・従動関節の関係の一例をグラフで示す図である。
【図８】ガタがある溝機構や、元に戻る／戻らないのれん機構の一例を示す図である。
【図９】ガタがある溝機構や、元に戻る／戻らないのれん機構について、駆動関節が移動した際の対応する従動関節値を求める処理を示すフローチャート図である。
【図１０】（ａ）〜（ｃ）は、溝ジョイント機構を含む構成をシミュレーションにより駆動させる様子を示す図である。
【図１１】シミュレーションによりアセンブリ母集団の各々を駆動させた場合の注視点の軌跡の分布を表示させた例である。
【図１２】分布画面ウィンドウの拡大図である。
【図１３】公差反映ウィンドウの一例を示す図である。
【図１４】第１の公差許容範囲逆解析法による処理を説明する為のフローチャート図である。
【図１５】第２の公差許容範囲逆解析法による処理を説明する為のフローチャート図である。
【図１６】適切な組立公差の判断／設定作業がやり易くなるようにするＧＵＩの一例を示す図である。
【図１７】感度解析部による処理を説明する為のフローチャート図である。
【図１８】感度解析公差反映部による処理を説明する為のフローチャート図である。
【図１９】図１８の処理の詳細フローチャート図である。
【図２０】本発明を実現する為のプログラムのコンピュータへのローディングを説明する為の図である。
【符号の説明】
１０  組立公差解析システム
１１  物体形状・アセンブリ情報記憶部
１２  モンテカルロ法による母集団作成部
１３  物体位置・姿勢情報更新部
１４  設計仕様指定部
１５  公差許容範囲逆解析部
１６  感度解析部
１７  感度解析公差反映部
２１  ＣＰＵ
２２  記憶装置
２３  ＲＡＭ
２４  データ入力装置
２５  グラフィックディスプレイ
２６  Ｉ／Ｆ
２７  Ｉ／Ｆ
３０  組立公差設定画面
４０  組立公差設定ボックス
４１  円盤
４２  ギヤ部品
４３  ベース部品
４４  公差設定部品
４５  組み合わせ一覧
４６  「追加」ボタン
４７  「次へ」ボタン
５０  組立公差設定ボックス
５１  部品表示領域
５２  組み合わせ一覧
５３  公差設定領域
５４  組立公差入力領域
５５  「台形」ボタン
５６  「正規分布」ボタン
５７  「ベータ分布」ボタン
５８  「関節座標修正」ボタン
６１  ピン
６２  溝
７０  公差部品操作ウィンドウ
７１  「分布画面表示」ボタン
７２  軌跡
８０  分布画面ウィンドウ
８１  注視点設定領域
８２  断面操作領域
８３  許容範囲設定領域
８４  「公差反映」ボタン
８５  スライダ
８６  分布領域
８７  設計仕様の指定範囲
９０  公差反映ウィンドウ
９１  公差設定リスト
９２  軸方向選択ボタン群
９３  表示領域
１００  組立公差調整画面
１０１  公差設定リスト
１０２  一括操作
１０３  個別操作
１０４  最小値／最大値
１０５  比率
１０６  最小値／最大値
１０７  スライダ
１１０  分布画面
１１１  断面図
１１２  投影分布（ヒストグラム）
１１３  反映点数
１１４  設計仕様の指定範囲
１１５  許容範囲設定領域
１２１  コンピュータ
１２２  本体
１２３  メモリ
１２４  ネットワーク
１２５  可搬記憶媒体
１３０  プログラム提供者側の情報処理装置
【図１】
0004681155.tif 000002
【図２】
0004681155.tif 000003
【図３】
0004681155.tif 000004
【図４】
0004681155.tif 000005
【図５】
0004681155.tif 000006
【図６】
0004681155.tif 000007
【図７】
0004681155.tif 000008
【図８】
0004681155.tif 000009
【図９】
0004681155.tif 000010
【図１０】
0004681155.tif 000011
【図１１】
0004681155.tif 000012
【図１２】
0004681155.tif 000013
【図１３】
0004681155.tif 000014
【図１４】
0004681155.tif 000015
【図１５】
0004681155.tif 000016
【図１６】
0004681155.tif 000017
【図１７】
0004681155.tif 000018
【図１８】
0004681155.tif 000019
【図１９】
0004681155.tif 000020
【図２０】
0004681155.tif 000021