(58)【調査した分野】(Int.Cl.,DB名)
前記視覚センサは、前記バリ取り部位形状データに基づいて、前記対象物の前記撮像画像における探索領域を限定する探索領域限定部をさらに備えていて、限定された前記探索領域から前記実際のバリ取り部位の位置を検出するように構成される、請求項1に記載のバリ取り装置。
前記視覚センサは、前記撮像画像中から前記バリ取り部位を表す特徴線を検出することによって前記実際のバリ取り部位の位置を検出するように構成される、請求項1又は2に記載のバリ取り装置。
前記視覚センサによって検出される前記実際のバリ取り部位の位置と、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データと、前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢と、に基づいて、対象物のバリ取りを実行する際の実際のバリ取りツールの姿勢を算出するバリ取り姿勢算出部をさらに備えており、
前記ロボットプログラム更新部は、前記実際のバリ取りツールの姿勢に基づいて、前記ロボットプログラムを更新するように構成される、請求項1から3のいずれか1項に記載のバリ取り装置。
前記力制御部は、前記バリ取りツールに作用する作用力が前記目標値に近づくように、前記実際のバリ取り部位の位置及び前記実際のバリ取りツールの姿勢の少なくともいずれか一方を補正するように構成される、請求項4に記載のバリ取り装置。
前記力制御部は、バリ取りを実際に実行した際の前記バリ取りツールの移動経路及び姿勢に基づいて、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データ及び前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢の少なくともいずれか一方を更新するように構成される更新部をさらに備える、請求項5に記載のバリ取り装置。
前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が前記ロボットの近傍に固定的に設置される、請求項1から7のいずれか1項に記載のバリ取り装置。
前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が、前記ロボットとは別個の第2のロボット又は可動装置によって前記対象物の位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、
前記ロボットの動作が前記第2のロボット又は前記可動装置に対して相対的に制御されるようになる、請求項1から7のいずれか1項に記載のバリ取り装置。
前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍に固定的に設置される、請求項1から7のいずれか1項に記載のバリ取り装置。
前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍において、前記ロボットとは別個の第2のロボット又は可動装置によって前記バリ取りツールの位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、
前記ロボットの動作が前記第2のロボット又は前記可動装置に対して相対的に制御されるようになる、請求項1から7のいずれか1項に記載のバリ取り装置。
前記バリ取り部位形状データに基づいて、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記視覚センサの設定と、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記ロボットの動作を指定するロボットプログラムの作成と、のうちの少なくともいずれか一方を実行するデータ処理部をさらに備える、請求項1から13のいずれか1項に記載のバリ取り装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に開示された技術では、視覚センサの検出情報に無視できない誤差が含まれる場合、加工中に過大な作用力がバリ取りツールに作用し、加工面の品質が不均一になる虞がある。
特許文献2に開示された技術では、ロボット経路を教示するのに多大な時間が要求されるので、十分な効率が得られずにコスト増大につながる。
【0008】
特許文献3に開示された技術では、ワークモデルと、実際のワークとの間に個体差がある場合にはバリ取りの精度が十分に得られない虞がある。
特許文献4に開示された技術では、設計データと実際のワークとの間に無視できない形状の相違点がある場合、バリ取りの精度が十分に得られない虞がある。特に、鋳物ワークからバリを除去しようとする場合、ワークの個体差によって設計データからの乖離が大きく変化するので、バリ取りの精度を向上させるのは困難である。
【0009】
したがって、ロボットプログラムの教示時間を短縮するとともにバリ取りの精度を向上させられるバリ取り装置が求められている。
【課題を解決するための手段】
【0010】
本願に係る1番目の態様によれば、対象物からバリを除去するバリ取りツールを備えたバリ取り装置であって、前記対象物及び前記バリ取りツールのうちの少なくともいずれか一方を互いに相対的に移動させるロボットと、前記バリ取りツールにおいて作用する力を検出する力センサと、前記対象物の形状を表す三次元データに基づいて、前記対象物のうちのバリ取りされるべきバリ取り部位の位置及び形状をバリ取り部位形状データとして記憶するバリ取り部位形状データ記憶部と、前記バリ取り部位形状データ記憶部によって記憶される前記バリ取り部位形状データに基づいて、前記対象物に対する前記バリ取りツールの姿勢を設定するバリ取り姿勢設定部と、前記バリ取り姿勢設定部によって設定される前記バリ取りツールの姿勢、及び前記バリ取り部位形状データに基づいて、前記ロボットの動作を制御する複数のロボット動作指令を少なくとも含むロボットプログラムを作成するロボットプログラム作成部と、対象物の撮像画像から当該対象物の実際のバリ取り部位の位置を検出する視覚センサと、前記バリ取りツールの姿勢及び前記実際のバリ取り部位の位置に基づいて、
前記実際のバリ取り部位の位置に沿って前記バリ取りツールを前記対象物に対して相対的に移動させるように、前記ロボットプログラム中の複数のロボット動作指令を個別に更新するロボットプログラム更新部と、前記ロボットプログラム更新部によって更新された前記ロボットプログラムに従って前記ロボットが動作する際に、前記力センサによって検出される前記バリ取りツールに作用する作用力、及び予め定められる該作用力の目標値に基づいて、前記ロボットの動作を制御する力制御部と、を備える、バリ取り装置が提供される。
本願に係る2番目の態様によれば、1番目の態様のバリ取り装置において、前記視覚センサは、前記バリ取り部位形状データに基づいて、前記対象物の前記撮像画像における探索領域を限定する探索領域限定部をさらに備えていて、限定された前記探索領域から前記実際のバリ取り部位の位置を検出するように構成される。
本願に係る3番目の態様によれば、1番目又は2番目の態様のバリ取り装置において、前記視覚センサは、前記撮像画像中から前記バリ取り部位を表す特徴線を検出することによって前記実際のバリ取り部位の位置を検出するように構成される。
本願に係る4番目の態様によれば、1番目から3番目のいずれかの態様のバリ取り装置において、前記視覚センサによって検出される前記実際のバリ取り部位の位置と、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データと、前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢と、に基づいて、対象物のバリ取りを実行する際の実際のバリ取りツールの姿勢を算出するバリ取り姿勢算出部をさらに備えており、前記ロボットプログラム更新部は、前記実際のバリ取りツールの姿勢に基づいて、前記ロボットプログラムを更新するように構成される。
本願に係る5番目の態様によれば、4番目の態様のバリ取り装置において、前記力制御部は、前記バリ取りツールに作用する作用力が前記目標値に近づくように、前記実際のバリ取り部位の位置及び前記実際のバリ取りツールの姿勢の少なくともいずれか一方を補正するように構成される。
本願に係る6番目の態様によれば、5番目の態様のバリ取り装置において、前記力制御部は、バリ取りを実際に実行した際の前記バリ取りツールの移動経路及び姿勢に基づいて、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データ及び前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢の少なくともいずれか一方を更新するように構成される更新部をさらに備える。
本願に係る7番目の態様によれば、1番目から6番目のいずれかの態様のバリ取り装置において、前記バリ取りツールの摩耗量を算出する摩耗量算出部をさらに備えており、前記力制御部は、前記摩耗量算出部によって算出される前記摩耗量に基づいて、前記目標値を補正するように構成される。
本願に係る8番目の態様によれば、1番目から7番目のいずれかの態様のバリ取り装置において、前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が前記ロボットの近傍に固定的に設置される。
本願に係る9番目の態様によれば、1番目から7番目のいずれかの態様のバリ取り装置において、前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が、前記ロボットとは別個の第2のロボット又は可動装置によって前記対象物の位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、前記ロボットの動作が前記第2のロボット又は前記可動装置に対して相対的に制御されるようになる。
本願に係る10番目の態様によれば、1番目から7番目のいずれかの態様のバリ取り装置において、前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍に固定的に設置される。
本願に係る11番目の態様によれば、1番目から7番目のいずれかの態様のバリ取り装置において、前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍において、前記ロボットとは別個の第2のロボット又は可動装置によって前記バリ取りツールの位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、前記ロボットの動作が前記第2のロボット又は前記可動装置に対して相対的に制御されるようになる。
本願に係る12番目の態様によれば、1番目から11番目のいずれかの態様のバリ取り装置において、前記対象物の位置を検出するように構成される、前記視覚センサとは別個の第2の視覚センサをさらに備える。
本願に係る13番目の態様によれば、1番目から11番目のいずれかの態様のバリ取り装置において、前記視覚センサが、前記対象物の位置を検出するようにさらに構成される。
本願に係る14番目の態様によれば、1番目から13番目のいずれかの態様のバリ取り装置において、前記バリ取り部位形状データに基づいて、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記視覚センサの設定と、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記ロボットの動作を指定するロボットプログラムの作成と、のうちの少なくともいずれか一方を実行するデータ処理部をさらに備える。
【発明の効果】
【0011】
上記構成を採用するバリ取り装置によれば、対象物の三次元データからバリ取り部位の形状データを抽出し、適切なバリ取りツールの姿勢を含むロボットプログラムを作成可能である。また、視覚センサを用いて実際の対象物のバリ取り部位を検出できるようになっているので、実際のバリ取り部位の位置情報に基づいて、実際の対象物に適合するようにロボットプログラムを更新できる。それにより、ロボットに教示されるロボットプログラムの作成に要する時間を大幅に短縮できるとともに、ワークの個体差が顕著な場合にもバリ取り処理を精度よく実行できるようになる。
【0012】
さらに、上記構成によれば、バリ取り工程の際に、力センサによってバリ取りツールと対象物との間に作用する作用力をモニタしながら力制御によってロボットの動作が制御される。それにより、対象物とバリ取りツールとの間に適切な作用力が作用することを保証できるので、バリ取りツールが対象物に押し込まれすぎたり、対象物から離間しすぎたりすることを防止できる。したがって、バリ取り処理の精度を向上できる。また、作用力を調整するために従来設けられていたばね機構などの追加の機構が不要となり、構成を簡略化できる。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明の実施形態を説明する。図示される実施形態において、本発明の理解を助けるために構成要素の縮尺が適宜変更されている点に留意されたい。異なる実施形態の説明において、同一又は対応する構成要素には同一の符号が使用され、重複する説明は適宜省略される。
【0015】
図1は、本発明の第1の実施形態に係るバリ取り装置10の構成を示す概略図である。バリ取り装置10は、複数のアームを備える多関節ロボット30と、ロボット30のアームの先端に位置する手首部32に取付けられる力センサ34と、力センサ34に取付けられるバリ取りツール36と、ロボット30を制御するロボット制御装置60と、を備えている。
【0016】
ロボット30は、ロボット制御装置60から出力される制御信号に従って、各関節に設けられた図示されない電気モータ(サーボモータ)を回転させることによって、種々の位置及び姿勢をとることができる。ロボットは図示されたものに限定されず、公知の形態を有する任意のロボットにも本発明を同様に適用できる。
【0017】
バリ取りツール(以下、単に「ツール」と称する。)36は、バリを除去するのに一般的に使用される工具であって特定の形態のものに限定されず、例えばカッター、グラインダなどでありうる。ツール36は、ロボット30の手首部32に固定されていて、ロボット30が動作するのに従って手首部32と一緒に移動する。
【0018】
バリ取りされるべき対象物、例えば円柱状のワーク50は、ロボット30の可動範囲内において、床面又は作業テーブルなど(図示せず)に固定されている。したがって、ロボット30が駆動されると、ツール36がワーク50に対して相対的に移動するようになっている。ワーク50には、例えば表面50aを平面加工した際にその縁部に沿ってバリが形成されている。バリ取り装置10は、ツール36をワーク50に対して押し当てながら表面50aの縁部に沿って移動させることによって、ワーク50のバリを除去できるようになっている。
【0019】
バリ取りを実行する際にワーク50とツール36との間に作用する作用力Fは、力センサ34によって検出される。力センサ34から出力される力検出値は、後述するようにロボット30を力制御する際のフィードバック信号としてロボット制御装置60に入力される。
【0020】
図2は、バリ取り装置10の機能を示すブロック図である。バリ取り装置10は、データ処理装置62、視覚センサ40(
図10参照)及び力センサ34などと協働してロボット30の動作を制御するロボット制御装置60を備えている。ロボット制御装置60は、
図2に示されるように、ロボットプログラム作成部68と、力制御部70と、駆動部72と、更新部74と、ロボットプログラム更新部78と、バリ取り姿勢算出部80と、摩耗量算出部82と、を備えている。ロボット制御装置60は、各種演算を実行するCPUと、演算結果を一時的に記憶する揮発性RAMと、各種プログラム及びパラメータなどを記憶する不揮発性ROMと、から形成されるハードウェア構成を有する。
【0021】
視覚センサ40は、図示されないカメラ及び画像処理部を備えている。視覚センサ40は、バリ取りを実行しようとするワーク50を撮像して得られる画像を処理してワーク50の実際のバリ取り部位54の位置を検出するように形成される。具体的な一例としては、ワーク50を撮像して得られた画像上から明暗の境界によって表されるエッジ特徴線を検出し、その特徴線をバリ取り部位54とみなすことができる。一実施形態において、視覚センサ40は、実際のワーク50の位置を検出するようにさらに形成されていてもよい。
【0022】
視覚センサ40は、バリ取り部位形状データに基づいて、ワーク50の撮像画像における探索領域を限定する探索領域限定部76をさらに備えている。それにより、視覚センサ40は、限定された探索領域から実際のバリ取り部位54の位置を検出できるようになる。したがって、実際のバリ取り部位54の位置を検出するのに必要な時間が短縮されるとともに、誤った部位を検出することなく安定した検出が行われるようになる。
【0023】
データ処理装置62は、例えば
図3に示されるようなオフラインプログラミング装置でありうる。データ処理装置62は、キーボードなどの入力部62aと、モニタなどの表示部62bと、を備えている。
図3に示されるように、データ処理装置62は、ワーク50の三次元データ52を必要に応じて読出し可能である。データ処理装置62は、ワーク50の三次元データ52から、ワーク50のうちのバリ取りされるべき部位(以下、「バリ取り部位」と称する。)54の形状及び位置に関するデータ(以下、「バリ取り部位形状データ」と称する。)を抽出する。
図3においては、バリ取り部位54が太線で強調して図示されている。データ処理装置62は、抽出されたバリ取り部位形状データをバリ取り部位形状データ記憶部64に入力する。また、データ処理装置62は、ワーク50の三次元データ52を利用して、視覚センサ40の設定処理を実行できるようになっている。
【0024】
バリ取り部位形状データ記憶部64は、データ処理装置62から入力されるバリ取り部位形状データを記憶するように形成されている。記憶されたバリ取り部位形状データは、バリ取り姿勢設定部66、ロボットプログラム作成部68及びバリ取り姿勢算出部80によって、それぞれ意図される処理を実行するために読出される。
【0025】
バリ取り姿勢設定部66は、バリ取り部位形状データ記憶部64から読出されるバリ取り部位形状データに基づいて、バリ取りを実行する際におけるバリ取り部位54に対応するツール36の姿勢を設定する。ツール36の姿勢は、バリ取り部位54の全体にわたってワーク50の表面50aに対して一定の角度に設定されうる。或いは、ツール36の姿勢は、ロボット30の周囲に存在する障害物などの外的要因を考慮して局所的に設定されてもよい。
【0026】
バリ取り姿勢算出部80は、視覚センサ40によって検出される実際のバリ取り部位54の位置と、バリ取り部位形状データ記憶部64に記憶されたバリ取り部位形状データと、バリ取り姿勢設定部66によって設定されるツール36の姿勢と、に基づいて、ワーク50のバリ取りを実行する際の実際のツール36の姿勢を算出するように形成されている。
【0027】
ロボットプログラム作成部68は、バリ取り部位形状データ記憶部64から読出されるバリ取り部位形状データと、バリ取り姿勢設定部66によって設定されたツール36の姿勢と、に基づいて、バリ取り装置10のロボットプログラムを作成する。ロボットプログラムには、ロボット30の動作指令が少なくとも含まれる。このロボットプログラムによって、バリ取りを適切に実行するためのツール36、すなわちロボット30の移動経路及び移動速度などが指定される。また、このロボットプログラムには、ロボット30に対する制御信号に加えて、ロボット30を力制御する目的で使用される、ツール36に作用する作用力の目標値が含まれる。なお、この作用力の目標値には、作用力の大きさに加えて作用方向の情報が含まれる。
【0028】
ロボット制御装置60の力制御部70には、力センサ34によって検出される、バリ取り処理の際にツール36に作用する作用力Fの検出値がフィードバックされる。力制御部70は、ロボットプログラム作成部68によって作成されるロボットプログラムにおいて指定される作用力Fの目標値と、力センサ34から入力される力検出値と、に基づいてロボット30の駆動信号を駆動部72に送出する。具体的には、力制御部70によって、力センサ34による力検出値が、目標値に近づくようにロボット30が制御される。例えば、力検出値が目標値よりも大きい場合は、ツール36がワーク50から離間する方向にロボット30を移動させる。逆に、力検出値が目標値よりも小さい場合は、ツール36がワーク50に接近する方向にロボット30を移動させる。
【0029】
ロボット制御装置60の駆動部72は、力制御部70から入力される駆動信号に応じて、ロボット30の各関節に設けられる電気モータ(サーボモータ)を制御する制御信号を出力するように形成されている。ツール36は、駆動部72から送出される制御信号に応じてワーク50に対して移動する。
【0030】
力制御部70は、ツール36の作用力Fが目標値に近づくように、実際のバリ取り部位54の位置及び実際のバリ取りツールの姿勢の少なくとも一方を補正するように形成されている。力制御部70は、更新部74をさらに備えている。更新部74は、バリ取りが行われている間の実際のバリ取りツールの移動経路及び姿勢を取得し、バリ取り部位形状データ記憶部64に記憶されたバリ取り部位形状データ、及びバリ取り姿勢設定部66によって設定されたツール36の姿勢の少なくとも一方を更新するように形成されている。
【0031】
ロボット制御装置60の摩耗量算出部82は、ツール36がワーク50に接触する位置に関して、未使用状態のツール36と、バリ取りを実行した後のツール36とをそれぞれ比較して、ツール36の摩耗量を算出するように形成される。算出された摩耗量は、力制御部70における作用力の目標値、及びロボットプログラムによって指定されるロボット30の動作速度のうちの少なくとも一方を補正するのに使用される。
【0032】
ロボット制御装置60のロボットプログラム更新部78は、ロボットプログラム作成部68によって作成されるロボットプログラムを更新するように形成される。例えば、視覚センサ40によって実際のバリ取り部位54の位置が検出されると、その情報に基づいて、ロボット30の動作経路を変更するようにロボットプログラムが更新される。
【0033】
続いて、ワーク50からバリを除去する際におけるバリ取り装置10の動作について説明する。先ず、バリ取りを行う前に実行される準備工程について説明する。
図4は、本発明の一実施形態に従って実行されるバリ取りの準備工程を説明するフローチャートである。
【0034】
準備工程において、視覚センサによってワーク50の位置を検出するために視覚センサの設定、すなわちワーク50のモデルの教示、各種パラメータの設定が行われる。
図5に示されるように、ワーク50の表面50aに形成される複数の穴56が、ワーク50の形状を特徴付ける特徴部として作用する。視覚センサは、それら穴56を検出することによって、ワーク50の位置を容易に検出できる。また、図示されるようにそれら穴56を通る2本の直線がX軸及びY軸となるようにワーク座標系が定義されうる。そして、ワーク50のそれら穴56を視覚センサによって検出できるようになるロボット30の位置及び姿勢(以下、「第1の位置及び姿勢」と称する。)が取得される(ステップS11)。第1の位置及び姿勢は、視覚センサの検出範囲と、特徴部の位置情報と、に基づいて取得される。取得された第1の位置及び姿勢は、例えばロボット制御装置60のRAMに記憶されうる。
【0035】
続いて、ワーク50のバリ取り部位54を検出するために視覚センサの設定、すなわち探索領域限定部
76で使用される各種パラメータの設定が行われる。
図6に示されるように、ワーク50の表面50aの縁部においてバリ取り部位54が指定される。バリ取り部位54の指定は、例えば始点54a、終点54b及び進行方向54cを教示することによって行われる。指定されたバリ取り部位54は、所定間隔で配列された多数の点からなるバリ取り部位形状データとして抽出される。
図7は、ワーク50の表面50aの縁部全周にわたってバリ取り部位54が指定される例を示す。なお、バリ取り部位が直線である場合、両端の位置のみが指定されてもよい。また、円形の場合、円の中心の位置及び半径の大きさのみが指定されてもよい。また、抽出されるバリ取り部位形状データには、バリ取り部位54がワーク50の外周に位置するか、又は内周に位置するかに関する情報、及びワーク50の表面50aが鉛直方向下向きに配置されるか、又は上向きに配置されるかに関する情報が含まれうる。
【0036】
そして、ワーク50のバリ取り部位54を視覚センサによって検出できるようになるロボット30の位置及び姿勢(以下、「第2の位置及び姿勢」と称する。)が取得される(ステップS12)。第2の位置及び姿勢は、視覚センサの検出範囲と、バリ取り部位形状データと、に基づいて取得される。取得された第2の位置及び姿勢は、例えばロボット制御装置60のRAMに記憶される。
【0037】
続いて、バリ取り部位54に対応するツール36の姿勢が設定される(ステップS13)。前述したように、バリ取り部位形状データは点の集合として記憶される。例えば、それら点のそれぞれにおいて適切なツール36の姿勢が設定される。
図8A〜
図8Cは、バリ取り部位54に対して設定されるツール36の姿勢の例を示している。
図8Aに示される例では、バリ取り部位54の全体にわたってツール36の姿勢が一定になるように設定される。この場合、ツール36の中心軸線36aは、ワーク50の表面50aに対して垂直に延在している。また、
図8Bに示される例では、バリ取り部位54の全体にわたって、ツール36の中心軸線36aがワーク50の表面50aに対して直角以外の或る同一の角度をなして傾斜するように、ツール36の姿勢が設定される。また、
図8Cに示される例では、
ツール36の中心軸線36aがワーク50の表面50aに対して形成する角度が局所的に変化するように、ツール36の姿勢が設定される。例えば、バリ取り部位54の一部の箇所において、ツール36が他の部材と干渉する可能性がある場合、その一部の箇所においてのみツール36の姿勢が変更される。
【0038】
続いて、バリ取り部位形状データ記憶部64に記憶されたバリ取り部位形状データと、バリ取り姿勢設定部66によって設定されるツール36のバリ取り時の姿勢と、に基づいて、バリ取りを実行する際のツール36、すなわちロボット30の移動速度、及びツール36に作用する作用力Fの目標値が設定される(ステップS14)。例えば、バリ取り部位54の形状が急激に変化する角部(比較的小さい曲率半径で方向が変わる部位)においては、ロボット30の移動速度を低下させるとともに、作用力Fの目標値を小さくする。
【0039】
そして、ワーク50のバリ取りを実行するための基準となるロボットプログラムが作成される(ステップS15)。ステップS15において、ロボットプログラム作成部68が起動され、ワーク50の穴56を検出するための視覚センサの位置に対応するロボット30の第1の位置及び姿勢と、ワーク50のバリ取り部位54を検出するための視覚センサの位置に対応するロボット30の第2の位置及び姿勢と、バリ取り部位54に対するツール36の姿勢と、ロボット30の移動速度と、ツール36の作用力の目標値と、に基づいて、バリ取り装置10を動作させるロボットプログラムが作成される。このロボットプログラムには、視覚センサを利用したワーク50の位置を検出する指令、バリ取り部位54を検出する指令、ロボット30の動作指令、ツール36とワーク50との間に作用する作用力Fについて力制御を実行する指令などが含まれる。
【0040】
以上、
図4などを参照しながら、バリ取りの準備工程について説明した。次に、実際のバリ取り装置10を使用してワーク50のバリ取りを実行する方法について説明する。
図9を参照して、視覚センサの検出結果に基づいて、バリ取りされるべき実際のワーク50に対応するようバリ取り装置10のロボットプログラムを更新する工程について説明する。
図9は、本発明の一実施形態に従ってバリ取り装置10のロボットプログラムを更新する工程を示すフローチャートである。ここでは、視覚センサによって検出される実際のワーク50の位置及び実際のバリ取り部位54の位置及び形状に基づいて、ロボットプログラムが更新される。
【0041】
図10は、視覚センサ40によってワーク50の実際の位置並びにバリ取り部位54の実際の位置を取得する際のバリ取り装置10を示している。図示される実施形態では、視覚センサ40は
図10に示されるように、力センサ34及びツール36と同様にロボット30の手首部32に取付けられている。しかしながら、代替的な態様において、視覚センサ40は、ロボット30から独立した位置に設けられていてもよい。
【0042】
図9を再び参照すると、先ず、ロボット30が、準備工程のステップS11(
図4参照)において取得された第1の位置及び姿勢に移動させられる(ステップS21)。そして、視覚センサ40によってワーク50の特徴部(例えば穴56(
図3参照))を検出することによって、バリ取りされるべきワーク50の実際の位置が検出される(ステップS22)。
【0043】
ステップS22において取得された実際のワーク50の位置に基づいて、ロボットプログラムに含まれるロボット30の第2の位置及び姿勢が補正される(ステップS23)。すなわち、想定されたワーク50の位置と実際のワーク50の位置とが互いに相違する場合、その誤差を補償した上で次のステップに進むことになる。続いて、ステップS23において補正された第2の位置及び姿勢にロボット30が移動させられる(ステップS24)。補正された第2の位置及び姿勢において、視覚センサ40によってワーク50のバリ取り部位54が検出される(ステップS25)。
【0044】
視覚センサ40を用いて実際のバリ取り部位54の位置を検出する際には、探索領域限定部76が起動され、バリ取り部位形状データ記憶部64に記憶されたバリ取り部位形状データに基づいて、バリ取り部位54が含まれると予想される撮像画像上の領域が定められる。この限定された領域を探索領域として、バリ取り部位54の検出処理が実行される。例えば
図11において、バリ取り部位形状データから得られるバリ取り部位54’が破線で示されている。この場合、探索領域Aは、バリ取り部位54’から半径方向外側及び内側にそれぞれ所定の距離だけ離間する範囲として定められる。そして、その探索領域Aの範囲内で、点線で図示される実際のバリ取り部位54の位置が検出される。このように、記憶されたバリ取り部位形状データに基づいて探索領域を限定することによって、撮像画像全体を探索する場合に比べて、短時間で効率よく実際のバリ取り部位54の位置を検出できるとともに、誤った部位を検出することなく安定した検出が行われるようになる。
【0045】
続いて、バリ取り姿勢算出部80が起動され、実際にバリ取りを実行する際のツール36の姿勢が算出される(ステップS26)。バリ取り姿勢算出部80は、ステップS25によって得られた実際のバリ取り部位54の位置情報と、
図4において説明したステップS13において求められたツール36の姿勢と、に基づいて、実際のツール36の姿勢を算出する。例えば、
図11に示されるように、実際のバリ取り部位54の或る箇所Pにおけるツール36の姿勢を求める場合、当該箇所Pから、バリ取り部位形状データから得られるバリ取り部位54’上の最短距離に位置する箇所Qにおけるツール36の姿勢が、箇所Pにおける実際のツール36の姿勢として採用される。
【0046】
そして、ロボットプログラム更新部78が起動され、ステップS25において得られた実際のバリ取り部位54の位置と、ステップS26において得られた実際のツール36の姿勢と、に基づいて、バリ取りを実行するためのロボットプログラムが更新される(ステップS27)。このように、視覚センサ40によって得られた実際のワーク50のバリ取り部位54に基づいて、ロボットプログラムが更新されるので、例えばワーク50に個体差が存在する場合、又はワーク50の固定位置が想定された位置から僅かにずれている場合においても、正確な情報に基づいてロボットプログラムが更新されるので、バリ取りの信頼性が向上する。また、本実施形態によれば、ロボットプログラムは、最初から作成されるのではなく、ワークの三次元形状データに従って基準となるロボットプログラムが予め作成されているので、短時間でより適切なロボットプログラムに更新できる。したがって、バリ取り装置としての効率を向上させられる。
【0047】
次に、更新されたロボットプログラムに従って、バリ取りを実行する際の工程について
図12を参照して説明する。
図12は、本発明の一実施形態に従って実行されるバリ取り工程を説明するフローチャートである。
【0048】
ロボット30は、ロボットプログラム更新部78によって更新されたロボットプログラムに従って駆動され、それによりツール36がワーク50のバリ取り部位54に押し当てられることによって、バリ取りが実行される(ステップS31)。バリ取りが行われる際、力センサ34によって、ツール36とワーク50との間に作用する作用力Fが検出される(ステップS32)。検出された作用力Fは力制御部70にフィードバックされ、作用力がモニタされる。力検出値は、ロボットプログラムによって指定される作用力Fの目標値と比較され、目標値から所定の範囲内に含まれるか否かが判定される(ステップS33)。
【0049】
ステップS33において、検出された作用力Fが目標値から所定の範囲に含まれないと判定された場合、ステップS34に進み、力制御部70によってロボット30の動作が調整される。すなわち、作用力Fの大きさが目標値よりも大きい場合は、ロボット30をワーク50から離間する方向に移動させる。逆に作用力Fの大きさが目標値よりも小さい場合は、ロボット30をワーク50に接近する方向に移動させる。また、作用力Fの方向が目標値からずれている場合は、作用力Fの方向が目標値に近づくように、ロボット30を移動させてツール36の姿勢を調整する。
【0050】
さらに、更新部74が起動され、バリ取り部位形状データ記憶部64に記憶されたバリ取り部位54の形状データ及びバリ取り姿勢設定部66によって設定されたツール36の姿勢のうちの少なくとも一方が更新される(ステップS35)。この更新は、一例としてバリ取り部位形状データと、実際のバリ取り部位の形状が大きく乖離している場合に特に有効である。なぜなら、そのような更新を行うことによって、次回以降のバリ取り実行の工程において、それら形状が乖離する程度を抑えられるからである。なお、ステップS35は必要に応じて省略されてもよい。
【0051】
ステップS33において、作用力Fが目標値の範囲に含まれると判定された場合、ステップS36に進み、バリ取りが完了したか否かが判定される。バリ取りが完了していないと判断された場合は、前述のステップS36の直前までの処理が繰返し実行される。ステップS32〜S36の処理は、バリ取りが完了するまでの間、バリ取りを行なっている最中に繰り返し高速で実行される。このように、本実施形態においては、力センサ34からの力検出値を利用したフィードバック制御を実行する力制御部70によって、ツール36の作用力がモニタされる。それにより、ツール36がワーク50に押し込まれすぎたり、ツール36とワーク50との間の接触が不十分になったりするなどの不具合を確実に防止できる。したがって、バリ取り工程の精度が向上し、品質を均一化できる。また、ツールの作用力をある程度維持するために従来必要とされていたばね機構を設ける必要もなくなるので、構造を簡略化できる。
【0052】
一実施形態において、ツール36の摩耗量を考慮してロボットプログラムが更新されるようにバリ取り装置10が形成されてもよい。ツール36の摩耗量は、ロボット制御装置60の摩耗量算出部82を起動することによって得られる。具体的には、
図13に示されるように、使用前の新品のツール36’が接触部材90に接触するようにロボット30を図示される矢印120の方向に移動させ、そのときのロボット30の位置を予め記憶しておく。そして、バリ取りを行った後のツール36’’を同様に接触部材90に接触させ、そのときのロボット30の位置が、記憶しておいたロボット30の位置と比較される。このようにして、使用前のツール36’の中心軸線36a’と、使用後のツール36’’の中心軸線36a’’との間の距離が算出され、それによりツール36の摩耗量Bが求められる。
【0053】
摩耗量算出部82によって得られたツール36の摩耗量は、例えばツール36とワーク50との間に作用する作用力の目標値を補正するのに使用される。例えば大きな摩耗量が検出されるのに従ってツール36の切削力が低下する傾向がある場合には、目標値が大きくなるように、又はロボット30の移動速度を低下させるようにロボットプログラムが更新される。
【0054】
図14は、第2の実施形態に係るバリ取り装置12を示す図である。本実施形態は、力センサ34及びツール36がロボット30の手首部32に取付けられている点では前述した第1の実施形態と同様であるものの、ワーク50が第2のロボット100の手首部102によって保持されている点において相違する。ロボット30は、第1の実施形態と同様の構成を有し、同様に作用する。第2のロボット100はロボット制御装置104によって制御される。第2のロボット100は、バリ取り装置12の一連の処理の間、同じ位置及び姿勢を維持するように制御されてもよいし、各処理の際に必要に応じて位置及び姿勢を変更するように制御されてもよい。後者の場合、第2のロボット100の位置及び姿勢の変化、すなわちワーク50の位置及び姿勢の変化を考慮して、各処理が実行される。このようなバリ取り装置12を使用しても、バリ取り部位形状データ、力センサ、視覚センサなどを利用した効率的かつ信頼性の高いバリ取りが可能になる。
【0055】
図15は、第3の実施形態に係るバリ取り装置14を示す図である。本実施形態は、力センサ34及びツール36がロボット30の手首部32に取付けられている点では前述した第1の実施形態と同様であるものの、ワーク50が可動装置110に設置されている点において相違する。ロボット30は、第1の実施形態と同様の構成を有し、同様に作用する。可動装置110は、例えば搬送コンベヤであり、ワーク50をロボット30の可動範囲内に順次搬送したり、ロボット30の形態(ロボット30がバリ取りを実行するための姿勢)が適切になるようにワーク50の位置を変更したりされるように形成されている。このようなバリ取り装置14を使用しても、バリ取り部位形状データ、力センサ、視覚センサなどを利用した効率的かつ信頼性の高いバリ取りが可能になる。
【0056】
図16は、第4の実施形態に係るバリ取り装置16を示す図である。本実施形態は、ロボット30の手首部32に力センサ34が取付けられている点では第1の実施形態と同様であるものの、手首部32における力センサ34の先には、ツール36ではなくワーク50が保持されている。そして、ツール36は、作業テーブル114に固定されている。図示されないものの、ワーク50の位置及びバリ取り部位を検出するのに使用される視覚センサは、例えば作業テーブル114に固定的に設置される。このようなバリ取り装置16においても、力センサ34によってツール36とワーク50との間に作用する作用力が検出され、ロボット30は、前述した第1の実施形態と同様に制御され、ワーク50のバリ取りに必要な処理をそれぞれ実行できる。したがって、バリ取り部位形状データ、力センサ、視覚センサなどを利用した効率的かつ信頼性の高いバリ取りが可能になる。
【0057】
前述した各実施形態において、視覚センサは、ワークの位置を検出するとともにバリ取り部位の位置及び形状を検出する目的で使用されるものの、代替的な実施形態において、バリ取り部位の位置及び形状を検出する第1の視覚センサと、これとは別個のワークの位置を検出する第2の視覚センサと、が設けられてもよい。この場合、第1の視覚センサ及び第2の視覚センサの少なくともいずれか一方がロボットに取付けられてもよいし、又はロボットから物理的に離間する外部に設けられてもよい。
【0058】
以上、本発明の種々の実施形態及び変形例を説明したが、他の実施形態及び変形例によっても本発明の意図される作用効果を奏することができることは当業者に自明である。特に、本発明の範囲を逸脱することなく前述した実施形態及び変形例の構成要素を削除ないし置換することが可能であるし、公知の手段をさらに付加することが可能である。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【0059】
特に、ワークの位置を検出するための視覚センサ及びバリ取り部位を検出するための視覚センサを別個設けたり、又はそれら機能を有する単体の視覚センサを設けることは、当業者によって任意に選択できる。また、力センサ、ワーク及びツールのうちのいずれの構成要素をロボットに取付けるかは、本発明との関係では何ら限定されない。また、いずれの場合であっても、残りの構成要素がロボットとは別個の移動可能な又は固定された構造体に設置されうるし、又は他のロボットに取付けられうる。