(57)【特許請求の範囲】
【請求項１】
加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、前記ワークを撮像する場合撮像手段が装着される切削加工装置において、
シーケンス番号が付されている前記数値制御プログラムの解釈されたコードが撮像のコードである場合、前記撮像手段に撮像を指令する撮像指令手段と、
前記数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されている前記シーケンス番号に対応付けて、前記撮像指令手段から撮像が指令された前記撮像手段による前記ワークの撮像で得られた撮像データを記憶する記憶手段と
を含む切削加工装置。
【請求項２】
請求項１に記載の切削加工装置において、
前記記憶手段は、前記シーケンス番号に対応付けて、画像を撮像する前記撮像手段により得られた前記ワークの画像のデータである前記撮像データを記憶する
切削加工装置。
【請求項３】
請求項１に記載の切削加工装置において、
前記記憶手段は、前記シーケンス番号に対応付けて、３次元スキャナである前記撮像手段により得られた前記ワークの形状を示す３次元の点群からなる前記撮像データを記憶する
切削加工装置。
【請求項４】
請求項１に記載の切削加工装置において、
前記記憶手段は、実行されている前記数値制御プログラムのプログラム番号に対応付けて前記撮像データを記憶する
切削加工装置。
【請求項５】
請求項１に記載の切削加工装置において、
前記記憶手段は、前記数値制御プログラムの撮像のコードが解釈されたときの前記主軸の座標上の位置を示す位置データに対応付けて前記撮像データを記憶する
切削加工装置。
【請求項６】
加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、前記ワークを撮像する場合撮像手段が装着される切削加工装置の撮像方法において、
シーケンス番号が付されている前記数値制御プログラムの解釈されたコードが撮像のコードである場合、前記撮像手段に撮像を指令する撮像指令ステップと、
前記数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されている前記シーケンス番号に対応付けて、前記撮像指令ステップで撮像が指令された前記撮像手段による前記ワークの撮像で得られた撮像データを記憶する記憶ステップと
を含む撮像方法。
【請求項７】
加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、前記ワークを撮像する場合撮像手段が装着される切削加工装置を制御するコンピュータに、
シーケンス番号が付されている前記数値制御プログラムの解釈されたコードが撮像のコードである場合、前記撮像手段に撮像を指令する撮像指令ステップと、
前記数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されている前記シーケンス番号に対応付けた、前記撮像指令ステップで撮像が指令された前記撮像手段による前記ワークの撮像で得られた撮像データの記憶を制御する記憶制御ステップと
を含む撮像処理を行わせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は切削加工装置、撮像方法、およびプログラムに関し、特に、ワークを撮像するための切削加工装置、撮像方法、およびプログラムに関する。
【背景技術】
【０００２】
切削加工によりワークを加工する切削加工装置が広く利用されている。
【０００３】
従来、工具を先端に着脱可能に装着する主軸を備えたヘッドと、ワークを載置するテーブルとを備えてなるマシニングセンタ等の工作機械に取り付けられ使用される工作機械用カメラであって、工具を着脱可能に装着するチャック形状に合わせた端部が円筒形あるいは方形あるいはテーパー形状になった被チャック部を持ったカメラであって、前記工作機械のチャック部に前記カメラの被チャック部を取り付けることにより、ワークあるいはワークを載置するテーブルが撮像素子の視野内に入り撮像できるように被チャック部の反対端に撮像ユニットを配置するように構成した工作機械用カメラが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−６５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の工作機械用カメラは、取り付けられると撮影モードになり、マシニングセンタで、カメラからの信号をレシーバーを介して受け取り、付属のモニターにカメラからの映像を映し出すものであり、カメラとワークとを見なければ、ワークのどの部位の映像が映し出されているかを知ることは出来なかった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、より簡単に、より迅速に、ワークの所望の部位が撮像されて得られた撮像データを特定して読み出すことができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の一側面の切削加工装置は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令手段と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令手段から撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶手段とを含む。
【０００８】
記憶手段に、シーケンス番号に対応付けて、画像を撮像する撮像手段により得られたワークの画像のデータである撮像データを記憶させることができる。
【０００９】
また、記憶手段に、シーケンス番号に対応付けて、３次元スキャナである撮像手段により得られたワークの形状を示す３次元の点群からなる撮像データを記憶させることができる。
【００１０】
記憶手段に、実行されている数値制御プログラムのプログラム番号に対応付けて撮像データを記憶させることができる。
【００１１】
記憶手段に、数値制御プログラムの撮像のコードが解釈されたときの主軸の座標上の位置を示す位置データに対応付けて撮像データを記憶させることができる。
【００１２】
本発明の一側面の撮像方法は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置の撮像方法であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップと、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶ステップとを含む。
【００１３】
本発明の一側面のプログラムは、加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置を制御するコンピュータに、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップと、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けた、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データの記憶を制御する記憶制御ステップとを含む撮像処理を行わせる。
【００１４】
本発明の一側面においては、撮像手段が、ワークを切削するとき工具が装着される主軸に装着されるので、工具でワークを切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像手段を主軸に装着すれば、切削加工中の所望の時点でのワークを撮像することができる。また、シーケンス番号が付されている数値制御プログラムのコードを解釈して、解釈されたコードが撮像のコードである場合、撮像が指令されたとき撮像する撮像手段に撮像を指令するので、撮像手段を数値制御で所望の位置、例えば、ワークの部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワークの切削加工とワークの撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワークの加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワークの加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワークに対してより正確な位置からワークを撮像できる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワークの所望の部位の切削加工の状態を示すことができる。また、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像手段によるワークの撮像で得られた撮像データが記憶されるので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。従って、より簡単に、より迅速に、ワークの所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
【発明の効果】
【００１５】
以上のように、本発明によれば、より簡単に、より迅速に、ワークの所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
【図面の簡単な説明】
【００１６】
【図１】マシニングセンタ１の加工部１１の外観を示す外観図である。
【図２】撮像ユニット２１によるワーク５１の撮像の例を示す図である。
【図３】マシニングセンタ１のハードウェアの構成を示すブロック図である。
【図４】制御プログラムを実行する主制御部８３において実現される機能の構成を示すブロック図である。
【図５】撮像ユニット２１−１の構造を示す図である。
【図６】撮像ユニット２１−１のハードウェアの構成を示すブロック図である。
【図７】撮像制御プログラムを実行する制御部２０３において実現される機能の構成を示すブロック図である。
【図８】撮像ユニット２１−２の構造を示す図である。
【図９】撮像ユニット２１−２のハードウェアの構成を示すブロック図である。
【図１０】撮像制御プログラムを実行する制御部３０２において実現される機能の構成を示すブロック図である。
【図１１】撮像データテーブル１５３の構造の例を示す図である。
【図１２】ＮＣプログラムの実行の処理の例を説明するフローチャートである。
【図１３】撮像ユニット２１への指令の処理の例を説明するフローチャートである。
【図１４】撮像の処理の例を説明する。
【図１５】撮像ユニット２１への指令の処理の他の例を説明するフローチャートである。
【図１６】撮像の処理の他の例を説明する。
【図１７】撮像ユニット２１への指令の処理のさらに他の例を説明するフローチャートである。
【図１８】撮像の処理のさらに他の例を説明する。
【図１９】撮像ユニット２１への指令の処理のさらに他の例を説明するフローチャートである。
【図２０】撮像の処理のさらに他の例を説明する。
【図２１】表示部１０１への表示の例の概要を示す図である。
【図２２】画像の表示の処理の例を説明するフローチャートである。
【図２３】画像の表示の処理の他の例を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１８】
本発明の一側面の切削加工装置（例えば、図３のマシニングセンタ１）は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令手段（例えば、図４の撮像指令部１５４）と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令手段から撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶手段（例えば、図３の記憶部８２）とを含む。
【００１９】
本発明の一側面の撮像方法は、加工の動作を数値制御するための数値制御プログラムを解釈して実行し、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置の撮像方法であって、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップ（例えば、図１３のステップＳ３４の手続き）と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けて、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データを記憶する記憶ステップ（例えば、図１３のステップＳ３６の手続き）とを含む。
【００２０】
本発明の一側面のプログラムは、加工の動作を数値制御するための数値制御プログラムを解釈して実行する切削加工装置であって、ワークを切削する場合工具が装着される主軸に、ワークを撮像する場合撮像手段が装着される切削加工装置を制御するコンピュータに、シーケンス番号が付されている数値制御プログラムの解釈されたコードが撮像のコードである場合、撮像手段に撮像を指令する撮像指令ステップ（例えば、図１３のステップＳ３４の手続き）と、数値制御プログラムに含まれている複数の撮像のコードのそれぞれに付されているシーケンス番号に対応付けた、撮像指令ステップで撮像が指令された撮像手段によるワークの撮像で得られた撮像データの記憶を制御する記憶制御ステップ（例えば、図１３のステップＳ３６の手続き）とを含む撮像処理を行わせる。
【００２１】
以下、図１乃至図２３を参照して、本発明の実施の形態を説明する。
【００２２】
図１は、本発明の一実施の形態のマシニングセンタ１の加工部１１の外観を示す外観図である。マシニングセンタ１は、切削加工装置の一例である。
【００２３】
マシニングセンタ１は、いわゆる５軸加工機であり、５軸制御の立形マシニングセンタである。マシニングセンタ１は、右手直交座標系の３次元空間である、いわゆるＸＹＺ空間における工具やワーク５１の位置や角度、移動速度などを数値制御する。マシニングセンタ１は、工具やワーク５１の位置や角度、移動速度などの数値制御のための数値制御プログラム（以下、ＮＣプログラムとも称する。）を実行し、数値制御プログラムに記述されているコードを解釈して、コードで指定されている動作を行う。
【００２４】
ＮＣプログラムの１行は、ブロックとも称され、１または複数のワードを含む。ワードは、アルファベットで表されるアドレスと、数値とからなる。例えば、Ｘであるアドレスと数値からなるワードにおいて、アドレスは、Ｘ軸の変位を示す、数値は、座標位置または変位する距離を示す。例えば、アドレスがＭである場合、Ｍコードと称され、補助機能を制御し、アドレスがＧである場合、Ｇコードと称され、補間などの準備機能を制御する。プログラム番号は、ＮＣプログラムを特定する番号であり、Ｏ（アルファベットのオー）に続く数字で表される。シーケンス番号は、ＮＣプログラム上の位置を識別するためのものであり、Ｎに続く数値で表される。
【００２５】
加工部１１は、後述するＮＣ（Numerical  Control）制御部によって制御されて動作し、加工の対象物（工作物）であるワーク５１を加工する。ワーク５１は、一定の形状を有する固体の物であれば良く、例えば、鉄、アルミ、銅、プラスチック、セラミックスなどからなる。
【００２６】
ワーク５１を加工する場合、マシニングセンタ１には、エンドミルやドリルビットなどの工具（図示せず）が装着される。加工されたワーク５１を撮像する場合、マシニングセンタ１には、撮像ユニット２１が装着される。撮像ユニット２１は、撮像装置または撮像手段の一例であり、マシニングセンタ１からの指令でワーク５１を撮像する。撮像ユニット２１は、各種の工具が装着される主軸２２に装着される。撮像ユニット２１は、マシニングセンタ１と、各種の指令やデータを無線通信する。直交軸駆動部２３は、主軸２２を本体２４に対して変位させることで、相互に直交するＸ軸、Ｙ軸、およびＺ軸上で特定される位置に主軸２２を変位させる。
【００２７】
ワーク５１は、テーブル３１に固定されている。テーブル３１は、Ｚ軸を中心に旋回する旋回軸であるＣ軸方向に回動させる旋回軸駆動部３２に設けられている。すなわち、旋回軸駆動部３２は、テーブル３１に固定されているワーク５１をＣ軸方向に回動させる。
【００２８】
旋回軸駆動部３３は、旋回軸駆動部３２を図中の矢印Ｋの方向に回動させる。旋回軸駆動部３３の回動の中心は、Ｙ軸に一致している。すなわち、旋回軸駆動部３３は、Ｙ軸を中心に旋回する旋回軸であるＢ軸方向に、テーブル３１に固定されているワーク５１を回動させる。
【００２９】
このように、マシニングセンタ１は、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置が数値制御される５軸加工機である。
【００３０】
また、マシニングセンタ１には、自動工具交換装置４１が設けられている。自動工具交換装置４１は、エンドミルやドリルビットなどの工具または撮像ユニット２１のいずれかを主軸２２に装着させ、主軸２２に装着されている工具または撮像ユニット２１を主軸２２から取り外させる。
【００３１】
マシニングセンタ１は、ＮＣプログラムを実行し、主軸２２に撮像ユニット２１が装着されている場合、ＮＣプログラムのコードに従って撮像ユニット２１を所定の位置に変位させ、ＮＣプログラムのコードが撮像を指令するものであるとき、撮像ユニット２１に撮像の指令を送信する。撮像ユニット２１は、マシニングセンタ１からの撮像の指令を受信すると、主軸２２によって変位させられている位置において撮像し、撮像の結果得られた撮像データをマシニングセンタ１に送信する。この場合、撮像ユニット２１は、静止画像若しくは動画像を撮像して撮像データを得るか、または形状を示す３次元の点群からなる撮像データを得る。マシニングセンタ１は、撮像ユニット２１から送信されてきた撮像データを記憶する。このとき、マシニングセンタ１は、撮像を指令するコードのシーケンス番号に対応付けて撮像データを記憶する。
【００３２】
マシニングセンタ１は、シーケンス番号が指定されて表示が指示されると、シーケンス番号に対応付けられている撮像データを読み出して、撮像データによる画像を表示させる。
【００３３】
図２は、主軸２２に装着されている撮像ユニット２１によるワーク５１の撮像の例を示す図である。例えば、主軸２２に装着されている撮像ユニット２１の光軸は、Ｚ軸方向になる。すなわち、主軸２２に装着されている撮像ユニット２１は、Ｚ軸方向に、テーブル３１に固定されているワーク５１を撮像する。
【００３４】
撮像ユニット２１は、マシニングセンタ１からの指令でワーク５１の所定の部位を撮像する。例えば、撮像ユニット２１は、所定の画角Ａで、ワーク５１に形成された穴５２を撮像する。この画角Ａは、固定であっても、変動させてもよい。すなわち、撮像ユニット２１は、単焦点であっても、ズーム機能または可変焦点機能を有するものでもよい。
【００３５】
撮像ユニット２１は、撮像の結果得られたデータである撮像データをマシニングセンタ１に送信する。
【００３６】
なお、撮像ユニット２１が主軸２２に装着された場合、工具長補正と同様に、十字状のセンターマーカーなどを用いてピント合わせ（焦点合わせ）が行われる。
【００３７】
以下、撮像ユニット２１による撮像の結果得られた、ワーク５１の所定の部位の形状を示すデータを撮像データと称する。また、以下、静止画像、動画像、または３次元スキャンデータなどの撮像データの方式を示す撮像方式データや撮像ユニット２１を識別する撮像部識別データなどのメタデータと、撮像データとを合わせたデータを撮像コンテナデータと称する。
【００３８】
図３は、ＮＣ制御部７１を含むマシニングセンタ１のハードウェアの構成を示すブロック図である。
【００３９】
マシニングセンタ１は、ＮＣ制御部７１および加工部１１からなる。ＮＣ制御部７１は、加工部１１を制御し、駆動する。例えば、ＮＣ制御部７１は、右手直交座標系の３次元空間である、いわゆるＸＹＺ空間における加工部１１の動作を制御する。すなわち、ＮＣ制御部７１は、それぞれ座標軸である、Ｘ軸上の位置、Ｙ軸上の位置、およびＺ軸上の位置、並びに、それぞれ回転軸である、Ｂ軸上の角度およびＣ軸上の角度を指定して、ＸＹＺ空間における加工部１１の動作を制御する。
【００４０】
加工部１１は、ＮＣ制御部７１によって制御および駆動されて、ＮＣ制御部７１に指示されたＸＹＺ空間における位置および角度に、工具またはワーク５１を移動させることにより、加工の対象物であるワーク５１を加工する。また、加工部１１は、ＮＣ制御部７１によって制御および駆動されて、ＮＣ制御部７１に指示されたＸＹＺ空間における位置および角度に、撮像ユニット２１またはワーク５１を移動させて、撮像ユニット２１にワーク５１の所定の部位を撮像させる。
【００４１】
ＮＣ制御部７１は、通信部８１、記憶部８２、主制御部８３、経路演算部８５、駆動回路８６−１乃至駆動回路８６−５、補助機能制御部８７、駆動回路８８、補助機能駆動部８９、および無線通信部９０から構成される。また、加工部１１は、主軸２２、表示部１０１、入力部１０２、位置決め部１０３、リレー１０４、および補助機能モータ類１０５から構成される。
【００４２】
さらに、加工部１１の位置決め部１０３には、サーボモータ１１１−１乃至１１１−５が設けられている。位置決め部１０３は、直交軸駆動部２３、テーブル３１、旋回軸駆動部３２、および旋回軸駆動部３３を含んでなる。位置決め部１０３のテーブル３１には、位置決め治具などを介してワーク５１が装着される。位置決め部１０３は、サーボモータ１１１−１乃至１１１−５の駆動によって、そのワーク５１および主軸２２のＸＹＺ空間における位置および角度を定める。サーボモータ１１１−１乃至１１１−５は、それぞれ、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置を変位させるように駆動する。また、主軸２２には、サーボモータ１１２が設けられ、主軸２２に装着されている工具は、サーボモータ１１２によって所定の回転速度で回転させられる。さらに、主軸２２に装着されている撮像ユニット２１は、サーボモータ１１２によってＺ軸を回転軸として所定の角度位置とされる。
【００４３】
通信部８１は、ネットワークインタフェースなどよりなり、ネットワーク１３２を介して、パーソナルコンピュータ１３１など他の機器と通信する。通信部８１は、ネットワーク１３２を介して、パーソナルコンピュータ１３１から送信されてきたＮＣプログラムなどの各種のプログラムやデータを受信する。通信部８１は、受信したプログラムやデータを記憶部８２に供給する。また、通信部８１は、ネットワーク１３２を介して、記憶部８２に記憶されている各種のデータをパーソナルコンピュータ１３１に送信する。
【００４４】
記憶部８２は、ハードディスクや不揮発性のメモリなどよりなり、通信部８１から供給された、ＮＣプログラムなどの各種のプログラムやデータを記憶する。
【００４５】
主制御部８３は、汎用のＣＰＵ（Central Processing Unit）または専用のプロセッサなどからなり、記憶部８２から制御プログラムを読み出して、制御プログラムを実行する。より具体的には、主制御部８３は、ＮＣプログラムを解釈し、実行するための、インタープリタなど各種の言語処理系プログラムを実行し、言語処理系プログラムの上でＮＣプログラムを実行する。主制御部８３は、ＮＣプログラムの実行の結果得られた、ＸＹＺ空間における工具やワーク５１の位置や角度、工具とワーク５１との相対的な送りの速度の指示、または主軸２２の回転速度を経路演算部８５に指示し、また、自動工具交換装置４１や切削油の供給機能などの補助機能の動作を補助機能制御部８７に指示する。また、主制御部８３は、ＮＣプログラムの実行の結果得られた、ＸＹＺ空間における撮像ユニット２１やワーク５１の位置や角度を経路演算部８５に指示し、撮像ユニット２１への撮像の指示を無線通信部９０に供給する。さらに、主制御部８３は、無線通信部９０が撮像ユニット２１から送信されてきた撮像のデータを受信すると、受信された撮像のデータを記憶部８２に記憶させる。
【００４６】
また、主制御部８３は、加工部１１の表示部１０１における各種の表示を制御する。さらに、主制御部８３は、ユーザによって操作される入力部１０２から供給される信号を入力することで、ユーザの指示を取得する。
【００４７】
表示部１０１は、ＬＣＤ（liquid crystal display）、有機ＥＬ（electroluminescence）ディスプレイまたはプラズマディスプレイなどからなり、主制御部８３の制御に応じて、加工プログラムのリストやマシニングセンタ１の状態を示すデータなどを表示する。また、表示部１０１は、ＮＣプログラムを文字で表示させたり、ＮＣプログラムによる軌跡を表示させたりする。さらに、表示部１０１は、撮像ユニット２１の撮像により得られた撮像のデータにより、ワーク５１の所定の部位の画像を表示する。入力部１０２は、各種のスイッチやボタン、キーボード、ポインティングデバイス、またはタッチパネルなどからなり、ユーザからの操作に応じた信号を主制御部８３に供給する。
【００４８】
経路演算部８５は、主制御部８３から指示された経路に応じて、位置決め部１０３の各軸の指示値を演算する。そして、経路演算部８５は、位置決め部１０３の各軸の指示値のそれぞれを、対応する駆動回路８６−１乃至８６−５のそれぞれに供給する。
【００４９】
駆動回路８６−１乃至８６−５は、それぞれ、いわゆるサーボモータ駆動回路であり、経路演算部８５からの軸の指示値に応じて、位置決め部１０３の各軸を駆動するサーボモータ１１１−１乃至１１１−５に所定の周波数の電流を供給するなどして、サーボモータ１１１−１乃至１１１−５をそれぞれ駆動する。
【００５０】
位置決め部１０３は、駆動回路８６−１乃至８６−５のそれぞれによって、サーボモータ１１１−１乃至１１１−５が駆動されることにより、位置決め治具などを介して装着されているワーク５１の、ＸＹＺ空間における角度を定め、また、主軸２２に装着されている工具または撮像ユニットのＸＹＺ空間における位置を定める。
【００５１】
補助機能制御部８７は、主制御部８３からの指示に応じて、加工部１１の主軸２２を駆動する駆動回路８８を制御すると共に、自動工具交換装置４１や切削油の供給機能を駆動する補助機能駆動部８９を制御する。駆動回路８８は、いわゆるサーボモータ駆動回路であり、補助機能制御部８７による制御に応じて、所定の回転速度で主軸２２を回転させるか、またはＺ軸を回転軸とする所定の角度位置となるように、加工部１１の主軸２２のサーボモータ１１２を駆動する。
【００５２】
主軸２２は、駆動回路８８によってサーボモータ１１２が駆動されることにより、装着されている工具を所定の回転速度で回転させか、または、Ｚ軸を回転軸とする所定の角度位置に装着されている撮像ユニット２１を配置する。
【００５３】
補助機能駆動部８９は、補助機能制御部８７による制御に応じて、自動工具交換装置４１や加工部１１における切削油の供給機能などの補助機能を駆動する。すなわち、補助機能駆動部８９によって、加工部１１のリレー１０４が切り替えられて、リレー１０４を介して補助機能モータ類１０５に所定の電源が供給されることにより、補助機能モータ類１０５が自動工具交換装置４１や切削油の供給機能などの補助機能の各部を駆動し、補助機能が動作する。
【００５４】
無線通信部９０は、主制御部８３の制御により、電波や赤外線などを媒体とする、無線ＬＡＮ（Local Area Network）や、Bluetooth（登録商標）またはIrDA（Infrared Data Association）などの近距離無線通信方式により、撮像ユニット２１と通信する。
【００５５】
図４は、マシニングセンタ１全体を制御するための制御プログラムを実行する主制御部８３において実現される機能の構成を示すブロック図である。主制御部８３が制御プログラムを実行することにより、ＮＣプログラム格納部１５１、ＮＣプログラム実行部１５２、撮像データテーブル１５３、撮像指令部１５４、および表示制御部１５５が実現される。
【００５６】
ＮＣプログラム格納部１５１は、記憶部８２の記憶領域に構成され、ＮＣプログラムを格納する。ＮＣプログラム実行部１５２は、ＮＣプログラムを実行し、解釈して、ＮＣプログラムのコードで指定されている動作を記憶部８２、経路演算部８５、補助機能制御部８７、および無線通信部９０に指示する。
【００５７】
撮像データテーブル１５３は、記憶部８２の記憶領域に構成され、撮像ユニット２１から送信されてきた撮像のデータを格納する。撮像データテーブル１５３の構造は、図１１を参照して後述する。
【００５８】
撮像指令部１５４は、無線通信部９０に撮像の指令を送信させることで、撮像ユニット２１に撮像を指令する。また、撮像指令部１５４は、撮像を指令した撮像ユニット２１から送信されてきた撮像データを無線通信部９０に受信させる。そして、撮像指令部１５４は、受信した撮像データを撮像データテーブル１５３に格納させる。
【００５９】
表示制御部１５５は、撮像データテーブル１５３に格納されている撮像データによって画像を表示部１０１に表示させる。
【００６０】
撮像指令部１５４は、判定部１６１、取得部１６２、送信制御部１６３、受信制御部１６４、格納制御部１６５、指令記憶部１６６、および撮像ユニットデータ記憶部１６７を含む。判定部１６１は、コードが撮像を指令するか否かなど各種の判定を行う。取得部１６２は、シーケンス番号や位置データなど、撮像データに対応付ける各種のデータを取得する。取得部１６２は、シーケンス番号取得部１７１、位置データ取得部１７２、および撮像ユニットデータ取得部１７３を含む。シーケンス番号取得部１７１は、ＮＣプログラム実行部１５２からシーケンス番号を取得する。位置データ取得部１７２は、経路演算部８５から、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置を示す位置データを取得する。撮像ユニットデータ取得部１７３は、主軸２２に装着されている撮像ユニット２１に関するデータを予め記憶している撮像ユニットデータ記憶部１６７から、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する。撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データの詳細は、図１１を参照して後述する。
【００６１】
送信制御部１６３は、無線通信部９０による、撮像ユニット２１への指令や各種のデータの送信を制御する。受信制御部１６４は、撮像ユニット２１から送信されてきた各種のデータの無線通信部９０による受信を制御する。格納制御部１６５は、撮像データテーブル１５３への、撮像データなどの各種のデータの格納を制御する。指令記憶部１６６は、ＮＣプログラムにおけるコードと、撮像ユニット２１への指令とを対応付けて予め記憶している。
【００６２】
撮像ユニットデータ記憶部１６７は、主軸２２に装着されている撮像ユニット２１に関する各種のデータを予め記憶している。撮像ユニットデータ記憶部１６７は、ステータス記憶部１７４を含む。ステータス記憶部１７４は、撮像ユニット２１のモードが、静止画像または動画像のいずれかを撮影するモードに設定されているかを示す撮像方式データや、撮像ユニット２１の画角を示す画角データなど、撮像ユニット２１のステータスを示すデータを記憶している。
【００６３】
表示制御部１５５は、ＮＣプログラム読み出し部１８１、モデル生成部１８２、撮像データ読み出し部１８３、画像表示制御部１８４、およびリスト表示制御部１８５を含む。ＮＣプログラム読み出し部１８１は、ユーザに指定されたＮＣプログラムをＮＣプログラム格納部１５１から読み出す。モデル生成部１８２は、ＮＣプログラムから、シーケンス番号の位置を示し、加工空間上に配置される軌跡のモデルを生成する。撮像データ読み出し部１８３は、撮像データテーブル１５３から、指定されたシーケンス番号が対応付けられている撮像データを読み出す。画像表示制御部１８４は、撮像データによる画像を表示部１０１に表示させる。リスト表示制御部１８５は、ＮＣプログラムのリストを文字で表示部１０１に表示させる。
【００６４】
次に、撮像ユニット２１について説明する。ここでは、撮像ユニット２１の２つの具体例であるＣＣＤ（Charge Coupled Device）カメラを搭載する撮像ユニット２１−１および３次元スキャナを搭載する撮像ユニット２１−２の構成について順に説明する。
【００６５】
図５は、撮像ユニット２１−１の構造を示す図である。撮像ユニット２１−１は、概ね円筒状に形成されている。撮像ユニット２１−１の円形の底面の一方には、主軸２２に挿入されるプルスタッドとテーパーが形成されている。また、撮像ユニット２１−１の円形の底面の他方の側の内部には、ＣＣＤカメラ２０１−１、ＣＣＤカメラ２０１−２、および照明部２０２が設けられている。
【００６６】
ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２は、それぞれ、個体撮像素子であるＣＣＤイメージセンサおよびＣＣＤイメージセンサに被写体の光学的な画像を結像させるレンズ群からなる。ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２は、明るさまたは色を画素の画素値とする、被写体の２次元の画像を撮像する。撮像する場合において、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２から被写体であるワーク５１までの距離は、エンドミルやドリルビットなどの工具の工具長（刃長または有効長）に近い長さとされる。すなわち、例えば、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２がフォーカス（ピント）を合わせられる距離は、１０ｍｍ乃至５０ｍｍのいずれかとされる。また、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２から被写体であるワーク５１までの距離を、エンドミルやドリルビットなどの工具の工具長に近い長さとした場合、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２によるワーク５１での撮像の範囲は、縦横１ｍｍ程度、縦横５ｍｍ程度、縦横１０ｍｍ程度、または縦横３０ｍｍ程度のいずれかとされる。
【００６７】
ＣＣＤカメラ２０１−１の光軸は、Ｚ軸と一致し、ＣＣＤカメラ２０１−２の光軸は、ＣＣＤカメラ２０１−１の光軸と所定の角度で交差する。例えば、ＣＣＤカメラ２０１−１の光軸とＣＣＤカメラ２０１−１の光軸とは、図５中θで示されるように、４５度の角度で交差する。例えば、ドリルビットが摩耗してきた場合、摩耗が進むに従って、徐々に大きくなるバリが穴の周辺に生じるが、光軸が交差するＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２を設けることで、より小さいバリをより確実に撮像することができる。
【００６８】
照明部２０２は、いわゆるリング照明装置であり、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２が撮像する領域を照明する。
【００６９】
図６は、撮像ユニット２１−１のハードウェアの構成を示すブロック図である。撮像ユニット２１−１は、ＣＣＤカメラ２０１−１、ＣＣＤカメラ２０１−２、照明部２０２、制御部２０３、記憶部２０４、無線通信部２０５、バッテリ２０６、および充電部２０７を含む。制御部２０３は、汎用のＣＰＵまたは専用のプロセッサなどからなり、記憶部８２から撮像制御プログラムを読み出して、撮像制御プログラムを実行して、ＣＣＤカメラ２０１−１、ＣＣＤカメラ２０１−２、照明部２０２、記憶部２０４、および無線通信部２０５を制御する。記憶部２０４は、ハードディスクや不揮発性のメモリなどよりなり、各種のプログラムやデータを記憶する。無線通信部２０５は、制御部２０３の制御により、電波や赤外線などを媒体とする、無線ＬＡＮや、Bluetooth（登録商標）またはIrDAなどの近距離無線通信方式により、無線通信部９０と通信する。無線通信部２０５は、無線通信部９０と通信可能な方式で通信する。バッテリ２０６は、いわゆる二次電池であり、蓄電して、撮像ユニット２１−１の各部に電力を供給する。充電部２０７は、レギュレータなどからなり、外部から供給された電源によって、バッテリ２０６を充電する。
【００７０】
図７は、制御部２０３が撮像制御プログラムを実行することにより実現される機能の構成を示すブロック図である。制御部２０３が撮像制御プログラムを実行すると、受信制御部２３１、送信制御部２３２、判定部２３３、ステータス／パラメータ格納部２３４、記憶制御部２３５、ＣＣＤカメラ制御部２３６、および照明制御部２３７が実現される。
【００７１】
受信制御部２３１は、無線通信部２０５による、無線通信部９０から送信されてくる指令などの各種のデータの受信を制御する。送信制御部２３２は、無線通信部２０５による、無線通信部９０宛の撮像データなどの各種のデータの送信を制御する。判定部２３３は、撮像が指令されたか否かなど各種の判定をする。ステータス／パラメータ格納部２３４は、ＣＣＤカメラ２０１−１またはＣＣＤカメラ２０１−２の選択、静止画像または動画像のいずれかを撮影するモードの設定、および画角の設定などを示すステータス情報を格納する。記憶制御部２３５は、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データなど各種のデータの記憶部２０４への記憶を制御する。記憶制御部２３５は、撮像データ記憶制御部２５１を含む。撮像データ記憶制御部２５１は、撮像データの記憶部２０４への記憶を制御する。
【００７２】
ＣＣＤカメラ制御部２３６は、ＣＣＤカメラ２０１−１またはＣＣＤカメラ２０１−２の撮像を制御する。照明制御部２３７は、照明部２０２による照明を制御する。
【００７３】
図８は、撮像ユニット２１−２の構造を示す図である。撮像ユニット２１−２は、概ね円筒状に形成されている。撮像ユニット２１−２の円形の底面の一方には、主軸２２に挿入されるプルスタッドとテーパーが形成されている。また、撮像ユニット２１−２の円形の底面の他方の側の内部には、３次元スキャナ３０１（以下、３Ｄスキャナ３０１と称する。）が設けられている。
【００７４】
３Ｄスキャナ３０１は、いわゆるレーザー式の３次元スキャナであり、光軸に対して直交する平面上の所定の間隔で対象物の各部への距離を測定し、対象物の形状を示す３次元の点群からなる撮像データを生成する。３Ｄスキャナ３０１の光軸は、Ｚ軸と一致している。
【００７５】
撮像する場合において、３Ｄスキャナ３０１から被写体であるワーク５１までの距離は、エンドミルやドリルビットなどの工具の工具長（刃長または有効長）に近い長さとされる。すなわち、例えば、３Ｄスキャナ３０１が被写体の位置を測定できる距離は、１０ｍｍ乃至５０ｍｍのいずれかとされる。また、３Ｄスキャナ３０１から被写体であるワーク５１までの距離を、エンドミルやドリルビットなどの工具の工具長に近い長さとした場合、３Ｄスキャナ３０１によるワーク５１での撮像の範囲は、縦横１ｍｍ程度、縦横５ｍｍ程度、縦横１０ｍｍ程度、または縦横３０ｍｍ程度のいずれかとされる。
【００７６】
図９は、撮像ユニット２１−２のハードウェアの構成を示すブロック図である。撮像ユニット２１−２は、３Ｄスキャナ３０１、制御部３０２、記憶部３０３、無線通信部３０４、バッテリ３０５、および充電部３０６を含む。制御部３０２は、汎用のＣＰＵまたは専用のプロセッサなどからなり、記憶部３０３から撮像制御プログラムを読み出して、撮像制御プログラムを実行して、３Ｄスキャナ３０１、記憶部３０３、および無線通信部３０４を制御する。
【００７７】
記憶部３０３、無線通信部３０４、バッテリ３０５、および充電部３０６は、それぞれ、撮像ユニット２１−１の記憶部２０４、無線通信部２０５、バッテリ２０６、および充電部２０７と同様なので、その説明は省略する。
【００７８】
図１０は、制御部３０２が撮像制御プログラムを実行することにより実現される機能の構成を示すブロック図である。制御部３０２が撮像制御プログラムを実行すると、受信制御部３３１、送信制御部３３２、判定部３３３、ステータス／パラメータ格納部３３４、記憶制御部３３５、およびスキャナ制御部３３６が実現される。
【００７９】
受信制御部３３１、送信制御部３３２、および判定部３３３は、それぞれ、撮像ユニット２１−１の受信制御部２３１、送信制御部２３２、および判定部２３３と同様なので、その説明は省略する。
【００８０】
ステータス／パラメータ格納部３３４は、３Ｄスキャナ３０１の画角の設定などを示すステータス情報を格納する。
【００８１】
記憶制御部３３５は、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データなど各種のデータの記憶部３０３への記憶を制御する。記憶制御部３３５は、撮像データ記憶制御部３５１を含む。撮像データ記憶制御部３５１は、撮像データの記憶部３０３の記憶を制御する。
【００８２】
スキャナ制御部３３６は、３Ｄスキャナ３０１の撮像を制御する。
【００８３】
図１１は、撮像データテーブル１５３の構造の例を示す図である。撮像データテーブル１５３には、１つのプログラム番号が付されている。このプログラム番号は、撮像データテーブル１５３に格納されている撮像データが撮像されたときにＮＣプログラム実行部１５２で実行されていた数値制御プログラムを特定する。例えば、図１１に示される撮像データテーブル１５３の例には、O1000であるプログラム番号が格納されている。なお、プログラム番号は、1000など数字だけで表すこともできる。
【００８４】
撮像データテーブル１５３には、シーケンス番号、位置データ、撮像ユニット識別データ、１または複数の撮像コンテナデータが相互に対応付けて格納されている。例えば、図１１に示される撮像データテーブル１５３において、１つの行は、１つのシーケンス番号に対応する１回の撮像で得られた１件のデータの組に相当し、各列は、属性の値を示す。
【００８５】
シーケンス番号は、撮像データが撮像されたときにＮＣプログラム実行部１５２で解釈された撮像のコードに対応付けられているシーケンス番号を示す。例えば、図１１に示される撮像データテーブル１５３には、N1乃至N16のそれぞれであるシーケンス番号が格納されている。
【００８６】
位置データは、撮像データが撮像された、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置を示す。具体的には、例えば、位置データは、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置を示す値からなる配列とされる。例えば、図１１に示される撮像データテーブル１５３には、C1乃至C16のそれぞれである位置データが格納されている。この位置データは、主軸２２の位置を示すようにしても、主軸２２の位置に、撮像ユニット２１の長さと焦点距離とをオフセットとして加えて、撮像ユニット２１の焦点の位置を示すようにしてもよい。
【００８７】
撮像ユニット識別データは、撮像データを撮像した撮像ユニット２１を識別するデータである。例えば、撮像ユニット識別データは、撮像データを撮像したのが撮像ユニット２１−１であるか、撮像ユニット２１−２であるかを示す。例えば、図１１に示される撮像データテーブル１５３において、U1である撮像ユニット識別データは、撮像ユニット２１−１を示し、U2である撮像ユニット識別データは、撮像ユニット２１−２を示す。すなわち、シーケンス番号がN1乃至N12のいずれかに対応する撮像データは、U1である撮像ユニット識別データで識別される撮像ユニット２１−１により撮像されたものである。また、シーケンス番号がN13乃至N16のいずれかに対応する撮像データは、U2である撮像ユニット識別データで識別される撮像ユニット２１−２により撮像されたものである。
【００８８】
撮像データテーブル１５３には、１つのシーケンス番号、１つの位置データ、および１つの撮像ユニット識別データに対応付けて、１または複数の撮像コンテナデータが格納されている。例えば、図１１に示される撮像データテーブル１５３には、N1乃至N4のそれぞれであるシーケンス番号に対応付けて、２つの撮像コンテナデータが格納されている。例えば、図１１に示される撮像データテーブル１５３には、N5乃至N16のそれぞれであるシーケンス番号に対応付けて、１つの撮像コンテナデータが格納されている。
【００８９】
撮像コンテナデータは、撮像結果データおよび撮像部データを含む。撮像結果データは、撮像の結果得られた撮像データと撮像データに関するデータとからなる。すなわち、撮像結果データは、撮像データおよび撮像方式データを含む。撮像データは、静止画像、動画像、または３次元スキャンデータなど撮像ユニット２１がワーク５１を撮像して得られたデータである。言い換えれば、撮像データは、ワーク５１の所定の部位の形状や色を明暗、色、または位置などで示す。ここで、３次元スキャンデータは、ワーク５１の形状を示す３次元の点群からなる。撮像データテーブル１５３には、撮像データを格納してもよいし、撮像データを特定するデータ（例えば、ファイル名または識別番号など）を格納してもよい。すなわち、シーケンス番号と撮像データとが対応付けられていればよい。言い換えれば、シーケンス番号を特定すれば、そのシーケンス番号で撮像された撮像データを読み出すことができる方式であれば足りる。
【００９０】
撮像方式データは、撮像データの方式、すなわち、静止画像、動画像、または３次元スキャンデータなどのいずれかであるかを示すデータである。
【００９１】
図１１に示される例において、撮像データとして配置されているIM1-1乃至IM-16は、撮像データのファイル名を示している。例えば、図１１に示される撮像データテーブル１５３において、IM1-1乃至IM4-1およびIM1-2乃至IM4-2並びにIM5乃至IM8のいずれかである撮像データは、撮像方式データにより静止画像であることが示されている。また、例えば、図１１に示される撮像データテーブル１５３において、IM9乃至IM12のいずれかである撮像データは、撮像方式データにより動画像であることが示されている。さらに、例えば、図１１に示される撮像データテーブル１５３において、IM13乃至IM16のいずれかである撮像データは、撮像方式データにより３次元スキャンデータであることが示されている。
【００９２】
撮像部データは、ワーク５１を撮像して撮像データを出力した撮像部である、例えば、ＣＣＤカメラ２０１−１、ＣＣＤカメラ２０１−２、または３Ｄスキャナ３０１のいずれかを特定し、これに関するデータである。撮像部データは、撮像部識別データ、撮像部姿勢データ、および画角データを含む。撮像部識別データは、ワーク５１を撮像して撮像データを出力した撮像部（例えば、ＣＣＤカメラ２０１−１、ＣＣＤカメラ２０１−２、または３Ｄスキャナ３０１のいずれか）を識別するデータである。例えば、図１１に示される撮像データテーブル１５３の例において、PID1である撮像部識別データは、ＣＣＤカメラ２０１−１を示し、PID2である撮像部識別データは、ＣＣＤカメラ２０１−２を示し、PID3である撮像部識別データは、３Ｄスキャナ３０１を示す。
【００９３】
例えば、図１１に示される撮像データテーブル１５３において、IM1-1乃至IM4-1およびIM9乃至IM12のいずれかである撮像データは、ＣＣＤカメラ２０１−１を示すPID1である撮像部識別データに対応付けられているので、ＣＣＤカメラ２０１−１によって撮像して得られたデータである。また、例えば、図１１に示される撮像データテーブル１５３において、IM1-2乃至IM4-2およびIM5乃至IM8のいずれかである撮像データは、ＣＣＤカメラ２０１−２を示すPID2である撮像部識別データに対応付けられているので、ＣＣＤカメラ２０１−２によって撮像して得られたデータである。さらに、例えば、図１１に示される撮像データテーブル１５３において、IM13乃至IM16のいずれかである撮像データは、３Ｄスキャナ３０１を示すPID3である撮像部識別データに対応付けられているので、３Ｄスキャナ３０１によって撮像して得られたデータである。
【００９４】
撮像部姿勢データは、ワーク５１を撮像して撮像データを出力した撮像部の姿勢を示すデータである。例えば、図１１に示される撮像データテーブル１５３において、撮像部姿勢データは、撮像部の光軸とＺ軸との角度を示す。
【００９５】
例えば、図１１に示される撮像データテーブル１５３において、ＣＣＤカメラ２０１−１の光軸は、Ｚ軸と平行なので、PID1である撮像部識別データに対応付けられている撮像部姿勢データは、0とされている。また、例えば、図１１に示される撮像データテーブル１５３において、ＣＣＤカメラ２０１−２の光軸は、Ｚ軸に対して45度なので、PID2である撮像部識別データに対応付けられている撮像部姿勢データは、45とされている。さらに、例えば、図１１に示される撮像データテーブル１５３において、３Ｄスキャナ３０１の光軸（の中心）は、Ｚ軸と平行なので、PID3である撮像部識別データに対応付けられている撮像部姿勢データは、0とされている。
【００９６】
画角データは、ワーク５１を撮像して撮像データを出力した撮像部の画角を示すデータである。すなわち、画角データは、ワーク５１を撮像して撮像データを出力した撮像部によって撮像される範囲を角度で表すものである。画角は、視野角とも称される。
【００９７】
例えば、図１１に示される撮像データテーブル１５３において、IM1-1、IM2-1、IM1-2乃至IM4-2、およびIM9乃至IM16のいずれかである撮像データは、60の画角で撮像されたので、IM1-1、IM2-1、IM1-2乃至IM4-2、およびIM9乃至IM16である撮像データに対応する画角データは、60とされている。また、例えば、図１１に示される撮像データテーブル１５３において、IM3-1、IM4-1、およびIM5乃至IM8のいずれかである撮像データは、80の画角で撮像されたので、IM3-1、IM4-1、およびIM5乃至IM8である撮像データに対応する画角データは、80とされている。
【００９８】
撮像コンテナデータにおいて、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データは、撮像データについての、いわゆるメタデータである。
【００９９】
このように、撮像データは、シーケンス番号に対応付けて撮像データテーブル１５３に格納される。すなわち、記憶部８２は、シーケンス番号に対応付けて撮像データを記憶する。言い換えれば、記憶部８２は、シーケンス番号と撮像データとを関係付けて（結び付けて）記憶する。また、記憶部８２は、シーケンス番号と撮像データとを紐付けて記憶するとも言える。
【０１００】
より詳細には、撮像データは、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて撮像データテーブル１５３に格納される。すなわち、記憶部８２は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて撮像データを記憶する。
【０１０１】
次に、図１２のフローチャートを参照して、主制御部８３のＮＣプログラム実行部１５２において行われる、ＮＣプログラムの実行の処理を説明する。ＮＣプログラム実行部１５２は、実行の処理に先立って、ＮＣプログラム格納部１５１から実行するＮＣプログラムを読み出す。そして、ＮＣプログラムの実行の処理が開始されると、ステップＳ１１において、ＮＣプログラム実行部１５２は、実行するＮＣプログラムから１つのブロックを読み出す。ステップＳ１２において、ＮＣプログラム実行部１５２は、読み出したブロックから１つのワードを読み出す。
【０１０２】
ステップＳ１３において、ＮＣプログラム実行部１５２は、読み出されたワードが補助機能のアドレスであるか否かを判定する。ステップＳ１３において、読み出されたワードが補助機能のアドレスでないと判定された場合、手続きはステップＳ１４に進み、ＮＣプログラム実行部１５２は、ＮＣプログラムの読み出されたワードを解釈し、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置の変位など、ワードに応じた動作を経路演算部８５に指令する。この後、手続きはステップＳ１５に進む。
【０１０３】
ステップＳ１３において、読み出されたワードが補助機能のアドレスであると判定された場合、補助機能を制御するＭコードなので、手続きはステップＳ１７に進み、ＮＣプログラム実行部１５２は、撮像ユニット２１に指令するコードであるか否かを判定する。ステップＳ１７において、撮像ユニット２１に指令するコードでないと判定された場合、手続きはステップＳ１８に進み、ＮＣプログラム実行部１５２は、ＮＣプログラムの読み出されたコードを解釈し、コードに応じた動作を補助機能制御部８７に指令する。この後、手続きはステップＳ１５に進む。
【０１０４】
ステップＳ１７において、撮像ユニット２１に指令するコードであると判定された場合、手続きはステップＳ１９に進み、ＮＣプログラム実行部１５２は、ＮＣプログラムの読み出されたコードを解釈し、撮像指令部１５４に、撮像ユニット２１への指令の処理を行わせる。撮像ユニット２１への指令の処理の詳細は、図１３、図１５、図１７、および図１９のフローチャートを参照して、後述する。この後、手続きはステップＳ１５に進む。
【０１０５】
ステップＳ１５において、ＮＣプログラム実行部１５２は、ブロックに次のワードがあるか否かを判定する。ステップＳ１５において、ブロックに次のワードがあると判定された場合、手続きは、ステップＳ１２に戻り、上述した手続きを繰り返す。
【０１０６】
ステップＳ１５において、ブロックに次のワードがあると判定された場合、手続きはステップＳ１６に進み、ＮＣプログラム実行部１５２は、ＮＣプログラムに次のブロックがあるか否かを判定する。ステップＳ１６において、ＮＣプログラムに次のブロックがあると判定された場合、手続きは、ステップＳ１１に戻り、上述した手続きを繰り返す。
【０１０７】
ステップＳ１６において、ＮＣプログラムに次のブロックがないと判定された場合、ＮＣプログラムの全部を実行したので、ＮＣプログラムの実行の処理は終了する。
【０１０８】
次に、図１３乃至図１８のフローチャートを参照して、撮像ユニット２１−１により静止画像を撮像するか、または撮像ユニット２１−２の３Ｄスキャナ３０１により撮像する場合の処理の例を説明する。
【０１０９】
図１３は、主制御部８３の撮像指令部１５４において行われる、撮像ユニット２１への指令の処理の詳細の例を説明するフローチャートである。ステップＳ３１において、判定部１６１は、指令記憶部１６６に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップＳ１２で読み出されたワードが撮像を指令するコードであるか否かを判定する。
【０１１０】
ステップＳ３１において、撮像を指令するコードであると判定された場合、手続きはステップＳ３２に進む。
【０１１１】
ステップＳ３２において、撮像指令部１５４の取得部１６２は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する。より詳細には、取得部１６２のシーケンス番号取得部１７１は、ＮＣプログラム実行部１５２からシーケンス番号を取得する。また、取得部１６２の位置データ取得部１７２は、経路演算部８５から、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置を示す位置データを取得する。取得部１６２の撮像ユニットデータ取得部１７３は、主軸２２に装着されている撮像ユニット２１に関するデータを予め記憶している撮像ユニットデータ記憶部１６７から、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する。
【０１１２】
なお、撮像ユニットデータ記憶部１６７のステータス記憶部１７４は、主軸２２に装着されている撮像ユニット２１が、撮像ユニット２１−１である場合、ＣＣＤカメラ２０１−１が選択されているとき、PID1である撮像部識別データを記憶し、ＣＣＤカメラ２０１−２が選択されているとき、PID2である撮像部識別データを記憶し、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２が選択されているとき、PID1である撮像部識別データとPID2である撮像部識別データとを記憶している。また、撮像ユニットデータ記憶部１６７のステータス記憶部１７４は、主軸２２に装着されている撮像ユニット２１が、撮像ユニット２１−１である場合、静止画像または動画像のいずれかを撮影するモードに設定されているかを示す撮像方式データと、主軸２２に装着されている撮像ユニット２１の画角を示す画角データとを記憶している。
【０１１３】
ステップＳ３３において、撮像指令部１５４の格納制御部１６５は、撮像データテーブル１５３に、１件のデータの組に相当する行を新たに生成し、その行にシーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを格納させる。
【０１１４】
ステップＳ３４において、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から撮像の指令（撮像ユニット２１への撮像の命令コード）を読み出して、無線通信部９０に、撮像の指令を撮像ユニット２１宛に送信させる。
【０１１５】
撮像の指令を受信した撮像ユニット２１は、撮像の処理を実行して、撮像ユニット２１がワーク５１を撮像して得られた静止画像データまたは３次元スキャンデータである撮像データを送信してくる。撮像ユニット２１の撮像の処理の詳細は、図１４のフローチャートを参照して後述する。
【０１１６】
ステップＳ３５において、撮像指令部１５４の受信制御部１６４は、無線通信部９０に、撮像ユニット２１から送信されてくる、撮像データを受信させる。
【０１１７】
ステップＳ３６において、撮像指令部１５４の格納制御部１６５は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、ステップＳ３５の手続きで受信した撮像データを撮像データテーブル１５３に格納させる。
【０１１８】
ステップＳ３１において、撮像を指令するコードでないと判定された場合、手続きはステップＳ３７に進み、判定部１６１は、指令記憶部１６６に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップＳ１２で読み出されたワードが撮像部を選択するコードであるか否かを判定する。
【０１１９】
ステップＳ３７において、撮像部を選択するコードであると判定された場合、手続きはステップＳ３８に進み、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から撮像部の選択の指令を読み出して、無線通信部９０に、撮像部の選択の指令を撮像ユニット２１宛に送信させる。このとき、撮像指令部１５４は、撮像ユニットデータ記憶部１６７のステータス記憶部１７４に、撮像ユニット２１のステータス情報として、選択された撮像部を示す撮像部識別データを記憶させる。
【０１２０】
ステップＳ３７において、撮像部を選択するコードでないと判定された場合、手続きはステップＳ３９に進み、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から指令を読み出して、無線通信部９０に、照明部２０２などの制御の指令を撮像ユニット２１宛に送信させる。また、ステップＳ３９においては、静止画像または動画像のいずれかを撮影するモードの指定や、撮像ユニット２１の画角の指示がされる。このとき、撮像指令部１５４は、撮像ユニットデータ記憶部１６７のステータス記憶部１７４に、撮像ユニット２１のステータス情報として、静止画像または動画像のいずれかを撮影するモードに設定されているかを示す撮像方式データと、主軸２２に装着されている撮像ユニット２１の画角を示す画角データとを記憶させる。
【０１２１】
ステップＳ３６、ステップＳ３８、またはステップＳ３９の手続きの後、撮像ユニット２１への指令の処理は終了し、ＮＣプログラムの実行の処理に戻る。
【０１２２】
次に、図１４のフローチャートを参照して、制御部２０３において撮像制御プログラムを実行する撮像ユニット２１−１による、撮像の処理を説明する。なお、図１４のフローチャートで説明する撮像の処理は、撮像指令部１５４が図１３のフローチャートで説明した撮像ユニット２１への指令の処理を実行した場合、行われるものである。
【０１２３】
ステップＳ６１において、受信制御部２３１は、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０から送信されてくる指令を受信させる。
【０１２４】
ステップＳ６２において、判定部２３３は、撮像ユニット２１の撮像の命令コードと受信した指令とを比較して、撮像が指令されたか否かを判定する。ステップＳ６２において、受信した指令が撮像ユニット２１の撮像の命令コードと同じで、撮像が指令されたと判定された場合、手続きはステップＳ６３に進み、ＣＣＤカメラ制御部２３６は、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を記憶しているステータス／パラメータ格納部２３４から、撮像部の選択を示すステータス情報を読み出す。
【０１２５】
ステップＳ６４において、ＣＣＤカメラ制御部２３６は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２のいずれか一方または両方に、静止画像を撮像させる。ステップＳ６５において、送信制御部２３２は、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０宛に撮像により得られた撮像データを送信させる。
【０１２６】
ステップＳ６２において、撮像が指令されていないと判定された場合、手続きはステップＳ６６に進み、判定部２３３は、撮像部の選択のコードと受信した指令とを比較して、撮像部の選択が指令されたか否かを判定する。ステップＳ６６において、撮像部の選択が指令されたと判定された場合、手続きはステップＳ６７に進み、判定部２３３は、ステータス／パラメータ格納部２３４に、撮像部の選択を示すステータス情報を格納させる。
【０１２７】
ステップＳ６６において、撮像部の選択が指令されていないと判定された場合、手続きはステップＳ６８に進み、照明制御部２３７は、無線通信部９０からの指令に応じて、照明部２０２を制御する。また、無線通信部９０からの指令が、静止画像または動画像のいずれかを撮影するモードの設定の指令や画角の変更の指令である場合、判定部２３３は、ステータス／パラメータ格納部２３４に、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を格納させる。
【０１２８】
ステップＳ６５、ステップＳ６７、またはステップＳ６８の手続きの後、撮像の処理は終了する。
【０１２９】
撮像ユニット２１が、ワーク５１を切削するとき工具が装着される主軸２２に装着されるので、工具でワーク５１を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット２１を主軸２２に装着すれば、切削加工中の所望の時点でのワーク５１を撮像することができる。
【０１３０】
また、数値制御プログラムにより数値制御される主軸２２に装着されている撮像ユニット２１の撮像が、数値制御プログラムによって制御されるので、撮像ユニット２１を数値制御で所望の位置、例えば、ワーク５１の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。
【０１３１】
さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワーク５１の切削加工とワーク５１の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク５１の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク５１の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク５１に対してより正確な位置からワーク５１を撮像できる。
【０１３２】
さらにまた、撮像データテーブル１５３として記憶部８２に撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、撮像データテーブル１５３として記憶部８２に記憶されている撮像データにより、ワーク５１の所望の部位の切削加工の状態を示すことができる。
【０１３３】
このように、より簡単に、ワーク５１の切削加工中の所望の時点で、ワーク５１の所望の部位を撮像して、ワーク５１の切削加工中の所望の時点における所望の部位の切削加工の状態を撮像後の所望の時点で示すことができる。
【０１３４】
また、シーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データを記憶するので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。
【０１３５】
多数の撮像データを取得したとしても、シーケンス番号から、ワーク５１のどの部位を撮像したものかを特定できる。特に、穴などの同じ形状を多数加工する場合、撮像データの内容や撮像の時刻だけでは、どの部位を撮像した撮像データであるかを特定することは困難であるが、シーケンス番号を利用することで、部位との対応を簡単に知ることができる。また、ワーク５１の同じ部位を異なる位置から撮像した場合であっても、シーケンス番号から、ワーク５１の部位と撮像の位置とを特定することができる。
【０１３６】
このように、より簡単に、ワーク５１の所望の部位を撮像して、所望の部位を示す撮像データを特定することができる。
【０１３７】
次に撮像ユニット２１から撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得する場合の処理を、図１５および図１６のフローチャートを参照して説明する。
【０１３８】
図１５は、主制御部８３の撮像指令部１５４において行われる、撮像ユニット２１への指令の処理の詳細の他の例を説明するフローチャートである。ステップＳ８１の手続きは、図１３のステップＳ３１と同様なのでその説明は省略する。
【０１３９】
ステップＳ８２において、撮像指令部１５４の取得部１６２は、シーケンス番号、位置データ、および撮像ユニット識別データを取得する。より詳細には、取得部１６２のシーケンス番号取得部１７１は、ＮＣプログラム実行部１５２からシーケンス番号を取得する。また、取得部１６２の位置データ取得部１７２は、経路演算部８５から、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、およびＣ軸のそれぞれの位置を示す位置データを取得する。取得部１６２の撮像ユニットデータ取得部１７３は、主軸２２に装着されている撮像ユニット２１に関するデータを予め記憶している撮像ユニットデータ記憶部１６７から、撮像ユニット識別データを取得する。
【０１４０】
ステップＳ８３において、撮像指令部１５４の格納制御部１６５は、撮像データテーブル１５３に、１件のデータの組に相当する行を新たに生成し、その行にシーケンス番号、位置データ、および撮像ユニット識別データを格納させる。
【０１４１】
ステップＳ８４において、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から撮像の指令（撮像ユニット２１への撮像の命令コード）を読み出して、無線通信部９０に、撮像の指令を撮像ユニット２１宛に送信させる。
【０１４２】
撮像の指令を受信した撮像ユニット２１は、撮像の処理を実行して、撮像ユニット２１がワーク５１を撮像して得られた静止画像データまたは３次元スキャンデータである撮像データと共に、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信してくる。撮像ユニット２１の撮像の処理の詳細は、図１６のフローチャートを参照して後述する。
【０１４３】
ステップＳ８５において、撮像指令部１５４の受信制御部１６４は、無線通信部９０に、撮像ユニット２１から送信されてくる、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを受信させる。
【０１４４】
ステップＳ８６において、撮像指令部１５４の格納制御部１６５は、シーケンス番号、位置データ、および撮像ユニット識別データに対応付けて、撮像データテーブル１５３に撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを格納させる。
【０１４５】
ステップＳ８１において、撮像を指令するコードでないと判定された場合、手続きはステップＳ８７に進み、判定部１６１は、指令記憶部１６６に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップＳ１２で読み出されたワードが撮像部を選択するコードであるか否かを判定する。
【０１４６】
ステップＳ８７において、撮像部を選択するコードであると判定された場合、手続きはステップＳ８８に進み、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から撮像部の選択の指令を読み出して、無線通信部９０に、撮像部の選択の指令を撮像ユニット２１宛に送信させる。
【０１４７】
ステップＳ８７において、撮像部を選択するコードでないと判定された場合、手続きはステップＳ８９に進み、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から指令を読み出して、無線通信部９０に、照明部２０２などの制御の指令を撮像ユニット２１宛に送信させる。また、ステップＳ８９においては、静止画像または動画像のいずれかを撮影するモードの指定や、撮像ユニット２１の画角の指示がされる。
【０１４８】
ステップＳ８６、ステップＳ８８、またはステップＳ８９の手続きの後、撮像ユニット２１への指令の処理は終了し、ＮＣプログラムの実行の処理に戻る。
【０１４９】
次に、図１６のフローチャートを参照して、制御部２０３において撮像制御プログラムを実行する撮像ユニット２１−１による、撮像の処理を説明する。なお、図１６のフローチャートで説明する撮像の処理は、撮像指令部１５４が図１５のフローチャートで説明した撮像ユニット２１への指令の処理を実行した場合、行われるものである。
【０１５０】
ステップＳ１０１およびステップＳ１０２の手続きは、それぞれ、図１４のステップＳ６１およびステップＳ６２の手続きと同様なので、その説明は省略する。
【０１５１】
ステップＳ１０３において、ＣＣＤカメラ制御部２３６は、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を記憶しているステータス／パラメータ格納部２３４から、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を読み出す。記憶制御部２３５は、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報に応じた、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを記憶部２０４に記憶させる。
【０１５２】
ステップＳ１０４において、ＣＣＤカメラ制御部２３６は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２のいずれか一方または両方に、静止画像を撮像させる。
【０１５３】
ステップＳ１０５において、記憶制御部２３５の撮像データ記憶制御部２５１は、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、撮像データを記憶部２０４に記憶させる。
【０１５４】
ステップＳ１０６において、送信制御部２３２は、記憶部２０４に対応付けて記憶されている撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを読み出して、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０宛に撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信させる。
【０１５５】
ステップＳ１０２において、撮像が指令されていないと判定された場合、手続きはステップＳ１０７に進み、判定部２３３は、撮像部の選択のコードと受信した指令とを比較して、撮像部の選択が指令されたか否かを判定する。ステップＳ１０７において、撮像部の選択が指令されたと判定された場合、手続きはステップＳ１０８に進み、判定部２３３は、ステータス／パラメータ格納部２３４に、撮像部の選択を示すステータス情報を格納させる。
【０１５６】
ステップＳ１０７において、撮像部の選択が指令されていないと判定された場合、手続きはステップＳ１０９に進み、照明制御部２３７は、無線通信部９０からの指令に応じて、照明部２０２を制御する。また、無線通信部９０からの指令が、静止画像または動画像のいずれかを撮影するモードの設定の指令や画角の変更の指令である場合、判定部２３３は、ステータス／パラメータ格納部２３４に、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を格納させる。
【０１５７】
ステップＳ１０６、ステップＳ１０８、またはステップＳ１０９の手続きの後、撮像の処理は終了する。
【０１５８】
このように、撮像ユニット２１から撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得すると、より正確な、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを得ることができる。
【０１５９】
次に、撮像指令部１５４から撮像ユニット２１に、撮像の指令と共に、シーケンス番号および位置データを送信する場合の処理を、図１７および図１８のフローチャートを参照して説明する。図１７は、主制御部８３の撮像指令部１５４において行われる、撮像ユニット２１への指令の処理の詳細のさらに他の例を説明するフローチャートである。
【０１６０】
ステップＳ１３１乃至ステップＳ１３３の手続きは、それぞれ、図１５のステップＳ８１乃至ステップＳ８３の手続きと同様なので、その説明は省略する。
【０１６１】
ステップＳ１３４において、ステップＳ８４において、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から撮像の指令（撮像ユニット２１への撮像の命令コード）を読み出し、さらに、撮像データテーブル１５３から、ステップＳ１３３の手続きで格納させたシーケンス番号および位置データを読み出して、無線通信部９０に、撮像の指令、シーケンス番号、および位置データを撮像ユニット２１宛に送信させる。
【０１６２】
撮像の指令を受信した撮像ユニット２１は、撮像の処理を実行して、撮像ユニット２１がワーク５１を撮像して得られた静止画像データまたは３次元スキャンデータである撮像データと共に、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信してくる。撮像ユニット２１の撮像の処理の詳細は、図１８のフローチャートを参照して後述する。
【０１６３】
ステップＳ１３５において、撮像指令部１５４の受信制御部１６４は、無線通信部９０に、撮像ユニット２１から送信されてくる、シーケンス番号、位置データ、撮像ユニット識別データ、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを受信させる。
【０１６４】
ステップＳ１３６において、撮像指令部１５４の格納制御部１６５は、受信したものと同じ撮像データテーブル１５３のシーケンス番号、位置データ、および撮像ユニット識別データに対応付けて、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを撮像データテーブル１５３に格納させる。
【０１６５】
ステップＳ１３７乃至ステップＳ１３９の手続きは、それぞれ、図１５のステップＳ８７乃至ステップＳ８９の手続きと同様なので、その説明は省略する。
【０１６６】
ステップＳ１３６、ステップＳ１３８、またはステップＳ１３９の手続きの後、撮像ユニット２１への指令の処理は終了し、ＮＣプログラムの実行の処理に戻る。
【０１６７】
次に、図１８のフローチャートを参照して、制御部２０３において撮像制御プログラムを実行する撮像ユニット２１−１による、撮像の処理を説明する。なお、図１８のフローチャートで説明する撮像の処理は、撮像指令部１５４が図１７のフローチャートで説明した撮像ユニット２１への指令の処理を実行した場合、行われるものである。
【０１６８】
ステップＳ１６１において、受信制御部２３１は、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０から送信されてくる指令を受信させる。また、ステップＳ１６１において、受信制御部２３１は、無線通信部２０５に、指令と共に送信されてくるシーケンス番号および位置データを受信させる。
【０１６９】
ステップＳ１６２において、判定部２３３は、撮像ユニット２１の撮像の命令コードと受信した指令とを比較して、撮像が指令されたか否かを判定する。ステップＳ１６２において、受信した指令が撮像ユニット２１の撮像の命令コードと同じで、撮像が指令されたと判定された場合、手続きはステップＳ１６３に進み、記憶制御部２３５は、撮像の指令と共に受信したシーケンス番号および位置データを記憶部２０４に記憶させる。
【０１７０】
ステップＳ１６４において、ＣＣＤカメラ制御部２３６は、撮像ユニット識別データ、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を記憶しているステータス／パラメータ格納部２３４から、撮像ユニット識別データ、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報を読み出す。
【０１７１】
ステップＳ１６５において、記憶制御部２３５は、撮像ユニット識別データ、撮像部の選択、静止画像または動画像のいずれかを撮影するモードの設定、画角の設定を示すステータス情報に応じた、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを、ステップＳ１６３の手続きで記憶させたシーケンス番号および位置データに対応付けて記憶部２０４に記憶させる。
【０１７２】
ステップＳ１６６において、ＣＣＤカメラ制御部２３６は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２のいずれか一方または両方に、静止画像を撮像させる。
【０１７３】
ステップＳ１６７において、記憶制御部２３５の撮像データ記憶制御部２５１は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、撮像データを記憶部２０４に記憶させる。
【０１７４】
ステップＳ１６８において、送信制御部２３２は、記憶部２０４に対応付けて記憶されているシーケンス番号、位置データ、撮像ユニット識別データ、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを読み出して、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０宛にシーケンス番号、位置データ、撮像ユニット識別データ、撮像データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを送信させる。
【０１７５】
ステップＳ１６９乃至ステップＳ１７１の手続きは、それぞれ、図１６のステップＳ１０７乃至ステップＳ１０９と同様なので、その説明は省略する。
【０１７６】
ステップＳ１６８、ステップＳ１７０、またはステップＳ１７１の手続きの後、撮像の処理は終了する。
【０１７７】
このように、撮像指令部１５４から撮像ユニット２１に、撮像の指令と共に、シーケンス番号を送信し、撮像ユニット２１から撮像指令部１５４に、撮像データと共に、シーケンス番号を送信するようにすると、送信に時間遅れが生じたり、送信が中断したりした場合であっても、確実にシーケンス番号と撮像データとを対応づけることができる。
【０１７８】
制御部３０２において撮像制御プログラムを実行する撮像ユニット２１−２による撮像の処理においては、図１４、図１６、および図１８のフローチャートを参照して説明した撮像の処理と同様に処理で、３Ｄスキャナ３０１に撮像させるので、その説明は省略する。なお、この場合、照明の制御は行われない。
【０１７９】
次に動画像を撮像する場合の処理を、図１９および図２０のフローチャートを参照して説明する。図１９は、主制御部８３の撮像指令部１５４において行われる、撮像ユニット２１への指令の処理の詳細のさらに他の例を説明するフローチャートである。
【０１８０】
ステップＳ１８１において、判定部１６１は、指令記憶部１６６に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップＳ１２で読み出されたワードが動画像の撮像の開始を指令するコードであるか否かを判定する。
【０１８１】
ステップＳ１８１において、動画像の撮像の開始を指令するコードであると判定された場合、手続きはステップＳ１８２に進む。
【０１８２】
ステップＳ１８２およびステップＳ１８３の手続きは、それぞれ、図１３のステップＳ３２およびステップＳ３３と同様なので、その説明は省略する。
【０１８３】
ステップＳ１８４において、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から動画像の撮像の開始の指令（撮像ユニット２１への撮像の命令コード）を読み出して、無線通信部９０に、動画像の撮像の開始の指令を撮像ユニット２１宛に送信させる。
【０１８４】
動画像の撮像の開始の指令を受信した撮像ユニット２１は、撮像の処理を実行して、撮像ユニット２１がワーク５１を撮像して得られた動画像のデータである撮像データを送信してくる。撮像ユニット２１の撮像の処理の詳細は、図２０のフローチャートを参照して後述する。
【０１８５】
ステップＳ１８５において、撮像指令部１５４の受信制御部１６４は、無線通信部９０に、撮像ユニット２１から送信されてくる、動画像のデータである撮像データを受信させる。
【０１８６】
ステップＳ１８６において、撮像指令部１５４の格納制御部１６５は、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データに対応付けて、撮像データテーブル１５３に動画像のデータである撮像データを格納させる。
【０１８７】
ステップＳ１８１において、動画像の撮像の開始を指令するコードでないと判定された場合、手続きはステップＳ１８７に進み、判定部１６１は、指令記憶部１６６に予め対応付けて記憶されているコードおよび指令と対比することにより、ステップＳ１２で読み出されたワードが動画像の撮像の停止を指令するコードであるか否かを判定する。ステップＳ１８７において、動画像の撮像の停止を指令するコードであると判定された場合、手続きはステップＳ１８８に進み、撮像指令部１５４の送信制御部１６３は、指令記憶部１６６から動画像の撮像の停止の指令を読み出して、無線通信部９０に、動画像の撮像の停止の指令を撮像ユニット２１宛に送信させる。
【０１８８】
ステップＳ１８７において、動画像の撮像の停止を指令するコードでないと判定された場合またはステップＳ１８６若しくはステップＳ１８８の手続きの後、撮像ユニット２１への指令の処理は終了し、ＮＣプログラムの実行の処理に戻る。
【０１８９】
次に、図２０のフローチャートを参照して、制御部２０３において撮像制御プログラムを実行する撮像ユニット２１−１による、撮像の処理を説明する。なお、図２０のフローチャートで説明する撮像の処理は、撮像指令部１５４が図１９のフローチャートで説明した撮像ユニット２１への指令の処理を実行した場合、行われるものである。
【０１９０】
ステップＳ２０１において、受信制御部２３１は、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０から送信されてくる指令を受信させる。
【０１９１】
ステップＳ２０２において、判定部２３３は、撮像ユニット２１の撮像の命令コードと受信した指令とを比較して、動画像の撮像の開始が指令されたか否かを判定する。ステップＳ２０２において、受信した指令が撮像ユニット２１の動画像の撮像の開始の命令コードと同じで、動画像の撮像の開始が指令されたと判定された場合、手続きはステップＳ２０３に進み、ＣＣＤカメラ制御部２３６は、撮像部の選択および画角の設定を示すステータス情報を記憶しているステータス／パラメータ格納部２３４から、撮像部の選択を示すステータス情報を読み出す。
【０１９２】
ステップＳ２０４において、ＣＣＤカメラ制御部２３６は、読み出したステータス情報を参照して、選択されている撮像部、すなわち、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２のいずれか一方または両方に、動画像の撮像を開始させる。ステップＳ２０５において、送信制御部２３２は、無線通信部２０５に、ＮＣ制御部７１の無線通信部９０宛に撮像により得られた動画像のデータである撮像データを送信させる。
【０１９３】
ステップＳ２０２において、動画像の撮像の開始が指令されていないと判定された場合、手続きはステップＳ２０６に進み、判定部２３３は、撮像ユニット２１の撮像の命令コードと受信した指令とを比較して、動画像の撮像の停止が指令されたか否かを判定する。ステップＳ２０６において、受信した指令が撮像ユニット２１の動画像の撮像の停止の命令コードと同じで、動画像の撮像の停止が指令されたと判定された場合、手続きはステップＳ２０７に進み、ＣＣＤカメラ制御部２３６は、選択されている撮像部、すなわち、ＣＣＤカメラ２０１−１およびＣＣＤカメラ２０１−２のいずれか一方または両方に、動画像の撮像を停止させる。
【０１９４】
ステップＳ２０６において、動画像の撮像の停止が指令されていないと判定された場合、またはステップＳ２０５若しくはステップＳ２０７の手続きの後、撮像の処理は終了する。
【０１９５】
なお、動画像の撮像において、図１５および図１６のフローチャートを参照して説明したように、撮像ユニット２１から撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを取得しても良いし、図１７および図１８のフローチャートを参照して説明したように、撮像指令部１５４から撮像ユニット２１に、撮像の指令と共に、シーケンス番号および位置データを送信するようにしてもよい。
【０１９６】
このように、より簡単に、ワーク５１の所望の部位を撮像して、その部位を示す撮像データが得られる。
【０１９７】
動画像の撮像の開始のときに、撮像する時間（撮像を継続する時間）を指示して、その時間が経過したら、撮像を停止するようにしてもよい。
【０１９８】
次に、撮像された撮像データの画像としての表示について説明する。マシニングセンタ１は、シーケンス番号が指定されると、撮像データテーブル１５３に格納されている撮像データによって画像を表示部１０１に表示させる。
【０１９９】
図２１は、表示部１０１への表示の例の概要を示す図である。図２１中の矢印は、ＮＣプログラムで表される座標上の軌跡のモデルを示す。図２１中の黒丸は、シーケンス番号を示すオブジェクト（モデル）である。例えば、撮像データテーブル１５３に格納されている撮像データが撮像された位置に、シーケンス番号を示すオブジェクトを配置することができる。黒丸で示されるオブジェクトは、ＮＣプログラムで表される座標上の軌跡のモデルに重ねて配置される。黒丸で示されるオブジェクトが配置される位置は、ＮＣプログラム中の所定のシーケンス番号に対応している。
【０２００】
黒丸で示されるオブジェクトが選択されて表示のコマンドが選択されるか、黒丸で示されるオブジェクトがタップされるか、ダブルクリックされると、オブジェクトの近傍にウィンドウ４０１が開かれる。オブジェクトの位置で撮像された撮像データが、撮像データテーブル１５３から読み出されて、撮像データによる画像がウィンドウ４０１に表示させられる。すなわち、軌跡のモデル上のオブジェクトが選択されて表示が指示されると、軌跡のモデル上のその位置で撮像して得られた撮像データが撮像データテーブル１５３から読み出されて、画像が表示される。
【０２０１】
図２２は、表示制御部１５５による画像の表示の処理の例を説明するフローチャートである。ステップＳ３０１において、表示制御部１５５のＮＣプログラム読み出し部１８１は、ユーザが操作する入力部１０２からの信号を取得して、ユーザに指定されたＮＣプログラムをＮＣプログラム格納部１５１から読み出す。
【０２０２】
ステップＳ３０２において、表示制御部１５５のモデル生成部１８２は、読み出されたＮＣプログラムから、シーケンス番号の位置を示し、加工空間上に配置される軌跡のモデルを生成する。軌跡のモデルには、シーケンス番号の位置を示すオブジェクトが配置されている。シーケンス番号の位置を示すオブジェクトは、その属性値として、シーケンス番号を含んでいる。
【０２０３】
ステップＳ３０３において、表示制御部１５５は、表示部１０１に、例えば、図２１に示される軌跡のモデルを表示させる。
【０２０４】
ステップＳ３０４において、表示制御部１５５は、シーケンス番号の位置を示すオブジェクトがタップされるなど、シーケンス番号の位置を指定して画像の表示が指示されたか否かを判定する。ステップＳ３０４において、シーケンス番号の位置を指定して画像の表示が指示されたと判定された場合、手続きはステップＳ３０５に進み、表示制御部１５５の撮像データ読み出し部１８３は、撮像データテーブル１５３から、指定されたシーケンス番号が対応付けられている撮像データを読み出す。
【０２０５】
ステップＳ３０６において、表示制御部１５５の画像表示制御部１８４は、軌跡のモデルの前面であって、シーケンス番号の位置の近傍に、画像表示用のウィンドウ４０１を開き、ステップＳ３０５の手続きで読み出された撮像データによる画像を表示部１０１に表示させる。
【０２０６】
ステップＳ３０４において、シーケンス番号の位置を指定して画像の表示が指示されていないと判定された場合、手続きはステップＳ３０８に進み、表示制御部１５５は、閉じるアイコンがタップされるか、ウィンドウ４０１がスワイプされるなど、ウィンドウ４０１を閉じる指示がされたか否かを判定する。ステップＳ３０８において、ウィンドウ４０１を閉じる指示がされたと判定された場合、手続きはステップＳ３０９に進み、表示制御部１５５の画像表示制御部１８４は、ウィンドウ４０１を閉じる。
【０２０７】
ステップＳ３０８において、ウィンドウ４０１を閉じる指示がされていないと判定された場合、またはステップＳ３０６若しくはステップＳ３０９の手続きの後、手続きはステップＳ３０７に進む。ステップＳ３０７において、表示制御部１５５は、終了のコマンドが実行されるなど、表示の終了が指示されたか否かを判定し、表示の終了が指示されていないと判定された場合、手続きは、ステップＳ３０４に戻り、上述した手続きを繰り返す。
【０２０８】
ステップＳ３０７において、表示の終了が指示されたと判定された場合、画像の表示の処理は、終了する。
【０２０９】
ＮＣプログラムを文字で表示して、文字で表示されているシーケンス番号を指定して、撮像データの画像を表示させることもできる。
【０２１０】
図２３は、表示制御部１５５による画像の表示の処理の他の例を説明するフローチャートである。ステップＳ３３１の手続きは、図２２のステップＳ３０１と同様なので、その説明は省略する。
【０２１１】
ステップＳ３３２において、表示制御部１５５のリスト表示制御部１８５は、読み出されたＮＣプログラムのリストを文字で表示部１０１に表示させる。
【０２１２】
ステップＳ３３３において、表示制御部１５５は、シーケンス番号の文字が選択されて、コマンドが選択されるなど、シーケンス番号の文字を指定して画像の表示が指示されたか否かを判定する。ステップＳ３３３において、シーケンス番号の文字を指定して画像の表示が指示されたと判定された場合、手続きはステップＳ３３４に進み、表示制御部１５５の撮像データ読み出し部１８３は、撮像データテーブル１５３から、指定されたシーケンス番号が対応付けられている撮像データを読み出す。
【０２１３】
ステップＳ３３５において、表示制御部１５５の画像表示制御部１８４は、画像表示用のウィンドウ４０１を開き、ステップＳ３０５の手続きで読み出された撮像データによる画像を表示部１０１に表示させる。
【０２１４】
ステップＳ３３６乃至ステップＳ３３８の手続きは、それぞれ、図２２のステップＳ３０７乃至ステップＳ３０９と同様なので、その説明は省略する。
【０２１５】
このように、シーケンス番号が指定されると、シーケンス番号に対応付けられている撮像データによりワーク５１の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク５１の所望の部位の形状を示す画像を表示させることができる。
【０２１６】
以上のように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
【０２１７】
これにより、数値制御プログラムの所定のワードにおける切削加工の結果を、迅速に、簡単に確認することができる。
【０２１８】
なお、ウィンドウ４０１に撮像データによる画像を表示させると説明したが、これに限らず、表示部１０１の表示領域の全体に表示させるようにしてもよい。
【０２１９】
また、ウィンドウ４０１を１つだけ開くようにしても、ウィンドウ４０１を複数同時に開いて、複数の撮像データによる画像のそれぞれを同時に表示させるようにしてもよい。
【０２２０】
さらに、ＮＣプログラムによる軌跡のモデルの表示またはリストの表示と切り替えて、撮像データによる画像を表示させるようにしても良い。さらにまた、表示部１０１を複数設けて、一方にＮＣプログラムによる軌跡のモデルを表示させたり、リストを表示させたりして、他方に撮像データによる画像を表示させるようにしても良い。
【０２２１】
以上のように、マシニングセンタ１は、加工の動作を数値制御するための数値制御プログラムを実行して、ワーク５１への加工の動作を制御するＮＣ制御部７１と、ワーク５１を切削するとき工具が装着される主軸２２に装着される撮像ユニット２１とを備える。
【０２２２】
ＮＣ制御部７１のＮＣプログラム実行部１５２は、数値制御プログラムのコードを解釈する。送信制御部１６３に制御される無線通信部９０は、ＮＣプログラム実行部１５２で解釈されたコードが撮像のコードである場合、撮像ユニット２１に撮像の指令を送信する。
【０２２３】
撮像ユニット２１において、受信制御部２３１に制御される無線通信部２０５は、ＮＣ制御部７１（の無線通信部９０）から送信されてくる撮像の指令を受信する。撮像ユニット２１のＣＣＤカメラ２０１−１は、撮像の指令を受信した場合、ワーク５１を撮像する。撮像ユニット２１において、送信制御部２３２に制御される無線通信部２０５は、撮像により得られた撮像データをＮＣ制御部７１（の無線通信部９０）に送信する。
【０２２４】
受信制御部１６４に制御される無線通信部９０は、撮像が指令された撮像ユニット２１から送信されてくる撮像データを受信する。記憶部８２は、受信した撮像データを記憶する。
【０２２５】
このようにすることで、撮像ユニット２１が、ワーク５１を切削するとき工具が装着される主軸２２に装着されるので、工具でワーク５１を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット２１を主軸２２に装着すれば、切削加工中の所望の時点でのワーク５１を撮像することができる。
【０２２６】
また、数値制御プログラムにより数値制御される主軸２２に装着されている撮像ユニット２１の撮像が、数値制御プログラムによって制御されるので、撮像ユニット２１を数値制御で所望の位置、例えば、ワーク５１の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。
【０２２７】
さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワーク５１の切削加工とワーク５１の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク５１の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク５１の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク５１に対してより正確な位置からワーク５１を撮像できる。
【０２２８】
さらにまた、撮像データテーブル１５３として記憶部８２に撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、撮像データテーブル１５３として記憶部８２に記憶されている撮像データにより、ワーク５１の所望の部位の切削加工の状態を示すことができる。
【０２２９】
マシニングセンタ１は、加工の動作を数値制御するための数値制御プログラムを実行してワーク５１を切削加工する。マシニングセンタ１は、ワーク５１を切削するとき工具が装着される主軸２２に撮像ユニット２１が装着される。ＮＣ制御部７１のＮＣプログラム実行部１５２は、数値制御プログラムのコードを解釈する。送信制御部１６３に制御される無線通信部９０は、ＮＣプログラム実行部１５２で解釈されたコードが撮像のコードである場合、主軸２２に装着されている撮像ユニット２１に撮像の指令を送信する。受信制御部１６４に制御される無線通信部９０は、撮像が指令された撮像ユニット２１から送信されてくる、撮像ユニット２１による撮像で得られた撮像データを受信する。記憶部８２は、受信した撮像データを記憶する。
【０２３０】
ステップＳ１９において、ＮＣプログラム実行部１５２は、数値制御プログラムのコードを解釈する。ステップＳ３４において、撮像指令部１５４の送信制御部１６３に制御される無線通信部９０は、ステップＳ１９で解釈されたコードが撮像のコードである場合、主軸２２に装着されている撮像ユニット２１に撮像の指令を送信する。ステップＳ３５において、撮像指令部１５４の受信制御部１６４に制御される無線通信部９０は、撮像が指令された撮像ユニット２１から送信されてくる、撮像ユニット２１による撮像で得られた撮像データを受信する。ステップＳ３５において、撮像指令部１５４の格納制御部１６５は、ステップＳ３５で受信した撮像データを撮像データテーブル１５３に格納させる。すなわち、撮像データテーブル１５３は、記憶部８２の記憶領域に構成されているので、記憶部８２は、ステップＳ３５で受信した撮像データを記憶する。
【０２３１】
このように、ワーク５１を切削するとき工具が装着される主軸２２に撮像ユニット２１を装着するので、工具でワーク５１を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット２１を主軸２２に装着すれば、切削加工中の所望の時点でのワーク５１を撮像することができる。また、数値制御プログラムにより数値制御される主軸２２に装着されている撮像ユニット２１への撮像の指令が、数値制御プログラムによって制御されるので、撮像ユニット２１を数値制御で所望の位置、例えば、ワーク５１の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像させることができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワーク５１の切削加工とワーク５１の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク５１の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク５１の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク５１に対してより正確な位置からワーク５１を撮像させることができる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワーク５１の所望の部位の切削加工の状態を示すことができる。このように、より簡単に、ワーク５１の切削加工中の所望の時点で、ワーク５１の所望の部位を撮像して、ワーク５１の切削加工中の所望の時点における所望の部位の切削加工の状態を撮像後の所望の時点で示すことができる。
【０２３２】
撮像ユニット２１は、加工の動作を数値制御するための数値制御プログラムを実行するマシニングセンタ１の主軸２２であって、ワーク５１を切削するとき工具が装着される主軸２２に装着される。受信制御部２３１に制御される無線通信部２０５は、マシニングセンタ１が実行する数値制御プログラムに撮像のコードが含まれているときマシニングセンタ１（の無線通信部９０）から送信されてくる撮像の指令を受信する。ＣＣＤカメラ２０１−１は、撮像の指令を受信した場合、ワーク５１を撮像する。送信制御部２３２に制御される無線通信部２０５は、撮像により得られた撮像データをマシニングセンタ１（の無線通信部９０）に送信する。
【０２３３】
撮像ユニット２１の一例である撮像ユニット２１−１のＣＣＤカメラ２０１−１は、ワーク５１の画像を撮像する。撮像ユニット２１の他の例である撮像ユニット２１−２の３Ｄスキャナ３０１は、３次元スキャナである。撮像ユニット２１−１において、送信制御部３３２に制御される無線通信部３０４は、ワーク５１の形状を示す３次元の点群からなる撮像データをマシニングセンタ１（の無線通信部９０）に送信する。
【０２３４】
撮像ユニット２１は、自動工具交換装置４１によりマシニングセンタ１の主軸２２に装着される。
【０２３５】
ステップＳ６１において、受信制御部２３１に制御される無線通信部２０５は、マシニングセンタ１が実行する数値制御プログラムに撮像のコードが含まれているときマシニングセンタ１（の無線通信部９０）から送信されてくる撮像の指令を受信する。ステップＳ６４において、ＣＣＤカメラ２０１−１は、撮像の指令を受信した場合、ワーク５１を撮像する。ステップＳ６５において、送信制御部２３２に制御される無線通信部２０５は、撮像により得られた撮像データをマシニングセンタ１（の無線通信部９０）に送信する。
【０２３６】
このように、撮像ユニット２１が、ワーク５１を切削するとき工具が装着される主軸２２に装着されるので、工具でワーク５１を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット２１が主軸２２に装着されれば、切削加工中の所望の時点でのワーク５１を撮像することができる。また、数値制御プログラムにより数値制御される主軸２２に装着されている撮像ユニット２１の撮像が、数値制御プログラムによって制御されるので、撮像ユニット２１を数値制御で所望の位置、例えば、ワーク５１の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワーク５１の切削加工とワーク５１の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク５１の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク５１の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク５１に対してより正確な位置からワークを撮像できる。このように、より簡単に、ワーク５１の切削加工中の所望の時点で、ワーク５１の所望の部位を撮像して、その部位を示す撮像データを得ることができる。
【０２３７】
マシニングセンタ１は、加工の動作を数値制御するための数値制御プログラムを実行する。撮像ユニット２１は、ワークを切削するとき工具が装着される主軸２２に装着される。ＮＣ制御部７１のＮＣプログラム実行部１５２は、シーケンス番号が付されている数値制御プログラムのコードを解釈する。送信制御部１６３に制御される無線通信部９０は、ＮＣプログラム実行部１５２で解釈されたコードが撮像のコードである場合、撮像ユニット２１に撮像を指令する。撮像データテーブル１５３は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データを格納する。すなわち、記憶部８２は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データを記憶する。
【０２３８】
このようにすることで、撮像ユニット２１が、ワーク５１を切削するとき工具が装着される主軸２２に装着されるので、工具でワーク５１を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット２１を主軸２２に装着すれば、切削加工中の所望の時点でのワーク５１を撮像することができる。また、シーケンス番号が付されている数値制御プログラムのコードを解釈して、解釈されたコードが撮像のコードである場合、撮像ユニット２１に撮像を指令するので、撮像ユニット２１を数値制御で所望の位置、例えば、ワーク５１の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワーク５１の切削加工とワーク５１の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク５１の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク５１の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク５１に対してより正確な位置からワーク５１を撮像できる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワーク５１の所望の部位の切削加工の状態を示すことができる。また、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データが記憶されるので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。従って、より簡単に、より迅速に、ワーク５１の所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
【０２３９】
ＣＣＤカメラ２０１−１は、ワーク５１の画像を撮像する。記憶部８２は、シーケンス番号に対応付けて、ワーク５１の画像のデータである撮像データを記憶する。
【０２４０】
３Ｄスキャナ３０１は、３次元スキャナである。記憶部８２は、シーケンス番号に対応付けて、ワーク５１の形状を示す３次元の点群からなる撮像データを記憶する。
【０２４１】
撮像データテーブル１５３は、実行されている数値制御プログラムのプログラム番号に対応付けて撮像データを格納する。すなわち、記憶部８２は、実行されている数値制御プログラムのプログラム番号に対応付けて撮像データを記憶する。この場合、簡単に、撮像データを得たときに実行された数値制御プログラムを特定することができる。
【０２４２】
撮像データテーブル１５３は、数値制御プログラムの撮像のコードが解釈されたときの主軸の座標上の位置を示す位置データに対応付けて撮像データを格納する。すなわち、記憶部８２は、数値制御プログラムの撮像のコードが解釈されたときの主軸の座標上の位置を示す位置データに対応付けて撮像データを記憶する。この場合、簡単に、撮像データを得たときの撮像ユニット２１の座標上の位置を特定することができる。また、座標上の位置から、撮像データを特定して読み出すことができる。
【０２４３】
ステップＳ１９において、ＮＣプログラム実行部１５２は、シーケンス番号が付されている数値制御プログラムのコードを解釈する。ステップＳ３５において、撮像指令部１５４の受信制御部１６４に制御される無線通信部９０は、解釈ステップで解釈されたコードが撮像のコードである場合、撮像ユニット２１に撮像を指令する。ステップＳ３５において、撮像指令部１５４の格納制御部１６５は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データを格納する。すなわち、ステップＳ３５において、記憶部８２は、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データを記憶する。
【０２４４】
このように、撮像ユニット２１が、ワーク５１を切削するとき工具が装着される主軸２２に装着されるので、工具でワーク５１を切削した、例えば、荒削り、中削りや仕上げ削りなど所望の時点で撮像ユニット２１を主軸２２に装着すれば、切削加工中の所望の時点でのワーク５１を撮像することができる。また、シーケンス番号が付されている数値制御プログラムのコードを解釈して、解釈されたコードが撮像のコードである場合、撮像ユニット２１に撮像を指令するので、撮像ユニット２１を数値制御で所望の位置、例えば、ワーク５１の部位の位置うち、精度の高い仕上げが要求される部位や切削加工が困難な部位、または同形状に形成される多数の穴のうちの特定の穴などの所望の位置に移動させて、その位置で撮像することができる。さらに、切削加工と撮像とを行う数値制御プログラムを利用すれば、１つの工程で、ワーク５１の切削加工とワーク５１の撮像とを行うことができる。また、撮像のための数値制御プログラムは、ワーク５１の加工に用いられる数値制御プログラムを編集して利用すれば比較的簡単に生成することができ、ワーク５１の加工に用いられる数値制御プログラムから撮像のための数値制御プログラムを生成すれば、ワーク５１に対してより正確な位置からワーク５１を撮像できる。さらにまた、撮像データが記憶されるので、撮像しているときでも、撮像が終わった後でも、撮像後の所望の時点で、記憶されている撮像データによりワーク５１の所望の部位の切削加工の状態を示すことができる。また、撮像のコードに付されているシーケンス番号に対応付けて、撮像ユニット２１によるワーク５１の撮像で得られた撮像データが記憶されるので、シーケンス番号から、所望の位置で撮像された撮像データを簡単に読み出すことができる。従って、より簡単に、より迅速に、ワーク５１の所望の部位が撮像されて得られた撮像データを特定して読み出すことができる。
【０２４５】
ＮＣプログラム格納部１５１は、記憶部８２の記憶領域に構成され、シーケンス番号が付されている撮像のコードが含まれている数値制御するための数値制御プログラムを格納している。撮像データテーブル１５３は、記憶部８２の記憶領域に構成され、実行された数値制御プログラムの撮像のコードで指令されたワーク５１の撮像により得られた撮像データをシーケンス番号に対応付けて記憶している。
【０２４６】
表示部１０１は、ＮＣプログラム格納部１５１から読み出された数値制御プログラムに付されているシーケンス番号のオブジェクトを表示する。撮像データ読み出し部１８３は、表示部１０１に表示されているシーケンス番号のオブジェクトが指定された場合、指定されたシーケンス番号に対応付けて記憶されている撮像データを撮像データテーブル１５３から読み出す。表示部１０１は、撮像データ読み出し部１８３によって読み出された撮像データによりワーク５１の画像を表示する。
【０２４７】
このように、シーケンス番号のオブジェクトが指定されると、シーケンス番号に対応付けられている撮像データによりワーク５１の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク５１の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
【０２４８】
表示部１０１は、ＮＣプログラム格納部１５１から読み出された数値制御プログラムで表される座標上の軌跡のモデルを表示し、モデルに対応付けてシーケンス番号のオブジェクトを表示する。このようにすることで、軌跡上の位置に対するシーケンス番号を簡単に特定できる。
【０２４９】
撮像データテーブル１５３は、２次元の画像を撮像するＣＣＤカメラ２０１−１で撮像された、ワーク５１の画像のデータである撮像データを記憶している。
【０２５０】
撮像データテーブル１５３は、３Ｄスキャナ３０１で撮像された、ワーク５１の形状を示す３次元の点群からなる撮像データを記憶している。
【０２５１】
ステップＳ３０３において、表示制御部１５５は、シーケンス番号が付されている撮像のコードが含まれている数値制御するための数値制御プログラムを格納しているＮＣプログラム格納部１５１から読み出された数値制御プログラムに付されているシーケンス番号のオブジェクトを表示部１０１に表示させる。
【０２５２】
ステップＳ３０５において、撮像データ読み出し部１８３は、表示部１０１に表示されているシーケンス番号のオブジェクトが指定された場合、実行された数値制御プログラムの撮像のコードで指令されたワーク５１の撮像により得られた撮像データをシーケンス番号に対応付けて記憶している記憶部８２（撮像データテーブル１５３）から、指定されたシーケンス番号に対応付けて記憶されている撮像データを読み出す。
【０２５３】
ステップＳ３０６において、画像表示制御部１８４は、ステップＳ３０５で読み出された撮像データによりワーク５１の画像を表示部１０１に表示させる。
【０２５４】
これにより、シーケンス番号のオブジェクトが指定されると、シーケンス番号に対応付けられている撮像データによりワーク５１の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク５１の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
【０２５５】
表示部１０１は、ＮＣプログラム格納部１５１から読み出された数値制御プログラムを文字で表示する。撮像データ読み出し部１８３は、表示部１０１に文字で表示されているシーケンス番号が指定された場合、指定されたシーケンス番号に対応付けて記憶されている撮像データを撮像データテーブル１５３から読み出す。
【０２５６】
表示部１０１は、撮像データ読み出し部１８３によって読み出された撮像データによりワーク５１の画像を表示する。
【０２５７】
従って、文字で表示されているシーケンス番号が指定されると、シーケンス番号に対応付けられている撮像データによりワーク５１の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク５１の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
【０２５８】
ステップＳ３３２において、リスト表示制御部１８５は、シーケンス番号が付されている撮像のコードが含まれている数値制御するための数値制御プログラムを格納しているＮＣプログラム格納部１５１から読み出された数値制御プログラムを文字で表示部１０１に表示させる。
【０２５９】
ステップＳ３３４において、撮像データ読み出し部１８３は、表示部１０１に文字で表示されているシーケンス番号が指定された場合、実行された数値制御プログラムの撮像のコードで指令されたワーク５１の撮像により得られた撮像データをシーケンス番号に対応付けて記憶している撮像データテーブル１５３から、指定されたシーケンス番号に対応付けて記憶されている撮像データを読み出す。
【０２６０】
ステップＳ３３５において、画像表示制御部１８４は、ステップＳ３３４で読み出された撮像データによりワーク５１の画像を表示部１０１に表示させる。
【０２６１】
これにより、文字で表示されているシーケンス番号が指定されると、シーケンス番号に対応付けられている撮像データによりワーク５１の画像が表示されるので、簡単に、シーケンス番号が付されている所望のコードで撮像された撮像データの画像を表示させることができる。すなわち、簡単に所望の位置で撮像された撮像データの画像を表示させることができ、ワーク５１の所望の部位の形状を示す画像を表示させることができる。このように、より簡単に、数値制御プログラムの所定のワードで撮像された撮像データによる画像を表示させることができる。
【０２６２】
なお、マシニングセンタ１を例に説明したが、数値制御する切削加工装置であればよく、ターニングセンタなどの切削加工装置にも適用することができる。
【０２６３】
また、ＣＣＤカメラ２０１−１若しくはＣＣＤカメラ２０１−２または３Ｄスキャナ３０１を、主軸２２に設けるようにしてもよい。
【０２６４】
さらに、ＣＣＤカメラ２０１−１若しくはＣＣＤカメラ２０１−２または３Ｄスキャナ３０１により撮像されると説明したが、これに限らず、ＣＭＯＳ（Complementary metal-oxide-semiconductor field-effect transistor）イメージセンサや３Ｄ深度センサ、超音波センサなど形状を捉えるものであればよい。
【０２６５】
なお、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データは、撮像データテーブル１５３に格納されると説明したが、これに限らず、データベースに格納したり、１つのファイルとして記憶したりして、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを対応付けすることもできる。例えば、撮像データをデータベースに格納する場合、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データからなる１つの組はタプルとされ、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データのそれぞれは、属性を示す。例えば、撮像データ、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを１つのファイルとして記憶する場合、TIFF（Tagged Image File Format）やMP4（MPEG-4 Part 14）（ISO/IEC 14496-14:2003）などの画像を格納可能なコンテナフォーマットのファイルを採用し、撮像データをメディアデータとし、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データをメタデータとしてファイルに格納することができる。また、例えば、撮像データを格納するファイルのファイル名として、シーケンス番号、位置データ、撮像ユニット識別データ、撮像方式データ、撮像部識別データ、撮像部姿勢データ、および画角データを用いることができる。
【０２６６】
なお、撮像された撮像データの画像としての表示は、パーソナルコンピュータ１３１で行うようにしてもよい。
【０２６７】
さらに、マシニングセンタ１と撮像ユニット２１とは無線通信すると説明したが、通信用のケーブルを設けるか、主軸２２と撮像ユニット２１とにコネクタを設けるようにして、有線通信するようにしてもよい。
【０２６８】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２６９】
１  マシニングセンタ，  １１  加工部，  ２１，２１−１，および２１−２  撮像ユニット，  ２２  主軸，  ７１  ＮＣ制御部，  ８２  記憶部，  ８３  主制御部，  ９０  無線通信部，  １０１  表示部，  １０２  入力部，  １５１  ＮＣプログラム格納部，  １５２  ＮＣプログラム実行部，  １５３  撮像データテーブル，  １５４  撮像指令部，  １５５  表示制御部，  １６１  判定部，  １６２  取得部，  １６３  送信制御部，  １６４  受信制御部，  １６５  格納制御部，  １６６  指令記憶部，  １６７  撮像ユニットデータ記憶部，  １７１  シーケンス番号取得部，  １７２  位置データ取得部，  １７３  撮像ユニットデータ取得部，  １７４  ステータス記憶部，  １８１  ＮＣプログラム読み出し部，  １８２  モデル生成部，  １８３  撮像データ読み出し部，  １８４  画像表示制御部，  １８５  リスト表示制御部，  ２０１−１および２０１−２  ＣＣＤカメラ，  ２０３  制御部，  ２０４  記憶部，  ２０５  無線通信部，  ２３１  受信制御部，  ２３２  送信制御部，  ２３３  判定部，  ２３４  ステータス／パラメータ格納部，  ２３５  記憶制御部、  ２３６  ＣＣＤカメラ制御部，  ２３７  照明制御部，  ２５１  撮像データ記憶制御部，  ３０１  ３Ｄスキャナ，  ３０２  制御部，  ３０３  記憶部，  ３０４  無線通信部，  ３３１  受信制御部，  ３３２  送信制御部，  ３３３  判定部，  ３３４  ステータス／パラメータ格納部，  ３３５  記憶制御部，  ３３６  スキャナ制御部，  ３５１  撮像データ記憶制御部
【図１】
0006656707.tif 000002
【図２】
0006656707.tif 000003
【図３】
0006656707.tif 000004
【図４】
0006656707.tif 000005
【図５】
0006656707.tif 000006
【図６】
0006656707.tif 000007
【図７】
0006656707.tif 000008
【図８】
0006656707.tif 000009
【図９】
0006656707.tif 000010
【図１０】
0006656707.tif 000011
【図１１】
0006656707.tif 000012
【図１２】
0006656707.tif 000013
【図１３】
0006656707.tif 000014
【図１４】
0006656707.tif 000015
【図１５】
0006656707.tif 000016
【図１６】
0006656707.tif 000017
【図１７】
0006656707.tif 000018
【図１８】
0006656707.tif 000019
【図１９】
0006656707.tif 000020
【図２０】
0006656707.tif 000021
【図２１】
0006656707.tif 000022
【図２２】
0006656707.tif 000023
【図２３】
0006656707.tif 000024