(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係る基準点特定装置を用いた制御用データ生成装置の構成を示す概略ブロック図である。
本実施形態に係る制御用データ生成装置10は、ワークを測定した測定結果から、ワークの立体形状データや寸法データを生成して出力する機能を有するとともに、工作機械における座標系である機械座標におけるワークの基準点を特定する機能を有する。
制御用データ生成装置10は、パレットPを支持するテーブル11と、テーブル11を回転させるモータ12と、立設される測定機器固定部13と、測定機器固定部13に取り付けられた2つのカメラ14と、測定機器固定部13に取り付けられたレーザスキャナ15と、制御装置16とを備える。なお、カメラ14およびレーザスキャナ15の設置数および位置関係は、これに限られない。また、制御用データ生成装置10は、工作機械の構成の一部であってもよい。
【0017】
モータ12は、テーブル11を鉛直軸回りに回転させる。
2つのカメラ14は、互いの撮像方向に伸びる直線がテーブル11の回転軸上で交差するように設けられる。
レーザスキャナ15は、テーブル11の回転軸に沿ってレーザを走査させ、その反射光に基づいてテーブル11の上に載置された物体の空間位置を特定する。例えば、レーザスキャナ15は、レーザの照射時刻から反射光の検知時刻までの時間から、物体の空間位置を特定することができる。レーザスキャナ15は、特定した空間位置を示す検知情報を出力する。
制御装置16は、モータ12、カメラ14およびレーザスキャナ15の制御を行う。制御装置16は、情報を表示するためのディスプレイ17を備える。
【0018】
パレットPには、加工対象であるワークWおよびワークWを支持する治具Jが固定される。テーブル11、パレットPおよび治具Jは、ワークWを支持する支持具の一例である。パレットPには、加工前のワークWが固定される。
ここで、ワークWは、例えば鋳造された物体であり、最終的な形状や寸法にある程度近い状態のものである。この実施形態においては、ワークWが鋳物であり、このワークWに対して切削加工することで、最終的な形状に加工される場合について説明する。
【0019】
図2は、第1の実施形態に係る制御装置のソフトウェア構成を示す概略ブロック図である。
制御装置16は、カメラ制御部101、スキャナ制御部102、割出部103、測定部104、形状データ生成部105、表示制御部106、指定部107、入力部108、データ出力部109を備える。
カメラ制御部101は、カメラ14に撮像指示を出力し、またカメラ14から撮像画像を取得する。
スキャナ制御部102は、レーザスキャナ15に走査指示を出力し、またレーザスキャナ15から検知情報を取得する。
割出部103は、モータ12に回転角度を示す割出指示を出力する。これにより、モータ12が回転し、テーブル11が指定の回転角度に割り出される。
【0020】
測定部104は、カメラ制御部101が取得した撮像画像、スキャナ制御部102が取得した検知情報、および割出部103が指示した回転角度に基づいて、ワークWの立体形状を測定する。
ここで、具体的な立体形状の測定方法について説明する。
測定部104は、カメラ制御部101が2つのカメラ14からそれぞれ取得した2つの撮像画像の対応する画素を探索する。視差の探索方法の例としては、ブロックマッチング法などが挙げられる。測定部104は、探索した対応する各画素間の距離を視差として算出する。そして、測定部104は、算出した視差と、2つのカメラ14のカメラパラメータとを用いて、三角測量法により、ワークWのうち撮像画像に写った面の空間位置を特定する。なお、カメラパラメータは、カメラ14の設置座標、視線角度、および撮像倍率を含むパラメータである。また測定部104は、スキャナ制御部102から取得した検知情報から、ワークWのうちレーザが照射された面の空間位置を特定する。そして、測定部104は、割出部103が指示した回転角度ごとに、特定した空間位置の座標を回転させることで、ワークWの全ての面の空間位置を特定する。なお、ワークWの同一部分の空間位置が重複して計測されている場合、測定部104は、平均値の算出によりその部分の空間位置を特定する。ここで、空間位置は、工作機械における機械座標に対応している。すなわち、パレットP上に治具Jによって固定されたワークは、加工プログラム生成装置によって生成された加工プログラムに従って加工を行なう工作機械によって、この固定された状態において加工される。そのため、測定部104によって測定される空間位置は、工作機械における機械座標に対応している。
【0021】
形状データ生成部105は、測定部104による測定結果に基づいて立体形状データを生成する。例えば、形状データ生成部105は、STL(Stereolithography)データを生成する。この場合、形状データ生成部105は、測定部104による測定結果が示すワークWの各部分の空間位置を、三角形ポリゴンの頂点座標に変換することで、STLデータを生成することができる。このとき、形状データ生成部105は、立体形状データを複数の基本図形の組み合わせに近似変換する。基本図形の例としては、直方体、球、三角柱、三角錐、円柱、円錐などが挙げられる。
形状データ生成部105は、立体形状データが示す立体形状において、基準点として設定可能な基準候補位置を検出する。基準候補位置としては、立体形状データが示す立体形状におけるいずれの位置であってもよく、立体形状の面上のいずれかの位置や、立体形状におけるエッジの位置であってもよい。
【0022】
表示制御部106は、形状データ生成部105が生成した立体形状データをディスプレイ17に表示させる。
表示制御部106は、立体形状データをディスプレイ17に出力する。これにより、ディスプレイ17の画面上には、立体形状データに対応した立体形状が表示される。
表示制御部106は、立体形状とともに基準候補位置を立体形状の部位のうち基準候補位置以外の部位とは異なる表示態様で表示画面上に出力する。ここで異なる表示態様としては、例えば、立体形状のうち基準候補位置以外の部位を表示する線(実線、破線等)と区別可能な大きさの点を表示したり、基準候補位置以外の部位とは異なる色で基準候補位置を表示したり、基準候補位置を点滅表示させたりすることができる。
【0023】
入力部108は、立体形状データが示す形状のいずれかの位置に対して指定される位置を入力する。入力部108は、例えば、ディスプレイ17の画面上に表示された基準候補位置やエッジの位置のうちいずれかの位置に対する指定入力を受け付ける。
この入力部108は、例えば、マウス、キーボード、ディスプレイ17上のタッチパネル等を用いることができる。
データ出力部109は、入力部108から入力された位置に基づいてワークの基準位置を表す基準位置データを出力する。より具体的には、データ出力部109は、ディスプレイ17の表示画面上に表示された立体形状のいずれかの位置に対して入力部108によって入力された位置を基準位置データとして出力する。
また、データ出力部109は、出力対象のデータ(立体形状データ、基準位置データ等)を含む諸元データを、加工プログラムを生成する加工プログラム生成装置に出力する。諸元データには、例えば、ワークの形状を表す形状データ、ワークの各部位の寸法、ワークの材質、ワークに対する切削条件、加工形状、加工位置等を含む情報である。この諸元データを用いることで加工プログラムが生成される。加工プログラム生成装置としては、例えば、立体形状データに基づいて加工プログラムを自動生成するCAMシステムを用いることができる。なお、加工プログラムとは、工作機械を制御するためのNC(Numerical Control)データである。
立体形状データにおける各部位の寸法は、計測された空間位置に基づき、複数の空間位置に基づいて算出することができる。例えば、ワークの直線状の部位においては、その直線の一方の端点からもう一方の端点までの距離を算出することで寸法を得ることができる。円状(円環状)の部位においては、その部位の空間位置をつなぐ輪郭を検出し、この輪郭に応じた曲率や半径又は直径を求め、これらに応じて円状であるかを判定し、円上である場合には、直径を寸法として得ることができる。また、2つの直線形状がなす角がある場合には、角度を検出することもできる。この寸法の算出は、形状データ生成部105が行なうようにしてもよい。
【0024】
ここで、ワークW、治具J、パレットP、テーブル11を一体として測定した場合、測定部104によって得られた立体形状データに、ワークWの立体形状データだけでなく、治具J、パレットP、テーブル11に対応する立体形状データも含まれている場合がある。このような場合には、入力部108は、作業者から、ディスプレイ17に表示された立体形状データのうち、ワークW、治具J、パレットP、およびテーブル11に相当する領域の指定をそれぞれ受け付ける。例えば、入力部108は、作業者による操作によって、ディスプレイ17に表示された立体形状データの一部分の選択を受け付ける。次に、入力部108は、立体形状データのうち、選択された部分が属する基本図形を特定する。次に、入力部108は、作業者による操作によって、選択された部分の種別(ワークW、治具J、パレットP、またはテーブル11)の入力を受け付ける。そして、指定部107は、特定した基本図形の領域が入力された種別の部材に相当すると特定する。これにより、形状データ生成部105が生成した立体形状データのうち、加工・干渉対象物Waを構成する部材ごとに、部材の種別とその部材に相当する領域の指定を受け付ける。これにより、制御用データ生成装置10は、立体形状データのうち加工対象となるワークWとその他の部分(加工対象とならない部分、治具J、パレットP、テーブル11)とを特定し、ワークWを対象とした立体形状データを得ることができる。
【0025】
次に、本実施形態に係る制御用データ生成装置10の動作を説明する。
図3は、第1の実施形態に係る測定データ生成方法を示すフローチャート、
図4、
図5は、ディスプレイ17に表示される画面の一例を示す図である。
まず作業者は、パレットPに治具Jおよび加工前のワークWを取り付け、加工・干渉対象物Waを作成する(ステップS1)。次に、作業者は、加工・干渉対象物Waをテーブル11に設置する(ステップS2)。次に、作業者は、制御用データ生成装置10を操作し、制御用データ生成装置10に基準点特定プログラムを実行させる。
【0026】
制御用データ生成装置10が基準点特定プログラムの実行を開始すると、割出部103は、テーブル11の回転角度が基準角度(例えば、0度)となるように、モータ12に割出指示を出力する(ステップS3)。次に、制御用データ生成装置10は、テーブル11が1周するまで、以下のステップS5からステップS9に示す処理を繰り返し実行する(ステップS4)。
まずカメラ制御部101は、2つのカメラ14に撮像指示を出力し、2つのカメラ14から撮像画像を取得する(ステップS5)。またスキャナ制御部102は、レーザスキャナ15に走査指示を出力し、レーザスキャナ15から検知情報を取得する(ステップS6)。次に、測定部104は、カメラ14から取得した撮像画像およびスキャナ制御部102から取得した検知情報に基づいて、ワークWの空間位置を測定する(ステップS7)。次に、測定部104は、測定した空間位置を、テーブル11の回転軸回りに、現在のテーブル11の割出角度だけ回転させることで、テーブル11の基準角度を基準としたワークWの空間位置を特定する(ステップS8)。
次に、割出部103は、モータ12にテーブル11を単位角度だけ回転させる割出指示を出力する(ステップS9)。
【0027】
テーブル11が1周する間、上記のステップS5からステップS9の処理が実行されると、形状データ生成部105は、測定部104が測定したワークWの空間位置に基づいて立体形状データを生成する(ステップS10)。次に、表示制御部106は、形状データ生成部105が生成した立体形状データをディスプレイ17に表示させる(ステップS11)。例えば、
図4には、ワークWのある一面(例えば正面図)がディスプレイ17上に表示された場合を示している。この図において符号400は、ディスプレイ17の表示画面の表示領域を示す。そして画面上にはワークの形状が表示されている(符号405)。ここでは、ワークには、穴(下穴)が形成されており、その穴の形状も画面上に表示される(符号410)。ここでは、正面図のみ図示しているが、画面をスクロールすることで、側面図や平面図等の他の視点からみた場合の図を表示させるようにしてもよいし、側面図や平面図等を選択するラジオボタン等の選択ボタンを表示しておき、入力部108によって選択された場合には、その選択された図を表示するようにしてもよい。
【0028】
次に、形状データ生成部105は、立体形状データが示す立体形状において、基準点として設定可能な基準候補位置を検出する(ステップS12)。形状データ生成部105は、基準候補位置を検出ルールが予め定められており、例えば、立体形状におけるエッジの位置を検出するルールに基づいて、立体形状におけるエッジを検出する。エッジとしては、例えば、ワークWの一方の面とこの一方の面に連なる他方の面との境界である辺のうち、いずれかの位置であってもよいし、ワークWの頂点であってもよい。
図4においては、基準候補位置として、例えば、第1基準候補位置420、第2基準候補位置421、第3基準候補位置422、第4基準候補位置423の4つの基準候補位置が検出される。
【0029】
表示制御部106は、基準候補位置が検出されると、この検出された基準候補位置をディスプレイ17の表示画面上であって、立体形状のうち基準候補位置に対応する位置に、基準候補位置を表す図形を表示する。
図4においては、ワークWのエッジのうち、4つの頂点(第1基準候補位置420、第2基準候補位置421、第3基準候補位置422、第4基準候補位置423)に対応する位置に円を付加して表示する。ここでは、基準候補位置を表す図形として円を表示する場合について説明するが、正方形や星型等の形状であってもよい。また、図形を付加して表示する他に、図形を頂点に対応する位置の画素を立体形状を描画する色とは異なる色で表示するようにしてもよいし、色と図形との両方を組み合わせて表示するようにしてもよい。
このように、基準候補位置をディスプレイ17に表示することにより、作業者は、ワーク上におけるどの位置を基準点として指定可能であるかを簡単に把握することができる。
また、表示制御部106は、ディスプレイ17の表示画面上に入力装置によって操作可能なポインタ(符号405)を表示する。
【0030】
基準候補位置が表示されると、入力部108は、この表示された基準候補位置のなかから作業者によって指定入力されるいずれか1つの点を取得する(ステップS14)。ここでは、作業者によってマウスが操作され、ポインタ403が、第1基準候補位置420、第2基準候補位置421、第3基準候補位置422、第4基準候補位置423のなかから、基準点として設定する対象となる基準候補位置まで移動され、決定を示すクリック入力があると、入力部108は、このポインタ403によって指定された位置における基準候補位置を基準点とする指定入力を受け付ける。
【0031】
データ出力部109は、入力部108から基準位置が指定入力されると、この基準位置に対応する機械座標を基準点とし、この基準点を表す基準位置データと、立体形状データとを加工プログラム生成装置(例えばCAMシステム)に出力する。加工プログラム生成装置は、データ出力部109から出力される立体形状データ、基準位置データ等を含む諸元データに基づいて、ワークWに対して工具を相対移動させてワークWを切削加工する加工プログラムを生成する。
【0032】
以上説明したように、本実施形態によれば、機械座標上に置かれたワークWの形状を測定し、その測定結果から得られる立体形状データに基づいて、ワークWの形状のいずれかの位置を基準点として入力を受け付けるようにした。すなわち、従来であれば、ワークの形状や寸法等を表す諸元データを入力した後、ワークをテーブルに固定し、機械座標における基準点をプローブによって測定し、その測定された基準点と諸元データにおける所定の位置とを対応付けする処理を行なうことで、諸元データに基づく加工を行なう機械座標上の位置を特定することができる。
【0033】
これに対し、本実施形態によれば、機械座標上に配置されたワークWについて空間位置を特定するようにしたので、ワークWの形状を測定することで機械座標上における座標位置に基づくワークWの形状が特定されるため、このワークWの形状のうちいずれかの位置を基準位置として特定することで、機械座標における基準点を特定することができる。したがって、プローブを用いて計測する必要がないため、プローブによる計測工程にかかる時間を削減することができ、また、プローブを利用して計測を行なう計測プログラムの作成や計測プログラムのデバッグが不要となる。そのため、サイクルタイムが長引くことを低減し、効率を向上することができ、また、プローブを用いることがないので、プローブでワークを破損してしまうような場合を無くすことができる。
【0034】
また、上述した実施形態において、表示制御部106は、
図4に示すような平面図での表示の他に、
図5に示すように、立体形状データに応じた立体形状を画面上に表示することもできる。
図5では、ワークが斜投影された場合の形状が表示されているが、他の表現方法(等角投影等)で表示されてもよい。
図5においては、基準候補位置として、第1基準候補位置520、第2基準候補位置521、第3基準候補位置522、第4基準候補位置523の4つの基準候補位置が検出され、基準候補位置を示す図形が表示される。また、例えば、ポインタ503が第1基準候補位置520の位置に移動された場合には、第1基準候補位置520の座標値(機械座標における3次元座標における座標値)が第1基準候補位置の近傍に表示制御部106によってマウスオーバされ表示される。ここでは、座標値(100,200,300)が表示されている。ここでは、x軸座標値(画面左右方向)が100、y軸座標値(画面上下方向)が200、z軸座標値(画面奥方向)が300として表示される。この座標値の表示は、
図4に示す2次元形状において表示するようにしてもよい。
【0035】
また、本実施形態によれば、制御用データ生成装置10は、テーブル11の割出により、テーブル11の位置を基準としてワークWの形状を測定する。これにより、制御用データ生成装置10は、正確にワークWの形状を測定することができる。なお、他の実施形態においては、制御用データ生成装置10は、テーブル11の割出を行わなくてもよい。すなわち、他の実施形態に係る制御用データ生成装置10は、カメラ14およびレーザスキャナ15をワークW回りに回転させることで、ワークWの全体の形状を測定してもよい。
【0036】
また、本実施形態によれば、制御用データ生成装置10は、ワークWの立体形状データを、プログラム作成用データとして、加工プログラム生成装置(例えば、CAMシステム)に入力する。これにより、作業者は、ワークWの設計データをワークWの提供者から得ることができない場合にも、加工プログラム生成装置にそのワークWの加工プログラムを作成させることができる。
【0037】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述した実施形態では、制御用データ生成装置10は、カメラ14の撮像画像およびレーザスキャナ15の検知情報に基づいて、ワークWの形状を測定するが、これに限られない。例えば、他の実施形態では、制御用データ生成装置10は、カメラ14の撮像画像のみ、またはレーザスキャナ15の検知情報のみに基づいて、ワークWの形状を測定してもよい。また、他の実施形態では、制御用データ生成装置10は、プローブをワークWに接触させることで、接触方式による形状測定を行っても良い。
【0038】
また、上述した実施形態では、制御用データ生成装置10は、工作機械の制御装置およびCAMシステムと別個の装置であるが、これに限られない。例えば、他の実施形態に係る制御用データ生成装置10は、工作機械の制御装置に備えられていてもよい。また他の実施形態に係る制御用データ生成装置10は、加工プログラム生成装置に備えられていてもよい。この場合、制御用データ生成装置10は、生成した立体形状データに基づいて、加工プログラムの生成処理を行う。
【0039】
なお、ワークWの底面側において、パレットPやテーブル11に当接している面については、測定部104による測定が出来ない場合があったとして、他の面については測定できている。そのため、作業者は、この底面側の面内以外の位置において基準点を指定すればよい。
【0040】
図6は、第1の実施形態におけるコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、CPU91、メインメモリ92、ストレージ93、インタフェース94を備える。
上述の制御用データ生成装置10は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。CPU91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。
【0041】
なお、少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース94を介して接続される磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行しても良い。
【0042】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、当該プログラムは、前述した機能をストレージ93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0043】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。