JP6656707B2 - 切削加工装置、撮像方法、およびプログラム - Google Patents

切削加工装置、撮像方法、およびプログラム Download PDF

Info

Publication number
JP6656707B2
JP6656707B2 JP2016210703A JP2016210703A JP6656707B2 JP 6656707 B2 JP6656707 B2 JP 6656707B2 JP 2016210703 A JP2016210703 A JP 2016210703A JP 2016210703 A JP2016210703 A JP 2016210703A JP 6656707 B2 JP6656707 B2 JP 6656707B2
Authority
JP
Japan
Prior art keywords
imaging
unit
data
image
sequence number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016210703A
Other languages
English (en)
Other versions
JP2017146955A (ja
Inventor
清和 斎藤
清和 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iriso Seimitsu Co Ltd
Original Assignee
Iriso Seimitsu Co 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 Iriso Seimitsu Co Ltd filed Critical Iriso Seimitsu Co Ltd
Priority to JP2016210703A priority Critical patent/JP6656707B2/ja
Publication of JP2017146955A publication Critical patent/JP2017146955A/ja
Application granted granted Critical
Publication of JP6656707B2 publication Critical patent/JP6656707B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Tool Sensing Apparatuses (AREA)
  • Numerical Control (AREA)

Description

本発明は切削加工装置、撮像方法、およびプログラムに関し、特に、ワークを撮像するための切削加工装置、撮像方法、およびプログラムに関する。
切削加工によりワークを加工する切削加工装置が広く利用されている。
従来、工具を先端に着脱可能に装着する主軸を備えたヘッドと、ワークを載置するテーブルとを備えてなるマシニングセンタ等の工作機械に取り付けられ使用される工作機械用カメラであって、工具を着脱可能に装着するチャック形状に合わせた端部が円筒形あるいは方形あるいはテーパー形状になった被チャック部を持ったカメラであって、前記工作機械のチャック部に前記カメラの被チャック部を取り付けることにより、ワークあるいはワークを載置するテーブルが撮像素子の視野内に入り撮像できるように被チャック部の反対端に撮像ユニットを配置するように構成した工作機械用カメラが提案されている(例えば、特許文献1参照)。
特開2008−6534号公報
しかしながら、特許文献1の工作機械用カメラは、取り付けられると撮影モードになり、マシニングセンタで、カメラからの信号をレシーバーを介して受け取り、付属のモニターにカメラからの映像を映し出すものであり、カメラとワークとを見なければ、ワークのどの部位の映像が映し出されているかを知ることは出来なかった。
本発明は、このような状況に鑑みてなされたものであり、より簡単に、より迅速に、ワークの所望の部位が撮像されて得られた撮像データを特定して読み出すことができるようにするものである。
本発明の一側面の切削加工装置は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令手段と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令手段から撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶手段とを含む。
記憶手段に、シーケンス番号に対応付けて、画像を撮像する撮像手段により得られたワークの画像のデータである撮像データを記憶させることができる。
また、記憶手段に、シーケンス番号に対応付けて、3次元スキャナである撮像手段により得られたワークの形状を示す3次元の点群からなる撮像データを記憶させることができる。
記憶手段に、実行されている数値制御プログラムのプログラム番号に対応付けて撮像データを記憶させることができる。
記憶手段に、数値制御プログラムの撮像のコードが解釈されたときの主軸の座標上の位置を示す位置データに対応付けて撮像データを記憶させることができる。
本発明の一側面の撮像方法は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置の撮像方法であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップと、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶ステップとを含む。
本発明の一側面のプログラムは、加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置を制御するコンピュータに、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップと、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けた、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データの記憶を制御する記憶制御ステップとを含む撮像処理を行わせる。
本発明の一側面においては、撮像手段が、ワークを切削するとき工具が装着される主軸に装着されるので、工具でワークを切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像手段を主軸に装着すれば、切削加工中の所望の時点でのワークを撮像することができる。また、シーケンス番号が付されている数値制御プログラムのコードを解釈して、解釈されたコードが撮像のコードである場合、撮像が指令されたとき撮像する撮像手段に撮像を指令するので、撮像手段を数値制御で所望の位置、例えば、ワークの部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワークの切削加工とワークの撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワークの加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワークの加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワークに対してより正確な位置からワークを撮像できる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワークの所望の部位の切削加工の状態を示すことができる。また、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像手段によるワークの撮像で得られた撮像データが記憶されるので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。従って、より簡単に、より迅速に、ワークの所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
以上のように、本発明によれば、より簡単に、より迅速に、ワークの所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
マシニングセンタ1の加工部11の外観を示す外観図である。 撮像ユニット21によるワーク51の撮像の例を示す図である。 マシニングセンタ1のハードウェアの構成を示すブロック図である。 制御プログラムを実行する主制御部83において実現される機能の構成を示すブロック図である。 撮像ユニット21−1の構造を示す図である。 撮像ユニット21−1のハードウェアの構成を示すブロック図である。 撮像制御プログラムを実行する制御部203において実現される機能の構成を示すブロック図である。 撮像ユニット21−2の構造を示す図である。 撮像ユニット21−2のハードウェアの構成を示すブロック図である。 撮像制御プログラムを実行する制御部302において実現される機能の構成を示すブロック図である。 撮像データテーブル153の構造の例を示す図である。 NCプログラムの実行の処理の例を説明するフローチャートである。 撮像ユニット21への指令の処理の例を説明するフローチャートである。 撮像の処理の例を説明する。 撮像ユニット21への指令の処理の他の例を説明するフローチャートである。 撮像の処理の他の例を説明する。 撮像ユニット21への指令の処理のさらに他の例を説明するフローチャートである。 撮像の処理のさらに他の例を説明する。 撮像ユニット21への指令の処理のさらに他の例を説明するフローチャートである。 撮像の処理のさらに他の例を説明する。 表示部101への表示の例の概要を示す図である。 画像の表示の処理の例を説明するフローチャートである。 画像の表示の処理の他の例を説明するフローチャートである。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の切削加工装置(例えば、図3のマシニングセンタ1)は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令手段(例えば、図4の撮像指令部154)と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令手段から撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶手段(例えば、図3の記憶部82)とを含む。
本発明の一側面の撮像方法は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置の撮像方法であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップ(例えば、図13のステップS34の手続き)と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶ステップ(例えば、図13のステップS36の手続き)とを含む。
本発明の一側面のプログラムは、加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置を制御するコンピュータに、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップ(例えば、図13のステップS34の手続き)と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けた、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データの記憶を制御する記憶制御ステップ(例えば、図13のステップS36の手続き)とを含む撮像処理を行わせる。
以下、図1乃至図23を参照して、本発明の実施の形態を説明する。
図1は、本発明の一実施の形態のマシニングセンタ1の加工部11の外観を示す外観図である。マシニングセンタ1は、切削加工装置の一例である。
マシニングセンタ1は、いわゆる5軸加工機であり、5軸制御の立形マシニングセンタである。マシニングセンタ1は、右手直交座標系の3次元空間である、いわゆるXYZ空間における工具やワーク51の位置や角度、移動速度などを数値制御する。マシニングセンタ1は、工具やワーク51の位置や角度、移動速度などの数値制御のための数値制御プログラム(以下、NCプログラムとも称する。)を実行し、数値制御プログラムに記述されているコードを解釈して、コードで指定されている動作を行う。
NCプログラムの1行は、ブロックとも称され、1または複数のワードを含む。ワードは、アルファベットで表されるアドレスと、数値とからなる。例えば、Xであるアドレスと数値からなるワードにおいて、アドレスは、X軸の変位を示す、数値は、座標位置または変位する距離を示す。例えば、アドレスがMである場合、Mコードと称され、補助機能を制御し、アドレスがGである場合、Gコードと称され、補間などの準備機能を制御する。プログラム番号は、NCプログラムを特定する番号であり、O(アルファベットのオー)に続く数字で表される。シーケンス番号は、NCプログラム上の位置を識別するためのものであり、Nに続く数値で表される。
加工部11は、後述するNC(Numerical Control)制御部によって制御されて動作し、加工の対象物(工作物)であるワーク51を加工する。ワーク51は、一定の形状を有する固体の物であれば良く、例えば、鉄、アルミ、銅、プラスチック、セラミックスなどからなる。
ワーク51を加工する場合、マシニングセンタ1には、エンドミルやドリルビットなどの工具(図示せず)が装着される。加工されたワーク51を撮像する場合、マシニングセンタ1には、撮像ユニット21が装着される。撮像ユニット21は、撮像装置または撮像手段の一例であり、マシニングセンタ1からの指令でワーク51を撮像する。撮像ユニット21は、各種の工具が装着される主軸22に装着される。撮像ユニット21は、マシニングセンタ1と、各種の指令やデータを無線通信する。直交軸駆動部23は、主軸22を本体24に対して変位させることで、相互に直交するX軸、Y軸、およびZ軸上で特定される位置に主軸22を変位させる。
ワーク51は、テーブル31に固定されている。テーブル31は、Z軸を中心に旋回する旋回軸であるC軸方向に回動させる旋回軸駆動部32に設けられている。すなわち、旋回軸駆動部32は、テーブル31に固定されているワーク51をC軸方向に回動させる。
旋回軸駆動部33は、旋回軸駆動部32を図中の矢印Kの方向に回動させる。旋回軸駆動部33の回動の中心は、Y軸に一致している。すなわち、旋回軸駆動部33は、Y軸を中心に旋回する旋回軸であるB軸方向に、テーブル31に固定されているワーク51を回動させる。
このように、マシニングセンタ1は、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置が数値制御される5軸加工機である。
また、マシニングセンタ1には、自動工具交換装置41が設けられている。自動工具交換装置41は、エンドミルやドリルビットなどの工具または撮像ユニット21のいずれかを主軸22に装着させ、主軸22に装着されている工具または撮像ユニット21を主軸22から取り外させる。
マシニングセンタ1は、NCプログラムを実行し、主軸22に撮像ユニット21が装着されている場合、NCプログラムのコードに従って撮像ユニット21を所定の位置に変位させ、NCプログラムのコードが撮像を指令するものであるとき、撮像ユニット21に撮像の指令を送信する。撮像ユニット21は、マシニングセンタ1からの撮像の指令を受信すると、主軸22によって変位させられている位置において撮像し、撮像の結果得られた撮像データをマシニングセンタ1に送信する。この場合、撮像ユニット21は、静止画像若しくは動画像を撮像して撮像データを得るか、または形状を示す3次元の点群からなる撮像データを得る。マシニングセンタ1は、撮像ユニット21から送信されてきた撮像データを記憶する。このとき、マシニングセンタ1は、撮像を指令するコードのシーケンス番号に対応付けて撮像データを記憶する。
マシニングセンタ1は、シーケンス番号が指定されて表示が指示されると、シーケンス番号に対応付けられている撮像データを読み出して、撮像データによる画像を表示させる。
図2は、主軸22に装着されている撮像ユニット21によるワーク51の撮像の例を示す図である。例えば、主軸22に装着されている撮像ユニット21の光軸は、Z軸方向になる。すなわち、主軸22に装着されている撮像ユニット21は、Z軸方向に、テーブル31に固定されているワーク51を撮像する。
撮像ユニット21は、マシニングセンタ1からの指令でワーク51の所定の部位を撮像する。例えば、撮像ユニット21は、所定の画角Aで、ワーク51に形成された穴52を撮像する。この画角Aは、固定であっても、変動させてもよい。すなわち、撮像ユニット21は、単焦点であっても、ズーム機能または可変焦点機能を有するものでもよい。
撮像ユニット21は、撮像の結果得られたデータである撮像データをマシニングセンタ1に送信する。
なお、撮像ユニット21が主軸22に装着された場合、工具長補正と同様に、十字状のセンターマーカーなどを用いてピント合わせ(焦点合わせ)が行われる。
以下、撮像ユニット21による撮像の結果得られた、ワーク51の所定の部位の形状を示すデータを撮像データと称する。また、以下、静止画像、動画像、または3次元スキャンデータなどの撮像データの方式を示す撮像方式データや撮像ユニット21を識別する撮像部識別データなどのメタデータと、撮像データとを合わせたデータを撮像コンテナデータと称する。
図3は、NC制御部71を含むマシニングセンタ1のハードウェアの構成を示すブロック図である。
マシニングセンタ1は、NC制御部71および加工部11からなる。NC制御部71は、加工部11を制御し、駆動する。例えば、NC制御部71は、右手直交座標系の3次元空間である、いわゆるXYZ空間における加工部11の動作を制御する。すなわち、NC制御部71は、それぞれ座標軸である、X軸上の位置、Y軸上の位置、およびZ軸上の位置、並びに、それぞれ回転軸である、B軸上の角度およびC軸上の角度を指定して、XYZ空間における加工部11の動作を制御する。
加工部11は、NC制御部71によって制御および駆動されて、NC制御部71に指示されたXYZ空間における位置および角度に、工具またはワーク51を移動させることにより、加工の対象物であるワーク51を加工する。また、加工部11は、NC制御部71によって制御および駆動されて、NC制御部71に指示されたXYZ空間における位置および角度に、撮像ユニット21またはワーク51を移動させて、撮像ユニット21にワーク51の所定の部位を撮像させる。
NC制御部71は、通信部81、記憶部82、主制御部83、経路演算部85、駆動回路86−1乃至駆動回路86−5、補助機能制御部87、駆動回路88、補助機能駆動部89、および無線通信部90から構成される。また、加工部11は、主軸22、表示部101、入力部102、位置決め部103、リレー104、および補助機能モータ類105から構成される。
さらに、加工部11の位置決め部103には、サーボモータ111−1乃至111−5が設けられている。位置決め部103は、直交軸駆動部23、テーブル31、旋回軸駆動部32、および旋回軸駆動部33を含んでなる。位置決め部103のテーブル31には、位置決め治具などを介してワーク51が装着される。位置決め部103は、サーボモータ111−1乃至111−5の駆動によって、そのワーク51および主軸22のXYZ空間における位置および角度を定める。サーボモータ111−1乃至111−5は、それぞれ、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置を変位させるように駆動する。また、主軸22には、サーボモータ112が設けられ、主軸22に装着されている工具は、サーボモータ112によって所定の回転速度で回転させられる。さらに、主軸22に装着されている撮像ユニット21は、サーボモータ112によってZ軸を回転軸として所定の角度位置とされる。
通信部81は、ネットワークインタフェースなどよりなり、ネットワーク132を介して、パーソナルコンピュータ131など他の機器と通信する。通信部81は、ネットワーク132を介して、パーソナルコンピュータ131から送信されてきたNCプログラムなどの各種のプログラムやデータを受信する。通信部81は、受信したプログラムやデータを記憶部82に供給する。また、通信部81は、ネットワーク132を介して、記憶部82に記憶されている各種のデータをパーソナルコンピュータ131に送信する。
記憶部82は、ハードディスクや不揮発性のメモリなどよりなり、通信部81から供給された、NCプログラムなどの各種のプログラムやデータを記憶する。
主制御部83は、汎用のCPU(Central Processing Unit)または専用のプロセッサなどからなり、記憶部82から制御プログラムを読み出して、制御プログラムを実行する。より具体的には、主制御部83は、NCプログラムを解釈し、実行するための、インタープリタなど各種の言語処理系プログラムを実行し、言語処理系プログラムの上でNCプログラムを実行する。主制御部83は、NCプログラムの実行の結果得られた、XYZ空間における工具やワーク51の位置や角度、工具とワーク51との相対的な送りの速度の指示、または主軸22の回転速度を経路演算部85に指示し、また、自動工具交換装置41や切削油の供給機能などの補助機能の動作を補助機能制御部87に指示する。また、主制御部83は、NCプログラムの実行の結果得られた、XYZ空間における撮像ユニット21やワーク51の位置や角度を経路演算部85に指示し、撮像ユニット21への撮像の指示を無線通信部90に供給する。さらに、主制御部83は、無線通信部90が撮像ユニット21から送信されてきた撮像のデータを受信すると、受信された撮像のデータを記憶部82に記憶させる。
また、主制御部83は、加工部11の表示部101における各種の表示を制御する。さらに、主制御部83は、ユーザによって操作される入力部102から供給される信号を入力することで、ユーザの指示を取得する。
表示部101は、LCD(liquid crystal display)、有機EL(electroluminescence)ディスプレイまたはプラズマディスプレイなどからなり、主制御部83の制御に応じて、加工プログラムのリストやマシニングセンタ1の状態を示すデータなどを表示する。また、表示部101は、NCプログラムを文字で表示させたり、NCプログラムによる軌跡を表示させたりする。さらに、表示部101は、撮像ユニット21の撮像により得られた撮像のデータにより、ワーク51の所定の部位の画像を表示する。入力部102は、各種のスイッチやボタン、キーボード、ポインティングデバイス、またはタッチパネルなどからなり、ユーザからの操作に応じた信号を主制御部83に供給する。
経路演算部85は、主制御部83から指示された経路に応じて、位置決め部103の各軸の指示値を演算する。そして、経路演算部85は、位置決め部103の各軸の指示値のそれぞれを、対応する駆動回路86−1乃至86−5のそれぞれに供給する。
駆動回路86−1乃至86−5は、それぞれ、いわゆるサーボモータ駆動回路であり、経路演算部85からの軸の指示値に応じて、位置決め部103の各軸を駆動するサーボモータ111−1乃至111−5に所定の周波数の電流を供給するなどして、サーボモータ111−1乃至111−5をそれぞれ駆動する。
位置決め部103は、駆動回路86−1乃至86−5のそれぞれによって、サーボモータ111−1乃至111−5が駆動されることにより、位置決め治具などを介して装着されているワーク51の、XYZ空間における角度を定め、また、主軸22に装着されている工具または撮像ユニットのXYZ空間における位置を定める。
補助機能制御部87は、主制御部83からの指示に応じて、加工部11の主軸22を駆動する駆動回路88を制御すると共に、自動工具交換装置41や切削油の供給機能を駆動する補助機能駆動部89を制御する。駆動回路88は、いわゆるサーボモータ駆動回路であり、補助機能制御部87による制御に応じて、所定の回転速度で主軸22を回転させるか、またはZ軸を回転軸とする所定の角度位置となるように、加工部11の主軸22のサーボモータ112を駆動する。
主軸22は、駆動回路88によってサーボモータ112が駆動されることにより、装着されている工具を所定の回転速度で回転させか、または、Z軸を回転軸とする所定の角度位置に装着されている撮像ユニット21を配置する。
補助機能駆動部89は、補助機能制御部87による制御に応じて、自動工具交換装置41や加工部11における切削油の供給機能などの補助機能を駆動する。すなわち、補助機能駆動部89によって、加工部11のリレー104が切り替えられて、リレー104を介して補助機能モータ類105に所定の電源が供給されることにより、補助機能モータ類105が自動工具交換装置41や切削油の供給機能などの補助機能の各部を駆動し、補助機能が動作する。
無線通信部90は、主制御部83の制御により、電波や赤外線などを媒体とする、無線LAN(Local Area Network)や、Bluetooth(登録商標)またはIrDA(Infrared Data Association)などの近距離無線通信方式により、撮像ユニット21と通信する。
図4は、マシニングセンタ1全体を制御するための制御プログラムを実行する主制御部83において実現される機能の構成を示すブロック図である。主制御部83が制御プログラムを実行することにより、NCプログラム格納部151、NCプログラム実行部152、撮像データテーブル153、撮像指令部154、および表示制御部155が実現される。
NCプログラム格納部151は、記憶部82の記憶領域に構成され、NCプログラムを格納する。NCプログラム実行部152は、NCプログラムを実行し、解釈して、NCプログラムのコードで指定されている動作を記憶部82、経路演算部85、補助機能制御部87、および無線通信部90に指示する。
撮像データテーブル153は、記憶部82の記憶領域に構成され、撮像ユニット21から送信されてきた撮像のデータを格納する。撮像データテーブル153の構造は、図11を参照して後述する。
撮像指令部154は、無線通信部90に撮像の指令を送信させることで、撮像ユニット21に撮像を指令する。また、撮像指令部154は、撮像を指令した撮像ユニット21から送信されてきた撮像データを無線通信部90に受信させる。そして、撮像指令部154は、受信した撮像データを撮像データテーブル153に格納させる。
表示制御部155は、撮像データテーブル153に格納されている撮像データによって画像を表示部101に表示させる。
撮像指令部154は、判定部161、取得部162、送信制御部163、受信制御部164、格納制御部165、指令記憶部166、および撮像ユニットデータ記憶部167を含む。判定部161は、コードが撮像を指令するか否かなど各種の判定を行う。取得部162は、シーケンス番号や位置データなど、撮像データに対応付ける各種のデータを取得する。取得部162は、シーケンス番号取得部171、位置データ取得部172、および撮像ユニットデータ取得部173を含む。シーケンス番号取得部171は、NCプログラム実行部152からシーケンス番号を取得する。位置データ取得部172は、経路演算部85から、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置を示す位置データを取得する。撮像ユニットデータ取得部173は、主軸22に装着されている撮像ユニット21に関するデータを予め記憶している撮像ユニットデータ記憶部167から、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する。撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データの詳細は、図11を参照して後述する。
送信制御部163は、無線通信部90による、撮像ユニット21への指令や各種のデータの送信を制御する。受信制御部164は、撮像ユニット21から送信されてきた各種のデータの無線通信部90による受信を制御する。格納制御部165は、撮像データテーブル153への、撮像データなどの各種のデータの格納を制御する。指令記憶部166は、NCプログラムにおけるコードと、撮像ユニット21への指令とを対応付けて予め記憶している。
撮像ユニットデータ記憶部167は、主軸22に装着されている撮像ユニット21に関する各種のデータを予め記憶している。撮像ユニットデータ記憶部167は、ステータス記憶部174を含む。ステータス記憶部174は、撮像ユニット21のモードが、静止画像または動画像のいずれかを撮影するモードに設定されているかを示す撮像方式データや、撮像ユニット21の画角を示す画角データなど、撮像ユニット21のステータスを示すデータを記憶している。
表示制御部155は、NCプログラム読み出し部181、モデル生成部182、撮像データ読み出し部183、画像表示制御部184、およびリスト表示制御部185を含む。NCプログラム読み出し部181は、ユーザに指定されたNCプログラムをNCプログラム格納部151から読み出す。モデル生成部182は、NCプログラムから、シーケンス番号の位置を示し、加工空間上に配置される軌跡のモデルを生成する。撮像データ読み出し部183は、撮像データテーブル153から、指定されたシーケンス番号が対応付けられている撮像データを読み出す。画像表示制御部184は、撮像データによる画像を表示部101に表示させる。リスト表示制御部185は、NCプログラムのリストを文字で表示部101に表示させる。
次に、撮像ユニット21について説明する。ここでは、撮像ユニット21の2つの具体例であるCCD(Charge Coupled Device)カメラを搭載する撮像ユニット21−1および3次元スキャナを搭載する撮像ユニット21−2の構成について順に説明する。
図5は、撮像ユニット21−1の構造を示す図である。撮像ユニット21−1は、概ね円筒状に形成されている。撮像ユニット21−1の円形の底面の一方には、主軸22に挿入されるプルスタッドとテーパーが形成されている。また、撮像ユニット21−1の円形の底面の他方の側の内部には、CCDカメラ201−1、CCDカメラ201−2、および照明部202が設けられている。
CCDカメラ201−1およびCCDカメラ201−2は、それぞれ、個体撮像素子であるCCDイメージセンサおよびCCDイメージセンサに被写体の光学的な画像を結像させるレンズ群からなる。CCDカメラ201−1およびCCDカメラ201−2は、明るさまたは色を画素の画素値とする、被写体の2次元の画像を撮像する。撮像する場合において、CCDカメラ201−1およびCCDカメラ201−2から被写体であるワーク51までの距離は、エンドミルやドリルビットなどの工具の工具長(刃長または有効長)に近い長さとされる。すなわち、例えば、CCDカメラ201−1およびCCDカメラ201−2がフォーカス(ピント)を合わせられる距離は、10mm乃至50mmのいずれかとされる。また、CCDカメラ201−1およびCCDカメラ201−2から被写体であるワーク51までの距離を、エンドミルやドリルビットなどの工具の工具長に近い長さとした場合、CCDカメラ201−1およびCCDカメラ201−2によるワーク51での撮像の範囲は、縦横1mm程度、縦横5mm程度、縦横10mm程度、または縦横30mm程度のいずれかとされる。
CCDカメラ201−1の光軸は、Z軸と一致し、CCDカメラ201−2の光軸は、CCDカメラ201−1の光軸と所定の角度で交差する。例えば、CCDカメラ201−1の光軸とCCDカメラ201−1の光軸とは、図5中θで示されるように、45度の角度で交差する。例えば、ドリルビットが摩耗してきた場合、摩耗が進むに従って、徐々に大きくなるバリが穴の周辺に生じるが、光軸が交差するCCDカメラ201−1およびCCDカメラ201−2を設けることで、より小さいバリをより確実に撮像することができる。
照明部202は、いわゆるリング照明装置であり、CCDカメラ201−1およびCCDカメラ201−2が撮像する領域を照明する。
図6は、撮像ユニット21−1のハードウェアの構成を示すブロック図である。撮像ユニット21−1は、CCDカメラ201−1、CCDカメラ201−2、照明部202、制御部203、記憶部204、無線通信部205、バッテリ206、および充電部207を含む。制御部203は、汎用のCPUまたは専用のプロセッサなどからなり、記憶部82から撮像制御プログラムを読み出して、撮像制御プログラムを実行して、CCDカメラ201−1、CCDカメラ201−2、照明部202、記憶部204、および無線通信部205を制御する。記憶部204は、ハードディスクや不揮発性のメモリなどよりなり、各種のプログラムやデータを記憶する。無線通信部205は、制御部203の制御により、電波や赤外線などを媒体とする、無線LANや、Bluetooth(登録商標)またはIrDAなどの近距離無線通信方式により、無線通信部90と通信する。無線通信部205は、無線通信部90と通信可能な方式で通信する。バッテリ206は、いわゆる二次電池であり、蓄電して、撮像ユニット21−1の各部に電力を供給する。充電部207は、レギュレータなどからなり、外部から供給された電源によって、バッテリ206を充電する。
図7は、制御部203が撮像制御プログラムを実行することにより実現される機能の構成を示すブロック図である。制御部203が撮像制御プログラムを実行すると、受信制御部231、送信制御部232、判定部233、ステータス/パラメータ格納部234、記憶制御部235、CCDカメラ制御部236、および照明制御部237が実現される。
受信制御部231は、無線通信部205による、無線通信部90から送信されてくる指令などの各種のデータの受信を制御する。送信制御部232は、無線通信部205による、無線通信部90宛の撮像データなどの各種のデータの送信を制御する。判定部233は、撮像が指令されたか否かなど各種の判定をする。ステータス/パラメータ格納部234は、CCDカメラ201−1またはCCDカメラ201−2の選択、静止画像または動画像のいずれかを撮影するモードの設定、および画角の設定などを示すステータス情報を格納する。記憶制御部235は、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データなど各種のデータの記憶部204への記憶を制御する。記憶制御部235は、撮像データ記憶制御部251を含む。撮像データ記憶制御部251は、撮像データの記憶部204への記憶を制御する。
CCDカメラ制御部236は、CCDカメラ201−1またはCCDカメラ201−2の撮像を制御する。照明制御部237は、照明部202による照明を制御する。
図8は、撮像ユニット21−2の構造を示す図である。撮像ユニット21−2は、概ね円筒状に形成されている。撮像ユニット21−2の円形の底面の一方には、主軸22に挿入されるプルスタッドとテーパーが形成されている。また、撮像ユニット21−2の円形の底面の他方の側の内部には、3次元スキャナ301(以下、3Dスキャナ301と称する。)が設けられている。
3Dスキャナ301は、いわゆるレーザー式の3次元スキャナであり、光軸に対して直交する平面上の所定の間隔で対象物の各部への距離を測定し、対象物の形状を示す3次元の点群からなる撮像データを生成する。3Dスキャナ301の光軸は、Z軸と一致している。
撮像する場合において、3Dスキャナ301から被写体であるワーク51までの距離は、エンドミルやドリルビットなどの工具の工具長(刃長または有効長)に近い長さとされる。すなわち、例えば、3Dスキャナ301が被写体の位置を測定できる距離は、10mm乃至50mmのいずれかとされる。また、3Dスキャナ301から被写体であるワーク51までの距離を、エンドミルやドリルビットなどの工具の工具長に近い長さとした場合、3Dスキャナ301によるワーク51での撮像の範囲は、縦横1mm程度、縦横5mm程度、縦横10mm程度、または縦横30mm程度のいずれかとされる。
図9は、撮像ユニット21−2のハードウェアの構成を示すブロック図である。撮像ユニット21−2は、3Dスキャナ301、制御部302、記憶部303、無線通信部304、バッテリ305、および充電部306を含む。制御部302は、汎用のCPUまたは専用のプロセッサなどからなり、記憶部303から撮像制御プログラムを読み出して、撮像制御プログラムを実行して、3Dスキャナ301、記憶部303、および無線通信部304を制御する。
記憶部303、無線通信部304、バッテリ305、および充電部306は、それぞれ、撮像ユニット21−1の記憶部204、無線通信部205、バッテリ206、および充電部207と同様なので、その説明は省略する。
図10は、制御部302が撮像制御プログラムを実行することにより実現される機能の構成を示すブロック図である。制御部302が撮像制御プログラムを実行すると、受信制御部331、送信制御部332、判定部333、ステータス/パラメータ格納部334、記憶制御部335、およびスキャナ制御部336が実現される。
受信制御部331、送信制御部332、および判定部333は、それぞれ、撮像ユニット21−1の受信制御部231、送信制御部232、および判定部233と同様なので、その説明は省略する。
ステータス/パラメータ格納部334は、3Dスキャナ301の画角の設定などを示すステータス情報を格納する。
記憶制御部335は、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データなど各種のデータの記憶部303への記憶を制御する。記憶制御部335は、撮像データ記憶制御部351を含む。撮像データ記憶制御部351は、撮像データの記憶部303の記憶を制御する。
スキャナ制御部336は、3Dスキャナ301の撮像を制御する。
図11は、撮像データテーブル153の構造の例を示す図である。撮像データテーブル153には、1つのプログラム番号が付されている。このプログラム番号は、撮像データテーブル153に格納されている撮像データが撮像されたときにNCプログラム実行部152で実行されていた数値制御プログラムを特定する。例えば、図11に示される撮像データテーブル153の例には、O1000であるプログラム番号が格納されている。なお、プログラム番号は、1000など数字だけで表すこともできる。
撮像データテーブル153には、シーケンス番号、位置データ、撮像ユニット識別データ、1または複数の撮像コンテナデータが相互に対応付けて格納されている。例えば、図11に示される撮像データテーブル153において、1つの行は、1つのシーケンス番号に対応する1回の撮像で得られた1件のデータの組に相当し、各列は、属性の値を示す。
シーケンス番号は、撮像データが撮像されたときにNCプログラム実行部152で解釈された撮像のコードに対応付けられているシーケンス番号を示す。例えば、図11に示される撮像データテーブル153には、N1乃至N16のそれぞれであるシーケンス番号が格納されている。
位置データは、撮像データが撮像された、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置を示す。具体的には、例えば、位置データは、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置を示す値からなる配列とされる。例えば、図11に示される撮像データテーブル153には、C1乃至C16のそれぞれである位置データが格納されている。この位置データは、主軸22の位置を示すようにしても、主軸22の位置に、撮像ユニット21の長さと焦点距離とをオフセットとして加えて、撮像ユニット21の焦点の位置を示すようにしてもよい。
撮像ユニット識別データは、撮像データを撮像した撮像ユニット21を識別するデータである。例えば、撮像ユニット識別データは、撮像データを撮像したのが撮像ユニット21−1であるか、撮像ユニット21−2であるかを示す。例えば、図11に示される撮像データテーブル153において、U1である撮像ユニット識別データは、撮像ユニット21−1を示し、U2である撮像ユニット識別データは、撮像ユニット21−2を示す。すなわち、シーケンス番号がN1乃至N12のいずれかに対応する撮像データは、U1である撮像ユニット識別データで識別される撮像ユニット21−1により撮像されたものである。また、シーケンス番号がN13乃至N16のいずれかに対応する撮像データは、U2である撮像ユニット識別データで識別される撮像ユニット21−2により撮像されたものである。
撮像データテーブル153には、1つのシーケンス番号、1つの位置データ、および1つの撮像ユニット識別データに対応付けて、1または複数の撮像コンテナデータが格納されている。例えば、図11に示される撮像データテーブル153には、N1乃至N4のそれぞれであるシーケンス番号に対応付けて、2つの撮像コンテナデータが格納されている。例えば、図11に示される撮像データテーブル153には、N5乃至N16のそれぞれであるシーケンス番号に対応付けて、1つの撮像コンテナデータが格納されている。
撮像コンテナデータは、撮像結果データおよび撮像部データを含む。撮像結果データは、撮像の結果得られた撮像データと撮像データに関するデータとからなる。すなわち、撮像結果データは、撮像データおよび撮像方式データを含む。撮像データは、静止画像、動画像、または3次元スキャンデータなど撮像ユニット21がワーク51を撮像して得られたデータである。言い換えれば、撮像データは、ワーク51の所定の部位の形状や色を明暗、色、または位置などで示す。ここで、3次元スキャンデータは、ワーク51の形状を示す3次元の点群からなる。撮像データテーブル153には、撮像データを格納してもよいし、撮像データを特定するデータ(例えば、ファイル名または識別番号など)を格納してもよい。すなわち、シーケンス番号と撮像データとが対応付けられていればよい。言い換えれば、シーケンス番号を特定すれば、そのシーケンス番号で撮像された撮像データを読み出すことができる方式であれば足りる。
撮像方式データは、撮像データの方式、すなわち、静止画像、動画像、または3次元スキャンデータなどのいずれかであるかを示すデータである。
図11に示される例において、撮像データとして配置されているIM1-1乃至IM-16は、撮像データのファイル名を示している。例えば、図11に示される撮像データテーブル153において、IM1-1乃至IM4-1およびIM1-2乃至IM4-2並びにIM5乃至IM8のいずれかである撮像データは、撮像方式データにより静止画像であることが示されている。また、例えば、図11に示される撮像データテーブル153において、IM9乃至IM12のいずれかである撮像データは、撮像方式データにより動画像であることが示されている。さらに、例えば、図11に示される撮像データテーブル153において、IM13乃至IM16のいずれかである撮像データは、撮像方式データにより3次元スキャンデータであることが示されている。
撮像部データは、ワーク51を撮像して撮像データを出力した撮像部である、例えば、CCDカメラ201−1、CCDカメラ201−2、または3Dスキャナ301のいずれかを特定し、これに関するデータである。撮像部データは、撮像部識別データ、撮像部姿勢データ、および画角データを含む。撮像部識別データは、ワーク51を撮像して撮像データを出力した撮像部(例えば、CCDカメラ201−1、CCDカメラ201−2、または3Dスキャナ301のいずれか)を識別するデータである。例えば、図11に示される撮像データテーブル153の例において、PID1である撮像部識別データは、CCDカメラ201−1を示し、PID2である撮像部識別データは、CCDカメラ201−2を示し、PID3である撮像部識別データは、3Dスキャナ301を示す。
例えば、図11に示される撮像データテーブル153において、IM1-1乃至IM4-1およびIM9乃至IM12のいずれかである撮像データは、CCDカメラ201−1を示すPID1である撮像部識別データに対応付けられているので、CCDカメラ201−1によって撮像して得られたデータである。また、例えば、図11に示される撮像データテーブル153において、IM1-2乃至IM4-2およびIM5乃至IM8のいずれかである撮像データは、CCDカメラ201−2を示すPID2である撮像部識別データに対応付けられているので、CCDカメラ201−2によって撮像して得られたデータである。さらに、例えば、図11に示される撮像データテーブル153において、IM13乃至IM16のいずれかである撮像データは、3Dスキャナ301を示すPID3である撮像部識別データに対応付けられているので、3Dスキャナ301によって撮像して得られたデータである。
撮像部姿勢データは、ワーク51を撮像して撮像データを出力した撮像部の姿勢を示すデータである。例えば、図11に示される撮像データテーブル153において、撮像部姿勢データは、撮像部の光軸とZ軸との角度を示す。
例えば、図11に示される撮像データテーブル153において、CCDカメラ201−1の光軸は、Z軸と平行なので、PID1である撮像部識別データに対応付けられている撮像部姿勢データは、0とされている。また、例えば、図11に示される撮像データテーブル153において、CCDカメラ201−2の光軸は、Z軸に対して45度なので、PID2である撮像部識別データに対応付けられている撮像部姿勢データは、45とされている。さらに、例えば、図11に示される撮像データテーブル153において、3Dスキャナ301の光軸(の中心)は、Z軸と平行なので、PID3である撮像部識別データに対応付けられている撮像部姿勢データは、0とされている。
画角データは、ワーク51を撮像して撮像データを出力した撮像部の画角を示すデータである。すなわち、画角データは、ワーク51を撮像して撮像データを出力した撮像部によって撮像される範囲を角度で表すものである。画角は、視野角とも称される。
例えば、図11に示される撮像データテーブル153において、IM1-1、IM2-1、IM1-2乃至IM4-2、およびIM9乃至IM16のいずれかである撮像データは、60の画角で撮像されたので、IM1-1、IM2-1、IM1-2乃至IM4-2、およびIM9乃至IM16である撮像データに対応する画角データは、60とされている。また、例えば、図11に示される撮像データテーブル153において、IM3-1、IM4-1、およびIM5乃至IM8のいずれかである撮像データは、80の画角で撮像されたので、IM3-1、IM4-1、およびIM5乃至IM8である撮像データに対応する画角データは、80とされている。
撮像コンテナデータにおいて、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データは、撮像データについての、いわゆるメタデータである。
このように、撮像データは、シーケンス番号に対応付けて撮像データテーブル153に格納される。すなわち、記憶部82は、シーケンス番号に対応付けて撮像データを記憶する。言い換えれば、記憶部82は、シーケンス番号と撮像データとを関係付けて(結び付けて)記憶する。また、記憶部82は、シーケンス番号と撮像データとを紐付けて記憶するとも言える。
より詳細には、撮像データは、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて撮像データテーブル153に格納される。すなわち、記憶部82は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて撮像データを記憶する。
次に、図12のフローチャートを参照して、主制御部83のNCプログラム実行部152において行われる、NCプログラムの実行の処理を説明する。NCプログラム実行部152は、実行の処理に先立って、NCプログラム格納部151から実行するNCプログラムを読み出す。そして、NCプログラムの実行の処理が開始されると、ステップS11において、NCプログラム実行部152は、実行するNCプログラムから1つのブロックを読み出す。ステップS12において、NCプログラム実行部152は、読み出したブロックから1つのワードを読み出す。
ステップS13において、NCプログラム実行部152は、読み出されたワードが補助機能のアドレスであるか否かを判定する。ステップS13において、読み出されたワードが補助機能のアドレスでないと判定された場合、手続きはステップS14に進み、NCプログラム実行部152は、NCプログラムの読み出されたワードを解釈し、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置の変位など、ワードに応じた動作を経路演算部85に指令する。この後、手続きはステップS15に進む。
ステップS13において、読み出されたワードが補助機能のアドレスであると判定された場合、補助機能を制御するMコードなので、手続きはステップS17に進み、NCプログラム実行部152は、撮像ユニット21に指令するコードであるか否かを判定する。ステップS17において、撮像ユニット21に指令するコードでないと判定された場合、手続きはステップS18に進み、NCプログラム実行部152は、NCプログラムの読み出されたコードを解釈し、コードに応じた動作を補助機能制御部87に指令する。この後、手続きはステップS15に進む。
ステップS17において、撮像ユニット21に指令するコードであると判定された場合、手続きはステップS19に進み、NCプログラム実行部152は、NCプログラムの読み出されたコードを解釈し、撮像指令部154に、撮像ユニット21への指令の処理を行わせる。撮像ユニット21への指令の処理の詳細は、図13、図15、図17、および図19のフローチャートを参照して、後述する。この後、手続きはステップS15に進む。
ステップS15において、NCプログラム実行部152は、ブロックに次のワードがあるか否かを判定する。ステップS15において、ブロックに次のワードがあると判定された場合、手続きは、ステップS12に戻り、上述した手続きを繰り返す。
ステップS15において、ブロックに次のワードがあると判定された場合、手続きはステップS16に進み、NCプログラム実行部152は、NCプログラムに次のブロックがあるか否かを判定する。ステップS16において、NCプログラムに次のブロックがあると判定された場合、手続きは、ステップS11に戻り、上述した手続きを繰り返す。
ステップS16において、NCプログラムに次のブロックがないと判定された場合、NCプログラムの全部を実行したので、NCプログラムの実行の処理は終了する。
次に、図13乃至図18のフローチャートを参照して、撮像ユニット21−1により静止画像を撮像するか、または撮像ユニット21−2の3Dスキャナ301により撮像する場合の処理の例を説明する。
図13は、主制御部83の撮像指令部154において行われる、撮像ユニット21への指令の処理の詳細の例を説明するフローチャートである。ステップS31において、判定部161は、指令記憶部166に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップS12で読み出されたワードが撮像を指令するコードであるか否かを判定する。
ステップS31において、撮像を指令するコードであると判定された場合、手続きはステップS32に進む。
ステップS32において、撮像指令部154の取得部162は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する。より詳細には、取得部162のシーケンス番号取得部171は、NCプログラム実行部152からシーケンス番号を取得する。また、取得部162の位置データ取得部172は、経路演算部85から、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置を示す位置データを取得する。取得部162の撮像ユニットデータ取得部173は、主軸22に装着されている撮像ユニット21に関するデータを予め記憶している撮像ユニットデータ記憶部167から、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する。
なお、撮像ユニットデータ記憶部167のステータス記憶部174は、主軸22に装着されている撮像ユニット21が、撮像ユニット21−1である場合、CCDカメラ201−1が選択されているとき、PID1である撮像部識別データを記憶し、CCDカメラ201−2が選択されているとき、PID2である撮像部識別データを記憶し、CCDカメラ201−1およびCCDカメラ201−2が選択されているとき、PID1である撮像部識別データとPID2である撮像部識別データとを記憶している。また、撮像ユニットデータ記憶部167のステータス記憶部174は、主軸22に装着されている撮像ユニット21が、撮像ユニット21−1である場合、静止画像または動画像のいずれかを撮影するモードに設定されているかを示す撮像方式データと、主軸22に装着されている撮像ユニット21の画角を示す画角データとを記憶している。
ステップS33において、撮像指令部154の格納制御部165は、撮像データテーブル153に、1件のデータの組に相当する行を新たに生成し、その行にシーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを格納させる。
ステップS34において、撮像指令部154の送信制御部163は、指令記憶部166から撮像の指令(撮像ユニット21への撮像の命令コード)を読み出して、無線通信部90に、撮像の指令を撮像ユニット21宛に送信させる。
撮像の指令を受信した撮像ユニット21は、撮像の処理を実行して、撮像ユニット21がワーク51を撮像して得られた静止画像データまたは3次元スキャンデータである撮像データを送信してくる。撮像ユニット21の撮像の処理の詳細は、図14のフローチャートを参照して後述する。
ステップS35において、撮像指令部154の受信制御部164は、無線通信部90に、撮像ユニット21から送信されてくる、撮像データを受信させる。
ステップS36において、撮像指令部154の格納制御部165は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、ステップS35の手続きで受信した撮像データを撮像データテーブル153に格納させる。
ステップS31において、撮像を指令するコードでないと判定された場合、手続きはステップS37に進み、判定部161は、指令記憶部166に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップS12で読み出されたワードが撮像部を選択するコードであるか否かを判定する。
ステップS37において、撮像部を選択するコードであると判定された場合、手続きはステップS38に進み、撮像指令部154の送信制御部163は、指令記憶部166から撮像部の選択の指令を読み出して、無線通信部90に、撮像部の選択の指令を撮像ユニット21宛に送信させる。このとき、撮像指令部154は、撮像ユニットデータ記憶部167のステータス記憶部174に、撮像ユニット21のステータス情報として、選択された撮像部を示す撮像部識別データを記憶させる。
ステップS37において、撮像部を選択するコードでないと判定された場合、手続きはステップS39に進み、撮像指令部154の送信制御部163は、指令記憶部166から指令を読み出して、無線通信部90に、照明部202などの制御の指令を撮像ユニット21宛に送信させる。また、ステップS39においては、静止画像または動画像のいずれかを撮影するモードの指定や、撮像ユニット21の画角の指示がされる。このとき、撮像指令部154は、撮像ユニットデータ記憶部167のステータス記憶部174に、撮像ユニット21のステータス情報として、静止画像または動画像のいずれかを撮影するモードに設定されているかを示す撮像方式データと、主軸22に装着されている撮像ユニット21の画角を示す画角データとを記憶させる。
ステップS36、ステップS38、またはステップS39の手続きの後、撮像ユニット21への指令の処理は終了し、NCプログラムの実行の処理に戻る。
次に、図14のフローチャートを参照して、制御部203において撮像制御プログラムを実行する撮像ユニット21−1による、撮像の処理を説明する。なお、図14のフローチャートで説明する撮像の処理は、撮像指令部154が図13のフローチャートで説明した撮像ユニット21への指令の処理を実行した場合、行われるものである。
ステップS61において、受信制御部231は、無線通信部205に、NC制御部71の無線通信部90から送信されてくる指令を受信させる。
ステップS62において、判定部233は、撮像ユニット21の撮像の命令コードと受信した指令とを比較して、撮像が指令されたか否かを判定する。ステップS62において、受信した指令が撮像ユニット21の撮像の命令コードと同じで、撮像が指令されたと判定された場合、手続きはステップS63に進み、CCDカメラ制御部236は、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を記憶しているステータス/パラメータ格納部234から、撮像部の選択を示すステータス情報を読み出す。
ステップS64において、CCDカメラ制御部236は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、CCDカメラ201−1およびCCDカメラ201−2のいずれか一方または両方に、静止画像を撮像させる。ステップS65において、送信制御部232は、無線通信部205に、NC制御部71の無線通信部90宛に撮像により得られた撮像データを送信させる。
ステップS62において、撮像が指令されていないと判定された場合、手続きはステップS66に進み、判定部233は、撮像部の選択のコードと受信した指令とを比較して、撮像部の選択が指令されたか否かを判定する。ステップS66において、撮像部の選択が指令されたと判定された場合、手続きはステップS67に進み、判定部233は、ステータス/パラメータ格納部234に、撮像部の選択を示すステータス情報を格納させる。
ステップS66において、撮像部の選択が指令されていないと判定された場合、手続きはステップS68に進み、照明制御部237は、無線通信部90からの指令に応じて、照明部202を制御する。また、無線通信部90からの指令が、静止画像または動画像のいずれかを撮影するモードの設定の指令や画角の変更の指令である場合、判定部233は、ステータス/パラメータ格納部234に、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を格納させる。
ステップS65、ステップS67、またはステップS68の手続きの後、撮像の処理は終了する。
撮像ユニット21が、ワーク51を切削するとき工具が装着される主軸22に装着されるので、工具でワーク51を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット21を主軸22に装着すれば、切削加工中の所望の時点でのワーク51を撮像することができる。
また、数値制御プログラムにより数値制御される主軸22に装着されている撮像ユニット21の撮像が、数値制御プログラムによって制御されるので、撮像ユニット21を数値制御で所望の位置、例えば、ワーク51の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。
さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワーク51の切削加工とワーク51の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク51の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク51の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク51に対してより正確な位置からワーク51を撮像できる。
さらにまた、撮像データテーブル153として記憶部82に撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、撮像データテーブル153として記憶部82に記憶されている撮像データにより、ワーク51の所望の部位の切削加工の状態を示すことができる。
このように、より簡単に、ワーク51の切削加工中の所望の時点で、ワーク51の所望の部位を撮像して、ワーク51の切削加工中の所望の時点における所望の部位の切削加工の状態を撮像後の所望の時点で示すことができる。
また、シーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データを記憶するので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。
多数の撮像データを取得したとしても、シーケンス番号から、ワーク51のどの部位を撮像したものかを特定できる。特に、穴などの同じ形状を多数加工する場合、撮像データの内容や撮像の時刻だけでは、どの部位を撮像した撮像データであるかを特定することは困難であるが、シーケンス番号を利用することで、部位との対応を簡単に知ることができる。また、ワーク51の同じ部位を異なる位置から撮像した場合であっても、シーケンス番号から、ワーク51の部位と撮像の位置とを特定することができる。
このように、より簡単に、ワーク51の所望の部位を撮像して、所望の部位を示す撮像データを特定することができる。
次に撮像ユニット21から撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する場合の処理を、図15および図16のフローチャートを参照して説明する。
図15は、主制御部83の撮像指令部154において行われる、撮像ユニット21への指令の処理の詳細の他の例を説明するフローチャートである。ステップS81の手続きは、図13のステップS31と同様なのでその説明は省略する。
ステップS82において、撮像指令部154の取得部162は、シーケンス番号、位置データ、および撮像ユニット識別データを取得する。より詳細には、取得部162のシーケンス番号取得部171は、NCプログラム実行部152からシーケンス番号を取得する。また、取得部162の位置データ取得部172は、経路演算部85から、X軸、Y軸、Z軸、B軸、およびC軸のそれぞれの位置を示す位置データを取得する。取得部162の撮像ユニットデータ取得部173は、主軸22に装着されている撮像ユニット21に関するデータを予め記憶している撮像ユニットデータ記憶部167から、撮像ユニット識別データを取得する。
ステップS83において、撮像指令部154の格納制御部165は、撮像データテーブル153に、1件のデータの組に相当する行を新たに生成し、その行にシーケンス番号、位置データ、および撮像ユニット識別データを格納させる。
ステップS84において、撮像指令部154の送信制御部163は、指令記憶部166から撮像の指令(撮像ユニット21への撮像の命令コード)を読み出して、無線通信部90に、撮像の指令を撮像ユニット21宛に送信させる。
撮像の指令を受信した撮像ユニット21は、撮像の処理を実行して、撮像ユニット21がワーク51を撮像して得られた静止画像データまたは3次元スキャンデータである撮像データと共に、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信してくる。撮像ユニット21の撮像の処理の詳細は、図16のフローチャートを参照して後述する。
ステップS85において、撮像指令部154の受信制御部164は、無線通信部90に、撮像ユニット21から送信されてくる、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを受信させる。
ステップS86において、撮像指令部154の格納制御部165は、シーケンス番号、位置データ、および撮像ユニット識別データに対応付けて、撮像データテーブル153に撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを格納させる。
ステップS81において、撮像を指令するコードでないと判定された場合、手続きはステップS87に進み、判定部161は、指令記憶部166に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップS12で読み出されたワードが撮像部を選択するコードであるか否かを判定する。
ステップS87において、撮像部を選択するコードであると判定された場合、手続きはステップS88に進み、撮像指令部154の送信制御部163は、指令記憶部166から撮像部の選択の指令を読み出して、無線通信部90に、撮像部の選択の指令を撮像ユニット21宛に送信させる。
ステップS87において、撮像部を選択するコードでないと判定された場合、手続きはステップS89に進み、撮像指令部154の送信制御部163は、指令記憶部166から指令を読み出して、無線通信部90に、照明部202などの制御の指令を撮像ユニット21宛に送信させる。また、ステップS89においては、静止画像または動画像のいずれかを撮影するモードの指定や、撮像ユニット21の画角の指示がされる。
ステップS86、ステップS88、またはステップS89の手続きの後、撮像ユニット21への指令の処理は終了し、NCプログラムの実行の処理に戻る。
次に、図16のフローチャートを参照して、制御部203において撮像制御プログラムを実行する撮像ユニット21−1による、撮像の処理を説明する。なお、図16のフローチャートで説明する撮像の処理は、撮像指令部154が図15のフローチャートで説明した撮像ユニット21への指令の処理を実行した場合、行われるものである。
ステップS101およびステップS102の手続きは、それぞれ、図14のステップS61およびステップS62の手続きと同様なので、その説明は省略する。
ステップS103において、CCDカメラ制御部236は、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を記憶しているステータス/パラメータ格納部234から、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を読み出す。記憶制御部235は、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報に応じた、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを記憶部204に記憶させる。
ステップS104において、CCDカメラ制御部236は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、CCDカメラ201−1およびCCDカメラ201−2のいずれか一方または両方に、静止画像を撮像させる。
ステップS105において、記憶制御部235の撮像データ記憶制御部251は、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、撮像データを記憶部204に記憶させる。
ステップS106において、送信制御部232は、記憶部204に対応付けて記憶されている撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを読み出して、無線通信部205に、NC制御部71の無線通信部90宛に撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信させる。
ステップS102において、撮像が指令されていないと判定された場合、手続きはステップS107に進み、判定部233は、撮像部の選択のコードと受信した指令とを比較して、撮像部の選択が指令されたか否かを判定する。ステップS107において、撮像部の選択が指令されたと判定された場合、手続きはステップS108に進み、判定部233は、ステータス/パラメータ格納部234に、撮像部の選択を示すステータス情報を格納させる。
ステップS107において、撮像部の選択が指令されていないと判定された場合、手続きはステップS109に進み、照明制御部237は、無線通信部90からの指令に応じて、照明部202を制御する。また、無線通信部90からの指令が、静止画像または動画像のいずれかを撮影するモードの設定の指令や画角の変更の指令である場合、判定部233は、ステータス/パラメータ格納部234に、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を格納させる。
ステップS106、ステップS108、またはステップS109の手続きの後、撮像の処理は終了する。
このように、撮像ユニット21から撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得すると、より正確な、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを得ることができる。
次に、撮像指令部154から撮像ユニット21に、撮像の指令と共に、シーケンス番号および位置データを送信する場合の処理を、図17および図18のフローチャートを参照して説明する。図17は、主制御部83の撮像指令部154において行われる、撮像ユニット21への指令の処理の詳細のさらに他の例を説明するフローチャートである。
ステップS131乃至ステップS133の手続きは、それぞれ、図15のステップS81乃至ステップS83の手続きと同様なので、その説明は省略する。
ステップS134において、ステップS84において、撮像指令部154の送信制御部163は、指令記憶部166から撮像の指令(撮像ユニット21への撮像の命令コード)を読み出し、さらに、撮像データテーブル153から、ステップS133の手続きで格納させたシーケンス番号および位置データを読み出して、無線通信部90に、撮像の指令、シーケンス番号、および位置データを撮像ユニット21宛に送信させる。
撮像の指令を受信した撮像ユニット21は、撮像の処理を実行して、撮像ユニット21がワーク51を撮像して得られた静止画像データまたは3次元スキャンデータである撮像データと共に、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信してくる。撮像ユニット21の撮像の処理の詳細は、図18のフローチャートを参照して後述する。
ステップS135において、撮像指令部154の受信制御部164は、無線通信部90に、撮像ユニット21から送信されてくる、シーケンス番号、位置データ、撮像ユニット識別データ、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを受信させる。
ステップS136において、撮像指令部154の格納制御部165は、受信したものと同じ撮像データテーブル153のシーケンス番号、位置データ、および撮像ユニット識別データに対応付けて、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを撮像データテーブル153に格納させる。
ステップS137乃至ステップS139の手続きは、それぞれ、図15のステップS87乃至ステップS89の手続きと同様なので、その説明は省略する。
ステップS136、ステップS138、またはステップS139の手続きの後、撮像ユニット21への指令の処理は終了し、NCプログラムの実行の処理に戻る。
次に、図18のフローチャートを参照して、制御部203において撮像制御プログラムを実行する撮像ユニット21−1による、撮像の処理を説明する。なお、図18のフローチャートで説明する撮像の処理は、撮像指令部154が図17のフローチャートで説明した撮像ユニット21への指令の処理を実行した場合、行われるものである。
ステップS161において、受信制御部231は、無線通信部205に、NC制御部71の無線通信部90から送信されてくる指令を受信させる。また、ステップS161において、受信制御部231は、無線通信部205に、指令と共に送信されてくるシーケンス番号および位置データを受信させる。
ステップS162において、判定部233は、撮像ユニット21の撮像の命令コードと受信した指令とを比較して、撮像が指令されたか否かを判定する。ステップS162において、受信した指令が撮像ユニット21の撮像の命令コードと同じで、撮像が指令されたと判定された場合、手続きはステップS163に進み、記憶制御部235は、撮像の指令と共に受信したシーケンス番号および位置データを記憶部204に記憶させる。
ステップS164において、CCDカメラ制御部236は、撮像ユニット識別データ、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を記憶しているステータス/パラメータ格納部234から、撮像ユニット識別データ、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を読み出す。
ステップS165において、記憶制御部235は、撮像ユニット識別データ、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報に応じた、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを、ステップS163の手続きで記憶させたシーケンス番号および位置データに対応付けて記憶部204に記憶させる。
ステップS166において、CCDカメラ制御部236は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、CCDカメラ201−1およびCCDカメラ201−2のいずれか一方または両方に、静止画像を撮像させる。
ステップS167において、記憶制御部235の撮像データ記憶制御部251は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、撮像データを記憶部204に記憶させる。
ステップS168において、送信制御部232は、記憶部204に対応付けて記憶されているシーケンス番号、位置データ、撮像ユニット識別データ、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを読み出して、無線通信部205に、NC制御部71の無線通信部90宛にシーケンス番号、位置データ、撮像ユニット識別データ、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信させる。
ステップS169乃至ステップS171の手続きは、それぞれ、図16のステップS107乃至ステップS109と同様なので、その説明は省略する。
ステップS168、ステップS170、またはステップS171の手続きの後、撮像の処理は終了する。
このように、撮像指令部154から撮像ユニット21に、撮像の指令と共に、シーケンス番号を送信し、撮像ユニット21から撮像指令部154に、撮像データと共に、シーケンス番号を送信するようにすると、送信に時間遅れが生じたり、送信が中断したりした場合であっても、確実にシーケンス番号と撮像データとを対応づけることができる。
制御部302において撮像制御プログラムを実行する撮像ユニット21−2による撮像の処理においては、図14、図16、および図18のフローチャートを参照して説明した撮像の処理と同様に処理で、3Dスキャナ301に撮像させるので、その説明は省略する。なお、この場合、照明の制御は行われない。
次に動画像を撮像する場合の処理を、図19および図20のフローチャートを参照して説明する。図19は、主制御部83の撮像指令部154において行われる、撮像ユニット21への指令の処理の詳細のさらに他の例を説明するフローチャートである。
ステップS181において、判定部161は、指令記憶部166に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップS12で読み出されたワードが動画像の撮像の開始を指令するコードであるか否かを判定する。
ステップS181において、動画像の撮像の開始を指令するコードであると判定された場合、手続きはステップS182に進む。
ステップS182およびステップS183の手続きは、それぞれ、図13のステップS32およびステップS33と同様なので、その説明は省略する。
ステップS184において、撮像指令部154の送信制御部163は、指令記憶部166から動画像の撮像の開始の指令(撮像ユニット21への撮像の命令コード)を読み出して、無線通信部90に、動画像の撮像の開始の指令を撮像ユニット21宛に送信させる。
動画像の撮像の開始の指令を受信した撮像ユニット21は、撮像の処理を実行して、撮像ユニット21がワーク51を撮像して得られた動画像のデータである撮像データを送信してくる。撮像ユニット21の撮像の処理の詳細は、図20のフローチャートを参照して後述する。
ステップS185において、撮像指令部154の受信制御部164は、無線通信部90に、撮像ユニット21から送信されてくる、動画像のデータである撮像データを受信させる。
ステップS186において、撮像指令部154の格納制御部165は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、撮像データテーブル153に動画像のデータである撮像データを格納させる。
ステップS181において、動画像の撮像の開始を指令するコードでないと判定された場合、手続きはステップS187に進み、判定部161は、指令記憶部166に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップS12で読み出されたワードが動画像の撮像の停止を指令するコードであるか否かを判定する。ステップS187において、動画像の撮像の停止を指令するコードであると判定された場合、手続きはステップS188に進み、撮像指令部154の送信制御部163は、指令記憶部166から動画像の撮像の停止の指令を読み出して、無線通信部90に、動画像の撮像の停止の指令を撮像ユニット21宛に送信させる。
ステップS187において、動画像の撮像の停止を指令するコードでないと判定された場合またはステップS186若しくはステップS188の手続きの後、撮像ユニット21への指令の処理は終了し、NCプログラムの実行の処理に戻る。
次に、図20のフローチャートを参照して、制御部203において撮像制御プログラムを実行する撮像ユニット21−1による、撮像の処理を説明する。なお、図20のフローチャートで説明する撮像の処理は、撮像指令部154が図19のフローチャートで説明した撮像ユニット21への指令の処理を実行した場合、行われるものである。
ステップS201において、受信制御部231は、無線通信部205に、NC制御部71の無線通信部90から送信されてくる指令を受信させる。
ステップS202において、判定部233は、撮像ユニット21の撮像の命令コードと受信した指令とを比較して、動画像の撮像の開始が指令されたか否かを判定する。ステップS202において、受信した指令が撮像ユニット21の動画像の撮像の開始の命令コードと同じで、動画像の撮像の開始が指令されたと判定された場合、手続きはステップS203に進み、CCDカメラ制御部236は、撮像部の選択および画角の設定を示すステータス情報を記憶しているステータス/パラメータ格納部234から、撮像部の選択を示すステータス情報を読み出す。
ステップS204において、CCDカメラ制御部236は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、CCDカメラ201−1およびCCDカメラ201−2のいずれか一方または両方に、動画像の撮像を開始させる。ステップS205において、送信制御部232は、無線通信部205に、NC制御部71の無線通信部90宛に撮像により得られた動画像のデータである撮像データを送信させる。
ステップS202において、動画像の撮像の開始が指令されていないと判定された場合、手続きはステップS206に進み、判定部233は、撮像ユニット21の撮像の命令コードと受信した指令とを比較して、動画像の撮像の停止が指令されたか否かを判定する。ステップS206において、受信した指令が撮像ユニット21の動画像の撮像の停止の命令コードと同じで、動画像の撮像の停止が指令されたと判定された場合、手続きはステップS207に進み、CCDカメラ制御部236は、選択されている撮像部、すなわち、CCDカメラ201−1およびCCDカメラ201−2のいずれか一方または両方に、動画像の撮像を停止させる。
ステップS206において、動画像の撮像の停止が指令されていないと判定された場合、またはステップS205若しくはステップS207の手続きの後、撮像の処理は終了する。
なお、動画像の撮像において、図15および図16のフローチャートを参照して説明したように、撮像ユニット21から撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得しても良いし、図17および図18のフローチャートを参照して説明したように、撮像指令部154から撮像ユニット21に、撮像の指令と共に、シーケンス番号および位置データを送信するようにしてもよい。
このように、より簡単に、ワーク51の所望の部位を撮像して、その部位を示す撮像データが得られる。
動画像の撮像の開始のときに、撮像する時間(撮像を継続する時間)を指示して、その時間が経過したら、撮像を停止するようにしてもよい。
次に、撮像された撮像データの画像としての表示について説明する。マシニングセンタ1は、シーケンス番号が指定されると、撮像データテーブル153に格納されている撮像データによって画像を表示部101に表示させる。
図21は、表示部101への表示の例の概要を示す図である。図21中の矢印は、NCプログラムで表される座標上の軌跡のモデルを示す。図21中の黒丸は、シーケンス番号を示すオブジェクト(モデル)である。例えば、撮像データテーブル153に格納されている撮像データが撮像された位置に、シーケンス番号を示すオブジェクトを配置することができる。黒丸で示されるオブジェクトは、NCプログラムで表される座標上の軌跡のモデルに重ねて配置される。黒丸で示されるオブジェクトが配置される位置は、NCプログラム中の所定のシーケンス番号に対応している。
黒丸で示されるオブジェクトが選択されて表示のコマンドが選択されるか、黒丸で示されるオブジェクトがタップされるか、ダブルクリックされると、オブジェクトの近傍にウィンドウ401が開かれる。オブジェクトの位置で撮像された撮像データが、撮像データテーブル153から読み出されて、撮像データによる画像がウィンドウ401に表示させられる。すなわち、軌跡のモデル上のオブジェクトが選択されて表示が指示されると、軌跡のモデル上のその位置で撮像して得られた撮像データが撮像データテーブル153から読み出されて、画像が表示される。
図22は、表示制御部155による画像の表示の処理の例を説明するフローチャートである。ステップS301において、表示制御部155のNCプログラム読み出し部181は、ユーザが操作する入力部102からの信号を取得して、ユーザに指定されたNCプログラムをNCプログラム格納部151から読み出す。
ステップS302において、表示制御部155のモデル生成部182は、読み出されたNCプログラムから、シーケンス番号の位置を示し、加工空間上に配置される軌跡のモデルを生成する。軌跡のモデルには、シーケンス番号の位置を示すオブジェクトが配置されている。シーケンス番号の位置を示すオブジェクトは、その属性値として、シーケンス番号を含んでいる。
ステップS303において、表示制御部155は、表示部101に、例えば、図21に示される軌跡のモデルを表示させる。
ステップS304において、表示制御部155は、シーケンス番号の位置を示すオブジェクトがタップされるなど、シーケンス番号の位置を指定して画像の表示が指示されたか否かを判定する。ステップS304において、シーケンス番号の位置を指定して画像の表示が指示されたと判定された場合、手続きはステップS305に進み、表示制御部155の撮像データ読み出し部183は、撮像データテーブル153から、指定されたシーケンス番号が対応付けられている撮像データを読み出す。
ステップS306において、表示制御部155の画像表示制御部184は、軌跡のモデルの前面であって、シーケンス番号の位置の近傍に、画像表示用のウィンドウ401を開き、ステップS305の手続きで読み出された撮像データによる画像を表示部101に表示させる。
ステップS304において、シーケンス番号の位置を指定して画像の表示が指示されていないと判定された場合、手続きはステップS308に進み、表示制御部155は、閉じるアイコンがタップされるか、ウィンドウ401がスワイプされるなど、ウィンドウ401を閉じる指示がされたか否かを判定する。ステップS308において、ウィンドウ401を閉じる指示がされたと判定された場合、手続きはステップS309に進み、表示制御部155の画像表示制御部184は、ウィンドウ401を閉じる。
ステップS308において、ウィンドウ401を閉じる指示がされていないと判定された場合、またはステップS306若しくはステップS309の手続きの後、手続きはステップS307に進む。ステップS307において、表示制御部155は、終了のコマンドが実行されるなど、表示の終了が指示されたか否かを判定し、表示の終了が指示されていないと判定された場合、手続きは、ステップS304に戻り、上述した手続きを繰り返す。
ステップS307において、表示の終了が指示されたと判定された場合、画像の表示の処理は、終了する。
NCプログラムを文字で表示して、文字で表示されているシーケンス番号を指定して、撮像データの画像を表示させることもできる。
図23は、表示制御部155による画像の表示の処理の他の例を説明するフローチャートである。ステップS331の手続きは、図22のステップS301と同様なので、その説明は省略する。
ステップS332において、表示制御部155のリスト表示制御部185は、読み出されたNCプログラムのリストを文字で表示部101に表示させる。
ステップS333において、表示制御部155は、シーケンス番号の文字が選択されて、コマンドが選択されるなど、シーケンス番号の文字を指定して画像の表示が指示されたか否かを判定する。ステップS333において、シーケンス番号の文字を指定して画像の表示が指示されたと判定された場合、手続きはステップS334に進み、表示制御部155の撮像データ読み出し部183は、撮像データテーブル153から、指定されたシーケンス番号が対応付けられている撮像データを読み出す。
ステップS335において、表示制御部155の画像表示制御部184は、画像表示用のウィンドウ401を開き、ステップS305の手続きで読み出された撮像データによる画像を表示部101に表示させる。
ステップS336乃至ステップS338の手続きは、それぞれ、図22のステップS307乃至ステップS309と同様なので、その説明は省略する。
このように、シーケンス番号が指定されると、シーケンス番号に対応付けられている撮像データによりワーク51の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク51の所望の部位の形状を示す画像を表示させることができる。
以上のように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
これにより、数値制御プログラムの所定のワードにおける切削加工の結果を、迅速に、簡単に確認することができる。
なお、ウィンドウ401に撮像データによる画像を表示させると説明したが、これに限らず、表示部101の表示領域の全体に表示させるようにしてもよい。
また、ウィンドウ401を1つだけ開くようにしても、ウィンドウ401を複数同時に開いて、複数の撮像データによる画像のそれぞれを同時に表示させるようにしてもよい。
さらに、NCプログラムによる軌跡のモデルの表示またはリストの表示と切り替えて、撮像データによる画像を表示させるようにしても良い。さらにまた、表示部101を複数設けて、一方にNCプログラムによる軌跡のモデルを表示させたり、リストを表示させたりして、他方に撮像データによる画像を表示させるようにしても良い。
以上のように、マシニングセンタ1は、加工の動作を数値制御するための数値制御プログラムを実行して、ワーク51への加工の動作を制御するNC制御部71と、ワーク51を切削するとき工具が装着される主軸22に装着される撮像ユニット21とを備える。
NC制御部71のNCプログラム実行部152は、数値制御プログラムのコードを解釈する。送信制御部163に制御される無線通信部90は、NCプログラム実行部152で解釈されたコードが撮像のコードである場合、撮像ユニット21に撮像の指令を送信する。
撮像ユニット21において、受信制御部231に制御される無線通信部205は、NC制御部71(の無線通信部90)から送信されてくる撮像の指令を受信する。撮像ユニット21のCCDカメラ201−1は、撮像の指令を受信した場合、ワーク51を撮像する。撮像ユニット21において、送信制御部232に制御される無線通信部205は、撮像により得られた撮像データをNC制御部71(の無線通信部90)に送信する。
受信制御部164に制御される無線通信部90は、撮像が指令された撮像ユニット21から送信されてくる撮像データを受信する。記憶部82は、受信した撮像データを記憶する。
このようにすることで、撮像ユニット21が、ワーク51を切削するとき工具が装着される主軸22に装着されるので、工具でワーク51を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット21を主軸22に装着すれば、切削加工中の所望の時点でのワーク51を撮像することができる。
また、数値制御プログラムにより数値制御される主軸22に装着されている撮像ユニット21の撮像が、数値制御プログラムによって制御されるので、撮像ユニット21を数値制御で所望の位置、例えば、ワーク51の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。
さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワーク51の切削加工とワーク51の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク51の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク51の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク51に対してより正確な位置からワーク51を撮像できる。
さらにまた、撮像データテーブル153として記憶部82に撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、撮像データテーブル153として記憶部82に記憶されている撮像データにより、ワーク51の所望の部位の切削加工の状態を示すことができる。
マシニングセンタ1は、加工の動作を数値制御するための数値制御プログラムを実行してワーク51を切削加工する。マシニングセンタ1は、ワーク51を切削するとき工具が装着される主軸22に撮像ユニット21が装着される。NC制御部71のNCプログラム実行部152は、数値制御プログラムのコードを解釈する。送信制御部163に制御される無線通信部90は、NCプログラム実行部152で解釈されたコードが撮像のコードである場合、主軸22に装着されている撮像ユニット21に撮像の指令を送信する。受信制御部164に制御される無線通信部90は、撮像が指令された撮像ユニット21から送信されてくる、撮像ユニット21による撮像で得られた撮像データを受信する。記憶部82は、受信した撮像データを記憶する。
ステップS19において、NCプログラム実行部152は、数値制御プログラムのコードを解釈する。ステップS34において、撮像指令部154の送信制御部163に制御される無線通信部90は、ステップS19で解釈されたコードが撮像のコードである場合、主軸22に装着されている撮像ユニット21に撮像の指令を送信する。ステップS35において、撮像指令部154の受信制御部164に制御される無線通信部90は、撮像が指令された撮像ユニット21から送信されてくる、撮像ユニット21による撮像で得られた撮像データを受信する。ステップS35において、撮像指令部154の格納制御部165は、ステップS35で受信した撮像データを撮像データテーブル153に格納させる。すなわち、撮像データテーブル153は、記憶部82の記憶領域に構成されているので、記憶部82は、ステップS35で受信した撮像データを記憶する。
このように、ワーク51を切削するとき工具が装着される主軸22に撮像ユニット21を装着するので、工具でワーク51を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット21を主軸22に装着すれば、切削加工中の所望の時点でのワーク51を撮像することができる。また、数値制御プログラムにより数値制御される主軸22に装着されている撮像ユニット21への撮像の指令が、数値制御プログラムによって制御されるので、撮像ユニット21を数値制御で所望の位置、例えば、ワーク51の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像させることができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワーク51の切削加工とワーク51の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク51の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク51の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク51に対してより正確な位置からワーク51を撮像させることができる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワーク51の所望の部位の切削加工の状態を示すことができる。このように、より簡単に、ワーク51の切削加工中の所望の時点で、ワーク51の所望の部位を撮像して、ワーク51の切削加工中の所望の時点における所望の部位の切削加工の状態を撮像後の所望の時点で示すことができる。
撮像ユニット21は、加工の動作を数値制御するための数値制御プログラムを実行するマシニングセンタ1の主軸22であって、ワーク51を切削するとき工具が装着される主軸22に装着される。受信制御部231に制御される無線通信部205は、マシニングセンタ1が実行する数値制御プログラムに撮像のコードが含まれているときマシニングセンタ1(の無線通信部90)から送信されてくる撮像の指令を受信する。CCDカメラ201−1は、撮像の指令を受信した場合、ワーク51を撮像する。送信制御部232に制御される無線通信部205は、撮像により得られた撮像データをマシニングセンタ1(の無線通信部90)に送信する。
撮像ユニット21の一例である撮像ユニット21−1のCCDカメラ201−1は、ワーク51の画像を撮像する。撮像ユニット21の他の例である撮像ユニット21−2の3Dスキャナ301は、3次元スキャナである。撮像ユニット21−1において、送信制御部332に制御される無線通信部304は、ワーク51の形状を示す3次元の点群からなる撮像データをマシニングセンタ1(の無線通信部90)に送信する。
撮像ユニット21は、自動工具交換装置41によりマシニングセンタ1の主軸22に装着される。
ステップS61において、受信制御部231に制御される無線通信部205は、マシニングセンタ1が実行する数値制御プログラムに撮像のコードが含まれているときマシニングセンタ1(の無線通信部90)から送信されてくる撮像の指令を受信する。ステップS64において、CCDカメラ201−1は、撮像の指令を受信した場合、ワーク51を撮像する。ステップS65において、送信制御部232に制御される無線通信部205は、撮像により得られた撮像データをマシニングセンタ1(の無線通信部90)に送信する。
このように、撮像ユニット21が、ワーク51を切削するとき工具が装着される主軸22に装着されるので、工具でワーク51を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット21が主軸22に装着されれば、切削加工中の所望の時点でのワーク51を撮像することができる。また、数値制御プログラムにより数値制御される主軸22に装着されている撮像ユニット21の撮像が、数値制御プログラムによって制御されるので、撮像ユニット21を数値制御で所望の位置、例えば、ワーク51の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワーク51の切削加工とワーク51の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク51の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク51の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク51に対してより正確な位置からワークを撮像できる。このように、より簡単に、ワーク51の切削加工中の所望の時点で、ワーク51の所望の部位を撮像して、その部位を示す撮像データを得ることができる。
マシニングセンタ1は、加工の動作を数値制御するための数値制御プログラムを実行する。撮像ユニット21は、ワークを切削するとき工具が装着される主軸22に装着される。NC制御部71のNCプログラム実行部152は、シーケンス番号が付されている数値制御プログラムのコードを解釈する。送信制御部163に制御される無線通信部90は、NCプログラム実行部152で解釈されたコードが撮像のコードである場合、撮像ユニット21に撮像を指令する。撮像データテーブル153は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データを格納する。すなわち、記憶部82は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データを記憶する。
このようにすることで、撮像ユニット21が、ワーク51を切削するとき工具が装着される主軸22に装着されるので、工具でワーク51を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット21を主軸22に装着すれば、切削加工中の所望の時点でのワーク51を撮像することができる。また、シーケンス番号が付されている数値制御プログラムのコードを解釈して、解釈されたコードが撮像のコードである場合、撮像ユニット21に撮像を指令するので、撮像ユニット21を数値制御で所望の位置、例えば、ワーク51の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワーク51の切削加工とワーク51の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク51の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク51の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク51に対してより正確な位置からワーク51を撮像できる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワーク51の所望の部位の切削加工の状態を示すことができる。また、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データが記憶されるので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。従って、より簡単に、より迅速に、ワーク51の所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
CCDカメラ201−1は、ワーク51の画像を撮像する。記憶部82は、シーケンス番号に対応付けて、ワーク51の画像のデータである撮像データを記憶する。
3Dスキャナ301は、3次元スキャナである。記憶部82は、シーケンス番号に対応付けて、ワーク51の形状を示す3次元の点群からなる撮像データを記憶する。
撮像データテーブル153は、実行されている数値制御プログラムのプログラム番号に対応付けて撮像データを格納する。すなわち、記憶部82は、実行されている数値制御プログラムのプログラム番号に対応付けて撮像データを記憶する。この場合、簡単に、撮像データを得たときに実行された数値制御プログラムを特定することができる。
撮像データテーブル153は、数値制御プログラムの撮像のコードが解釈されたときの主軸の座標上の位置を示す位置データに対応付けて撮像データを格納する。すなわち、記憶部82は、数値制御プログラムの撮像のコードが解釈されたときの主軸の座標上の位置を示す位置データに対応付けて撮像データを記憶する。この場合、簡単に、撮像データを得たときの撮像ユニット21の座標上の位置を特定することができる。また、座標上の位置から、撮像データを特定して読み出すことができる。
ステップS19において、NCプログラム実行部152は、シーケンス番号が付されている数値制御プログラムのコードを解釈する。ステップS35において、撮像指令部154の受信制御部164に制御される無線通信部90は、解釈ステップで解釈されたコードが撮像のコードである場合、撮像ユニット21に撮像を指令する。ステップS35において、撮像指令部154の格納制御部165は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データを格納する。すなわち、ステップS35において、記憶部82は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データを記憶する。
このように、撮像ユニット21が、ワーク51を切削するとき工具が装着される主軸22に装着されるので、工具でワーク51を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット21を主軸22に装着すれば、切削加工中の所望の時点でのワーク51を撮像することができる。また、シーケンス番号が付されている数値制御プログラムのコードを解釈して、解釈されたコードが撮像のコードである場合、撮像ユニット21に撮像を指令するので、撮像ユニット21を数値制御で所望の位置、例えば、ワーク51の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、1つの工程で、ワーク51の切削加工とワーク51の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク51の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク51の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク51に対してより正確な位置からワーク51を撮像できる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワーク51の所望の部位の切削加工の状態を示すことができる。また、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット21によるワーク51の撮像で得られた撮像データが記憶されるので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。従って、より簡単に、より迅速に、ワーク51の所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
NCプログラム格納部151は、記憶部82の記憶領域に構成され、シーケンス番号が付されている撮像のコードが含まれている数値制御するための数値制御プログラムを格納している。撮像データテーブル153は、記憶部82の記憶領域に構成され、実行された数値制御プログラムの撮像のコードで指令されたワーク51の撮像により得られた撮像データをシーケンス番号に対応付けて記憶している。
表示部101は、NCプログラム格納部151から読み出された数値制御プログラムに付されているシーケンス番号のオブジェクトを表示する。撮像データ読み出し部183は、表示部101に表示されているシーケンス番号のオブジェクトが指定された場合、指定されたシーケンス番号に対応付けて記憶されている撮像データを撮像データテーブル153から読み出す。表示部101は、撮像データ読み出し部183によって読み出された撮像データによりワーク51の画像を表示する。
このように、シーケンス番号のオブジェクトが指定されると、シーケンス番号に対応付けられている撮像データによりワーク51の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク51の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
表示部101は、NCプログラム格納部151から読み出された数値制御プログラムで表される座標上の軌跡のモデルを表示し、モデルに対応付けてシーケンス番号のオブジェクトを表示する。このようにすることで、軌跡上の位置に対するシーケンス番号を簡単に特定できる。
撮像データテーブル153は、2次元の画像を撮像するCCDカメラ201−1で撮像された、ワーク51の画像のデータである撮像データを記憶している。
撮像データテーブル153は、3Dスキャナ301で撮像された、ワーク51の形状を示す3次元の点群からなる撮像データを記憶している。
ステップS303において、表示制御部155は、シーケンス番号が付されている撮像のコードが含まれている数値制御するための数値制御プログラムを格納しているNCプログラム格納部151から読み出された数値制御プログラムに付されているシーケンス番号のオブジェクトを表示部101に表示させる。
ステップS305において、撮像データ読み出し部183は、表示部101に表示されているシーケンス番号のオブジェクトが指定された場合、実行された数値制御プログラムの撮像のコードで指令されたワーク51の撮像により得られた撮像データをシーケンス番号に対応付けて記憶している記憶部82(撮像データテーブル153)から、指定されたシーケンス番号に対応付けて記憶されている撮像データを読み出す。
ステップS306において、画像表示制御部184は、ステップS305で読み出された撮像データによりワーク51の画像を表示部101に表示させる。
これにより、シーケンス番号のオブジェクトが指定されると、シーケンス番号に対応付けられている撮像データによりワーク51の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク51の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
表示部101は、NCプログラム格納部151から読み出された数値制御プログラムを文字で表示する。撮像データ読み出し部183は、表示部101に文字で表示されているシーケンス番号が指定された場合、指定されたシーケンス番号に対応付けて記憶されている撮像データを撮像データテーブル153から読み出す。
表示部101は、撮像データ読み出し部183によって読み出された撮像データによりワーク51の画像を表示する。
従って、文字で表示されているシーケンス番号が指定されると、シーケンス番号に対応付けられている撮像データによりワーク51の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク51の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
ステップS332において、リスト表示制御部185は、シーケンス番号が付されている撮像のコードが含まれている数値制御するための数値制御プログラムを格納しているNCプログラム格納部151から読み出された数値制御プログラムを文字で表示部101に表示させる。
ステップS334において、撮像データ読み出し部183は、表示部101に文字で表示されているシーケンス番号が指定された場合、実行された数値制御プログラムの撮像のコードで指令されたワーク51の撮像により得られた撮像データをシーケンス番号に対応付けて記憶している撮像データテーブル153から、指定されたシーケンス番号に対応付けて記憶されている撮像データを読み出す。
ステップS335において、画像表示制御部184は、ステップS334で読み出された撮像データによりワーク51の画像を表示部101に表示させる。
これにより、文字で表示されているシーケンス番号が指定されると、シーケンス番号に対応付けられている撮像データによりワーク51の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク51の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
なお、マシニングセンタ1を例に説明したが、数値制御する切削加工装置であればよく、ターニングセンタなどの切削加工装置にも適用することができる。
また、CCDカメラ201−1若しくはCCDカメラ201−2または3Dスキャナ301を、主軸22に設けるようにしてもよい。
さらに、CCDカメラ201−1若しくはCCDカメラ201−2または3Dスキャナ301により撮像されると説明したが、これに限らず、CMOS(Complementary metal-oxide-semiconductor field-effect transistor)イメージセンサや3D深度センサ、超音波センサなど形状を捉えるものであればよい。
なお、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データは、撮像データテーブル153に格納されると説明したが、これに限らず、データベースに格納したり、1つのファイルとして記憶したりして、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを対応付けすることもできる。例えば、撮像データをデータベースに格納する場合、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データからなる1つの組はタプルとされ、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データのそれぞれは、属性を示す。例えば、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを1つのファイルとして記憶する場合、TIFF(Tagged Image File Format)やMP4(MPEG-4 Part 14)(ISO/IEC 14496-14:2003)などの画像を格納可能なコンテナフォーマットのファイルを採用し、撮像データをメディアデータとし、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データをメタデータとしてファイルに格納することができる。また、例えば、撮像データを格納するファイルのファイル名として、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを用いることができる。
なお、撮像された撮像データの画像としての表示は、パーソナルコンピュータ131で行うようにしてもよい。
さらに、マシニングセンタ1と撮像ユニット21とは無線通信すると説明したが、通信用のケーブルを設けるか、主軸22と撮像ユニット21とにコネクタを設けるようにして、有線通信するようにしてもよい。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 マシニングセンタ, 11 加工部, 21,21−1,および21−2 撮像ユニット, 22 主軸, 71 NC制御部, 82 記憶部, 83 主制御部, 90 無線通信部, 101 表示部, 102 入力部, 151 NCプログラム格納部, 152 NCプログラム実行部, 153 撮像データテーブル, 154 撮像指令部, 155 表示制御部, 161 判定部, 162 取得部, 163 送信制御部, 164 受信制御部, 165 格納制御部, 166 指令記憶部, 167 撮像ユニットデータ記憶部, 171 シーケンス番号取得部, 172 位置データ取得部, 173 撮像ユニットデータ取得部, 174 ステータス記憶部, 181 NCプログラム読み出し部, 182 モデル生成部, 183 撮像データ読み出し部, 184 画像表示制御部, 185 リスト表示制御部, 201−1および201−2 CCDカメラ, 203 制御部, 204 記憶部, 205 無線通信部, 231 受信制御部, 232 送信制御部, 233 判定部, 234 ステータス/パラメータ格納部, 235 記憶制御部、 236 CCDカメラ制御部, 237 照明制御部, 251 撮像データ記憶制御部, 301 3Dスキャナ, 302 制御部, 303 記憶部, 304 無線通信部, 331 受信制御部, 332 送信制御部, 333 判定部, 334 ステータス/パラメータ格納部, 335 記憶制御部, 336 スキャナ制御部, 351 撮像データ記憶制御部

Claims (7)

  1. 加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、前記ワークを撮像する場合撮像手段が装着される切削加工装置において、
    シーケンス番号が付されている前記数値制御プログラムの解釈されたコードが撮像のコードである場合、前記撮像手段に撮像を指令する撮像指令手段と、
    前記数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されている前記シーケンス番号に対応付けて、前記撮像指令手段から撮像が指令された前記撮像手段による前記ワークの撮像で得られた撮像データを記憶する記憶手段と
    を含む切削加工装置。
  2. 請求項1に記載の切削加工装置において、
    前記記憶手段は、前記シーケンス番号に対応付けて、画像を撮像する前記撮像手段により得られた前記ワークの画像のデータである前記撮像データを記憶する
    切削加工装置。
  3. 請求項1に記載の切削加工装置において、
    前記記憶手段は、前記シーケンス番号に対応付けて、3次元スキャナである前記撮像手段により得られた前記ワークの形状を示す3次元の点群からなる前記撮像データを記憶する
    切削加工装置。
  4. 請求項1に記載の切削加工装置において、
    前記記憶手段は、実行されている前記数値制御プログラムのプログラム番号に対応付けて前記撮像データを記憶する
    切削加工装置。
  5. 請求項1に記載の切削加工装置において、
    前記記憶手段は、前記数値制御プログラムの撮像のコードが解釈されたときの前記主軸の座標上の位置を示す位置データに対応付けて前記撮像データを記憶する
    切削加工装置。
  6. 加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、前記ワークを撮像する場合撮像手段が装着される切削加工装置の撮像方法において、
    シーケンス番号が付されている前記数値制御プログラムの解釈されたコードが撮像のコードである場合、前記撮像手段に撮像を指令する撮像指令ステップと、
    前記数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されている前記シーケンス番号に対応付けて、前記撮像指令ステップで撮像が指令された前記撮像手段による前記ワークの撮像で得られた撮像データを記憶する記憶ステップと
    を含む撮像方法。
  7. 加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、前記ワークを撮像する場合撮像手段が装着される切削加工装置を制御するコンピュータに、
    シーケンス番号が付されている前記数値制御プログラムの解釈されたコードが撮像のコードである場合、前記撮像手段に撮像を指令する撮像指令ステップと、
    前記数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されている前記シーケンス番号に対応付けた、前記撮像指令ステップで撮像が指令された前記撮像手段による前記ワークの撮像で得られた撮像データの記憶を制御する記憶制御ステップと
    を含む撮像処理を行わせるプログラム。

JP2016210703A 2016-10-27 2016-10-27 切削加工装置、撮像方法、およびプログラム Active JP6656707B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016210703A JP6656707B2 (ja) 2016-10-27 2016-10-27 切削加工装置、撮像方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016210703A JP6656707B2 (ja) 2016-10-27 2016-10-27 切削加工装置、撮像方法、およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016028432A Division JP6058839B1 (ja) 2016-02-17 2016-02-17 切削加工装置、撮像方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2017146955A JP2017146955A (ja) 2017-08-24
JP6656707B2 true JP6656707B2 (ja) 2020-03-04

Family

ID=59683200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016210703A Active JP6656707B2 (ja) 2016-10-27 2016-10-27 切削加工装置、撮像方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6656707B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023053777A1 (ja) 2021-09-29 2023-04-06 Dmg森精機株式会社 工作機械用装置および工作機械

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019169007A (ja) * 2018-03-23 2019-10-03 株式会社熊本精研工業 加工対象物の加工計測装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0985583A (ja) * 1995-09-20 1997-03-31 Toshiba Mach Co Ltd プログラム制御機械装置における使用ツール確認方法および装置
JP3842246B2 (ja) * 2003-06-20 2006-11-08 ファナック株式会社 数値制御装置
JP4180469B2 (ja) * 2003-08-11 2008-11-12 東芝機械株式会社 工作機械の加工適否チェック方法
JP2008006534A (ja) * 2006-06-29 2008-01-17 Takeo Hidaka 工作機械用カメラおよびレシーバーつき工作機械
JP5549010B2 (ja) * 2010-03-30 2014-07-16 独立行政法人理化学研究所 加工装置、及び当該装置の駆動方法
JP5620446B2 (ja) * 2012-09-24 2014-11-05 ファナック株式会社 Gコード指令によりビデオカメラを操作する機能を備えた数値制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023053777A1 (ja) 2021-09-29 2023-04-06 Dmg森精機株式会社 工作機械用装置および工作機械

Also Published As

Publication number Publication date
JP2017146955A (ja) 2017-08-24

Similar Documents

Publication Publication Date Title
US8742290B2 (en) Robot system
US10099380B2 (en) Robot, robot control device, and robot system
US20120255937A1 (en) Robot system
EP1985416B1 (en) Mobile robot
US8902307B2 (en) Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
US9223306B2 (en) System and method utilizing an editing initialization block in a part program editing environment in a machine vision system
CN111014995B (zh) 非标非结构化作业环境的机器人焊接方法及系统
WO2017141849A1 (ja) 切削加工装置、撮像方法、およびプログラム、並びに撮像装置
CN106113050A (zh) 工业机器人的示教方法、控制方法及装置、系统
JP6656707B2 (ja) 切削加工装置、撮像方法、およびプログラム
CN103801989A (zh) 一种基于图像处理确定工件坐标原点的机载自动测量系统
JP2016097474A (ja) ロボットおよびロボットシステム
CN109420930B (zh) 机床及轴移动控制方法
US10786901B2 (en) Method for programming robot in vision base coordinate
WO2020012871A1 (ja) 工作機械
CN1331642C (zh) 焊接机器人单目视觉传感器
JP2008009899A (ja) 組立作業用ロボットの自動教示システム及び教示方法
CN108857130B (zh) 一种基于图像帧位处理的船舶通用结构件三维定位方法
WO2017141851A1 (ja) 表示装置、表示方法、およびプログラム
JP6058839B1 (ja) 切削加工装置、撮像方法、およびプログラム
KR20160140401A (ko) 카메라를 이용한 로봇 축각도들의 검출 및 로봇의 선택
CN108000499B (zh) 机器人视觉坐标的编程方法
US10175675B2 (en) Machine tool system
US9167215B2 (en) Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
JP6507792B2 (ja) ロボットおよびロボットシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190213

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: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200129

R150 Certificate of patent or registration of utility model

Ref document number: 6656707

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150