以下、本発明の実施の形態について、図面を参照しつつ詳細に説明する。
図1は、本発明が適用されるNC研削盤の構成を説明するための図である。同図(a)は正面図を示し、同図(b)は平面図を示す。なお、同図(b)においては、簡単のため、一部の構成要素のみを示してある。
同図に示すように、本発明が適用されるNC研削盤100は、研削部110と、工作物保持部120と、工作物移動部130と、撮像部140と、制御部150とを備える。
研削部110は、工作物保持部120に保持された工作物10の研削加工を行うものであって、砥石111を備える。研削部110は、研削加工時に、砥石111を回転させると共に、垂直方向(Z方向)に昇降(上下動)させることができるように構成されている。
工作物保持部120は、研削部110(砥石111)によって研削加工が施される工作物10を着脱可能に保持するものである。また、工作物保持部120は、工作物10と共に、砥石111の先端形状を特定するためのテスト材料(後述)についても保持できるように構成されている。工作物保持部120は、保持した工作物10を、砥石111に対して、相対運動させるため、工作物移動部130上に載置されている。
工作物移動部130は、工作物10と砥石111とを相対的に移動させるものであって、XYテーブル131と、X軸用モータ132と、Y軸用モータ133とを備える。
XYテーブル131は、X方向及びY方向それぞれに移動可能なテーブルであって、テーブル上に載置された工作部保持部120を砥石111に対してX方向及びY方向に移動させることで、工作部保持部120に保持された工作物10を砥石111に対してX方向及びY方向に移動させるものである。XYテーブル131には、X軸方向の移動を制御するX軸用モータ132と、Y軸方向の移動を制御するY軸用モータ133とが連結されている。X軸用モータ132及びY軸用モータ133はそれぞれ、制御部150と電気的に接続されており、制御部150によって回転方向や回転量等が制御される。
撮像部140は、砥石111の上方に配置されて、砥石111の先端部(研削加工部分)付近の撮像を行うものである。撮像部140は、例えば、CCDカメラによって構成される。撮像部140は、砥石111の先端部付近の撮像を定期的に(例えば、1秒当たり20回)行い、撮像部140によって撮像された静止画像は、定期的に、制御部150に送られる。撮像部140と制御部150とは、例えば、USBインタフェースによって接続されており、撮像部140に撮像された画像データは、USBインタフェースを介して、制御部150に送られる。また、撮像部140は、倍率を切換可能に構成されており、例えば、砥石先端の現在の形状が容易に確認可能な倍率(例えば、500倍)と、より広い視野が確保可能な倍率(例えば、80倍)とのいずれかの倍率で撮像可能に構成されている。
制御部150は、NC研削盤100を制御するものであり、NC制御装置151と、NCデータ作成装置152と、表示装置153と、操作パネル154とを備える。
NC制御装置151は、NCデータ作成装置152によって作成されたNCデータ(NCプログラム)に従って、X軸用モータ132、Y軸用モータ133等を制御して、NC研削盤100における研削加工を制御するものである。NC制御装置151は、NCデータ作成装置152と、例えば、USBインタフェースによって接続されており、NCデータ作成装置152から、USBインタフェースを介して送られてきたNCデータ(NCプログラム)に従った制御を行う。
NCデータ作成装置152は、NC制御装置151によって使用されるNCデータ(NCプログラム)を作成するものである。NCデータ作成装置152は、工作物の形状データ及び現在の砥石111の形状データに基づいて、現在の砥石111の形状によって、工作物10を所望の形状に加工するために必要なNCデータを作成する。NCデータ作成装置152は、例えば、通常のコンピュータによって構成される。
表示装置153は、NCデータ作成装置152と接続され、NCデータ作成用の各種画面や、工作物や砥石の形状を示す図形や、撮像部140によって撮像された画像等の表示を行うものである。表示装置153は、例えば、CRTディスプレイや液晶ディスプレイ(LCD)によって構成される。
操作パネル154は、NC研削盤100を制御するための各種スイッチやつまみ等を備えるものである。操作パネル154は、例えば、電源投入用のスイッチや、砥石111の回転数を制御するためのつまみや、砥石111に対して工作物10を手動で移動させるためのつまみ等を備える。
次に、NCデータ作成装置152の詳細について説明する。
図2は、NCデータ作成装置152のハードウェア構成を説明するための図である。
同図に示すように、NCデータ作成装置152は、CPU201と、ROM202と、RAM203と、ハードディスクインタフェース部204と、ハードディスク装置205と、USBインタフェース部206と、入力装置207と、表示制御部208とを備える。
CPU201、ROM202、RAM203、ハードディスクインタフェース部204、USBインタフェース部206及び表示制御部208は、それぞれ、バス209に接続されている。また、ハードディスクインタフェース部204には、ハードディスク装置205が接続されている。また、USBインタフェース部206には、入力装置207が接続されると共に、撮像部140及びNC制御装置151が接続される。また、表示制御部208には、表示装置153が接続される。
CPU201は、ROM202やRAM203に格納されたプログラムを実行することで、NCデータ作成装置152が提供する各種機能を実現する中央処理装置である。
ROM202は、CPU201が利用するプログラムやデータを記憶する読み出し専用の記憶装置(メモリ)である。RAM203は、CPU101が利用するプログラムやデータを一時的に記憶する読み書き可能な記憶装置(メモリ)である。
ハードディスクインタフェース部204は、ハードディスク装置205とバス209との間のデータのやり取りを制御するものである。ハードディスク装置205は、CPU201が利用するOSその他の各種プログラムやデータを格納する補助記録装置である。
USBインタフェース部206は、USBインタフェース部206に接続された外部機器(本実施形態では、入力装置207並びに撮像部140及びNC制御装置151)とバス209との間のデータのやり取りを制御するものである。
入力装置207は、ユーザの指示等を入力するためのもので、例えば、キーボードと、マウスその他のポインティングデバイスとによって構成される。
表示制御部208は、CPU201の指示に従って、NCデータ作成用の各種画面や、撮像部140によって撮像された画像等を、表示装置153に表示させるものである。表示制御部208は、例えば、表示装置153に表示される表示データが格納されるビデオ・メモリと、ビデオ・メモリに対して図形の描画等を行う描画用LSI等によって構成される。
図3は、NCデータ作成装置152のソフトウェア構成を説明するための図である。
同図に示すように、NCデータ作成装置152は、砥石形状特定部310と、NCデータ作成部320と、表示処理部330とを備える。各部310〜330は、基本的に、CPU201が、RAM203上にロードされたプログラムを実行することによって実現される。また、NCデータ作成装置152は、必要な情報を管理するため、制御点管理テーブル340と、砥石形状要素管理テーブル350と、工作物形状要素管理テーブル360とを備える。
砥石形状特定部310は、ユーザの指示に従って、現在の砥石111の先端形状を特定するためのものである。砥石形状特定部310における現在の砥石111の先端形状の特定処理(以下、砥石形状特定処理)の詳細については後述する。
NCデータ作成部320は、工作物形状要素管理テーブル360に格納された工作物形状データ及び砥石形状要素管理テーブル350に格納された砥石形状データに基づいて、NCデータ(NCプログラム)を作成するものである。工作物形状要素管理テーブル360に格納される工作物形状データは、例えば、CADソフトウェア等を利用して別途作成されるDXF形式のファイル(DXFファイル)に基づいて予め適宜作成されるものであり、DXFファイルは、例えば、USBインタフェース部206に接続されたUSBメモリを介して、ハードディスク装置205に格納される。一方、砥石形状要素管理テーブル350に格納される砥石形状データは、ユーザの指示に従って砥石形状特定部310によって作成される。NCデータ作成部320におけるNCデータ作成処理の詳細については後述する。
表示処理部330は、表示装置153に表示される表示データの制御を行うものである。表示処理部330は、撮像部140から画像データが送られてくる度に、送られた画像データを表示装置153に表示させると共に、工作物形状データ360及び砥石形状データ350に基づいて、工作物の形状を示す図形及び砥石の形状を示す図形を表示装置153に表示させる。また、表示処理部330は、制御点管理テーブル340に格納された制御点データに基づいて、制御点を表示装置153に表示させる。
制御点管理テーブル340は、砥石111の先端形状を示す図形の形状を特定・修正するための制御点に関する情報(制御点データ)を管理するためのものであり、より具体的には、各制御点の座標値を格納するものである。制御点管理テーブル340の詳細については後述する。
砥石形状要素管理テーブル350は、砥石111の先端形状を特定する砥石形状データを格納するものである。また、工作物形状要素管理テーブル360は、工作物の加工形状を特定する工作物形状データを格納するものである。
図4は、砥石形状要素管理テーブル350の構成を説明するための図である。同図(a)は、砥石の先端形状の例を示し、同図(b)は、同図(a)に示された砥石の先端形状に対応する砥石形状要素管理テーブル350の例を示す。また、同図(c)は、砥石形状要素の種別が円弧の場合の開始角度、終了角度の測り方を示す。
NCデータ作成装置152においては、砥石111の先端形状を示す図形(砥石先端形状図形)は、円弧及び線分で構成されることになる(但し、後述するように、NCデータの作成に使用される砥石先端形状図形は、最終的には、円弧のみによって構成されている必要がある)。砥石形状要素管理テーブル350には、砥石形状データとして、砥石先端形状図形を構成する要素(円弧又は線分)それぞれについての情報が格納されることになる。また、砥石形状要素管理テーブル350には、砥石先端形状図形を構成する各要素の情報が、砥石先端形状の一方の端部(本実施形態においては、同図における左端411)から、他方の端部(本実施形態においては、同図における右端412)に向かって、砥石先端形状を構成する順番で格納されることになる。
同図(a)に示した例においては、砥石の先端形状は、その左端411から右端412にかけて並ぶ3つの要素、すなわち、円弧401、線分402及び円弧403によって構成されているので、砥石形状要素管理テーブル350には、各要素について情報が、円弧401、線分402、円弧403の順に格納されることになる。
同図(b)に示すように、砥石形状要素管理テーブル350は、「要素番号」フィールド351と、「種別」フィールド352と、「始点」フィールド353と、「終点」フィールド354と、「中心」フィールド355と、「半径」フィールド356とを備える。
「要素番号」フィールド351には、砥石の先端形状を構成する各要素を識別するための情報(番号)が格納される。同図に示した例においては、要素401の要素番号が「1」、要素402の要素番号が「2」、要素403の要素番号が「3」となっている。
「種別」フィールド352には、砥石の先端形状を構成する各要素の種別を示す情報が格納される。本実施形態においては、砥石の先端形状は、線分と円弧の組合せで表されるので、「種別」フィールド352には、各要素が「線分」であるか、「円弧」であるかを示す情報が格納される。
「始点」フィールド353には、砥石の先端形状を構成する各要素の始点の位置を示す情報が格納される。要素の種別が「線分」の場合は、線分の開始点の座標値が格納される。一方、要素の種別が「円弧」の場合は、円弧の開始角度が格納される。円弧の開始角度は、同図(c)に示すように、円弧の中心から円弧の開始点に向けて伸ばした直線と、X軸(正)方向とがなす角度をX軸から反時計回りに測ったものになる。
「終点」フィールド354には、砥石の先端形状を構成する各要素の終点の位置を示す情報が格納される。要素の種別が「線分」の場合は、線分の終了点の座標値が格納される。一方、要素の種別が「円弧」の場合は、円弧の終了角度が格納される。円弧の終了角度は、同図(c)に示すように、円弧の中心から円弧の終了点に向けて伸ばした直線と、X軸(正)方向とがなす角度をX軸から反時計回りに測ったものになる。
「中心」フィールド355及び「半径」フィールド356は共に、要素の種別が「円弧」の場合にのみ意味を持つフィールドであって、「中心」フィールド355には、該当する円弧の中心の座標値が格納され、「半径」フィールド356には、該当する円弧の半径が格納される。
図5は、工作物形状要素管理テーブル360の構成を説明するための図である。同図(a)は、工作物の形状の例を示し、同図(b)は、同図(a)に示された工作物に対応する工作物形状要素管理テーブル360の例を示す。また、同図(c)は、工作物形状要素の種別が円弧の場合の開始角度、終了角度の測り方を示す。
NCデータ作成装置152においては、工作物の加工形状(輪郭)は、一般に、円弧及び線分によって構成されることになる。砥石形状要素管理テーブル360には、工作物形状データとして、工作物の形状(輪郭)を構成する要素(円弧又は線分)それぞれについての情報が格納されることになる。また、砥石形状要素管理テーブル360には、工作物の形状を構成する各要素の情報が、工作物の形状を構成する順番で格納されることになる。
同図(a)に示した例においては、工作物の形状は、連続する7つの要素、すなわち、線分501,502、円弧503,504、線分505〜507によって構成されているので、砥石形状要素管理テーブル350には、各要素について情報が、例えば、線分501、線分502、円弧503、円弧504、線分505、線分506、線分507の順に格納されることになる。
同図(b)に示すように、工作物形状要素管理テーブル360は、「要素番号」フィールド361と、「種別」フィールド362と、「始点」フィールド363と、「終点」フィールド364と、「中心」フィールド365と、「半径」フィールド366とを備える。
「要素番号」フィールド361には、工作物の形状を構成する各要素を識別するための情報(番号)が格納される。同図に示した例においては、要素501の要素番号が「1」、要素502の要素番号が「2」、要素503の要素番号が「3」、要素504の要素番号が「4」、要素505の要素番号が「5」、要素506の要素番号が「6」、要素507の要素番号が「7」となっている。
「種別」フィールド362には、工作物の形状を構成する各要素の種別、すなわち、「線分」であるか、「円弧」であるかを示す情報が格納される。
「始点」フィールド363には、工作物の形状を構成する各要素の始点の位置を示す情報が格納される。要素の種別が「線分」の場合は、線分の開始点の座標値が格納される。一方、要素の種別が「円弧」の場合は、円弧の開始角度が格納される。円弧の開始角度は、同図(c)に示すように、円弧の中心から円弧の開始点に向けて伸ばした直線と、X軸(正)方向とがなす角度をX軸から反時計回りに測ったものになる。
「終点」フィールド364には、工作物の形状を構成する各要素の終点の位置を示す情報が格納される。要素の種別が「線分」の場合は、線分の終了点の座標値が格納される。一方、要素の種別が「円弧」の場合は、円弧の終了角度が格納される。円弧の終了角度は、同図(c)に示すように、円弧の中心から円弧の終了点に向けて伸ばした直線と、X軸(正)方向とがなす角度をX軸から反時計回りに測ったものになる。
「中心」フィールド365及び「半径」フィールド366は共に、要素の種別が「円弧」の場合にのみ、意味を持つフィールドであって、「中心」フィールド365には、該当する円弧の中心の座標値が格納され、「半径」フィールド366には、該当する円弧の半径が格納される。
次に、砥石形状特定部310における砥石形状特定処理について説明する。
砥石形状特定部310における砥石形状特定処理を実行するにあたっては、まず、テスト材料の研削加工が行われる。これは、現在の砥石111の先端形状を特定するために、現在の砥石111の先端形状をテスト材料に転写するために行うものである。砥石111の先端形状を特定するにあたって、砥石111を直接撮像しても、焦点が合った画像を得るのが困難なため、テスト材料に対して研削加工を行い、研削加工により形成されたテスト材料の研削加工跡から、砥石111の先端形状の特定を行うというものである。
図6は、テスト材料の研削加工の様子を説明するための図である。
同図(a)は、砥石111による研削加工時のテスト材料を示し、同図(b)は、研削加工後のテスト材料を示している。工作部保持部120に適宜保持されたテスト材料600に対して、同図(a)に示すように、砥石111をY軸方向に相対的に移動させ、一定の深さまで研削加工を行うと、同図(b)に示すように、テスト材料600には、その時点での砥石111の先端形状が転写されることになる。
以上のようなテスト材料600の研削加工が終了した後に、ユーザによって、NCデータ作成装置152が備える砥石形状特定機能が起動されると、砥石形状特定部310における砥石形状特定処理が開始される。
図7及び図8は、砥石形状特定処理の概略を説明するための図である。
図7(a)は、砥石形状特定機能が起動された直後に、表示装置153に表示される表示画面の例を示し、同図(b)は、ユーザによって、テスト材料に形成された研削跡と、砥石を示す図形との位置あわせが行われた状態を示している。また、図8(a)は、ユーザによって、砥石形状修正機能(後述)が起動された直後に、表示装置153に表示される表示画面の例を示し、同図(b)は、ユーザによって、テスト材料に形成された研削跡に合わせて砥石の形状が特定された状態を示している。
砥石形状特定機能が起動されると、まず、表示処理部330によって、砥石の初期形状図形(摩耗していない状態の砥石の形状を示す図形)の表示が行われる。すなわち、図7(a)に示すように、ユーザによって適宜指定された砥石パラメータ(先端円弧の半径等)に従って、砥石の初期形状を示す図形(砥石初期形状図形)711が表示装置153の表示画面の所定の位置に表示される。砥石初期形状図形711においては、砥石の先端は、砥石の基準点を中心とした半円状の一つの円弧として描画されることになる。
砥石初期形状図形711が表示装置153の表示画面の所定の位置に表示されると、ユーザは、キーボード等の入力装置207を操作して、砥石初期形状図形711を適宜移動させて、目視により、撮像部140によって撮像され、表示装置153によって表示されているテスト材料の画像700との位置あわせを行う。すなわち、同図(b)に示すように、テスト材料の研削加工跡に合うように、砥石初期形状図形711を移動させる。
砥石初期形状図形711とテスト材料の画像700との位置あわせが完了すると、同図(b)に示すように、表示装置153には、テスト材料の研削加工跡の画像701の上に、摩耗していない状態の砥石図形711が重ねて表示されるので、現在の砥石がどの程度摩耗しているかを容易に確認することができる。
確認の結果、現在の砥石形状(摩耗度)に応じたNCデータの作成が必要であると判断した場合、ユーザは、NCデータ作成装置152の砥石形状修正機能を起動する。
砥石形状修正機能が起動されると、表示処理部330によって、表示装置153の表示画面に、砥石初期形状図形と共に、砥石初期形状図形の先端の形状を制御するための点(制御点)が表示される。すなわち、図8(a)に示すように、砥石の先端を示す円弧上に、複数(本実施形態においては11個)の制御点801〜811が表示される。複数の制御点801〜811はそれぞれ、ユーザがマウス等の入力装置207を使用して、その位置を変更できるようになっている。ユーザによって制御点801〜811の位置が変更されると、NCデータ作成装置152によって変更後の制御点801〜811を滑らかにつなぐような曲線が生成され、砥石の先端を示す図形として表示されることになる。
ユーザは、表示装置153に表示されたテスト材料の画像700と、砥石形状を示す図形711とを見比べながら、制御点801〜811の位置を適宜変更し、最終的に、同図(b)に示すように、砥石形状を示す図形711の先端形状を、テスト材料の研削跡と一致させる。ユーザは、砥石形状を示す図形711の先端形状が、テスト材料の研削跡と一致したと判断したら、NCデータ作成装置152に、砥石形状特定処理の終了を適宜指示する。
次に、砥石形状特定処理の詳細について説明する。
図9は、砥石形状特定部310における砥石形状特定処理の流れを説明するためのフローチャートである。また、図10〜図12は、砥石形状特定処理の途中経過を説明するための図である。
砥石形状特定機能が起動されると、まず、砥石の初期形状図形、すなわち、摩耗していない状態の砥石の形状を示す図形の表示が行われる(S1)。次に、砥石形状修正機能が起動されると、初期制御点の設定が行われる(S2)。すなわち、初期制御点として、予め決められた数(本実施形態では、11)の制御点が、砥石の先端形状を示す半円状の円弧上に等間隔に並ぶように、各制御点の座標値が計算され、計算された座標値が、制御点データを管理する制御点管理テーブル340に格納される。
図10に示すように、制御点管理テーブル340は、「点番号」フィールド341と、「X座標」フィールド342と、「Y座標」フィールド343とを備え、各制御点のX座標値及びY座標値を管理している。
「点番号」フィールド341には、各制御点を特定するための情報(番号)が格納される。本実施形態においては、半円状の円弧の左端及び右端の端点を、それぞれ点番号0の制御点800及び点番号12の制御点812としており、この2つの制御点については、表示装置153の表示画面には表示されず、移動はできないようになっている。すなわち、ユーザが、その位置を変更できる制御点は、点番号0の制御点800と点番号12の制御点812との間に等間隔に配置された点番号1〜11の制御点801〜811ということになる。
「X座標」フィールド342には、各制御点800〜812のX座標が格納され、「Y座標」フィールド343には、各制御点800〜812のY座標が格納される。「X座標」フィールド342及び「Y座標」フィールド343の値は、点番号0及び12のものを除き、ユーザがマウス等の入力装置207を使って、各制御点801〜811の位置を移動させる度に、移動後の値に更新されることになる。
制御点の初期設定が完了すると、次に、現在の制御点を滑らかに繋げる曲線を求める処理が行われる(S3)。本実施形態においては、スプライン曲線(より具体的には、2次のB−スプライン曲線)を使って、各制御点間を滑らかに繋げる曲線を求める。すなわち、現在の制御点の座標値に基づいて、これらの制御点によって特定されるスプライン曲線を求める。
現在の制御点の位置に対応するスプライン曲線が求まったら、次に、求まったスプライン曲線に基づいて、当該スプライン曲線上の点(補間点)の座標値を、予め決められた個数分だけ求める(S4)。すなわち、該当するスプライン曲線を示す予め決められた個数の点列(補間点データ)を求める。
補間点データの算出が完了すると、次に、算出された補間点データに基づいて、スプライン曲線の近似化処理を行う(S5)。具体的には、スプライン曲線を、円弧及び線分によって近似する。
そのために、まず、該当するスプライン曲線を示す予め決められた個数の点列(補間点データ)から、最初の3つの点の座標値を取り出す。そして、1番目の点を始点、2番目の点を中間点、3番目の点を終点とし、当該3つの点が、一つの直線上に載っているか否かを判別する。
判別の結果、3つの点が一つの直線上に載っていた場合は、補間点データから次の点の座標値を取り出し、当該次の点についても同じ直線上に載っているか否かを判別する。判別の結果、同じ直線上に載っていた場合は、当該4番目の点を終点とし、更に、補間点データから次の点の座標値を取り出し、同じ直線上に載っていない点が出てくるまで同じ処理を繰り返す。そして、同じ直線上に載っていない点が出てきた場合は、当該点を次の要素の中間点とすると共に、その時点での始点及び終点をそれぞれ、始点及び終点とする線分を、砥石形状要素して、砥石形状要素管理テーブル350に格納する。
次に、その時点での終点を、次の要素の始点とすると共に、補間点データから次の点の座標値を取り出し、当該取り出した点を次の要素の終点とする。そして、始点、中間点、終点の3つの点について、上記と同様に、一つの直線上に載っているか否かを判別する処理以下の処理を行う。
一方、現在の始点、中間点、終点の3つの点が一つの直線上に載っていなかった場合は、当該3つの点を通る円が決まるので、当該円の中心及び半径が算出される。次に、補間点データから次の点の座標値を取り出し、当該次の点についても同じ円上に載っているか否かを判別する。例えば、円の中心から当該次の点までの距離を算出し、算出された距離と、円の半径との差の絶対値が予め決められた値以下であれば、当該次の点についても同じ円上に載っていると判断する。判別の結果、同じ円上に載っていた場合は、当該次の点を終点とし、更に、補間点データから次の点の座標値を取り出し、同じ円上に載っていない点が出てくるまで同じ処理を繰り返す。そして、同じ円上に載っていない点が出てきた場合は、当該点を次の要素の中間点とすると共に、その時点での始点及び終点をそれぞれ、始点及び終点とする円弧を、砥石形状要素して、砥石形状要素管理テーブル350に格納する。なお、円弧の場合は、始点及び終点については、前述したように、対応する開始角度及び終了角度に変換されたものが格納される。また、円弧の半径及び中心についても、砥石形状要素テーブル350に格納されるが、その際、円弧が外側に凸の円弧であるか、内側に凹んだ円弧であるかの判別がされ、内側に凹んだ円弧の場合は、半径として、マイナスの値を格納するようにする。このように、内側に凹んだ円弧の場合に、半径としてマイナスの値を格納するのは、後述するように、砥石形状の特定が完了した際に、砥石形状データ(砥石形状要素管理テーブル350)に、内側に凹んだ円弧が含まれているか否かの判別がされるが、その判別を容易にするためである。また、円弧の半径が予め決められた値より大きい場合は、円弧ではなく、線分として近似するものとして、この場合は、始点及び終点の座標値のみを、砥石形状要素管理テーブル350に格納するようにする。
次に、その時点での終点を、次の要素の始点とすると共に、補間点データから次の点の座標値を取り出し、当該取り出した点を次の要素の終点とする。そして、始点、中間点、終点の3つの点について、上記と同様に、一つの直線上に載っているか否かを判別する処理以下の処理を繰り返す。
以上のような処理を、すべての補間点データについて行い、すべての補間点データについて処理を終了したら、近似化処理を終了する。
以上のような近似化処理により、現在の制御点の位置によって規定されるスプライン曲線の形状が、円弧及び線分の組合せによって近似され、スプライン曲線を近似的に示す円弧及び線分についての情報が、砥石形状要素管理テーブル350に格納されることとなる。
スプライン曲線の近似化処理が終了すると、次に、近似化された砥石図形が表示装置153に表示される(S6)。すなわち、近似化処理で求められた円弧及び線分の描画を行うことによって、スプライン曲線を近似する砥石図形が表示装置153に表示される。また、現在の制御点についても、砥石図形と共に表示装置153に表示される。
図10は、最初の制御点が表示された時の状態を示す図である。同図に示すように、最初の制御点800〜812は、半円状の円弧上に等間隔に配置されるように設定されるので、当該最初の制御点800〜812によって規定されるスプライン曲線は半円状の円弧となり、当該スプライン曲線を近似する最初の砥石図形も、半円状の一つの円弧1001で構成されることになる。そのため、砥石形状要素管理テーブル350には、砥石形状データとしては、一つの円弧要素の情報が格納されることになる。
以上のようにして、初期状態の砥石図形が制御点と共に表示されると、ユーザは、同時に表示されているテスト材料の研削加工跡の画像と見比べながら、砥石図形の先端形状を、当該研削加工跡に合わせるべく、マウス等の入力装置207を操作することによって、制御点の位置を一つ一つ移動させていく。
一つの制御点の位置が変更されたことを検知すると(S7:Yes)、砥石形状特定部310は、制御点管理テーブル340を適宜更新すると共に、変更後の制御点の位置座標に基づいて、上記スプライン曲線特定処理S3、補間点算出処理S4、近似化処理S5及び砥石図形描画処理S6を行って、変更後の制御点の位置に対応する砥石図形を表示装置153に表示させる。
図11は、一つの制御点803を移動させた時の状態を示す図である。この場合、同図に示すように、制御点803が移動された結果、移動後の制御点800〜812によって規定されるスプライン曲線は、例えば、11の円弧要素によって近似されるようになる。そのため、砥石形状要素管理テーブル350には、砥石形状データとしては、11の円弧要素の情報が格納されることになる。
変更後の制御点の位置に対応する砥石図形が表示装置153に表示されると、ユーザは、その砥石図形と、テスト材料の研削加工跡の画像とを見比べて、更に、必要な制御点の移動を行う。
以上のようにして、ユーザによって制御点の移動が指示される度に(S7:Yes)、移動後の制御点に基づいて、スプライン曲線特定処理S2、補間点算出処理S3、近似化処理S4及び砥石図形描画処理S5が行われる。
ユーザは、制御点を適宜移動させることによって、砥石図形の先端形状を、テスト材料の研削加工跡に一致させるようにする。その結果、砥石図形の先端形状が、テスト材料の研削加工跡に一致するようになったら、ユーザは、砥石形状の特定が完了したことを適宜指示する。
図12は、制御点801〜811を適宜移動させて、砥石図形の先端形状をテスト材料の研削加工跡に一致させた時の状態を示す図である。この場合、同図に示すように、制御点801〜811が移動された結果、移動後の制御点800〜812によって規定されるプライン曲線は、例えば、9つの円弧要素によって近似されるようになる。そのため、砥石形状要素管理テーブル350には、砥石形状データとしては、9つの円弧要素の情報が格納されることになる。
ユーザから砥石形状の特定が完了した旨の指示を受けると(S8:Yes)、砥石形状特定部310は、砥石形状テータが正常であるか否かの判別を行う(S9)。具体的には、最終的な砥石形状要素管理テーブル350に格納されている要素がすべて外側に凸の円弧になっているか否かの判別を行う。砥石形状要素管理テーブル350に格納されている要素の中に、内側に凹んだ円弧や線分が含まれていた場合は、適切なNCデータを作成することができないので、その場合は、例えば、特定された砥石形状が適切でない旨をユーザに通知して、砥石形状の変更(制御点の位置の変更)や、ツルーイング作業の実施を促す。一方、判別の結果、最終的な砥石形状テータの構成要素がすべて外側に凸の円弧になっていた場合は、適切な砥石形状が特定されたとして、砥石形状特定処理を終了する。
次に、以上のようにして特定された現在の砥石先端形状(砥石形状データ)に基づいたNCデータ作成部320におけるNCデータ作成処理について説明する。
NCデータ作成部320は、砥石形状要素管理テーブル350に格納された砥石形状データと、工作物形状要素管理テーブル360に格納された工作物形状データとに基づいて、NCデータを作成する。
図13は、NCデータ作成部320におけるNCデータ作成処理の流れを説明するためのフローチャートである。
同図に示すように、まず、ユーザによって、加工箇所の指定が行われる(S21)。例えば、ユーザは、表示処理部133によって表示装置153に表示された工作物の形状を示す図形を参照しながら、マウス等の入力装置207を使って、まず、研削加工を開始する加工開始要素を選択し、続いて、研削加工を終了する加工終了要素を選択することで、加工箇所を指定する。例えば、図5における要素番号2の要素502が加工開始要素として選択され、要素番号5の要素505が加工終了要素として選択された場合は、要素番号2〜5の要素502〜505が、加工箇所(加工対象要素)として指定されることになる。
加工箇所(加工対象要素)の指定が完了すると、次に、指定された加工対象要素の中から、処理対象要素が加工処理の順番に従って選択される(S22)。例えば、図5に示した要素番号2の要素502が、最初の処理対象要素として選択される。
次に、選択された処理対象要素の種別が判別される(S23)。すなわち、処理対象要素の種別が線分であるか否かが判別され、処理対象要素の種別が線分であった場合は(S3:Yes)、線分要素を加工する際の工具(砥石)経路を求める線分要素処理が実行される(S24)。線分要素処理S24の詳細については後述する。
一方、処理対象要素の種別が線分でなかった場合(S23:No)、すなわち、処理対象要素の種別が円弧であった場合は、円弧要素を加工する際の工具(砥石)経路を求める円弧要素処理が実行される(S25)。円弧要素処理S25の詳細については後述する。
処理対象要素の種別に応じた処理が終了すると、現在の処理対象要素が加工終了要素であるか否かが判別される(S26)。判別の結果、現在の処理対象要素が加工終了要素でなかった場合は(S26:No)、次の処理対象要素を選択して(S22)、再度、上記処理S23〜S25を繰り返す。
一方、現在の処理対象要素が加工終了要素であった場合は(S26:Yes)、指定された加工箇所を構成する各形状要素毎に作成された工具経路を、適宜連結して、指定された加工箇所を加工するために必要な工具経路が作成され(S27)、更に、作成された工具経路上を、砥石(工具基準点)を移動させるためのNCデータ(NCプログラム)が生成されて(S28)、処理を終了する。
次に、上記線分要素処理S24の詳細について説明する。
図14は、線分要素処理S24の詳細を説明するための図である。同図(a)及び(b)はそれぞれ、線分要素1410の傾きが異なる場合の例を示している。また、同図(c)は、同図(a)及び(b)に示した線分要素1410の加工に使用される砥石形状要素の例を示している。
線分要素処理S24においては、まず、処理対象要素となる線分要素1410の加工に使用する砥石形状要素(以下、加工用円弧という)の選択を行う。加工用円弧としては、処理対象要素となる線分要素1410と一点で接触可能な円弧が選択される。
そのために、まず、処理対象要素となる線分要素1410の法線(線分要素と直交する直線)1411の傾きを算出する。法線1411の傾きとしては、同図(a)及び(b)にしめすように、法線1411とX軸(正)方向とのなす角度をX軸から反時計回りに測ったものを算出する。
法線1411の傾きの算出が完了すると、次に、算出された傾きと、砥石形状要素管理テーブル350に格納された各砥石形状要素の法線角度範囲とを比較する。各砥石形状要素の法線角度範囲とは、具体的には、各砥石形状要素(円弧要素)の開始角度から終了角度までの角度範囲をいう。例えば、同図(c)に示した砥石形状要素の法線角度範囲は、140°〜95°となる。比較の結果、処理対象要素となる線分要素1410の法線1411の傾きを、その法線角度範囲に含む砥石形状要素が存在すれば、当該砥石形状要素が、加工用円弧として選択される。一方、処理対象要素となる線分要素1410の法線1411の傾きを、その法線角度範囲に含む砥石形状要素が存在しない場合は、線分要素1410の法線1411の傾きに一番近い角度を、その法線角度範囲に含む砥石形状要素が、加工用円弧として選択される。
同図(a)に示した例では、線分要素1410の法線1411の傾きが120°であるので、例えば、砥石形状要素管理テーブル350に格納された要素の中に、同図(c)に示す砥石形状要素1420が存在すれば、当該砥石形状要素1420が加工用円弧として選択されることになる。
一方、同図(b)に示した例では、線分要素1410の法線1411の傾きが90°であり、例えば、砥石形状要素管理テーブル350に格納された要素の中に、法線角度範囲に90°を含むものが存在せず、90°に一番近い角度を、その法線角度範囲に含む円弧として、砥石形状要素1420が存在すれば、当該砥石形状要素1420が加工用円弧として選択されることになる。
加工用円弧が選択されると、当該加工用円弧1420と、線分要素1410の開始点1412とが接する時の工具基準点1430の位置座標が算出され、線分要素1410の加工開始時の工具位置(工具経路始点)とされる。同様に、当該加工用円弧1420と、線分要素1410の終了点1413とが接する時の工具基準点1430の位置座標が算出され、線分要素1410の加工終了時の工具位置(工具経路終点)とされる。
なお、加工用円弧1420の法線角度範囲が、線分要素1410の法線1411の傾きを含まない場合は、同図(b)に示すように、線分要素1410の法線1411の傾きに近い方の法線角度を有する端点1421が、線分要素1410と接することになる。
以上のようにして、工具経路始点及び工具経路終点の座標が算出されると、加工対象となる線分要素を加工する際の工具経路が求まったことになる。すなわち、工具経路始点から工具経路終点まで砥石(工具基準点)を直線移動させる経路が、加工対象となる線分要素を加工する際の工具経路となる。
次に、上記円弧要素処理S25の詳細について説明する。
図15及び図16は、円弧要素処理S25の詳細を説明するための図である。図15(a)は、処理対象となる円弧要素1510が、工具(砥石)側から見て凹状の形状を有する場合の例を示し、同図(b)は、同図(a)に示した円弧要素1510の加工に使用される砥石形状要素の例を示している。図16(a)は、処理対象となる円弧要素1610が、工具(砥石)側から見て凸状の形状を有する場合の例を示し、同図(b)は、同図(a)に示した円弧要素1610の加工に使用される砥石形状要素の例を示している。
円弧要素処理S25においても、線分要素処理S24の場合と同様に、まず、処理対象要素となる円弧要素の加工に使用する砥石形状要素(以下、加工用円弧という)の選択を行う。加工用円弧としては、処理対象要素となる円弧要素と一点で接触可能な円弧が選択される。
そのために、まず、処理対象要素となる円弧要素の法線角度範囲と、各砥石形状要素の法線角度範囲とが比較される。処理対象要素となる円弧要素の法線角度範囲とは、具体的には、処理対象要素となる円弧要素が、図15(a)に示すように、工具側から見て凹状の形状を有する場合は、円弧要素の開始角度から終了角度までの角度範囲をいう。例えば、同図(a)に示した円弧要素1510の法線角度範囲は、180°〜90°となる。一方、処理対象となる円弧要素が、図16(a)に示すように、工具側から見て凸状の形状を有する場合は、開始角度及び終了角度それぞれから180°を引いた角度範囲、すなわち、(開始角度−180°)から(終了角度−180°)までの角度範囲をいう。例えば、同図(a)に示した円弧要素1610の法線角度範囲は、90(=270−180)°〜180(=360−180)となる。同図(a)に示すように、処理対象となる円弧要素1610が、工具側から見て凸状の形状を有する場合は、処理対象となる円弧要素1610の中心と、加工用円弧1621,1622の中心とが、加工点(両円弧の接触点)を挟んで反対側に位置することになることから、法線の傾きを直接比較可能にするため、ここでは、180°を引くようにしている。
そして、処理対象要素となる円弧要素の法線角度範囲と(少なくとも一部において)重なる法線角度範囲を有する砥石形状要素が、加工用円弧として選択される。該当する円弧が複数存在する場合は、複数の砥石形状要素が加工用円弧として選択される。この場合、処理対象要素となる円弧要素は、複数の加工範囲に分割されることになる。一方、処理対象要素となる円弧要素の法線角度範囲と重なる法線角度範囲を有する砥石形状要素が存在しない場合は、円弧要素の法線角度範囲に含まれる角度に近い角度を、その法線角度範囲に含む砥石形状要素が、加工用円弧として選択される。
図15(a)に示した例では、処理対象要素となる円弧要素1510の法線角度範囲は180°〜90°であり、例えば、砥石形状要素管理テーブル350に格納された要素の中に、180°〜90°の法線角度範囲と重なる法線角度範囲を有する要素として、同図(b)に示す175°〜150°の法線角度範囲を有する砥石形状要素1521と120°〜90°の法線角度範囲を有する砥石形状要素1522とが存在したとすれば、当該2つの砥石形状要素1521,1522が加工用円弧として選択されることになる。そして、この場合、処理対象要素となる円弧要素1510は、同図(a)に示すように、4つの加工範囲1531〜1534に分割されることになる。すなわち、第一の加工用円弧1521と法線角度範囲が重なる加工範囲1532と、第二の加工用円弧1522と法線角度範囲が重なる加工範囲1534と、いずれの加工用円弧1521,1522とも法線角度範囲が重ならない加工範囲1531,1533とに分割される。
一方、図16(a)に示した例では、処理対象要素となる円弧要素1610の法線角度範囲は90(=270−180)°〜180(=360−180)°であり、例えば、砥石形状要素管理テーブル350に格納された要素の中に、90°〜180°の法線角度範囲と重なる法線角度範囲を有する要素として、同図(b)に示す120°〜90°の法線角度範囲を有する砥石形状要素1621と、175°〜150°の法線角度範囲を有する砥石形状要素1622とが存在したとすれば、当該2つの砥石形状要素1621,1622が加工用円弧として選択されることになる。そして、この場合も、処理対象要素となる円弧要素1610は、同図(a)に示すように、4つの加工範囲1631〜1634に分割されることになる。すなわち、第一の加工用円弧1621と法線角度範囲が重なる加工範囲1631と、第二の加工用円弧1622と法線角度範囲が重なる加工範囲1633と、いずれの加工用円弧1621,1622とも法線角度範囲が重ならない加工範囲1632,1634とに分割される。
加工用円弧が選択されると、各加工用円弧(加工範囲)毎に、各加工用円弧によって円弧要素が加工される際の工具経路が求められる。まず、各加工用円弧は、その法線角度範囲と、加工対象となる円弧要素の法線角度範囲とが重なる加工範囲について、加工対象となる円弧要素の加工を行うことになる。例えば、図15に示した例では、加工用円弧1521は、加工範囲1532の加工を行い、加工用円弧1522は、加工範囲1534の加工を行うことになる。また、加工用円弧の法線角度範囲と、加工対象となる円弧要素の法線角度範囲とが重ならない加工範囲については、各加工範囲の法線角度範囲に近い方の法線角度を有する加工用円弧の端点で加工が行われることになる。例えば、図15に示した例では、加工範囲1531は、加工用円弧1521の左側の端点1523で加工され、加工範囲1533は、加工用円弧1521の右側の端点1524(加工用円弧1522の左側の端点1525)で加工されることになる。
各加工用円弧の経路は、各加工範囲毎に、以下のようにして求められる。
まず、処理対象となる円弧要素が、図15(a)に示すように、工具側から見て凹状の形状を有する場合について説明する。
この場合、処理対象となる円弧要素1510と、各加工用円弧1521,1522とで法線角度範囲が重なる加工範囲1532,1533については、各加工用円弧1521,1522と、該当する加工範囲の開始点1536,1538とが接する時の工具基準点1540の位置座標が算出され、各加工用円弧1521,1522による加工開始時の工具位置(工具経路始点)とされる。同様に、当該加工用円弧1521,1522と、該当する加工範囲の終了点1537,1539とが接する時の工具基準点1540の位置座標が算出され、各加工用円弧1521,1522による加工終了時の工具位置(工具経路終点)とされる。
そして、各加工用円弧1521,1522の経路は、各加工範囲1532,1534においては、一つの円弧となるので、各加工範囲1532,1534毎に、工具経路となる円弧の半径及び中心が、次の式で求められる。
半径=処理対象となる円弧要素の半径−加工用円弧の半径
中心=処理対象となる円弧要素の中心+(工具基準点−加工用円弧の中心)
一方、処理対象となる円弧要素と、各加工用円弧とで法線角度範囲が重ならない加工範囲1531,1533については、加工用円弧の端点(加工用端点)1523,1524(1525)と、該当する加工範囲の開始点1535,1537とが接する時の工具基準点1540の位置座標が算出され、各加工用端点1523,1524(1525)による加工開始時の工具位置(工具経路始点)とされる。同様に、当該加工用端点1523,1524(1525)と、該当する加工範囲の終了点1536,1538とが接する時の工具基準点1540の位置座標が算出され、各加工用端点1523,1524(1525)による加工終了時の工具位置(工具経路終点)とされる。
更に、この場合、加工用端点を、処理対象となる円弧要素に沿って移動させることになるので、工具経路となる円弧の半径及び中心は、次の式で求められる。
半径=処理対象となる円弧要素の半径
中心=処理対象となる円弧要素の中心+(加工用端点−工具基準点)
次に、処理対象となる円弧要素が、図16(a)に示すように、工具側から見て凸状の形状を有する場合について説明する。
この場合も、処理対象となる円弧要素1610と、各加工用円弧1621,1622とで法線角度範囲が重なる加工範囲1631,1633については、各加工用円弧1621,1622と、該当する加工範囲の開始点1635,1637とが接する時の工具基準点1640の位置座標が算出され、各加工用円弧1621,1622による加工開始時の工具位置(工具経路始点)とされる。同様に、当該加工用円弧1621,1622と、該当する加工範囲の終了点1636,1638とが接する時の工具基準点1640の位置座標が算出され、各加工用円弧1621,1622による加工終了時の工具位置(工具経路終点)とされる。
そして、各加工用円弧1621,1622の経路は、各加工範囲1631,1633においては、一つの円弧となるので、各加工範囲1631,1633毎に、工具経路となる円弧の半径及び中心が、次の式で求められる。
半径=処理対象となる円弧要素の半径+加工用円弧の半径
中心=処理対象となる円弧要素の中心+(工具基準点−加工用円弧の中心)
となる。
一方、処理対象となる円弧要素1610と、各加工用円弧1621,1622とで法線角度範囲が重ならない加工範囲1632,1634については、加工用円弧の端点(加工用端点)1623(1624),1625と、該当する加工範囲の開始点1636,1638とが接する時の工具基準点1640の位置座標が算出され、各加工用端点1623(1624),1625による加工開始時の工具位置(工具経路始点)とされる。同様に、当該加工用端点1623(1624),1625と、該当する加工範囲の終了点1637,1639とが接する時の工具基準点1640の位置座標が算出され、各加工用端点1623(1624),1625による加工終了時の工具位置(工具経路終点)とされる。
更に、この場合、加工用端点を、処理対象となる円弧要素に沿って移動させることになるので、工具経路となる円弧の半径及び中心は、次の式で求められる。
半径=処理対象となる円弧要素の半径
中心=処理対象となる円弧要素の中心+(加工用端点−工具基準点)
となる。
以上のようにして、各加工範囲毎に、工具経路が求まると、求められた工具経路は、加工の順番に従って適宜連結されて、処理対象となる円弧要素に対する工具経路が求まることになる。
以上、詳細に説明したように、上述したNCデータ作成装置152によれば、現在の砥石111の先端形状を適切に特定することができ、特定された砥石111の先端形状に応じたNCデータを作成することができるので、砥石111の先端形状が摩耗した状態であっても、削り残しのない研削加工が可能となる。
なお、上述したNC研削盤100においては、撮像部140と砥石111とのXY方向の位置関係は変化しないので、撮像部140によって撮像された画像における砥石111の位置についても変化しない。従って、図7(b)に示したように、ユーザによって、テスト材料700に形成された研削跡(すなわち、砥石111)と、砥石図形711との位置あわせが一旦行われてしまえば、その後は、表示装置153の表示画面において、砥石111が存在する位置と(XY平面における)同じ位置に砥石図形を表示させることが常に可能となる。その結果、砥石形状特定処理時のみならず、特定された砥石先端形状に基づいて作成されたNCデータ(NCプログラム)に従った実際の研削加工時においても、表示装置153に、撮像部140によって撮像された工作物の画像と共に、砥石111の存在する位置に砥石図形を表示させることが可能となる。砥石111は、実際の研削加工時にはZ方向に上下動するため、撮像部140によって撮像された画像で先端形状を判別することは困難であるが、砥石図形を併せて表示するようにすれば、砥石111の先端形状の判別が容易となり、実際の研削加工時における加工状態(工作物と砥石との位置関係等)が表示装置153に表示された表示画面で容易に確認することができるようになる。