JP3745006B2 - Automatic fixture design system - Google Patents

Automatic fixture design system Download PDF

Info

Publication number
JP3745006B2
JP3745006B2 JP02975096A JP2975096A JP3745006B2 JP 3745006 B2 JP3745006 B2 JP 3745006B2 JP 02975096 A JP02975096 A JP 02975096A JP 2975096 A JP2975096 A JP 2975096A JP 3745006 B2 JP3745006 B2 JP 3745006B2
Authority
JP
Japan
Prior art keywords
block
workpiece
fixture
score
blocks
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.)
Expired - Fee Related
Application number
JP02975096A
Other languages
Japanese (ja)
Other versions
JPH0929568A (en
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.)
Via Mechanics Ltd
Original Assignee
Hitachi Via Mechanics Ltd
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 Hitachi Via Mechanics Ltd filed Critical Hitachi Via Mechanics Ltd
Priority to JP02975096A priority Critical patent/JP3745006B2/en
Publication of JPH0929568A publication Critical patent/JPH0929568A/en
Application granted granted Critical
Publication of JP3745006B2 publication Critical patent/JP3745006B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Jigs For Machine Tools (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ワークピースを工業機械へ取り付ける(フィクスチャリング)作業の能率化、自動化を支援する自動フィクスチャリング設計システムに関する。
【0002】
【従来の技術】
近年の生産加工技術においては、個々のユーザーのニーズに対応すべく、多品種少量生産に対応できるようなシステムが構築されつつある。さらに次世代の生産システムでは、加工、組立、検査などがすべて自動で行われ、その各モジュール間の分散協調制御により生産とリサイクルが行われることが予想される。しかし、ワークピースの工作機械への着脱作業、つまりワークの段取り作業の自動化が行われているケースは、小品種、大量生産のごく限られた場合であって、通常の多品種少量生産の場合には、熟練者の人手による作業に頼っているのが現状である。この熟練者の経験や勘をシステム化することは非常に困難であり、そのことが多種多様なワークピースの段取り作業の自動化を妨げている要因でもある。
【0003】
【発明が解決しようとする課題】
そこで、本発明では、ワークピースの形状の特徴をそのCADデータから自動的に認識し、それをもとにワークピースの工作機械への取り付け(フィクスチャリング)方法を自動的に推論していくシステムを提供することを目的とする。
【0004】
【課題を解決するための手段】
本発明の自動フィクスチャリング設計システムは、3次元CADで出力されるワークピースのデータにより、ワークピースを含む空間を複数のブロックに分割し、各ブロック毎にそのワークピース部分の形状の特徴を認識する手段と、該認識結果をもとに、フィクスチャリングに必要な箇所の候補ブロックを抽出し、各候補ブロックについて、フィクスチャリング位置としての適性度を、あらかじめ定めたルールによりポイントを計算することで割り当て、その結果によりフィクスチャリング位置に最適なブロックを選択し、フィクスチャリング方法を決定する手段とを有することを基本構成とする。
【0005】
さらに、本発明の自動フィクスチャリング設計システムは、候補ブロックについてフィクスチャリング位置としての適性度を割り当てるために使用されるルール、ポイントを、利用者との対話により修正する手段を備えることを特徴とする。
【0006】
本発明では、3次元CADデータからワークピースの形状を認識し、その認識結果をもとに所望のルールを満たすようなフィクスチャリング方法を自動的に推論する。さらに、利用者との対話により熟練者の意見を順次学習していき、あらゆるパターンのワークピースにも対応できるようにシステムを成長させる。
【0007】
【発明の実施の形態】
以下、本発明の一実施例について図面により説明する。
【0008】
最初、ワークピースのフィクスチャリングルールについて説明する。ワークピースのフィクスチャリングにはある一定のルールがある。その中には、a)参考書やハンドブックに明確に記述されているもの、b)あまりにも常識的なことなので明確にルールとして認識されていないもの、c)段取り熟練者が今までの経験を通して感覚として持っているもの(ヒューリスティックス)等がある。特にc)は無限に存在するワークピースの形状や加工のパターンに、順次対応して認識されていくものであるので、それらを一冊のルールブックとしてまとめることは、一般に不可能である。そこでフィクスチャリング方法を自動的に決定するシステムを構築するための第一歩として、熟練者へのアンケートを行った。アンケートは、ワークピースの着座面の様子や、側面の状況等を系統立てて想定した数十個のワークピース形状に対して、そのフィクスチャリング方法を記述してもらうという方法を取った。
【0009】
このアンケートの結果と、上記のa)b)をもとにして得られたルールのいくつかを挙げると、以下の如くである。なお、図2及び図3は、そのいくつかを図示したもので、「×」が不適、「○」が適である。
【0010】
ルール1:着力点を等分にするように、締め付け力を配分する(ワークピースをまんべんなく抑える)。(図2(a)参照)
ルール2:加工位置に近い部分は抑えない(加工誤差の減少と切り屑の流れを良くするため)。(図2(b)参照)
ルール3:ワークの下まで突き抜ける加工を行う場合には、ワーク全体をジャッキで浮かす。
【0011】
ルール4:クランプ位置が不安定な場合は、ジャッキを用いる。
【0012】
ルール5:ワークの最上部を抑えるよりは、下の方でクランプできる位置を探す。(図2(c)参照)
ルール6:加工の妨げになるような位置にフィクスチャ(取り付け具)がこないようにする。(図3(a)参照)
ルール7:締め付けの着力点は、着座面の上にあるようにする。(図3(b)参照)
ルール8:側面で位置決めする場合は3箇所(以下でも以上でもない)で行う。(図3(c)参照)
ルール9:ワークが安定するように抑える。至極当然のことだが非常に重要なルールである。
【0013】
ルール10:取り付け具及び工数の無駄をなくすために、最小限の取り付け具で抑える。
【0014】
ルール11:加工方向に拘束するようにフィクスチャリングする。
【0015】
ルール12:ワークのフィクスチャリングによる変形を最小限にする。
【0016】
ルール13:着座面の精度がでていないワークの場合には3点支持でフィクスチャリングする。
【0017】
ルール14:加工精度が欲しい部分を着座面、基準面とする。
【0018】
ルール15:切削抵抗によって、変形やずれが起こらない。
【0019】
ルール16:取り付け後、外部から位置決め部分を確認できる。
【0020】
ルール17:取り付け、取り外しの邪魔にならない。
【0021】
ルール18:同時に多面または多箇所の加工ができるようにする。
【0022】
ルール19:加工物を取り付けたままでも、測定が容易にできる。
【0023】
ルール20:締め付けによってワークの正しい位置が狂わないこと。
【0024】
ルール21:最も精度を必要とする部分を基準面とする。
【0025】
これらのルールに従ってフィクスチャリングするという作業を、コンピュータによって自動的に行われるようなシステムを構築するためには、次に示すような手順を踏まなければならない。
【0026】
(1) ワークピークスの形状をそのCADデータから自動的に認識する。
【0027】
(2) その認識結果をもとに、上記のルールを満たすようなフィクスチャリング方法を推論する。
【0028】
さらに、上記のように文章で明確に表すことができない熟練者の経験や勘を、システムに取り入れることは必要不可欠であるので、3番目として次に示すような手順が必要である。
【0029】
(3) 熟練者の意見を順次学習していき、あらゆるパターンのワークピースにも対応できるようにシステムを成長させる。
【0030】
図1に、本発明による自動フィクスチャリング設計システムの概略構成を示す。図において、10がコンピュータによる本自動フィクスチャリング設計システムであり、ワーク形状認識部110、フィクスチャリング方法推論部120及び学習部130から構成される。20はSolidデータ型の3次元CAD、30はワークピースモデル、40はCADから出力されるワークピースデータを示す。
【0031】
ここで、ワークピースデータ40は、例えばIGESフォーマットで表わされるものである。IGES(Initial Graphics Exchange Specification)とは、異なるCAD/CAM間における製品定義データの伝達を標準化するために、1981年 ANSI Y14.26M−製品定義データの伝達のための数値表現(Digital Representation for Cmmunication of Product DefinitionData)の一部としてANSIの規格となったものである(中塚久世,IGES(−CAD/CAMシステム間のデータ交換仕様)PART2 PIXEL No.11,1983,pp131−pp140)。そのデータ交換の単位は要素であり、点,線,面,円弧,スプラインなどの幾何要素,寸法,注記などの表記要素及び結合,フォント,マクロ,投影図などの構造要素を含んでいる。これらの要素は、現在のCAD/CAMにみられる要素のほとんどをサポートしている。
【0032】
以下、ワーク形状認識部110、フィクスチャリング方法推論部120、学習部130の処理について詳述する。
【0033】
〔ワーク形状認識部〕
ワーク形状認識部110は、Solidデータ型の3次元CAD20より例えばIGESフォーマットで出力されたワークピースのデータ40(ワークピースを構成している面の数、面を構成している線分の数、線分の始点・終点の座標等)を取り入れ、そのワークのフィクスチャリングに関係がある部分の形状の特徴を認識する処理部である。そのアルゴリズムを図4乃至図6により以下に説明する。
【0034】
まず、ワークピースを含む空間を、図4(a)のように小さな立方体のブロックに分ける。分割するブロック数はあらかじめ定めておく。図4(a)は11×11×11の小立方体のブロックに分けた例である。ここで、同図(b)に一部のブロックを分解して示したように、この小さなブロック一つ一つを見ていくと、そのブロックの中でワークピースが占める部分の形状のパターンは、いくつかに分類することができる。図5は、これを表にしたもので、縦が大分類、横が小分類であり、例えば縦が10で横が1のパターンはナンバー11と定義する。図4(a)のワークピースでは、例えば、ブロック(4,10,1)は図5の表で示されるナンバー11にあたり、ブロック(2,10,0)はナンバー45にあたる。なお、これは、あくまでもブロックの中でワークピースが占めるパターンを示すだけで、大きさや辺の長さの比等を無視するので、図6に一例を示すように、パターンが同じであれば、大きさが等が異なっても、その各ブロックは同一ナンバーと分類される。
【0035】
このように、ワークピース各部分の形状を分類することにより、取り付け具によって抑える位置(クランプ位置)の候補や、ジャッキアップが必要な位置、さらにロケータピンによって位置決めが可能である位置を、それぞれのブロック単位で考えることによって容易に限定することができる。例えば、図5において、クランプ位置は、ナンバー11が与えられたブロックの位置に限定でき、ジャッキアップすることができるのはナンバー13が与えられたブロックの位置に限られる。また位置決めはナンバー12,14,15,16が与えられたブロックの位置でしか行うことができない。さらに40番台のブロックは、その位置がワークピースの角の部分であるという情報を持つことになるので、先のルール1を適用するときに非常に便利である。このように、細かく分けた立方体のブロック一つ一つが、そのワークピースのどのような部分かという情報を持っているのである。また、より厳密にクランプ位置などを求めたい場合や、より複雑な形状を持つワークピースの場合には、分割するブロックを細かくすることによって対応することができる。
【0036】
ワーク形状認識部110では、このようにして、ワークピースのCADデータにより、ワークピースを含む空間を多数の小さな立方体のブロックに分割し、図5に示すような表を参照して各ブロックにパターンナンバーを割り当て、該ブロック情報を次のフィクスチャリング方法推論部120に渡す。この情報の具体例を図7に示す。
【0037】
〔フィクスチャリング方法推論部〕
フィクスチャリング方法推論部120では、ワーク形状認識部110でのワークピース各部分の形状認識結果にもとづいて、次のようにしてフィクスチャリング方法を推論する。以下では、まず、ロケート位置、ツーリングブロックの決定について説明し、その後、クランプ位置決定について説明する。
【0038】
(1) ロケート位置の決定
ロケートの方法としては、側面を基準面とする方法と、穴を基準とする方法があるが、本システムでは側面を基準面として設定する。側面でのロケートの方法には、3−2−1ロケーティングの原則という、最も少ない箇所で9つの自由度を拘束できる理想的な方法がある。ここでは着座面におけるロケートを、サポート、つまり締め付けに対する支持と見做して、ロケート位置としては、側面に2箇所と1箇所のロケートピンを設置する位置を求めることにする。
【0039】
本システムでは、最初に基準面の設定を行うこととし、基準面を含んでいるブロック、つまり図5の表の70番台のパターンナンバーに対して、どのブロックがロケート位置として適しているかを求める。図8を用いて、以下にロケート位置の決定手順を示す。
【0040】
1) 図5の70番台のパターンナンバーの中で、その面の両端に位置しているものを選び出す。図8(a)のA1,A2,B1,B2がそれである。
2) 選択されたブロックでナンパーが同じものどうし、つまりA1とA2,B1とB2の距離を計算する。
3) 上記計算した距離が大きいものの組み合わせ(図8(a)ではA1,A2)を2箇所のロケートに決定する。
4) 残りのB1とB2のうち、上記決定した位置からの距離が遠いもの(図8(a)ではB2)を1箇所のロケート位置として決定する。
【0041】
以上の手順で、図8(b)のような側面のロケート位置が決定される。また、着座面のサポートについては、着座面に加工箇所がある場合(貫通する穴を開けるような場合)に、ジャッキなどを用いて行なわれる。その場合は、後で述べる方法で決定されたクランプ位置の真下に設置すればよい。
【0042】
(2) ツーリングブロックの決定
図9(a)のように、着座面となる基準面がワークピースの最下部でないものには、ツーリングブロックを用いてフィクスチャリングしなければならない。ツーリングブロックの設置を自動的に行なうためには、次のことを決定する必要がある。
1) ツーリングブロック設置の位置
2) ツーリングブロックの種類
3) ツーリングブロックの高さ(2に含まれる場合もある)。
【0043】
まず、ツーリングブロックを設置する位置の決定方法を以下に説明する。ツーリングブロックは、図9のようなワークピースに対して、図11の(a)に示したような方法で設置しなければならない。つまり、着座面となる基準面を、より大きい面積でサポートするように設置する必要がある。ここでは、あらかじめ着座面のパターンを決定し、そのパターンに従って設置する位置を決定する。
【0044】
1) 図9の(a)のように着座面を含んでいるブロックの1つ下のブロックについて、その前後左右(xの+,−方向,yの+,−方向)すべてのブロックパターンを調べる。図9の(a)のブロックAについては、yの+方向にパターンナンバー0(空ブロック)以外のブロック(図9の(a)でBのブロック)が発見される。
2) 図9の(b)は着座面のパターンを表しており、網掛けのついている部分が障害物がある部分である。図9の(b)より、図9の(a)のブロックAについてはパターン2ということができる。
3) 上記1と2の作業を、着座面を含んでいるブロック(パターンナンバー73)すべてについて行ない、それぞれのブロックの着座面パターンをカウントする。ただし、パターン0、及び図9の(b)中のパターン以外のものはカウントしない。
4) カウント数の一番多いものをその着座面のパターンとする。図9の(a)の例では、すヘてのブロック(73)に関してパターン2であるので、この着座面はパターン2の着座面となる。
【0045】
以上が着座面パターンの決定手順であるが、例えば図10の(a)の場合には、ブロックAはパターン1、Bはパターン4、Cはパターン0と、3つのパターンが混在している。そこで、上記手順(3)を実行すると、パターン0以外では、Aと同じパターン1が最も多くなるので、この基準面に関しては、ハッチングしてある部分が、パターン1の着座面となる。また、図10の(b)の場合は、Dがパターン2、Eがパターン4となっているが、その数がほぼ等しいので、この基準面はパターン10の着座面となる。
【0046】
このように、着座面のパターンが決まれば、設置するツーリングブロックの中心の座標が決定する。例えば図11に示すように、(a)の場合は、パターンが2なので着座面ブロックのy座標の最大値8から、ツーリングブロックの半分の長さ5を引いた座標が、ツーリングブロックの中心のy座標となり、着座面ブロックのx座標の最大値・最小値の中点がツーリングブロックの中心のX座標となる。つまり、図11の(a)の(4,3,3)のブロックの位置を中心として、ツーリングブロックを設置すればよい。図11の(b),(c)の場合もそれぞれのパターンに従って、同図(a)と同様な方法をとることにより、ツーリングブロックの位置を決定することができる。
【0047】
また、ツーリングブロックの種類については、着座面パターンが9または10の場合に、図11の(c)のようなブロックが選択される。また、着座面まで貫通する穴開け加工を行なう場合に、カッターパスとなるブロックを避ける場合は、穴のあるツーリングブロックを使用する。さらに、ツーリングブロックの高さについては、着座面の高さ(z座標)に応じて、数種類の高さのツーリングブロックを設置する。
【0048】
(3) クランプ位置決定
ワーク形状認識部110において、ワークピースのクランプ位置(フィクスチャリング)に必要な箇所の候補がブロック(x,y,z)の形で抽出される。クランプ位置は、その候補ブロックの中からより最適な箇所を選択していくことになるが、ここでは、各ブロックにクランプ位置としての適性度を、ポイント(得点)を加算及び減算していくという手法で決定していき、その適性度をクランプ位置決定の根拠とする。
【0049】
<実施例1>
以下に、実施例1の各候補ブロックに割り当てられるポイントと、参考となったルールを示す。
max pc:ワークピースの角のブロックに与えられるポイント。
pc :ワークピースの角から1ブロック離れるごとにmax pcからpcだけ減点される。(ルール1)
max ph:ワークピースの最下部に与えられるポイント。
ph :ワークの最下部から1ブロック上がるごとにmax phからph減点される(ルール5)。
pm1 :フライス加工されるブロックの隣のブロックはpm1減点される(ルール2)。
pm2 :フライス加工されるブロックの斜隣のブロックはpm2減点される(ルール2)。
p drill 1:ドリル加工されるブロックの隣のブロックはp drill 1減点される(ルール2)。
p drill 2:ドリル加工されるブロックの斜隣のブロックはp drill 2減点される(ルール2)。
pj :ジャッキアップが必要な位置の場合、そのジャッキアップ位置のパターンによって1〜5のpjが減点される(ルール4)。
dist :既に決定しているクランプ位置からの距離の平均によって与えられるポイント(ルール1,ルール9)。
【0050】
また、クランプ位置決定の判断基準となる定数を以下に示す。
min dist :許容される2つのクランプ位置間の距離(ルール10)。
min p :許容される最低限の得点(ルール10)。
【0051】
本実施例1のポイント(得点)と判断基準定数によってクランプ位置が決定されていく手順を、図12を用いて具体的に説明する。図12は、図4(a)のワークピースを上から見た図で、それが一辺10mmの立方体によって区切られている状態を示したものである。図12中の番号2〜9は、以下の2〜9での処理に対応する。
【0052】
1) まず、取り付け具(締め板)により抑える位置(クランプ位置)として候補となりえるブロック(候補ブロック)を選択する。これは、図5の表のパターンナンバー11でしかも上から見た場合、最もワークの外側の位置しているものであるので、図12において、1〜24の番号がついているブロックが候補ブロックとして選ばられる。なお、1番のブロックの「○」印は穴開け位置(ドリル加工)を示す。
【0053】
2) 一つのワークピースをまんべんなく抑えることができるブロックに max PCを与える。これは、ワークピースの角の付近を抑えればよい(ルール1)ので、図12の場合、ブロック1,9,10,11,14,15,16,24がm ax pcを得る。これは角を表すパターンナンバー40番台のブロックからどれだけ離れているかによって判断される。
次に、この角のブロックから1ブロック離れるごとに max pcからpcだけ減 点されたポイントを、他のブロックに割り当てる。
【0054】
3) その部分を抑えるためにはジャッキアップが必要となるブロックに、それらのジャッキアップパターンによってポイントpj j を減点する。ジャッキアップが必要となるブロックは、候補となったブロックの各々の下方のブロックを調べていき、図5のパターンナンバー1以外のブロックが出てきたところで、そのz座標が0でない場合である。また、ジャッキアップパターンは、そのブロックの形状パターン(図5参照)によって決められる。図13にジャッキアップの一例を示す。
【0055】
4) ドリル加工、フライス加工のブロックの隣、斜隣のブロックのポイントを減点する。図12の例では、候補ブロック1番の所に穴開け加工をするので、この1番のブロックは候補ブロックから外れ、その隣の2番のブロックはポイントp drill 1減点される。
【0056】
5) ワークピースの着座面からの高さに応じて、 max phからph×高さを引いたポイントを割り当てる。
【0057】
6) ポイントが最高のブロックを1番目のクランプ位置とする。図12の場合、以上の工程を終了すると、16番のブロックが最も高いポイントを獲得する。そこで1番目のクランプ位置として、16番のブロックが選択される。
【0058】
7) 上記6で決定されたブロックからの距離によるポイントをp dist ×距離としてそれぞれのブロックに割り当てそれと今までに獲得したポイントの合計が最も大きいブロックを2番目のクランプ位置とする。図12の場合、9番のブロックが2番目のクランプ位置として選択される。
【0059】
8) さらに前回獲得した距離によるポイントを0に戻し、これまでに選択されたブロックからの距離によるポイントとして、p dist ×距離/2を残りのブロ ックに割り当て、ポイントの合計が最も大きいブロックを選択する。図12の場合、これにより選択されるブロックは10番である。
【0060】
9) 上記8と同様の処理を繰り返す。これにより、図12の場合、24番のブロックが次に選択される。
【0061】
10) このようにしてクランプ位置を選んでいき、各候補ブロックが持っているポイントがmin pより小さくなるか、または、残りのブロックの既クランプ位置からの距離が許容される2つのクランプ位置間の距離min distより小さくなったら、そこで終了とする。
【0062】
なお、例えば図12の場合、もし3番目に選ばれるクランプ位置を10番のブロックでなく3番のブロックにしたい場合は、両者が獲得した合計ポイントが10番より3番の方が大きくなるように、各ポイントを設定し直せばよい。逆にいうと、ポイント及び判断基準定数はいかなる形状のワークピースでも、的確なクランプ位置を見つけだすように決定し、調整していかなければならない。しかし、これらの定数を一意的に決定することは不可能であるので、本システムでは次の学習部130で調整する。
【0063】
〈実施例2〉
以下に、実施例2のポイント(得点)の名称(正、負)、候補ブロックへの得点の与え方、参考となったルールを示す。得点には、正のものと負のものがあるが、正の得点は、それが与えられることによって、そのブロックがクランプ位置として選択されやすくなるものであり、負の得点はその逆の働きをするものである。
【0064】
Pc(<0):ワークピースの角からNブロック離れることに

Figure 0003745006
を与える。ワークピースの角付近を目安に抑えていく。
Pce(<0):抑える辺が短い場合にはPcではなく、Pceを用い、辺の中央からNブロック離れるごとに
Pce*N
を与える。与えたい辺の長さが短い場合は、辺の中央付近を目安に抑える。
Ph(<0):基準面からz方向にNブロック離れるごとに
Ph*N
を与える。より基準面に近い高さで抑えるほうが安定性が良い。
Pth(<0):幅が薄い(幅がNブロック分)部分には、
Figure 0003745006
が与えられる。薄い部分はクランプの締め付け力によって変形する恐れがある。
Prow2(>0):既に決定しているクランプと同じ方向の候補ブロックにはProw2を与える。但し、既に2本のクランプが同じ方向に決定している方向には、Prow3(<<0)が与えられる。対称性が与えられる。対称性を考慮して抑える。
ProwOp(>0):既に決定しているクランプと反対方向の候補ブロックに、ProwOpを与える。対称性を考慮する。
Pb(>0):着座面(基準面)の上に位置している候補ブロックにはPbが与えられる。基準面を尊重して抑える。
Phole(<0):穴の上に位置している候補ブロックにはPholeを与える。穴の上は変形しやすいので抑えないようにする。
Pdiff(<0):クランプ上部に障害物があるような場合は、Pdiffを与える。特に自動化した時にクランプを設置するのが困難である。
Pdistn(>0):n本目のクランプを設置するとき、k本目からの距離をdist(k)とすると、
【0065】
【数1】
Figure 0003745006
【0066】
が残りのすべての候補ブロックに与えられる。各々のクランプはできるだけ離して、万偏なくワークピースを抑える。
Povma:加工ブロックの上部に位置している候補ブロックに与えられる。加工箇所の上部を抑えると、加工誤差をまねく。
【0067】
本実施例2のポイント(得点)によって、クランプ位置が決定されていく手順を、ここでは図14の例を用いて具体的に説明する。図14中の番号2〜9は、以下の2〜9での処理に対応する。
【0068】
1) まず、締め板(クランプ)により抑える位置として候補となりえるブロック(候補ブロック)を選択する。これは、図5の表のパターンナンバー11で、上方から見た時にワークピースの最も外側に位置しているもの、つまり、図14において、番号1〜26がついているブロックである。
【0069】
2) 一つのワークピースを万偏なく抑えるためには、ワークピースの角付近を目安に抑えていけばよいと考えられる。そこで、ワークピースの角に最も近く位置しているブロック(例えば図14のブロック1,2,17,18)からNブロック離れたものに、得点Pc*N(Pc<0)を割り当てる。これにより、ワークピースの角に近づくほど得点が高くなり、クランプ位置として選ばれやすくなる。
【0070】
3) 候補ブロックを各々の下方のブロックを調べていき、着座面(基準面)を含んでいるブロック(パターンナンバー73)があれば、その候補ブロックは、着座面の上方に位置しているといえる。そのようなブロックに、着座面に関する得点Pb(>0)を与える。
【0071】
4) 候補ブロックのZ座標と着座面のZ座標の差がNブロックのとき、その候補ブロックに得点Ph*N(Ph<0)を与える。
【0072】
5) この時点で、最も高い適性度(最高得点)を獲得してブロックを先ずクランプ位置と決定する。図14では、以上の工程を終了すると、17と18番のブロックが最も高い適性度を獲得する。そこで、1番目のクランプ位置として、番号の若い17番が選択される。
【0073】
6) 次に、選択されたブロック(図14ではブロック17)と同じ方向にある各ブロックには得点Prow2を、対称な方向にある各ブロックには得点ProwOpをそれぞれ与える。
【0074】
7) 選択されたブロック(図14では、ブロック17)からの距離による得点を、Pdist1*距離として、それぞれのブロックに割り当てる。そして、その得点と今までに獲得した得点の合計が最も大きいブロックを次のクランプ位置とする。図14では、18番が2番目のクランプ位置として選択される。
【0075】
8) 上記(7)で獲得した距離による得点を0に戻し、これまでに選択されたブロックからの距離、図14では17番と18番のブロックからの距離の合計と、Pdist2との積をそれぞれの候補ブロックに割当てる。そして、得点が最も大きいブロックを次のクランプ位置とする。これにより、図14では7番のブロックが選択される。
【0076】
9) 同様の処理を繰り返して、図14では、次に8番のブロックが選択される。
【0077】
10)このようにしてクランプ位置を決定してき、クランプナンバー1〜nで構成される多角形の面積S1-nと、1〜n−1で構成される多角形の面積S1-n-1の比が
【0078】
【数2】
Figure 0003745006
【0079】
となったとき、クランプ数の合計はn−1本となり(n本目のクランプは必要ないと見なされる)、クランプ位置決定のルーチンは終了する。
【0080】
図15に、以上の実施例2のクランプ位置決定手順の流れ図を示す。
以上のようにして、ローケトピンの位置、ツーリングブロックの種類と位置、クランプによる締め付け位置が決定され、与えられたワークピースに対して、大まかなフィクスチュアリング設計を自動的に行うことができる。
【0081】
〔学習部〕
本システムは、ワーク形状認識部110で抽出した各候補ブロックに、フィクスチャリング方法推論部120にて適性度となる様々なポイント(得点)を与えることによって、クランプ位置が決定される。したがって、それらの得点の値が適切なものでないと、期待されるグランプ位置が選択されず、誤ったフィクスチャリングの方法を決定してしまう恐れがある。
【0082】
ここで、図16のようなワークピースを例にして、起こりうるエラーを考えてみることにする。図16は、先の実施例2による処理例を示したもので、図17の(a)に各ポイント(得点)の表、(b)と(c)に誤ったクランプ位置と正しいクランプ位置を示す。
【0083】
図16のワークピースでは、前記実施例2の処理において、(4)までの段階で1番のブロックが最高得点を持つことになるので、そこが1番目のクランプ位置として決定される。次に、2番目のクランプ位置としては、19番と32番目が考えられるので、それぞれの実際の合計得点を図17(a)中の表を用いて計算してみると、(A)を用いた場合は19番のブロックが210点、32番が223点となる。したがって、2番目のクランプ位置としては得点の高い32番が決定されてしまう。熟練作業者に行ったアンケートによると、図16のようなワークピースの場合は1,9,18,19番で抑えるのが良いとわかっているので、32番が選択されたのは明かにシステムの誤りであるといえる。これは、ルールをもとに設定した各得点の値の配分が、適切でなかったために起こった誤りである。そこで、着座面の上を抑えるというルールを重視した、図17(a)の(B)を用いて計算すると、19番が230点、32番が223点となり、得点の合計が逆転し、19番が2番目のクランプ位置として決定されるようになる。また、距離に関する得点を軽くした、(C)を用いると、19番が124点、32番が119点となり、(B)を用いたときと同様に19番が選択される。このように、各得点の値を熟練作業者に行なったアンケートに基づいて変えていくことにより、熟練者の経験による知識や勘(ピューリスティクス)に基づいたクランプ位置の決定が行なえるようになる。
【0084】
以上のように、ポイント(得点)を適切な値に変えていくことが、結果的に熟練者の知識や勘をシステムに取り入れることになるので、その作業を学習と呼ぶことにする。しかしながら、図16の例で示したワークピースのような学習を必要とするワークピースは数多くあり、そのすべてに対して熟練者の意向に従って適切な得点の配分を決定することは、手作業では絶対に不可能である。
【0085】
学習部130は、このような熟練作業者のピューリスティクスをより具体的な形でシステムに採用していくものである。図18に、学習部130の流れ図を示す。熟練作業者が見ていて、フィクスチャリング方法推論部120が回答したクランプの方法が適切でなかった場合、学習部130を動作せしめる。
1) 熟練作業者自身あるいは予めルール化されているアンケート結果に基づいて、訂正するクランプを選択する。
2) 選択したクランプ位置のデータをデータセットW(Wrong)として、データベースに保存する。
3) 選択したクランプ位置以外の候補ブロックの中で、適性度日得点の合計)の最も高いものにクランプ位置を変更する。
4) 変更されたクランプ位置が適切かどうか判断する。
5) 適切でない場合、適切なクランプ位置が選択されるまで、(3)の処理を繰り返す。
6) 適切なクランプ位置が選択されたら、そのデータをデータセットC(correct)として、データベースに保持する。
7)(2)で保存されたWのデータと、(6)で保存されたCのデータをセットにして訂正データとする。
8) 学習エンジンを用いて、データベースに蓄積されているすべての訂正データを満足するような得点の値を求める。
9) 得点表(ポイント表)を最新のものに書き換える。
【0086】
以下、訂正データとデータベースについて説明する。ここで、データセットWまたはデータセットCとは、それぞれの位置(ブロック)における以下の得点や数値のことである。
Pc,Ph等によって与えられた得点(ポイント)
得点の合計(適性度)
ワークピースの角からの距離
そのブロックの座標
既存クランプ位置の座標。
【0087】
データベースには、これらの情報がそれぞれの位置(ブロック)ごとに保存される。図19にその具体例を示す。
図19(a)で、(1)の修正データは、図16のワークピースの例において、図17(a)の表(A)を用いたとき、システムが選択した32番のブロックから、19番のブロックにクランプ位置を修正したときのものである。この訂正データを見ると、W(32番)の方が合計で13点高いので、この合計をC>WにするためにPc,Pb,Pdistのどれかの値を変えればよいということがわかる。そして、図19(b)の(1′)は(1)のデータをもとにPbの値を変更した、表(B)を用いて計算し直したものであり、得点の合計が逆転しているのがわかる。つまり、次回からは、図19(a)のデータをもとに変更した表(B)の得点を用いれば、図16のワークピースに関しては適切な回答を出すようになる。
【0088】
次に、図19(b)の訂正データ(2)は、図20のワークピースに対しては、図21(a)の表(B)を用いたとき、システムが選択した30番のブロックから、正しい位置である24番のブロックに修正したときのものである。ここではW(30番)の方が19番高いので、C>WにするためにはPth,Ph,Pdist,Pcのどれかを変えれば良く、その中で(1′)のデータにあまり影響を与えないものの値を変えることが要求される。そこで、Pthの値を変更した、図21(a)の表(D)を用いると、図19(c)のように得点の合計が逆転し、図20のワークピースでは、2番目のクランプ位置として24番のブロックを選択するようになるのである(図21の(b)、(c)参照)。そして、図21(a)の表(D)への得点の変更は、(1′)の訂正データに対して影響をあたえていないので、図16のワークピースに対しても、表(D)を用いることによって、適切なクランプ位置を求めることができる。
【0089】
このように、データベースに学習用ワークピースの訂正データを順次蓄積することによって、それらのワークピースすべてにとって、適切なクランプ位置を決定できるような得点を設定していくことができる。
【0090】
次に、図18中の学習エンジンについて説明する。データベースに蓄積された訂正データが多くなってくると、先の表(A)から表(B)さらに表(D)のように、各得点を変更していく作業を、入手による試行錯誤で行なうのが非常に困難になってくる。蓄積されたデータベースをもとに、各得点を適切な値に変更する作業を自動的に行なうのが、学習エンジンの役割である。ここでは、その方法を、図19のデータベース(b)を例として説明する。図22に学習エンジンの流れ図を示す。
【0091】
1) 修正データの修正因子を探す。ここで、修正因子とは、各得点(ポイント)によって与えられた値がWとCで異なるもののことをいう。従って、図19のデータベース(b)の(2)の場合は、Pc,Ph,Pth,Pdistが修正因子となる。
2) 修正因子となった得点に関して、それぞれ別々に微少量の変更を行なうことによって、対象とする修正データ以外の修正データに影響を与えないものを選択する。
3) 上記選択された得点を、対象とする修正データが改善される(C>Wとなる)方向に変更していく。つまり、図19の(b)の場合は、Pcが正の方向に、Phが負の方向に、Pthが負の方向に、Pdistが負の方向に変更される。
4) 各得点を順次変更していった結果、すべての修正データに関して満足する得点が得られたとき、学習が成功したことになる。次回のクランプ位置決定には、その得点が使われる。
5) 学習が成功しなかった場合は、対象とする修正データ以外の修正データにおいて、対象とする修正データの修正因子と相反する因子があると考えられるので、その修正データの修正因子も同時に変更を行なう。
6) 上記(5)においても学習が成功しなかった場合には、設定した得点だけでは対応できない状況があることがわかる。そこで、構築してきたデータベースを参考にして、得点の種類を増やすなどの再検討を行なう。
【0092】
学習エンジンは所謂ニューラルネットワークで構成することも可能である。図23に、学習エンジンのニユーラルネットワークモデルの一例を示す。このニューラルネットワークモデルは、入力要素としてデータベースに蓄積されたルール、ウェイトとして先に挙げた各ポイント(ここでは、実施例1のケースを示す)、また出力層はクランプ位置の候補となったブロックが獲得したポイント(得点)の合計になっている。このニューラルネットワークでは教師信号を用いる必要はなく、出力がそのまま自己評価をして、その評価結果をウェイトにフィードバックし、ウェイト(ここでは各ポイント)を調整する。従って、すべてのルールにおいて最終評価(pa<pb)が満足されるようなウェイトを求めることは、各ウェイトがQ個の値を取り得るとすると、9(結合ウェイト数)のQ乗通りのすべての場合について、学習データの評価を行えば原理的に可能である。しかし、この方法は組み合せの数が爆発的に大きくなり、現実的な時間内には不可能である。そこで効率の良い学習方法として、現在までに考案されている様々なニューラルネットワーク手法を検討し、必要があれば改良して採用していく必要があろう。
【0093】
以上、図1の自動フィクスチャリング設計システムの各部について説明した。以下に、本システムの実行結果(推論結果)の具体例を示す。
【0094】
本システムは入力要素として、ワークピースのCADデータ(例えば、IGESフォーマット)、加工方法(穴開け加工、またはフライス加工、及びそれら複数の加工)、またそれらの加工位置がある。出力は、クランプ位置、ロケータピンの位置、ジャッキアップの位置が3次元座標で示され、さらにコンピュータ・グラフィックスによる表示、及びそのプリンタ出力が可能である。ここでは、学習機能を用いない場合の(学習未完成として)出力結果を示し、その検討を行う。
【0095】
図24は、(a)加工しない場合と、(b)穴開け加工を入力した場合(c)フライス加工と穴開け加工を入力した場合のシステムの出力結果である。(b)を見ると、(a)においてクランプされている位置を穴開け加工をするので、その場所を避けてクランプされているのがわかる。さらに(c)のように、複数の加工が必要な場合にも、その加工を妨げにならないように、クランプ位置が決定されている。
【0096】
図25は、ワークの隅を抑えることによって、まんべんなくクランプしている例である。
【0097】
図26は、ワークの着座面まで穴開け加工をする場合で、先に述べたルール3(ワークの下まで突き抜ける加工を行う場合は、ワーク全体をジャッキで浮かす)に従い、クランプ位置の下をジャッキで支持し、ワーク全体を着座面から浮かしているのがわかる。
【0098】
図27は、ワークの4隅に穴開け加工をする場合で、クランプは隅を抑えられなくても加工位置から離れたところでまんべんなく抑えるような結果が出てきる。
【0099】
図28は、着座面の上を優先的に抑えている例である。今後は、ルール14に従って着座面の指定ができるようにすることが考えられる。
【0100】
図29は、余分なクランプ位置が設定された例で、min pやmin distの設定(実施例1のケース)に問題があると推測される。これは学習機構を用いることによって、改善することができる。
【0101】
図30は、加工方向に拘束するようにフィクスチェリングができていない例である。これも学習機能を用いることによって改善される。
【0102】
図31は、ジャッキアップを施こした例であるが、この場合には本システムが回答したようなジャッキアップが必要かどうかは疑問である。段取り熟練者との打ち合わせによりシステムを変更していく必要がある。
【0103】
図32は、位置決めに失敗した例である。ロケートピンの位置は、測面を表すパターンナンバー12,14,15,16を検索することによって決められるが(図5参照)、図に示したワークでは厚さが十分に取られていないため、先に示したブロックが見つからずバグを生じたのである。
【0104】
【発明の効果】
本発明の自動フィクスチャリング設計システムによれば、多種多様なワークピースの工作機械への段取り・取り付け作業の能率化、自動化を支援することが可能になる。
【図面の簡単な説明】
【図1】本発明の自動フィクスチャリング設計システムの概略構成図である。
【図2】ワークピースのフィクスチャリングのルールの一例を示す図である。
【図3】同じくワークピースのフィクスチャリングのルールの一例を示す図である。
【図4】ワークピース空間を小立方体のブロックに分割する説明図である。
【図5】各小立方体のブロックのワークピース部分の形状を分類したテーブルである。
【図6】同一形状パターンに分類されるブロックの一例を示す図である。
【図7】分割した各ブロックのパターンナンバーの具体例である。
【図8】ロケート位置の決定を説明する図である。
【図9】ツーリングブロックを必要とするワークピースの一例である。
【図10】基準面パターンの多様性を説明する図である。
【図11】ツーリングブロックの設定例を示す図である。
【図12】クランプ位置決定方法の実施例1を説明する図である。
【図13】ジャッキアップパターンの一例を示す図である。
【図14】クランプ位置決定方法の実施例2を説明する図である。
【図15】クランプ位置決定方法の実施例2の流れ図である。
【図16】学習プロセスを説明するためのワークピースの一例である。
【図17】図16の例のポイント表の遷移及び正誤クランプ位置を示す図である。
【図18】学習部の全体的流れ図である。
【図19】データベース内のデータセットの一例を示す図である。
【図20】学習プロセスを説明するためのワークピースの他の例である。
【図21】図20の例のポイント表の遷移及び正誤クランプ位置を示す図である。
【図22】学習エンジンの流れ図である。
【図23】学習エンジンに用いるニューラルネットワークモデルの一例を示す図である。
【図24】本自動フィクスチャリング設計システムによる実行結果を示す図である。
【図25】同じく本システムによるシステム実行結果の一例を示す図である。
【図26】同じく本システムによるシステム実行結果の一例を示す図である。
【図27】同じく本システムによるシステム実行結果の一例を示す図である。
【図28】同じく本システムによるシステム実行結果の一例を示す図である。
【図29】同じく本システムによるシステム実行結果の一例を示す図である。
【図30】同じく本システムによるシステム実行結果の一例を示す図である。
【図31】同じく本システムによるシステム実行結果の一例を示す図である。
【図32】同じく本システムによるシステム実行結果の一例を示す図である。
【符号の説明】
10 自動フィクスチャリング設計システム
110 ワーク形状認識部
120 フィクスチャリング方法推論部
130 学習部
20 3次元CAD
30 ワークピースモデル
40 ワークピースデータ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an automatic fixture design system that supports the efficiency and automation of a work of attaching a workpiece to an industrial machine (fixing).
[0002]
[Prior art]
In recent production and processing technologies, a system capable of responding to the needs of individual users and being capable of responding to high-mix low-volume production is being constructed. Furthermore, in the next-generation production system, processing, assembly, inspection, etc. are all performed automatically, and production and recycling are expected to be performed by distributed cooperative control among the modules. However, the case where workpieces are attached to and detached from the machine tool, that is, the work setup work is automated, is limited to small-scale and mass-production, and in the case of normal high-mix low-volume production. However, the current situation is that they rely on the work of skilled workers. It is very difficult to systemize the experience and intuition of this expert, and this is also a factor that hinders the automation of the work of setting up a wide variety of workpieces.
[0003]
[Problems to be solved by the invention]
Therefore, in the present invention, a system for automatically recognizing the feature of the shape of the workpiece from the CAD data and automatically inferring a method of mounting the workpiece on the machine tool based on the CAD data. The purpose is to provide.
[0004]
[Means for Solving the Problems]
The automatic fixture design system of the present invention divides the space including the workpiece into a plurality of blocks based on the workpiece data output by the three-dimensional CAD, and recognizes the shape characteristics of the workpiece portion for each block. Based on the recognition result, a candidate block at a location necessary for fixture extraction is extracted, and the aptitude of each candidate block as a fixture position is calculated according to a predetermined rule. It has a basic configuration that includes a means for selecting a block optimal for the fixture position based on the allocation result and determining a fixture method.
[0005]
Furthermore, the automatic fixture design system of the present invention is characterized by comprising means for correcting the rules and points used for assigning the suitability degree as the fixture position for the candidate block by interaction with the user. .
[0006]
In the present invention, the shape of the workpiece is recognized from the three-dimensional CAD data, and a fixture method that satisfies a desired rule is automatically inferred based on the recognition result. In addition, the expert's opinions are learned sequentially through dialogue with the user, and the system is grown so that it can handle workpieces of any pattern.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below with reference to the drawings.
[0008]
First, workpiece fixture rules will be described. There are certain rules for workpiece fixtures. Among them, a) those that are clearly described in reference books and handbooks, b) those that are too common sense and not clearly recognized as rules, c) those who are skilled in setup through their experience There are things (heuristics) that you have as senses. In particular, c) is recognized sequentially corresponding to infinitely existing workpiece shapes and processing patterns, and therefore it is generally impossible to collect them as one rule book. Therefore, as a first step to construct a system that automatically determines the fixture method, we conducted a questionnaire to experts. The questionnaire took the method of having the description of the fixture method for dozens of workpiece shapes that systematically assumed the seating surface of the workpiece and the situation of the side.
[0009]
Some of the rules obtained based on the results of this questionnaire and a) and b) above are as follows. 2 and 3 illustrate some of them. “X” is inappropriate and “◯” is appropriate.
[0010]
Rule 1: Distribute the tightening force so that the force points are evenly distributed (hold the workpiece evenly). (See Fig. 2 (a))
Rule 2: The portion close to the machining position is not suppressed (to reduce machining error and improve chip flow). (See Fig. 2 (b))
Rule 3: When performing machining that penetrates to the bottom of the workpiece, the entire workpiece is lifted with a jack.
[0011]
Rule 4: If the clamp position is unstable, use a jack.
[0012]
Rule 5: Look for a position that can be clamped at the bottom rather than holding the top of the workpiece. (See FIG. 2 (c))
Rule 6: Make sure that fixtures (mounting fixtures) do not come in positions that would interfere with machining. (See Fig. 3 (a))
Rule 7: The tightening force point should be on the seating surface. (See Fig. 3 (b))
Rule 8: When positioning on the side, it should be done at three locations (not below or above). (See Fig. 3 (c))
Rule 9: Keep the workpiece stable. Naturally, it is a very important rule.
[0013]
Rule 10: In order to eliminate waste of fixtures and man-hours, the minimum fixtures are used.
[0014]
Rule 11: Fixing is performed so as to restrain the machining direction.
[0015]
Rule 12: Minimize deformation caused by workpiece fixture.
[0016]
Rule 13: For workpieces where the accuracy of the seating surface is not achieved, fixture is performed with three-point support.
[0017]
Rule 14: A portion where machining accuracy is desired is defined as a seating surface and a reference surface.
[0018]
Rule 15: No deformation or displacement occurs due to cutting resistance.
[0019]
Rule 16: After mounting, the positioning part can be confirmed from the outside.
[0020]
Rule 17: Do not interfere with installation or removal.
[0021]
Rule 18: Allow multiple surfaces or multiple locations to be processed simultaneously.
[0022]
Rule 19: Measurement can be performed easily even with the workpiece attached.
[0023]
Rule 20: The correct position of the workpiece must not be changed by tightening.
[0024]
Rule 21: A portion requiring the highest accuracy is set as a reference plane.
[0025]
In order to construct a system in which the task of performing fixtures according to these rules is automatically performed by a computer, the following procedure must be taken.
[0026]
(1) The shape of the work peaks is automatically recognized from the CAD data.
[0027]
(2) Based on the recognition result, a fixture method that satisfies the above rules is inferred.
[0028]
Furthermore, since it is indispensable to incorporate into the system the experience and intuition of a skilled person who cannot be clearly expressed in text as described above, the following procedure is necessary as the third.
[0029]
(3) Skillfully learn the opinions of experts and grow the system so that it can handle workpieces of all patterns.
[0030]
FIG. 1 shows a schematic configuration of an automatic fixture design system according to the present invention. In the figure, reference numeral 10 denotes a computer-aided automatic fixture design system, which includes a workpiece shape recognition unit 110, a fixture method inference unit 120, and a learning unit 130. Reference numeral 20 denotes a solid data type three-dimensional CAD, 30 denotes a workpiece model, and 40 denotes workpiece data output from the CAD.
[0031]
Here, the workpiece data 40 is expressed in, for example, the IGES format. IGES (Initial Graphics Exchange Specification) 1981 ANSI Y14.26M-Digital Representation for Communication of Product Definition Data in order to standardize the transmission of product definition data between different CAD / CAM. It is an ANSI standard as part of Product Definition Data (Hisaka Nakatsuka, IGES (data exchange specifications between CAD / CAM systems) PART2 PIXEL No. 11, 1983, pp 131-pp 140). The unit of data exchange is an element, which includes geometric elements such as points, lines, faces, arcs, and splines, notation elements such as dimensions and annotations, and structural elements such as combinations, fonts, macros, and projection views. These elements support most of the elements found in current CAD / CAM.
[0032]
Hereinafter, the processing of the workpiece shape recognition unit 110, the fixture method inference unit 120, and the learning unit 130 will be described in detail.
[0033]
[Work shape recognition part]
The workpiece shape recognition unit 110 outputs workpiece data 40 (the number of surfaces constituting the workpiece, the number of line segments constituting the surface, and the like) output from the Solid data type three-dimensional CAD 20 in, for example, the IGES format. This is a processing unit that takes in the coordinates of the start point and end point of a line segment and recognizes the feature of the shape of the part related to the fixture of the workpiece. The algorithm will be described below with reference to FIGS.
[0034]
First, the space including the workpiece is divided into small cubic blocks as shown in FIG. The number of blocks to be divided is determined in advance. FIG. 4A shows an example in which the block is divided into 11 × 11 × 11 small cubic blocks. Here, as shown in the exploded view of some of the blocks in the same figure (b), when looking at each of these small blocks, the pattern of the shape of the part occupied by the workpiece in that block is Can be classified into several. FIG. 5 is a table in which the vertical is the major classification and the horizontal is the minor classification. For example, a pattern of 10 in the vertical direction and 1 in the horizontal direction is defined as number 11. In the workpiece of FIG. 4A, for example, the block (4, 10, 1) corresponds to the number 11 shown in the table of FIG. 5, and the block (2, 10, 0) corresponds to the number 45. Note that this only shows the pattern that the workpiece occupies in the block, and ignores the ratio of the size and the length of the side, so if the pattern is the same as shown in FIG. Even if the sizes are different, the blocks are classified as the same number.
[0035]
In this way, by classifying the shape of each part of the workpiece, the position (clamp position) candidates to be suppressed by the fixture, the position where jack-up is necessary, and the position where positioning by the locator pin is possible It can be easily limited by considering in block units. For example, in FIG. 5, the clamping position can be limited to the position of the block given number 11, and jacking up can be limited to the position of the block given number 13. Positioning can be performed only at the position of the block to which the numbers 12, 14, 15, and 16 are given. Furthermore, the 40th block has information that the position is the corner portion of the workpiece, which is very convenient when applying the first rule. In this way, each finely divided cubic block has information on what part of the workpiece it is. Further, when it is desired to obtain a clamping position or the like more precisely, or in the case of a workpiece having a more complicated shape, it can be dealt with by making the blocks to be divided fine.
[0036]
In this way, the workpiece shape recognition unit 110 divides the space including the workpiece into a number of small cubic blocks based on the CAD data of the workpiece, and patterns each block with reference to a table as shown in FIG. A number is assigned and the block information is passed to the next fixture method inference unit 120. A specific example of this information is shown in FIG.
[0037]
[Fixing method reasoning section]
The fixture method inference unit 120 infers the fixture method as follows based on the shape recognition result of each part of the workpiece in the workpiece shape recognition unit 110. Hereinafter, the determination of the locate position and the tooling block will be described first, and then the clamp position determination will be described.
[0038]
(1) Determination of locate position
As a locate method, there are a method using a side as a reference plane and a method using a hole as a reference. In this system, the side is set as a reference plane. The side locating method is an ideal method that can constrain nine degrees of freedom at the fewest points, the principle of 3-2-1 locating. Here, locating on the seating surface is regarded as support, that is, support for tightening, and as the locating position, the positions where two locating pins and one locating pin are installed on the side surface are determined.
[0039]
In this system, the reference plane is set first, and which block is suitable as the locate position for the block including the reference plane, that is, the pattern numbers in the 70s in the table of FIG. The procedure for determining the locate position will be described below with reference to FIG.
[0040]
1) Select the pattern numbers in the 70's in FIG. 5 that are located at both ends of the surface. These are A1, A2, B1, and B2 in FIG.
2) Calculate the distance between A1 and A2 and B1 and B2 between the selected blocks with the same numbering.
3) A combination (A1 and A2 in FIG. 8A) of the above-calculated large distances is determined as two locates.
4) Of the remaining B1 and B2, one that is far from the determined position (B2 in FIG. 8A) is determined as one locate position.
[0041]
With the above procedure, the locate position of the side surface as shown in FIG. 8B is determined. In addition, the support of the seating surface is performed using a jack or the like when there is a processed portion on the seating surface (when a through-hole is formed). In that case, it may be installed just below the clamp position determined by the method described later.
[0042]
(2) Determination of touring block
As shown in FIG. 9A, if the reference surface serving as the seating surface is not the lowermost part of the workpiece, it must be fixed using a tooling block. In order to automatically install the touring block, it is necessary to determine the following.
1) Location of the touring block
2) Types of touring blocks
3) The height of the tooling block (may be included in 2).
[0043]
First, a method for determining the position for installing the tooling block will be described below. The tooling block must be installed on the workpiece as shown in FIG. 9 by the method shown in FIG. In other words, it is necessary to install the reference surface serving as the seating surface so as to support a larger area. Here, the pattern of the seating surface is determined in advance, and the installation position is determined according to the pattern.
[0044]
1) As shown in FIG. 9 (a), all the block patterns before, after, right and left (x, +,-, y, +,-) of the block immediately below the block including the seating surface are examined. . For block A in FIG. 9A, blocks other than pattern number 0 (empty block) (block B in FIG. 9A) are found in the + direction of y.
2) (b) of FIG. 9 shows the pattern of the seating surface, and the shaded portion is a portion with an obstacle. From FIG. 9B, it can be said that the block A in FIG.
3) The above operations 1 and 2 are performed for all the blocks (pattern number 73) including the seating surface, and the seating surface pattern of each block is counted. However, patterns other than the pattern 0 and the pattern in FIG. 9B are not counted.
4) The pattern with the highest number of counts is the seating surface pattern. In the example of FIG. 9A, since all the blocks (73) are the pattern 2, this seating surface is the seating surface of the pattern 2.
[0045]
The procedure for determining the seating surface pattern is as described above. For example, in the case of FIG. 10A, the block A is the pattern 1, the B is the pattern 4, the C is the pattern 0, and the three patterns are mixed. Therefore, when the above procedure (3) is executed, the pattern 1 that is the same as A is the largest except for the pattern 0. Therefore, the hatched portion of this reference plane becomes the seating surface of the pattern 1. In the case of FIG. 10B, D is the pattern 2 and E is the pattern 4. However, since the numbers are almost equal, this reference plane is the seating surface of the pattern 10.
[0046]
Thus, if the seating surface pattern is determined, the coordinates of the center of the tooling block to be installed are determined. For example, as shown in FIG. 11, in the case of (a), since the pattern is 2, the coordinate obtained by subtracting the half length 5 of the tooling block from the maximum y coordinate 8 of the seating surface block is the center of the tooling block. The y coordinate becomes the midpoint of the maximum and minimum values of the x coordinate of the seating surface block, and becomes the X coordinate of the center of the tooling block. That is, the tooling block may be installed around the position of the block (4, 3, 3) in FIG. In the cases of FIGS. 11B and 11C as well, the position of the tooling block can be determined by taking the same method as in FIG.
[0047]
As for the type of the touring block, when the seating surface pattern is 9 or 10, the block as shown in FIG. 11C is selected. In addition, when performing a drilling process that penetrates to the seating surface, a tooling block with a hole is used to avoid a block that becomes a cutter path. Furthermore, with respect to the height of the tooling block, several types of tooling blocks are installed according to the height (z coordinate) of the seating surface.
[0048]
(3) Clamp position determination
In the workpiece shape recognizing unit 110, candidates for a location necessary for the workpiece clamping position (fixture) are extracted in the form of a block (x, y, z). As for the clamp position, a more optimal location is selected from the candidate blocks, but here, the aptitude degree as the clamp position is added to and subtracted from each block as points (scores). The method is determined by a method, and the suitability is used as a basis for determining the clamp position.
[0049]
<Example 1>
The points assigned to each candidate block of Example 1 and the reference rules are shown below.
max pc: Points given to the corner block of the workpiece.
pc: Every 1 block away from the corner of the workpiece, a point is decremented by pc from max pc. (Rule 1)
max ph: point given to the bottom of the workpiece.
ph: Every 1 block from the bottom of the work, ph is deducted from max ph (Rule 5).
pm1: The block next to the block to be milled is deducted by pm1 (rule 2).
pm2: The block adjacent to the milled block is deducted by pm2 (rule 2).
p drill 1: The block next to the block to be drilled is deducted by p drill 1 (rule 2).
p drill 2: The block adjacent to the drilled block is deducted by p drill 2 (rule 2).
pj~5 : In the case of a position where jack-up is necessary, pj of 1 to 5 is deducted according to the pattern of the jack-up position (rule 4).
p dist : Points given by the average of the distances from the already determined clamping positions (rule 1, rule 9).
[0050]
In addition, the following constants are used as criteria for determining the clamp position.
min dist : Distance between two allowed clamping positions (rule 10).
min p: Minimum acceptable score (Rule 10).
[0051]
The procedure in which the clamp position is determined based on the points (scores) of the first embodiment and the determination reference constant will be specifically described with reference to FIG. FIG. 12 is a view of the workpiece of FIG. 4A as viewed from above, and shows a state where the workpiece is divided by a cube having a side of 10 mm. Numbers 2 to 9 in FIG. 12 correspond to the following processes 2 to 9.
[0052]
1) First, a block (candidate block) that can be a candidate is selected as a position (clamp position) to be suppressed by a fixture (clamp plate). This is the pattern number 11 in the table of FIG. 5 and is located on the outermost side of the work when viewed from above. In FIG. 12, blocks numbered 1 to 24 are candidate blocks. Chosen. In addition, “◯” mark of the first block indicates a drilling position (drilling).
[0053]
2) A block that can hold a single workpiece evenly max Give a PC. Since it is sufficient to suppress the vicinity of the corner of the workpiece (rule 1), in the case of FIG. 12, the blocks 1, 9, 10, 11, 14, 15, 16, 24 are m. ax Get pc. This is determined by how far away from the block of the pattern number 40s representing the corner.
Next, every time I leave one block from this corner block, max Decrease by pc from pc Assign the scored point to another block.
[0054]
3) In order to suppress that part, blocks pj that need to be jacked up are given points pj according to their jackup pattern. ~ s j Is deducted. A block that needs jackup is a case where the block below each candidate block is examined, and when a block other than pattern number 1 in FIG. 5 comes out, the z coordinate is not 0. The jack-up pattern is determined by the block shape pattern (see FIG. 5). FIG. 13 shows an example of jack-up.
[0055]
4) Decrease the points of the blocks next to the drilling and milling blocks and the blocks adjacent to the diagonal. In the example of FIG. 12, since the hole is drilled at the candidate block No. 1, this No. 1 block is removed from the candidate block, and the No. 2 block next to it is the point p. drill One point is deducted.
[0056]
5) Depending on the height of the workpiece from the seating surface, max Assign a point ph minus ph x height.
[0057]
6) The block with the highest point is the first clamping position. In the case of FIG. 12, when the above steps are completed, the 16th block gets the highest point. Therefore, the 16th block is selected as the first clamping position.
[0058]
7) Point by the distance from the block determined in 6 above is p dist X A block having the largest total of points allocated to each block as a distance and the point acquired so far is set as a second clamping position. In the case of FIG. 12, the ninth block is selected as the second clamping position.
[0059]
8) In addition, the point by the distance acquired last time is returned to 0, and p as the point by the distance from the block selected so far is p. dist × Distance / 2 is the remaining bro And select the block with the highest total points. In the case of FIG. 12, the block selected by this is No. 10.
[0060]
9) Repeat the process similar to 8 above. Thereby, in the case of FIG. 12, the 24th block is selected next.
[0061]
10) In this way, the clamp position is selected, and the point held by each candidate block is smaller than min p, or the distance between the remaining blocks from the clamp position is allowed between the two clamp positions. When the distance becomes less than min dist, the process ends there.
[0062]
For example, in the case of FIG. 12, if the third selected clamping position is to be the third block instead of the tenth block, the total points obtained by both parties will be larger for the third than the tenth. Then, you can reset each point. Conversely, the point and criteria constants must be determined and adjusted to find the correct clamping position for any shape of workpiece. However, since it is impossible to uniquely determine these constants, the following learning unit 130 adjusts in this system.
[0063]
<Example 2>
Below, the names (positive and negative) of points (scores) in Example 2, how to give scores to candidate blocks, and rules that serve as a reference are shown. There are positive and negative scores, but a positive score makes it easier for the block to be selected as a clamping position when given, and a negative score works the opposite way. To do.
[0064]
Pc (<0): N blocks away from the corner of the workpiece
Figure 0003745006
give. Keep the area around the corner of the workpiece as a guide.
Pce (<0): When the side to be suppressed is short, use Pce instead of Pc, and every N blocks away from the center of the side
Pce * N
give. If the length of the side you want to give is short, keep it near the center of the side.
Ph (<0): Every N blocks away from the reference plane in the z direction
Ph * N
give. The stability is better when the height is closer to the reference plane.
Pth (<0): In a portion with a small width (width is N blocks),
Figure 0003745006
Is given. The thin part may be deformed by the clamping force of the clamp.
Prow2 (> 0): Prow2 is given to the candidate block in the same direction as the already determined clamp. However, Prow3 (<< 0) is given in the direction in which the two clamps are already determined in the same direction. Symmetry is given. Suppress considering the symmetry.
ProwOp (> 0): ProwOp is given to the candidate block in the direction opposite to the already determined clamp. Consider symmetry.
Pb (> 0): Pb is given to the candidate block located on the seating surface (reference surface). Respect and reduce the reference level.
Pole (<0): Pole is given to the candidate block located above the hole. The top of the hole is easily deformed, so do not suppress it.
Pdiff (<0): When there is an obstacle on the upper part of the clamp, Pdiff is given. Especially when automated, it is difficult to install the clamp.
Pdistn (> 0): When installing the nth clamp, if the distance from the kth is dist (k),
[0065]
[Expression 1]
Figure 0003745006
[0066]
Is given to all remaining candidate blocks. Each clamp should be as far apart as possible to hold the workpiece without any deviation.
Povma: given to the candidate block located at the top of the machining block. Suppressing the upper part of the machining location will lead to machining errors.
[0067]
The procedure in which the clamp position is determined based on the points (scores) of the second embodiment will be specifically described with reference to the example of FIG. Numbers 2 to 9 in FIG. 14 correspond to the following processes 2 to 9.
[0068]
1) First, a block (candidate block) that can be a candidate is selected as a position to be suppressed by a clamp plate (clamp). This is the pattern number 11 in the table of FIG. 5, which is located on the outermost side of the workpiece when viewed from above, that is, the blocks numbered 1 to 26 in FIG.
[0069]
2) In order to hold down a single workpiece without any problem, it is considered that it should be suppressed around the corner of the workpiece. Therefore, a score Pc * N (Pc <0) is assigned to a block that is N blocks away from the block closest to the corner of the workpiece (for example, blocks 1, 2, 17, and 18 in FIG. 14). As a result, the closer to the corner of the workpiece, the higher the score and the easier it is to select the clamp position.
[0070]
3) The candidate block is examined for each lower block, and if there is a block (pattern number 73) including the seating surface (reference surface), the candidate block is located above the seating surface. I can say that. Such a block is given a score Pb (> 0) for the seating surface.
[0071]
4) When the difference between the Z coordinate of the candidate block and the Z coordinate of the seating surface is N blocks, a score Ph * N (Ph <0) is given to the candidate block.
[0072]
5) At this point, the highest aptitude (highest score) is obtained and the block is first determined as the clamp position. In FIG. 14, when the above steps are completed, the 17th and 18th blocks obtain the highest aptitude. Therefore, the younger number 17 is selected as the first clamping position.
[0073]
6) Next, a score Prow2 is given to each block in the same direction as the selected block (block 17 in FIG. 14), and a score ProwOp is given to each block in the symmetric direction.
[0074]
7) The score based on the distance from the selected block (block 17 in FIG. 14) is assigned to each block as Pdist1 * distance. Then, the block with the largest sum of the score and the score obtained so far is set as the next clamp position. In FIG. 14, No. 18 is selected as the second clamping position.
[0075]
8) Return the score based on the distance obtained in (7) above to 0, and calculate the product of the distance from the block selected so far, the sum of the distances from the 17th and 18th blocks in FIG. Assign to each candidate block. The block with the highest score is set as the next clamping position. As a result, the seventh block is selected in FIG.
[0076]
9) By repeating the same processing, the eighth block is selected next in FIG.
[0077]
10) The clamp position is determined in this way, and the polygonal area S composed of the clamp numbers 1 to n1-nAnd a polygonal area S composed of 1 to n−1.1-n-1The ratio of
[0078]
[Expression 2]
Figure 0003745006
[0079]
Then, the total number of clamps is n−1 (the nth clamp is considered unnecessary), and the clamp position determination routine ends.
[0080]
FIG. 15 shows a flowchart of the clamp position determination procedure of the second embodiment.
As described above, the position of the location pin, the type and position of the tooling block, and the clamping position by the clamp are determined, and a rough fixture design can be automatically performed for a given workpiece.
[0081]
[Learning Department]
In the present system, the clamp position is determined by giving various points (scores) that are suitable in the fixture method inference unit 120 to each candidate block extracted by the workpiece shape recognition unit 110. Therefore, if those score values are not appropriate, an expected glamp position is not selected, and there is a possibility that an incorrect fixture method is determined.
[0082]
Here, let us consider a possible error using a workpiece as shown in FIG. 16 as an example. FIG. 16 shows a processing example according to the second embodiment. FIG. 17A shows a table of points (scores), and FIGS. 16B and 18C show incorrect and correct clamp positions. Show.
[0083]
In the workpiece of FIG. 16, in the process of the second embodiment, the first block has the highest score in the stage up to (4), and this is determined as the first clamping position. Next, since the 19th and 32nd positions can be considered as the second clamping position, when calculating the actual total score of each using the table in FIG. 17A, (A) is used. In such a case, the 19th block is 210 points and the 32nd is 223 points. Therefore, the number 32 with a high score is determined as the second clamping position. According to a questionnaire conducted by a skilled worker, it is clear that in the case of a workpiece as shown in FIG. It can be said that this is an error. This is an error that occurred because the distribution of the score values set based on the rules was not appropriate. Accordingly, when calculation is performed using (B) in FIG. 17A, which emphasizes the rule of suppressing the seating surface, the number 19 is 230 points and the number 32 is 223 points, and the total score is reversed. The number is determined as the second clamping position. In addition, when (C) is used in which the score regarding the distance is lightened, 19 is 124 points and 32 is 119 points, and 19 is selected in the same manner as when (B) is used. In this way, by changing the value of each score based on a questionnaire conducted by skilled workers, the clamp position can be determined based on knowledge and intuition (puristics) based on the experience of the skilled worker. Become.
[0084]
As described above, changing a point (score) to an appropriate value results in incorporating the knowledge and intuition of a skilled worker into the system, so that work is called learning. However, there are many workpieces that require learning, such as the workpiece shown in the example of FIG. 16, and determining the appropriate score distribution according to the intentions of the skilled worker for all of them is absolutely a manual task. Is impossible.
[0085]
The learning unit 130 adopts such skilled worker's puristics in a more specific form in the system. FIG. 18 shows a flowchart of the learning unit 130. When the skilled worker is watching and the clamping method answered by the fixture method inference unit 120 is not appropriate, the learning unit 130 is operated.
1) A clamp to be corrected is selected based on the skilled worker himself or based on a questionnaire result that has been ruled in advance.
2) The selected clamp position data is stored in the database as a data set W (Wlong).
3) Among the candidate blocks other than the selected clamp position, change the clamp position to the one with the highest score of aptitude (total score).
4) Determine if the changed clamp position is appropriate.
5) If not appropriate, repeat the process of (3) until an appropriate clamp position is selected.
6) When an appropriate clamp position is selected, the data is stored in the database as a data set C (correct).
7) The W data saved in (2) and the C data saved in (6) are set as correction data.
8) Using the learning engine, find a score value that satisfies all the correction data stored in the database.
9) Rewrite the score table (point table) to the latest one.
[0086]
Hereinafter, the correction data and the database will be described. Here, the data set W or the data set C is the following score or numerical value at each position (block).
Points given by Pc, Ph, etc.
Total score (aptitude)
Distance from workpiece corner
The coordinates of the block
The coordinates of the existing clamp position.
[0087]
The database stores these pieces of information for each position (block). FIG. 19 shows a specific example.
In FIG. 19A, the correction data of (1) is obtained from the block No. 32 selected by the system when the table (A) of FIG. 17A is used in the example of the workpiece of FIG. This is when the clamp position is corrected in the number block. Looking at this correction data, W (No. 32) is 13 points higher in total, so it can be seen that any value of Pc, Pb, Pdist should be changed in order to make this sum C> W. . And (1 ') in FIG. 19 (b) is a recalculation using the table (B) in which the value of Pb is changed based on the data of (1), and the total score is reversed. I can see that That is, from the next time, if the score of the table (B) changed based on the data of FIG. 19A is used, an appropriate answer will be given for the workpiece of FIG.
[0088]
Next, the correction data (2) in FIG. 19 (b) is obtained from the block No. 30 selected by the system when the table (B) in FIG. 21 (a) is used for the workpiece in FIG. When corrected to the 24th block which is the correct position. Here, W (No. 30) is 19th higher, so in order to make C> W, it is only necessary to change any of Pth, Ph, Pdist, and Pc, among which the data of (1 ′) is greatly affected. It is required to change the value of those that do not. Therefore, if the table (D) in FIG. 21A is used in which the value of Pth is changed, the total score is reversed as shown in FIG. 19C, and the second clamping position is obtained in the workpiece of FIG. Thus, the 24th block is selected (see (b) and (c) of FIG. 21). Since the change of the score to the table (D) in FIG. 21A does not affect the correction data in (1 ′), the table (D) is also applied to the workpiece in FIG. By using, an appropriate clamp position can be obtained.
[0089]
In this manner, by sequentially storing correction data for learning workpieces in the database, it is possible to set a score that can determine an appropriate clamp position for all of the workpieces.
[0090]
Next, the learning engine in FIG. 18 will be described. When the correction data accumulated in the database increases, the work of changing each score is performed by trial and error by obtaining as shown in Table (A) to Table (B) and Table (D). It becomes very difficult. The role of the learning engine is to automatically change each score to an appropriate value based on the accumulated database. Here, this method will be described by taking the database (b) in FIG. 19 as an example. FIG. 22 shows a flowchart of the learning engine.
[0091]
1) Find the correction factor of the correction data. Here, the correction factor means that the value given by each score (point) differs between W and C. Therefore, in the case of (2) in the database (b) in FIG. 19, Pc, Ph, Pth, and Pdist are correction factors.
2) With respect to the score that became the correction factor, by selecting a small amount of each separately, a score that does not affect the correction data other than the target correction data is selected.
3) The selected score is changed in a direction in which the target correction data is improved (C> W). That is, in the case of FIG. 19B, Pc is changed to a positive direction, Ph is changed to a negative direction, Pth is changed to a negative direction, and Pdist is changed to a negative direction.
4) When each score is changed sequentially, and a satisfactory score is obtained with respect to all the corrected data, learning is successful. The score is used for the next clamp position determination.
5) If learning is not successful, it is considered that there is a factor in the correction data other than the target correction data that conflicts with the correction factor of the target correction data. To do.
6) If the learning is not successful in the above (5), it can be seen that there is a situation that cannot be handled only by the set score. Therefore, we will review the database that we have built, such as increasing the types of scores.
[0092]
The learning engine can also be constituted by a so-called neural network. FIG. 23 shows an example of a neural network model of the learning engine. This neural network model includes rules accumulated in the database as input elements, points previously mentioned as weights (here, the case of the first embodiment is shown), and the output layer includes blocks that are candidates for clamp positions. It is the total of points (scores) earned. In this neural network, there is no need to use a teacher signal, the output is self-evaluated as it is, the evaluation result is fed back to the weight, and the weight (here, each point) is adjusted. Therefore, to obtain weights that satisfy the final evaluation (pa <pb) in all rules, if each weight can take Q values, all 9 (number of combined weights) in the Qth power are obtained. In this case, it is possible in principle if the learning data is evaluated. However, this method is impossible in a realistic time because the number of combinations increases explosively. Therefore, as an efficient learning method, it is necessary to examine various neural network methods devised up to now and improve them if necessary.
[0093]
In the above, each part of the automatic fixture design system of FIG. 1 has been described. A specific example of the execution result (inference result) of this system is shown below.
[0094]
As input elements, the system includes CAD data (for example, IGES format) of a workpiece, a processing method (drilling or milling, and a plurality of processing), and a processing position thereof. In the output, the clamp position, the position of the locator pin, and the position of the jack-up are indicated by three-dimensional coordinates, and further, the display by computer graphics and the printer output are possible. Here, the output result when the learning function is not used (as learning is not completed) is shown and examined.
[0095]
FIG. 24 shows the output results of the system when (a) machining is not performed and (b) drilling is input. (C) milling and drilling are input. When (b) is seen, since the position clamped in (a) is drilled, it can be seen that it is clamped avoiding that location. Further, as shown in (c), when a plurality of processes are required, the clamp position is determined so as not to hinder the processes.
[0096]
FIG. 25 is an example in which clamping is performed evenly by suppressing the corners of the workpiece.
[0097]
FIG. 26 shows a case where a hole is drilled to the seating surface of the workpiece. In accordance with the above-mentioned rule 3 (when the workpiece is penetrated to the bottom of the workpiece, the entire workpiece is lifted with a jack), the jack below the clamp position is jacked. It can be seen that the entire workpiece is lifted from the seating surface.
[0098]
FIG. 27 shows a case in which holes are drilled in the four corners of the workpiece, and even if the corners cannot be suppressed, the result is that the clamps are suppressed evenly away from the processing position.
[0099]
FIG. 28 is an example in which the seating surface is preferentially suppressed. In the future, it may be possible to specify the seating surface according to the rule 14.
[0100]
FIG. 29 is an example in which an extra clamp position is set, and it is presumed that there is a problem in the setting of min p and min dist (case of the first embodiment). This can be improved by using a learning mechanism.
[0101]
FIG. 30 shows an example in which the fixture chaining is not performed so as to restrain the machining direction. This is also improved by using a learning function.
[0102]
FIG. 31 shows an example in which jack-up is performed. In this case, it is doubtful whether jack-up as answered by the present system is necessary. It is necessary to change the system by meeting with a skilled worker.
[0103]
FIG. 32 is an example in which positioning has failed. The position of the locate pin is determined by searching for pattern numbers 12, 14, 15, and 16 representing the surface measurement (see FIG. 5). However, since the thickness of the workpiece shown in FIG. The block shown above was not found and caused a bug.
[0104]
【The invention's effect】
According to the automatic fixture design system of the present invention, it is possible to support the efficiency and automation of the work of setting up and attaching various workpieces to a machine tool.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of an automatic fixture design system of the present invention.
FIG. 2 is a diagram illustrating an example of a workpiece fixture rule.
FIG. 3 is a diagram illustrating an example of a workpiece fixture rule;
FIG. 4 is an explanatory diagram for dividing a work space into small cubic blocks.
FIG. 5 is a table in which shapes of workpiece parts of blocks of each small cube are classified.
FIG. 6 is a diagram illustrating an example of blocks classified into the same shape pattern.
FIG. 7 is a specific example of a pattern number of each divided block.
FIG. 8 is a diagram illustrating determination of a locate position.
FIG. 9 is an example of a workpiece that requires a tooling block.
FIG. 10 is a diagram for explaining the diversity of reference plane patterns.
FIG. 11 is a diagram illustrating a setting example of a tooling block.
FIG. 12 is a diagram for explaining a first embodiment of a clamp position determination method.
FIG. 13 is a diagram illustrating an example of a jack-up pattern.
FIG. 14 is a diagram illustrating a clamp position determination method according to a second embodiment.
FIG. 15 is a flowchart of the second embodiment of the clamp position determination method.
FIG. 16 is an example of a workpiece for explaining a learning process.
17 is a diagram showing the transition of the point table and the correct / wrong clamp position in the example of FIG. 16;
FIG. 18 is an overall flowchart of the learning unit.
FIG. 19 is a diagram illustrating an example of a data set in a database.
FIG. 20 is another example of a workpiece for explaining a learning process.
FIG. 21 is a diagram showing the transition of the point table and the correct / wrong clamp position in the example of FIG. 20;
FIG. 22 is a flowchart of the learning engine.
FIG. 23 is a diagram illustrating an example of a neural network model used for a learning engine.
FIG. 24 is a diagram showing an execution result by the automatic fixture design system.
FIG. 25 is a diagram showing an example of a system execution result by the present system.
FIG. 26 is a diagram showing an example of a system execution result obtained by the present system.
FIG. 27 is a diagram showing an example of a system execution result by the present system.
FIG. 28 is a diagram showing an example of a system execution result obtained by the present system.
FIG. 29 is a diagram showing an example of a system execution result obtained by the present system.
FIG. 30 is a diagram showing an example of a system execution result by the present system.
FIG. 31 is a diagram showing an example of a system execution result by the present system.
FIG. 32 is a diagram showing an example of a system execution result by the present system.
[Explanation of symbols]
10 Automatic fixture design system
110 Work shape recognition unit
120 Fixing method reasoning part
130 Learning Department
20 3D CAD
30 Workpiece model
40 Workpiece data

Claims (2)

ワークピースの工作機械への取り付け(フィクスチャリング)方法を自動設計する自動フィクスチャリング設計システムであって、
3次元CADで出力されるワークピースのデータにより、ワークピースを含む空間を複数のブロックに分割し、各ブロック毎にそのワークピース部分の形状の特徴を認識する手段と、
上記認識結果をもとに、フィクスチャリングに必要な箇所の候補ブロックを抽出し、各候補ブロックについて、フィクスチャリング位置としての適性度を、あらかじめ定めたルールによりポイントを計算することで割り当て、その結果によりフィクスチャリング位置に最適なブロックを選択し、フィクスチャリング方法を決定する手段と、
を有することを特徴とする自動フィクスチャリング設計システム。
An automatic fixture design system for automatically designing a method of attaching a workpiece to a machine tool (fixture),
Means for dividing the space including the workpiece into a plurality of blocks based on the workpiece data output by the three-dimensional CAD, and recognizing the feature of the shape of the workpiece portion for each block;
Based on the above recognition results, candidate blocks are extracted where necessary for fixtures, and the aptitude of each candidate block as a fixture position is assigned by calculating points according to predetermined rules. Means for selecting the optimum block for the fixture position and determining the fixture method;
An automatic fixture design system characterized by comprising:
請求項1記載の自動フィクスチャリング設計システムにおいて、候補ブロックについてフィクスチャリング位置としての適性度を割り当てるために使用されるルール、ポイントを、利用者との対話により修正する手段を有することを特徴とする自動フィクスチャリング設計システム。2. The automatic fixture design system according to claim 1, further comprising means for correcting the rules and points used for assigning the suitability degree as a fixture position for a candidate block by interaction with a user. Automatic fixture design system.
JP02975096A 1995-02-16 1996-02-16 Automatic fixture design system Expired - Fee Related JP3745006B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02975096A JP3745006B2 (en) 1995-02-16 1996-02-16 Automatic fixture design system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-27941 1995-02-16
JP2794195 1995-02-16
JP02975096A JP3745006B2 (en) 1995-02-16 1996-02-16 Automatic fixture design system

Publications (2)

Publication Number Publication Date
JPH0929568A JPH0929568A (en) 1997-02-04
JP3745006B2 true JP3745006B2 (en) 2006-02-15

Family

ID=26365946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02975096A Expired - Fee Related JP3745006B2 (en) 1995-02-16 1996-02-16 Automatic fixture design system

Country Status (1)

Country Link
JP (1) JP3745006B2 (en)

Also Published As

Publication number Publication date
JPH0929568A (en) 1997-02-04

Similar Documents

Publication Publication Date Title
EP0744046B1 (en) Intelligent system for generating and executing a sheet metal bending plan
EP1684140A2 (en) Bending apparatus comprising a control means
US8140306B2 (en) Determination of process operations in order to describe forming processes on a forming part
JP4512754B2 (en) Process design support system and process design support method
Smith et al. Process plan generation for sheet metal parts using an integrated feature-based expert system approach
JPH0215949A (en) Process design treatment system in machining
JP3745006B2 (en) Automatic fixture design system
CN113939782B (en) Manufacturing process design method and manufacturing process design system
JP4804837B2 (en) Mold setup information creation device
Demey et al. Determining set-ups for mechanical workpieces
JP3211564B2 (en) Processing information creation device
JP2991006B2 (en) CAD / CAM equipment
JP3432243B2 (en) Data generation method
JP4209567B2 (en) Tool path data creating method and computer readable storage medium storing tool path data creating program
CN112329114B (en) Method for placing bidirectional gradient bridge member in three-dimensional modeling
JP3564721B2 (en) CAD / CAM equipment
Sermsuti-Anuwat Computer-aided process planning and fixture design (CAPPFD)
JPH0916657A (en) Methods for preparing designing data of shape of intermediate structure and tool tracing data
US20240069522A1 (en) Systems and methods to automate cnc programming
El-Midany et al. Computer Aided Production Planning (CAPP) Systems and Approaches
Kirk et al. Automatic work direction preparation
CN115781043A (en) Laser common edge cutting processing path generation method
Kim The effect of geometric dimensioning and tolerancing on the performance of an assembly robot
CN113052460A (en) Method and device for determining stacking position of plates
CN116167116A (en) Perforated plate lofting method and perforated plate

Legal Events

Date Code Title Description
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: 20051115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121202

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131202

Year of fee payment: 8

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees