(57)【要約】【課題】  バリ取り動作の無駄を少なくし、かつ削りすぎをも防止できる仕上げ加工装置を提供する。【解決手段】  被加工ワークのバリ取り表面に対して、力制御を用いて加工ツールを押し付けて、該表面を倣い、表面形状の位置データを求める(S1)。又、ロボットの撓みによる誤差をこの位置データに対して補正する(S2)。得られた位置データとＣＡＤから得られたバリ取り表面形状の目標形状とを比較する(S6,S10)。表面形状の法線方向のずれを求める(S7,S11)。ずれの開始位置(S8)と終了位置及びそのずれの大きさによって、バリの発生開始位置と終了位置、その高さを求める(S14)。バリの終了位置と開始位置を結ぶパスとバリを除去する切削パスからなる加工プログラムを作成し、実行する(S16,S17)。バリ位置を求めそのバリ位置まで移動してそのバリを除去するので、効率よくバリ取りができる。【選択図】          図２
2006058961.tif 000002
【特許請求の範囲】
【請求項１】
加工ツールを取り付けたロボットにより、該ロボットの外部に配置された被加工ワークに対し、該被加工ワークの形状が目標形状に近づくように仕上げ加工を行う仕上げ加工装置において、
前記加工ツールと被加工ワーク間に作用する力を測定する手段と、
該力測定手段を使用して、前記加工ツールを被加工ワークに一定力で押し付けながら該被加工ワークの表面を倣う倣い制御手段と、
前記倣い実行中の前記加工ツールの位置・姿勢から該加工ツールと被加工ワークとの接触位置を計算し、その計算結果を記録することにより前記被加工ワークの表面形状を取得する手段と、
該取得した表面形状と前記目標形状との比較を行う比較手段と、
比較結果に基づいて前記被加工ワークが前記目標形状に近づくように加工ツールの位置を制御しながら加工を行う加工手段と、
を備えたことを特徴とする仕上げ加工装置。
【請求項２】
ロボットが把持した被加工ワークを、該ロボットの外部に設置された加工ツールに押し付けて移動させて、該被加工ワークの形状が目標形状に近づくように仕上げ加工を行う仕上げ加工装置において、
前記加工ツールと被加工ワーク間に作用する力を測定する力測定手段と、
該力測定手段を使用して、被加工ワークの表面を前記加工ツールに一定力で押し付けながら該被加工ワークの表面を前記加工ツールに対して倣わせる倣い制御手段と、
前記倣い実行中の前記加工ツールの位置・姿勢から該加工ツールと被加工ワークとの接触位置を計算し、その計算結果を記録することにより前記被加工ワークの表面形状を取得する手段と、
該取得した表面形状と前記目標形状との比較を行う比較手段と、
比較結果に基づいて前記被加工ワークが前記目標形状に近づくように加工を行う加工手段と、
を備えたことを特徴とする仕上げ加工装置。
【請求項３】
前記加工手段は、前記比較手段での比較結果に基づいて、倣い経路にしたがって、初期表面形状と目標形状の差異があるバリの発生位置と終了位置及び表面からの高さを求め、
バリの終了位置から次のバリの開始位置まで移動し、バリの高さと設定切削深さに基づいてバリを除去するバリの開始位置から終了位置までの切削移動パターンを求め、バリを除去する加工プログラムを作成し実行する請求項１または請求項２に記載の仕上げ加工装置。
【請求項４】
前記力測定手段が前記ロボットに取り付けられた力センサであり、前記倣い制御実行中に、該力センサを用いて力制御を行うことで、加工ワークと被加工ワークが確実に接触しながら動作することを特徴とする請求項１乃至３の内いずれか１項に記載の仕上げ加工装置。
【請求項５】
前記倣い制御中に、前記力センサにより押付方向の力を検出し、該検出した押付方向の力により推定した前記ロボットの撓み量に基づいて、加工ツールと被加工ワークとの前記接触位置を補正して記録することを特徴とする請求項４に記載の仕上げ加工装置。
【請求項６】
前記加工ツールを予め位置のわかっている物体に押し付けてその接触位置を記録し、ある期間加工ツールを使用後に同じ物体に押し付けてその接触位置を記録し、初めて使用したときの接触位置と比較することで加工ツールの磨耗量を求め、該求めた磨耗量に基づいて加工ツールの長さを補正し、加工ツールと被加工ワークとの前記接触位置を求めることを特徴とする請求項１乃至５の内いずれか１項に記載の仕上げ加工装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットにより機械部品等の被加工ワーク面上のバリを取り除く仕上げ加工装置に関する。
【背景技術】
【０００２】
機械製品などの被加工ワーク上のバリを除去する方法として、ロボットを用いて自動的にバリを除去する方法が公知である。被加工ワークを所定位置に固定しておき、ロボットにバリ取り用の加工ツールを取り付けたり、バネや空気圧によるメカ的なフローティング機構で圧力制御したり、ソフトによる圧力制御を用いて、該加工ツールを所定圧力で被加工ワークのバリ取り面に押圧しながらバリ取り面を移動させてバリを除去する方法が用いられている。また、バリ取り用加工ツールを所定位置に固定しておき、被加工ワークをロボットで把持して、被加工ワークをバリ取り用加工ツールに所定圧力で押圧しながら被加工ワークを移動させて、被加工ワークからバリを除去する方法も採用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
被加工ワークに発生しているバリの大きさは、決まったものではなく、大きいものも小さいものも種々であり、被加工ワーク個体毎にそのバリの発生位置、大きさは異なる。バリの大きさが大きく、バリ取り動作の１回の切除では、取りきれない場合があり、このときは、バリ取りの深さ（切り込み量）を変えて複数回の切削動作をさせねばならない。そのため、従来は、大きなバリがあることを前提として、バリ取り動作を複数回行うようにしていることから、小さなバリしかない被加工ワークに対しても、複数回のバリ取り動作を実行することになり、無駄な動作をすることになる。
【０００４】
又、バリ取り動作では、被加工ワークに対してツールを所定圧力で押圧しながら切削することから、削る必要がない部分に対しても切削動作でツールが被加工ワークを押し付けることになることから、削りすぎが発生する場合がある。  
そこで、本発明の目的は、バリ取り動作の無駄を少なくし、かつ削りすぎをも防止できる仕上げ加工装置を提供することにある。
【課題を解決するための手段】
【０００５】
本願請求項１に係わる発明は、加工ツールを取り付けたロボットにより、該ロボットの外部に配置された被加工ワークに対し、該被加工ワークの形状が目標形状に近づくように仕上げ加工を行う仕上げ加工装置において、前記加工ツールと被加工ワーク間に作用する力を測定する手段と、該力測定手段を使用して、前記加工ツールを被加工ワークに一定力で押し付けながら該被加工ワークの表面を倣う倣い制御手段と、前記倣い実行中の前記加工ツールの位置・姿勢から該加工ツールと被加工ワークとの接触位置を計算し、その計算結果を記録することにより前記被加工ワークの表面形状を取得する手段と、該取得した表面形状と前記目標形状との比較を行う比較手段と、比較結果に基づいて前記被加工ワークが前記目標形状に近づくように加工ツールの位置を制御しながら加工を行う加工手段と、
を備えたことを特徴とする仕上げ加工装置である。
【０００６】
請求項２に係わる発明は、請求項１に係わる発明とは逆に、ロボットに被加工ワークを把持させ、該ロボットの外部に設置された加工ツールに押し付けて移動させて、該被加工ワークの形状が目標形状に近づくように仕上げ加工を行う仕上げ加工装置に係るものであり、他は請求項１に係わる発明と同一である。  
請求項３に係わる発明は、前記加工手段が、前記比較手段での比較結果に基づいて、倣い経路にしたがって、初期表面形状と目標形状の差異があるバリの発生位置と終了位置及び表面からの高さを求め、バリの終了位置から次のバリの開始位置まで移動し、バリの高さと設定切削深さに基づいてバリを除去するバリの開始位置から終了位置までの切削移動パターンを求め、バリを除去する加工プログラムを作成し実行するものとした。
【０００７】
また、請求項４に係わる発明は、前記力測定手段を前記ロボットに取り付けられた力センサで構成し、前記倣い制御実行中に、該力センサを用いて力制御を行うことで、加工ワークと被加工ワークが確実に接触しながら動作するようにした。請求項５に係わる発明は、前記倣い制御中に、前記力センサにより押付方向の力を検出し、該検出した押付方向の力により推定した前記ロボットの撓み量に基づいて、加工ツールと被加工ワークとの前記接触位置を補正して記録するものとした。さらに、請求項６に係る発明は、前記加工ツールを予め位置のわかっている物体に押し付けてその接触位置を記録し、ある期間加工ツールを使用後に同じ物体に押し付けてその接触位置を記録し、初めて使用したときの接触位置と比較することで加工ツールの磨耗量を求め、該求めた磨耗量に基づいて加工ツールの長さを補正し、加工ツールと被加工ワークとの前記接触位置を求めるようにしたものである。
【発明の効果】
【０００８】
バリ位置を求めてそのバリ位置を除去するように加工されるから、効率よく仕上げ加工ができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態を図面と共に説明する。  
図１は、本発明の一実施形態の概要図である。この実施形態では、機械部品等の被加工ワーク５が作業台の所定位置に固定され、ロボット本体１のアーム先端には、力センサ３を介して加工ツール４が取り付けられている。この加工ツール４によって被加工ワーク５上のバリ６を除去するものである。なお、図１において、符号２は、ロボットの制御装置であり、ロボット本体１はこの制御装置２によって制御され運転されるものである。又、加工ツール４は、切削刃が回転するものであり、この加工ツール４の駆動制御もこの制御装置２によって行われる。
【００１０】
なお、力センサ３は、加工中や後述する被加工ワーク５の表面形状を倣うときのツールの押し付け力を測定するためのものであるが、この力センサ３の代わりに、ロボット各軸のモータの電流値から押し付け力を推定するようにしてもよいものである。又、加工ツール４を所定位置に固定し、被加工ワーク５をロボット本体１で把持して、被加工ワーク５を加工ツール４に所定圧力で押圧しながら、移動させるようにしてもよい。
【００１１】
被加工ワーク５のバリ６を除去する仕上げ加工を行う際には、被加工ワーク５を作業台の所定位置に取り付け、加工ツール４をロボットアーム先端に取り付けて、図２に示す仕上げ加工処理を制御装置２に実行させて仕上げ加工を開始させる。なお、被加工ワーク５の目標形状（仕上げ加工して得られる最終形状）は、ＣＡＤデータより予め求められロボットの制御装置２に記憶させておく。また、被加工ワーク５のバリ取り表面に対する倣いの移動経路（移動パス）も目標形状のＣＡＤデータより予め作成して教示しておく。
【００１２】
まず、被加工ワーク５の位置を測定する（ステップＳ１）。この被加工ワーク５の位置測定は、所定位置に配置された視覚センサのカメラで撮像し、若しくはロボット本体１に視覚センサのカメラを取り付けて、該カメラを所定位置に位置決めし、このカメラで被加工ワーク５を撮像して、該撮像した画像より被加工ワーク５の位置と基準となる被加工ワーク５の位置とのずれを求めることによって、被加工物の位置姿勢を求める。なお、被加工物を作業台に固定するとき、正確な位置姿勢で取り付けることができる場合には、このステップＳ１の処理は必要がない。
【００１３】
次に、加工ツール４の回転を停止させた非切削状態で、被加工ワーク５のバリ取り表面を、力制御を用いて所定の力で押し付けながら倣い、位置データを得る（ステップＳ２）。教示されている倣いの移動経路（移動パス）をステップＳ１で求めた、被加工ワーク５の位置と基準となる被加工ワーク５の位置とのずれを補正して、補正された倣いの移動経路によりバリ取り表面を倣うようにする。なお、倣いの移動経路を目標形状のＣＡＤデータと共に設定記憶していない場合には、被加工ワーク５のバリ取り表面に対して、倣いの移動経路を形成する教示点を教示することによってこの倣いの移動経路を設定して、倣い動作を行わせるようにしてもよい。
【００１４】
この倣い動作は、加工ツール４の回転を停止した状態で、従来のバリ取り動作と同じように、力制御を用いて、被加工ワーク５に対して一定の力を加工ツール４が与えながら、教示された移動経路を移動して、被加工ワーク５のバリ取り面を倣うものである。一定の力で被加工ワーク５のバリ取り面を押圧しながら加工ツール４は移動し、かつ、切削は行わないものであるから、バリ６があると、加工ツール４の先端点（以下ＴＣＰという）の押圧方向（バリ取り面の法線方向）の位置が変化することになる。以下の説明では、被加工ワーク５のバリ取り面がＸＹ平面とする。該平面にバリ６がなければ、該ＸＹ平面の法線方向であるＺ軸方向の値は一定値で変化はない。しかし、バリ６があると、Ｚ軸座標値は変化することになる。これによって、バリ６の存在する位置を検出することができる。
【００１５】
すなわち、ロボット本体１を駆動して教示された倣いの移動経路を移動させながら、所定周期毎にＴＣＰの位置をロボット本体の各関節でのモータ回転角を求め、ロボット本体の各リンク長、加工ツール４の長さ等により順変換を行って、ＴＣＰの直交座標系（Ｘ，Ｙ，Ｚ軸）上の位置を検出し、被加工ワーク５のバリ取り表面の位置データを得る。なお、加工ツール４は長期間使用すると、ワークと接触する部分が次第に摩耗して、算出するＴＣＰの位置がこの磨耗によって変わって、取得する表面形状と真の形状とに誤差が生じる。そのため、予め、加工ツール４の最初の使用開始時に、位置が分かっている所定部材に加工ツールを押し付けて、その接触位置を基準値として記憶しておき、加工ツール４をある期間使用した後、同じ所定部材に加工ツール４を同じ力で押し付けてその接触位置を求め、該接触位置と記憶した基準位置より加工ツール４の磨耗量を求めて、各ロボット関節のモータ角度等から直交座標系のＴＣＰ位置（ｘ，ｙ，ｚ）を求める順変換で使用する加工ツール４の長さを補正するようにする。
【００１６】
また、加工ツール４を一定の力で被加工ワーク５に押し付けていることから、ロボットは撓むことになり、検出したＴＣＰの位置データはこの撓み分を含んでいる。この撓みによる位置ずれ量を求める。
【００１７】
並進方向の撓みずれ量δ（＝Ｋｘ・Ｆｘ，Ｋｙ・Ｆｙ，Ｋｚ・Ｆｙ）をロボットのバネ定数Ｋ（Ｘ，Ｙ，Ｚ軸方向のロボットのバネ定数をＫｘ，Ｋｙ，Ｋｚとする）と力センサ３で検出される押し付け力Ｆ（Ｘ，Ｙ，Ｚ軸方向の押し付け力をＦｘ，Ｆｙ，Ｆｚとする）から求める。この撓みずれ量δによりステップＳ２で求めた表面形状の位置データを補正し、補正した位置データをバリ取り表面形状の位置データとして記憶する（ステップＳ３）。
【００１８】
こうして得られたバリ取り表面形状の位置データと、予め設定記憶されている目標形状の表面形状に対応するＣＡＤデータの目標形状と比較し、バリ取り平面形状の平面の法線方向（Ｚ軸方向）において、表面形状の位置データと目標形状の位置データとに位置ずれがある位置、すなわちバリ位置を検出する処理を開始する。まず、指標ｉを「０」にセットし（ステップＳ４）、倣い開始点から倣い方向にステップＳ３で求めた表面形状データを読み出し、データがあるか判断する（ステップＳ５）、最初はデータがあることから、この位置データのバリ取り平面（倣い平面）のＸＹ平面位置のｚ座標値と該ＸＹ平面位置に対応する目標形状の位置データのｚ軸座標値を比較し（ステップＳ６）、差異があり位置ずれがあるか判断する（ステップＳ７）。位置ずれがなければ、ステップＳ５に戻り次の表面形状データを読み出し、同様に表面形状データと目標形状データを比較し、ｚ軸座標値にずれがあるか、すなわち、バリ６があるかを判断する。
【００１９】
そして、ステップＳ７でＺ軸座標値にずれがあり、バリ６があると判断されたときには、そのときのバリ取り表面の位置（ｘ，ｙ）をバリ取り開始位置として指標ｉに対応させて記憶する（ステップＳ８）。又、このときのｚ軸座標値をレジスタＲ（ｚ）に記憶する（ステップＳ９）。次に、次の表面形状データを読み、同様に目標形状データのバリ取り表面の形状データと比較し（ステップＳ１０）、ｚ軸座標値が相違してずれている場合には（ステップＳ１１）、読み出した表面形状データのｚ軸座標値とレジスタＲ（ｚ）に記憶する値を比較し読み出した表面形状データのｚ座標値の方が大きいときは（ステップＳ１２）、このｚ軸座標値をレジスタＲ（ｚ）に格納し（ステップＳ１３）、ステップＳ１０に戻る。又、レジスタＲ（ｚ）に記憶する値の方が大きければ、レジスタＲ（ｚ）の書き替えは行わずステップＳ１０に戻る。なお、Ｚ軸のプラス方向は、バリ取り面から上方向をプラス方向としている。
【００２０】
以下、位置ずれが続くまで、ステップＳ１０〜ステップＳ１３の処理を繰り返し実行し、レジスタＲ（ｚ）にｚ軸座標値が一番大きい値を記憶する。すなわち、レジスタＲ（ｚ）には、バリ６の一番高い位置を記憶することになる。ステップＳ１１で、ずれがないことが検出されると、指標ｉに対応してこのときのバリ取り平面の位置（ｘ．ｙ）をバリ取り終了位置として記憶すると共に、レジスタＲ（ｚ）に記憶するｚ軸座標値も記憶する。又、このｚ軸座標値より、バリ６の高さを求めこのバリ６を切除するための切削回数を算出し記憶する。
【００２１】
図３は、このバリ６を切除するための切削回数の求め方と切除方法の説明図である。  
バリ６の高さはレジスタＲ（ｚ）に記憶するｚ軸座標値と目標形状のｚ軸座標値との差Δｚによって求められ、このバリ６の高さΔｚを設定されているツールの切削可能深さｄで除して、小数点以下を切り上げた整数値を切削回数とする（Δｚ／ｄの小数点以下の切り上げ値）。図２では、２回の切削動作によってバリ６を除去する場合のパターンを示している。
【００２２】
こうして、指標ｉに対応してバリ発生位置と終了位置及びバリ６の高さ位置、切削繰り返し数を記憶した後、指標ｉを１インクリメントし、ステップＳ５に戻り、前述したステップＳ５以下の処理を行う。
【００２３】
こうしてバリ６の開始位置、終了位置がバリ６の高さ、切削回数が指標ｉ毎に記憶されていく。そして、ステップＳ５で表面形状位置データがなくなったことが検出され、表面形状全体についてのバリ検出が終了すると、ステップＳ１６に移行し、指標ｉの「０」から順次、バリ取り開始位置、終了位置及び切削回数を読み取り、開始位置までのアプローチパスを求め、かつ、切削回数の切削開始位置から切削終了位置までの切削パスパターンを作成し、その後、切削終了位置より退避パスを作成し、指標ｉの次の値に記憶するバリ取り開始位置までのアプローチパスを作成する。以下、この作業を指標ｉに対応して記憶されているバリの数分作成し切削プログラムを作成する（ステップＳ１６）。
【００２４】
なお、切削パターンは、この実施形態では、ｎ回の切削回数が得られたとき、１回目の切削深さ位置を、形状平面（目標形状のｚ軸座標値）より（ｎ−１）・ｄだけ高い位置とし、以後の切削は、順次切削深さをｄだけ進めて開始位置から終了位置までとし、その戻りのパスを含めた切削パターンを形成するものである。図３で破線は、早送りによるパス、であり、実線は切削パスを意味する。こうして作成された切削プログラムに基づいて、切削動作を実行する（ステップＳ１７）。
【００２５】
なお、上述した実施形態では、被加工ワーク５を所定位置に固定し、加工ツール４をロボットアーム先端に取り付け、ロボットを駆動することによって、バリ取り作業を実行するようにしたが逆に、加工ツール４を所定位置に固定し、被加工ワーク５をロボットで把持して、被加工ワーク５を加工ツール４に対して相対的に移動させることによってバリ取りを行うようにしてもよいものである。この場合、図２に示す処理のステップＳ１、Ｓ２の処理が、ロボットで被加工ワーク５を把持し、ロボットを所定位置に移動させて、所定位置に配置された視覚センサのカメラで把持された被加工ワーク５を撮像し、被加工ワーク５の把持位置ずれを求め教示された倣い移動経路を補正するようにする。それ以外は、図２に示す処理は同一である。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態の概要図である。
【図２】同実施形態における仕上げ加工処理のフローチャートである。
【図３】バリを切除するための切削回数の求め方と切除方法の説明図である。
【符号の説明】
【００２７】
１  ロボット本体
２  ロボットの制御装置
３  力センサ
４  加工ツール
５  被加工ワーク
６  バリ
【図１】
2006058961.tif 000003
【図２】
2006058961.tif 000004
【図３】
2006058961.tif 000005