(57)【特許請求の範囲】
【請求項１】
対象物からバリを除去するバリ取りツールを備えたバリ取り装置であって、
前記対象物及び前記バリ取りツールのうちの少なくともいずれか一方を互いに相対的に移動させるロボットと、
前記バリ取りツールにおいて作用する力を検出する力センサと、
前記対象物の形状を表す三次元データに基づいて、前記対象物のうちのバリ取りされるべきバリ取り部位の位置及び形状をバリ取り部位形状データとして記憶するバリ取り部位形状データ記憶部と、
前記バリ取り部位形状データ記憶部によって記憶される前記バリ取り部位形状データに基づいて、前記対象物に対する前記バリ取りツールの姿勢を設定するバリ取り姿勢設定部と、
前記バリ取り姿勢設定部によって設定される前記バリ取りツールの姿勢、及び前記バリ取り部位形状データに基づいて、前記ロボットの動作を制御する複数のロボット動作指令を少なくとも含むロボットプログラムを作成するロボットプログラム作成部と、
対象物の撮像画像から当該対象物の実際のバリ取り部位の位置を検出する視覚センサと、
前記バリ取りツールの姿勢及び前記実際のバリ取り部位の位置に基づいて、前記実際のバリ取り部位の位置に沿って前記バリ取りツールを前記対象物に対して相対的に移動させるように、前記ロボットプログラム中の複数のロボット動作指令を個別に更新するロボットプログラム更新部と、
前記ロボットプログラム更新部によって更新された前記ロボットプログラムに従って前記ロボットが動作する際に、前記力センサによって検出される前記バリ取りツールに作用する作用力、及び予め定められる該作用力の目標値に基づいて、前記ロボットの動作を制御する力制御部と、を備える、バリ取り装置。
【請求項２】
前記視覚センサは、前記バリ取り部位形状データに基づいて、前記対象物の前記撮像画像における探索領域を限定する探索領域限定部をさらに備えていて、限定された前記探索領域から前記実際のバリ取り部位の位置を検出するように構成される、請求項１に記載のバリ取り装置。
【請求項３】
前記視覚センサは、前記撮像画像中から前記バリ取り部位を表す特徴線を検出することによって前記実際のバリ取り部位の位置を検出するように構成される、請求項１又は２に記載のバリ取り装置。
【請求項４】
前記視覚センサによって検出される前記実際のバリ取り部位の位置と、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データと、前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢と、に基づいて、対象物のバリ取りを実行する際の実際のバリ取りツールの姿勢を算出するバリ取り姿勢算出部をさらに備えており、
前記ロボットプログラム更新部は、前記実際のバリ取りツールの姿勢に基づいて、前記ロボットプログラムを更新するように構成される、請求項１から３のいずれか１項に記載のバリ取り装置。
【請求項５】
前記力制御部は、前記バリ取りツールに作用する作用力が前記目標値に近づくように、前記実際のバリ取り部位の位置及び前記実際のバリ取りツールの姿勢の少なくともいずれか一方を補正するように構成される、請求項４に記載のバリ取り装置。
【請求項６】
前記力制御部は、バリ取りを実際に実行した際の前記バリ取りツールの移動経路及び姿勢に基づいて、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データ及び前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢の少なくともいずれか一方を更新するように構成される更新部をさらに備える、請求項５に記載のバリ取り装置。
【請求項７】
前記バリ取りツールの摩耗量を算出する摩耗量算出部をさらに備えており、
前記力制御部は、前記摩耗量算出部によって算出される前記摩耗量に基づいて、前記目標値を補正するように構成される、請求項１から６のいずれか１項に記載のバリ取り装置。
【請求項８】
前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が前記ロボットの近傍に固定的に設置される、請求項１から７のいずれか１項に記載のバリ取り装置。
【請求項９】
前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が、前記ロボットとは別個の第２のロボット又は可動装置によって前記対象物の位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、
前記ロボットの動作が前記第２のロボット又は前記可動装置に対して相対的に制御されるようになる、請求項１から７のいずれか１項に記載のバリ取り装置。
【請求項１０】
前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍に固定的に設置される、請求項１から７のいずれか１項に記載のバリ取り装置。
【請求項１１】
前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍において、前記ロボットとは別個の第２のロボット又は可動装置によって前記バリ取りツールの位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、
前記ロボットの動作が前記第２のロボット又は前記可動装置に対して相対的に制御されるようになる、請求項１から７のいずれか１項に記載のバリ取り装置。
【請求項１２】
前記対象物の位置を検出するように構成される、前記視覚センサとは別個の第２の視覚センサをさらに備える、請求項１から１１のいずれか１項に記載のバリ取り装置。
【請求項１３】
前記視覚センサが、前記対象物の位置を検出するようにさらに構成される、請求項１から１１のいずれか１項に記載のバリ取り装置。
【請求項１４】
前記バリ取り部位形状データに基づいて、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記視覚センサの設定と、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記ロボットの動作を指定するロボットプログラムの作成と、のうちの少なくともいずれか一方を実行するデータ処理部をさらに備える、請求項１から１３のいずれか１項に記載のバリ取り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークに形成されるバリを除去するバリ取り装置に関する。
【背景技術】
【０００２】
ワークを平面加工したときに平面境界部に形成されるバリを除去するバリ取り装置が公知である。特許文献１に開示されるバリ取り装置及び方法においては、三次元形状計測装置によって得られる計測データと、予め記憶された代表ワークの表面形状及び当該ワークの拘束面の関係データに基づいて対象ワークの拘束面の位置が決定されるとともに、ワーク表面の平面部分と、ワークの拘束面との交線の位置がバリ取り経路として決定される。
【０００３】
特許文献２には、工具及び力センサを有するロボット本体を利用したバリ取り方法において、教示段階で粗教示した後に、仕上げ加工済みのワークに対して工具の送り方向には位置制御を行い、また、工具のワークへの押付方向には力制御を行うことによって、工具の仕上げ教示点及び力制御方向を記憶することが開示されている。そして、加工段階では、記憶された仕上げ教示データに基づいて工具の送り方向及び力制御方向において、仕上げ加工を実行することが開示されている。
【０００４】
特許文献３には、バリ取りを実行するためのロボットの自動教示法において、バリが除去されたワークモデルを用いてバリ取り開始点及び終了点を教示し、開始点におけるワークモデル表面の法線方向に接近点を設定し、該接近点において工具の姿勢並びにワークモデルに対する押圧力方向及び送り方向を教示し、工具を一定の力でワークモデルに対して押圧しながらワークモデル表面に沿って移動させることによってバリ取り経路の位置および姿勢データを取得することが開示されている。
【０００５】
特許文献４には、ロボットを使用するバリ取り方法において、ロボットに取付けられた接触子をワークに押圧させた際のロボットの姿勢データからロボットに対するワークの相対位置を示す位置データを取得し、予め取得しておいたワークの設計データからワークの理想形状を示す理想形状データを生成し、取得された位置データにおけるロボットに対するワークの相対位置におけるワークの理想形状に従ってロボットを制御して工具を移動させることが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−１４１８８１号公報
【特許文献２】特開平７−２６６２６９号公報
【特許文献３】特開平７−３０８８７９号公報
【特許文献４】特開２０１２−２０３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示された技術では、視覚センサの検出情報に無視できない誤差が含まれる場合、加工中に過大な作用力がバリ取りツールに作用し、加工面の品質が不均一になる虞がある。
特許文献２に開示された技術では、ロボット経路を教示するのに多大な時間が要求されるので、十分な効率が得られずにコスト増大につながる。
【０００８】
特許文献３に開示された技術では、ワークモデルと、実際のワークとの間に個体差がある場合にはバリ取りの精度が十分に得られない虞がある。
特許文献４に開示された技術では、設計データと実際のワークとの間に無視できない形状の相違点がある場合、バリ取りの精度が十分に得られない虞がある。特に、鋳物ワークからバリを除去しようとする場合、ワークの個体差によって設計データからの乖離が大きく変化するので、バリ取りの精度を向上させるのは困難である。
【０００９】
したがって、ロボットプログラムの教示時間を短縮するとともにバリ取りの精度を向上させられるバリ取り装置が求められている。
【課題を解決するための手段】
【００１０】
本願に係る１番目の態様によれば、対象物からバリを除去するバリ取りツールを備えたバリ取り装置であって、前記対象物及び前記バリ取りツールのうちの少なくともいずれか一方を互いに相対的に移動させるロボットと、前記バリ取りツールにおいて作用する力を検出する力センサと、前記対象物の形状を表す三次元データに基づいて、前記対象物のうちのバリ取りされるべきバリ取り部位の位置及び形状をバリ取り部位形状データとして記憶するバリ取り部位形状データ記憶部と、前記バリ取り部位形状データ記憶部によって記憶される前記バリ取り部位形状データに基づいて、前記対象物に対する前記バリ取りツールの姿勢を設定するバリ取り姿勢設定部と、前記バリ取り姿勢設定部によって設定される前記バリ取りツールの姿勢、及び前記バリ取り部位形状データに基づいて、前記ロボットの動作を制御する複数のロボット動作指令を少なくとも含むロボットプログラムを作成するロボットプログラム作成部と、対象物の撮像画像から当該対象物の実際のバリ取り部位の位置を検出する視覚センサと、前記バリ取りツールの姿勢及び前記実際のバリ取り部位の位置に基づいて、前記実際のバリ取り部位の位置に沿って前記バリ取りツールを前記対象物に対して相対的に移動させるように、前記ロボットプログラム中の複数のロボット動作指令を個別に更新するロボットプログラム更新部と、前記ロボットプログラム更新部によって更新された前記ロボットプログラムに従って前記ロボットが動作する際に、前記力センサによって検出される前記バリ取りツールに作用する作用力、及び予め定められる該作用力の目標値に基づいて、前記ロボットの動作を制御する力制御部と、を備える、バリ取り装置が提供される。
本願に係る２番目の態様によれば、１番目の態様のバリ取り装置において、前記視覚センサは、前記バリ取り部位形状データに基づいて、前記対象物の前記撮像画像における探索領域を限定する探索領域限定部をさらに備えていて、限定された前記探索領域から前記実際のバリ取り部位の位置を検出するように構成される。
本願に係る３番目の態様によれば、１番目又は２番目の態様のバリ取り装置において、前記視覚センサは、前記撮像画像中から前記バリ取り部位を表す特徴線を検出することによって前記実際のバリ取り部位の位置を検出するように構成される。
本願に係る４番目の態様によれば、１番目から３番目のいずれかの態様のバリ取り装置において、前記視覚センサによって検出される前記実際のバリ取り部位の位置と、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データと、前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢と、に基づいて、対象物のバリ取りを実行する際の実際のバリ取りツールの姿勢を算出するバリ取り姿勢算出部をさらに備えており、前記ロボットプログラム更新部は、前記実際のバリ取りツールの姿勢に基づいて、前記ロボットプログラムを更新するように構成される。
本願に係る５番目の態様によれば、４番目の態様のバリ取り装置において、前記力制御部は、前記バリ取りツールに作用する作用力が前記目標値に近づくように、前記実際のバリ取り部位の位置及び前記実際のバリ取りツールの姿勢の少なくともいずれか一方を補正するように構成される。
本願に係る６番目の態様によれば、５番目の態様のバリ取り装置において、前記力制御部は、バリ取りを実際に実行した際の前記バリ取りツールの移動経路及び姿勢に基づいて、前記バリ取り部位形状データ記憶部に記憶された前記バリ取り部位形状データ及び前記バリ取り姿勢設定部によって設定された前記バリ取りツールの姿勢の少なくともいずれか一方を更新するように構成される更新部をさらに備える。
本願に係る７番目の態様によれば、１番目から６番目のいずれかの態様のバリ取り装置において、前記バリ取りツールの摩耗量を算出する摩耗量算出部をさらに備えており、前記力制御部は、前記摩耗量算出部によって算出される前記摩耗量に基づいて、前記目標値を補正するように構成される。
本願に係る８番目の態様によれば、１番目から７番目のいずれかの態様のバリ取り装置において、前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が前記ロボットの近傍に固定的に設置される。
本願に係る９番目の態様によれば、１番目から７番目のいずれかの態様のバリ取り装置において、前記バリ取りツールが前記ロボットに取付けられるとともに、前記対象物が、前記ロボットとは別個の第２のロボット又は可動装置によって前記対象物の位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、前記ロボットの動作が前記第２のロボット又は前記可動装置に対して相対的に制御されるようになる。
本願に係る１０番目の態様によれば、１番目から７番目のいずれかの態様のバリ取り装置において、前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍に固定的に設置される。
本願に係る１１番目の態様によれば、１番目から７番目のいずれかの態様のバリ取り装置において、前記ロボットが前記対象物を保持可能に構成されるとともに、前記バリ取りツールが前記ロボットの近傍において、前記ロボットとは別個の第２のロボット又は可動装置によって前記バリ取りツールの位置及び姿勢の少なくともいずれか一方が変更可能であるように設置されており、前記ロボットの動作が前記第２のロボット又は前記可動装置に対して相対的に制御されるようになる。
本願に係る１２番目の態様によれば、１番目から１１番目のいずれかの態様のバリ取り装置において、前記対象物の位置を検出するように構成される、前記視覚センサとは別個の第２の視覚センサをさらに備える。
本願に係る１３番目の態様によれば、１番目から１１番目のいずれかの態様のバリ取り装置において、前記視覚センサが、前記対象物の位置を検出するようにさらに構成される。
本願に係る１４番目の態様によれば、１番目から１３番目のいずれかの態様のバリ取り装置において、前記バリ取り部位形状データに基づいて、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記視覚センサの設定と、前記視覚センサが前記対象物の撮像画像を取得するのに必要な前記ロボットの動作を指定するロボットプログラムの作成と、のうちの少なくともいずれか一方を実行するデータ処理部をさらに備える。
【発明の効果】
【００１１】
上記構成を採用するバリ取り装置によれば、対象物の三次元データからバリ取り部位の形状データを抽出し、適切なバリ取りツールの姿勢を含むロボットプログラムを作成可能である。また、視覚センサを用いて実際の対象物のバリ取り部位を検出できるようになっているので、実際のバリ取り部位の位置情報に基づいて、実際の対象物に適合するようにロボットプログラムを更新できる。それにより、ロボットに教示されるロボットプログラムの作成に要する時間を大幅に短縮できるとともに、ワークの個体差が顕著な場合にもバリ取り処理を精度よく実行できるようになる。
【００１２】
さらに、上記構成によれば、バリ取り工程の際に、力センサによってバリ取りツールと対象物との間に作用する作用力をモニタしながら力制御によってロボットの動作が制御される。それにより、対象物とバリ取りツールとの間に適切な作用力が作用することを保証できるので、バリ取りツールが対象物に押し込まれすぎたり、対象物から離間しすぎたりすることを防止できる。したがって、バリ取り処理の精度を向上できる。また、作用力を調整するために従来設けられていたばね機構などの追加の機構が不要となり、構成を簡略化できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るバリ取り装置の構成を示す概略図である。
【図２】本発明の一実施形態に係るバリ取り装置の機能を示すブロック図である。
【図３】データ処理装置の例としてオフラインプログラミング装置を示す図である。
【図４】本発明の一実施形態に従って実行されるバリ取りの準備工程を説明するフローチャートである。
【図５】ワークの位置を検出するための視覚センサの設定工程を説明する図である。
【図６】ワークのバリ取り部位を検出するための視覚センサの設定工程を説明する図である。
【図７】バリ取り部位形状データの例を示す図である。
【図８Ａ】例示的なツールの姿勢を示す図である。
【図８Ｂ】例示的なツールの姿勢を示す図である。
【図８Ｃ】例示的なツールの姿勢を示す図である。
【図９】本発明の一実施形態に従ってロボットプログラムを更新する工程を説明するフローチャートである。
【図１０】視覚センサによるワークの位置及びバリ取り部位の検出工程を説明する図である。
【図１１】視覚センサの探索領域限定部の作用を説明する図である。
【図１２】本発明の一実施形態に従って実行されるバリ取り工程を説明するフローチャートである。
【図１３】摩耗量算出部の作用を説明する図である。
【図１４】本発明の第２の実施形態に係るバリ取り装置の構成を示す概略図である。
【図１５】本発明の第３の実施形態に係るバリ取り装置の構成を示す概略図である。
【図１６】本発明の第４の実施形態に係るバリ取り装置の構成を示す概略図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を説明する。図示される実施形態において、本発明の理解を助けるために構成要素の縮尺が適宜変更されている点に留意されたい。異なる実施形態の説明において、同一又は対応する構成要素には同一の符号が使用され、重複する説明は適宜省略される。
【００１５】
図１は、本発明の第１の実施形態に係るバリ取り装置１０の構成を示す概略図である。バリ取り装置１０は、複数のアームを備える多関節ロボット３０と、ロボット３０のアームの先端に位置する手首部３２に取付けられる力センサ３４と、力センサ３４に取付けられるバリ取りツール３６と、ロボット３０を制御するロボット制御装置６０と、を備えている。
【００１６】
ロボット３０は、ロボット制御装置６０から出力される制御信号に従って、各関節に設けられた図示されない電気モータ（サーボモータ）を回転させることによって、種々の位置及び姿勢をとることができる。ロボットは図示されたものに限定されず、公知の形態を有する任意のロボットにも本発明を同様に適用できる。
【００１７】
バリ取りツール（以下、単に「ツール」と称する。）３６は、バリを除去するのに一般的に使用される工具であって特定の形態のものに限定されず、例えばカッター、グラインダなどでありうる。ツール３６は、ロボット３０の手首部３２に固定されていて、ロボット３０が動作するのに従って手首部３２と一緒に移動する。
【００１８】
バリ取りされるべき対象物、例えば円柱状のワーク５０は、ロボット３０の可動範囲内において、床面又は作業テーブルなど（図示せず）に固定されている。したがって、ロボット３０が駆動されると、ツール３６がワーク５０に対して相対的に移動するようになっている。ワーク５０には、例えば表面５０ａを平面加工した際にその縁部に沿ってバリが形成されている。バリ取り装置１０は、ツール３６をワーク５０に対して押し当てながら表面５０ａの縁部に沿って移動させることによって、ワーク５０のバリを除去できるようになっている。
【００１９】
バリ取りを実行する際にワーク５０とツール３６との間に作用する作用力Ｆは、力センサ３４によって検出される。力センサ３４から出力される力検出値は、後述するようにロボット３０を力制御する際のフィードバック信号としてロボット制御装置６０に入力される。
【００２０】
図２は、バリ取り装置１０の機能を示すブロック図である。バリ取り装置１０は、データ処理装置６２、視覚センサ４０（図１０参照）及び力センサ３４などと協働してロボット３０の動作を制御するロボット制御装置６０を備えている。ロボット制御装置６０は、図２に示されるように、ロボットプログラム作成部６８と、力制御部７０と、駆動部７２と、更新部７４と、ロボットプログラム更新部７８と、バリ取り姿勢算出部８０と、摩耗量算出部８２と、を備えている。ロボット制御装置６０は、各種演算を実行するＣＰＵと、演算結果を一時的に記憶する揮発性ＲＡＭと、各種プログラム及びパラメータなどを記憶する不揮発性ＲＯＭと、から形成されるハードウェア構成を有する。
【００２１】
視覚センサ４０は、図示されないカメラ及び画像処理部を備えている。視覚センサ４０は、バリ取りを実行しようとするワーク５０を撮像して得られる画像を処理してワーク５０の実際のバリ取り部位５４の位置を検出するように形成される。具体的な一例としては、ワーク５０を撮像して得られた画像上から明暗の境界によって表されるエッジ特徴線を検出し、その特徴線をバリ取り部位５４とみなすことができる。一実施形態において、視覚センサ４０は、実際のワーク５０の位置を検出するようにさらに形成されていてもよい。
【００２２】
視覚センサ４０は、バリ取り部位形状データに基づいて、ワーク５０の撮像画像における探索領域を限定する探索領域限定部７６をさらに備えている。それにより、視覚センサ４０は、限定された探索領域から実際のバリ取り部位５４の位置を検出できるようになる。したがって、実際のバリ取り部位５４の位置を検出するのに必要な時間が短縮されるとともに、誤った部位を検出することなく安定した検出が行われるようになる。
【００２３】
データ処理装置６２は、例えば図３に示されるようなオフラインプログラミング装置でありうる。データ処理装置６２は、キーボードなどの入力部６２ａと、モニタなどの表示部６２ｂと、を備えている。図３に示されるように、データ処理装置６２は、ワーク５０の三次元データ５２を必要に応じて読出し可能である。データ処理装置６２は、ワーク５０の三次元データ５２から、ワーク５０のうちのバリ取りされるべき部位（以下、「バリ取り部位」と称する。）５４の形状及び位置に関するデータ（以下、「バリ取り部位形状データ」と称する。）を抽出する。図３においては、バリ取り部位５４が太線で強調して図示されている。データ処理装置６２は、抽出されたバリ取り部位形状データをバリ取り部位形状データ記憶部６４に入力する。また、データ処理装置６２は、ワーク５０の三次元データ５２を利用して、視覚センサ４０の設定処理を実行できるようになっている。
【００２４】
バリ取り部位形状データ記憶部６４は、データ処理装置６２から入力されるバリ取り部位形状データを記憶するように形成されている。記憶されたバリ取り部位形状データは、バリ取り姿勢設定部６６、ロボットプログラム作成部６８及びバリ取り姿勢算出部８０によって、それぞれ意図される処理を実行するために読出される。
【００２５】
バリ取り姿勢設定部６６は、バリ取り部位形状データ記憶部６４から読出されるバリ取り部位形状データに基づいて、バリ取りを実行する際におけるバリ取り部位５４に対応するツール３６の姿勢を設定する。ツール３６の姿勢は、バリ取り部位５４の全体にわたってワーク５０の表面５０ａに対して一定の角度に設定されうる。或いは、ツール３６の姿勢は、ロボット３０の周囲に存在する障害物などの外的要因を考慮して局所的に設定されてもよい。
【００２６】
バリ取り姿勢算出部８０は、視覚センサ４０によって検出される実際のバリ取り部位５４の位置と、バリ取り部位形状データ記憶部６４に記憶されたバリ取り部位形状データと、バリ取り姿勢設定部６６によって設定されるツール３６の姿勢と、に基づいて、ワーク５０のバリ取りを実行する際の実際のツール３６の姿勢を算出するように形成されている。
【００２７】
ロボットプログラム作成部６８は、バリ取り部位形状データ記憶部６４から読出されるバリ取り部位形状データと、バリ取り姿勢設定部６６によって設定されたツール３６の姿勢と、に基づいて、バリ取り装置１０のロボットプログラムを作成する。ロボットプログラムには、ロボット３０の動作指令が少なくとも含まれる。このロボットプログラムによって、バリ取りを適切に実行するためのツール３６、すなわちロボット３０の移動経路及び移動速度などが指定される。また、このロボットプログラムには、ロボット３０に対する制御信号に加えて、ロボット３０を力制御する目的で使用される、ツール３６に作用する作用力の目標値が含まれる。なお、この作用力の目標値には、作用力の大きさに加えて作用方向の情報が含まれる。
【００２８】
ロボット制御装置６０の力制御部７０には、力センサ３４によって検出される、バリ取り処理の際にツール３６に作用する作用力Ｆの検出値がフィードバックされる。力制御部７０は、ロボットプログラム作成部６８によって作成されるロボットプログラムにおいて指定される作用力Ｆの目標値と、力センサ３４から入力される力検出値と、に基づいてロボット３０の駆動信号を駆動部７２に送出する。具体的には、力制御部７０によって、力センサ３４による力検出値が、目標値に近づくようにロボット３０が制御される。例えば、力検出値が目標値よりも大きい場合は、ツール３６がワーク５０から離間する方向にロボット３０を移動させる。逆に、力検出値が目標値よりも小さい場合は、ツール３６がワーク５０に接近する方向にロボット３０を移動させる。
【００２９】
ロボット制御装置６０の駆動部７２は、力制御部７０から入力される駆動信号に応じて、ロボット３０の各関節に設けられる電気モータ（サーボモータ）を制御する制御信号を出力するように形成されている。ツール３６は、駆動部７２から送出される制御信号に応じてワーク５０に対して移動する。
【００３０】
力制御部７０は、ツール３６の作用力Ｆが目標値に近づくように、実際のバリ取り部位５４の位置及び実際のバリ取りツールの姿勢の少なくとも一方を補正するように形成されている。力制御部７０は、更新部７４をさらに備えている。更新部７４は、バリ取りが行われている間の実際のバリ取りツールの移動経路及び姿勢を取得し、バリ取り部位形状データ記憶部６４に記憶されたバリ取り部位形状データ、及びバリ取り姿勢設定部６６によって設定されたツール３６の姿勢の少なくとも一方を更新するように形成されている。
【００３１】
ロボット制御装置６０の摩耗量算出部８２は、ツール３６がワーク５０に接触する位置に関して、未使用状態のツール３６と、バリ取りを実行した後のツール３６とをそれぞれ比較して、ツール３６の摩耗量を算出するように形成される。算出された摩耗量は、力制御部７０における作用力の目標値、及びロボットプログラムによって指定されるロボット３０の動作速度のうちの少なくとも一方を補正するのに使用される。
【００３２】
ロボット制御装置６０のロボットプログラム更新部７８は、ロボットプログラム作成部６８によって作成されるロボットプログラムを更新するように形成される。例えば、視覚センサ４０によって実際のバリ取り部位５４の位置が検出されると、その情報に基づいて、ロボット３０の動作経路を変更するようにロボットプログラムが更新される。
【００３３】
続いて、ワーク５０からバリを除去する際におけるバリ取り装置１０の動作について説明する。先ず、バリ取りを行う前に実行される準備工程について説明する。図４は、本発明の一実施形態に従って実行されるバリ取りの準備工程を説明するフローチャートである。
【００３４】
準備工程において、視覚センサによってワーク５０の位置を検出するために視覚センサの設定、すなわちワーク５０のモデルの教示、各種パラメータの設定が行われる。図５に示されるように、ワーク５０の表面５０ａに形成される複数の穴５６が、ワーク５０の形状を特徴付ける特徴部として作用する。視覚センサは、それら穴５６を検出することによって、ワーク５０の位置を容易に検出できる。また、図示されるようにそれら穴５６を通る２本の直線がＸ軸及びＹ軸となるようにワーク座標系が定義されうる。そして、ワーク５０のそれら穴５６を視覚センサによって検出できるようになるロボット３０の位置及び姿勢（以下、「第１の位置及び姿勢」と称する。）が取得される（ステップＳ１１）。第１の位置及び姿勢は、視覚センサの検出範囲と、特徴部の位置情報と、に基づいて取得される。取得された第１の位置及び姿勢は、例えばロボット制御装置６０のＲＡＭに記憶されうる。
【００３５】
続いて、ワーク５０のバリ取り部位５４を検出するために視覚センサの設定、すなわち探索領域限定部７６で使用される各種パラメータの設定が行われる。図６に示されるように、ワーク５０の表面５０ａの縁部においてバリ取り部位５４が指定される。バリ取り部位５４の指定は、例えば始点５４ａ、終点５４ｂ及び進行方向５４ｃを教示することによって行われる。指定されたバリ取り部位５４は、所定間隔で配列された多数の点からなるバリ取り部位形状データとして抽出される。図７は、ワーク５０の表面５０ａの縁部全周にわたってバリ取り部位５４が指定される例を示す。なお、バリ取り部位が直線である場合、両端の位置のみが指定されてもよい。また、円形の場合、円の中心の位置及び半径の大きさのみが指定されてもよい。また、抽出されるバリ取り部位形状データには、バリ取り部位５４がワーク５０の外周に位置するか、又は内周に位置するかに関する情報、及びワーク５０の表面５０ａが鉛直方向下向きに配置されるか、又は上向きに配置されるかに関する情報が含まれうる。
【００３６】
そして、ワーク５０のバリ取り部位５４を視覚センサによって検出できるようになるロボット３０の位置及び姿勢（以下、「第２の位置及び姿勢」と称する。）が取得される（ステップＳ１２）。第２の位置及び姿勢は、視覚センサの検出範囲と、バリ取り部位形状データと、に基づいて取得される。取得された第２の位置及び姿勢は、例えばロボット制御装置６０のＲＡＭに記憶される。
【００３７】
続いて、バリ取り部位５４に対応するツール３６の姿勢が設定される（ステップＳ１３）。前述したように、バリ取り部位形状データは点の集合として記憶される。例えば、それら点のそれぞれにおいて適切なツール３６の姿勢が設定される。図８Ａ〜図８Ｃは、バリ取り部位５４に対して設定されるツール３６の姿勢の例を示している。図８Ａに示される例では、バリ取り部位５４の全体にわたってツール３６の姿勢が一定になるように設定される。この場合、ツール３６の中心軸線３６ａは、ワーク５０の表面５０ａに対して垂直に延在している。また、図８Ｂに示される例では、バリ取り部位５４の全体にわたって、ツール３６の中心軸線３６ａがワーク５０の表面５０ａに対して直角以外の或る同一の角度をなして傾斜するように、ツール３６の姿勢が設定される。また、図８Ｃに示される例では、ツール３６の中心軸線３６ａがワーク５０の表面５０ａに対して形成する角度が局所的に変化するように、ツール３６の姿勢が設定される。例えば、バリ取り部位５４の一部の箇所において、ツール３６が他の部材と干渉する可能性がある場合、その一部の箇所においてのみツール３６の姿勢が変更される。
【００３８】
続いて、バリ取り部位形状データ記憶部６４に記憶されたバリ取り部位形状データと、バリ取り姿勢設定部６６によって設定されるツール３６のバリ取り時の姿勢と、に基づいて、バリ取りを実行する際のツール３６、すなわちロボット３０の移動速度、及びツール３６に作用する作用力Ｆの目標値が設定される（ステップＳ１４）。例えば、バリ取り部位５４の形状が急激に変化する角部（比較的小さい曲率半径で方向が変わる部位）においては、ロボット３０の移動速度を低下させるとともに、作用力Ｆの目標値を小さくする。
【００３９】
そして、ワーク５０のバリ取りを実行するための基準となるロボットプログラムが作成される（ステップＳ１５）。ステップＳ１５において、ロボットプログラム作成部６８が起動され、ワーク５０の穴５６を検出するための視覚センサの位置に対応するロボット３０の第１の位置及び姿勢と、ワーク５０のバリ取り部位５４を検出するための視覚センサの位置に対応するロボット３０の第２の位置及び姿勢と、バリ取り部位５４に対するツール３６の姿勢と、ロボット３０の移動速度と、ツール３６の作用力の目標値と、に基づいて、バリ取り装置１０を動作させるロボットプログラムが作成される。このロボットプログラムには、視覚センサを利用したワーク５０の位置を検出する指令、バリ取り部位５４を検出する指令、ロボット３０の動作指令、ツール３６とワーク５０との間に作用する作用力Ｆについて力制御を実行する指令などが含まれる。
【００４０】
以上、図４などを参照しながら、バリ取りの準備工程について説明した。次に、実際のバリ取り装置１０を使用してワーク５０のバリ取りを実行する方法について説明する。図９を参照して、視覚センサの検出結果に基づいて、バリ取りされるべき実際のワーク５０に対応するようバリ取り装置１０のロボットプログラムを更新する工程について説明する。図９は、本発明の一実施形態に従ってバリ取り装置１０のロボットプログラムを更新する工程を示すフローチャートである。ここでは、視覚センサによって検出される実際のワーク５０の位置及び実際のバリ取り部位５４の位置及び形状に基づいて、ロボットプログラムが更新される。
【００４１】
図１０は、視覚センサ４０によってワーク５０の実際の位置並びにバリ取り部位５４の実際の位置を取得する際のバリ取り装置１０を示している。図示される実施形態では、視覚センサ４０は図１０に示されるように、力センサ３４及びツール３６と同様にロボット３０の手首部３２に取付けられている。しかしながら、代替的な態様において、視覚センサ４０は、ロボット３０から独立した位置に設けられていてもよい。
【００４２】
図９を再び参照すると、先ず、ロボット３０が、準備工程のステップＳ１１（図４参照）において取得された第１の位置及び姿勢に移動させられる（ステップＳ２１）。そして、視覚センサ４０によってワーク５０の特徴部（例えば穴５６（図３参照））を検出することによって、バリ取りされるべきワーク５０の実際の位置が検出される（ステップＳ２２）。
【００４３】
ステップＳ２２において取得された実際のワーク５０の位置に基づいて、ロボットプログラムに含まれるロボット３０の第２の位置及び姿勢が補正される（ステップＳ２３）。すなわち、想定されたワーク５０の位置と実際のワーク５０の位置とが互いに相違する場合、その誤差を補償した上で次のステップに進むことになる。続いて、ステップＳ２３において補正された第２の位置及び姿勢にロボット３０が移動させられる（ステップＳ２４）。補正された第２の位置及び姿勢において、視覚センサ４０によってワーク５０のバリ取り部位５４が検出される（ステップＳ２５）。
【００４４】
視覚センサ４０を用いて実際のバリ取り部位５４の位置を検出する際には、探索領域限定部７６が起動され、バリ取り部位形状データ記憶部６４に記憶されたバリ取り部位形状データに基づいて、バリ取り部位５４が含まれると予想される撮像画像上の領域が定められる。この限定された領域を探索領域として、バリ取り部位５４の検出処理が実行される。例えば図１１において、バリ取り部位形状データから得られるバリ取り部位５４’が破線で示されている。この場合、探索領域Ａは、バリ取り部位５４’から半径方向外側及び内側にそれぞれ所定の距離だけ離間する範囲として定められる。そして、その探索領域Ａの範囲内で、点線で図示される実際のバリ取り部位５４の位置が検出される。このように、記憶されたバリ取り部位形状データに基づいて探索領域を限定することによって、撮像画像全体を探索する場合に比べて、短時間で効率よく実際のバリ取り部位５４の位置を検出できるとともに、誤った部位を検出することなく安定した検出が行われるようになる。
【００４５】
続いて、バリ取り姿勢算出部８０が起動され、実際にバリ取りを実行する際のツール３６の姿勢が算出される（ステップＳ２６）。バリ取り姿勢算出部８０は、ステップＳ２５によって得られた実際のバリ取り部位５４の位置情報と、図４において説明したステップＳ１３において求められたツール３６の姿勢と、に基づいて、実際のツール３６の姿勢を算出する。例えば、図１１に示されるように、実際のバリ取り部位５４の或る箇所Ｐにおけるツール３６の姿勢を求める場合、当該箇所Ｐから、バリ取り部位形状データから得られるバリ取り部位５４’上の最短距離に位置する箇所Ｑにおけるツール３６の姿勢が、箇所Ｐにおける実際のツール３６の姿勢として採用される。
【００４６】
そして、ロボットプログラム更新部７８が起動され、ステップＳ２５において得られた実際のバリ取り部位５４の位置と、ステップＳ２６において得られた実際のツール３６の姿勢と、に基づいて、バリ取りを実行するためのロボットプログラムが更新される（ステップＳ２７）。このように、視覚センサ４０によって得られた実際のワーク５０のバリ取り部位５４に基づいて、ロボットプログラムが更新されるので、例えばワーク５０に個体差が存在する場合、又はワーク５０の固定位置が想定された位置から僅かにずれている場合においても、正確な情報に基づいてロボットプログラムが更新されるので、バリ取りの信頼性が向上する。また、本実施形態によれば、ロボットプログラムは、最初から作成されるのではなく、ワークの三次元形状データに従って基準となるロボットプログラムが予め作成されているので、短時間でより適切なロボットプログラムに更新できる。したがって、バリ取り装置としての効率を向上させられる。
【００４７】
次に、更新されたロボットプログラムに従って、バリ取りを実行する際の工程について図１２を参照して説明する。図１２は、本発明の一実施形態に従って実行されるバリ取り工程を説明するフローチャートである。
【００４８】
ロボット３０は、ロボットプログラム更新部７８によって更新されたロボットプログラムに従って駆動され、それによりツール３６がワーク５０のバリ取り部位５４に押し当てられることによって、バリ取りが実行される（ステップＳ３１）。バリ取りが行われる際、力センサ３４によって、ツール３６とワーク５０との間に作用する作用力Ｆが検出される（ステップＳ３２）。検出された作用力Ｆは力制御部７０にフィードバックされ、作用力がモニタされる。力検出値は、ロボットプログラムによって指定される作用力Ｆの目標値と比較され、目標値から所定の範囲内に含まれるか否かが判定される（ステップＳ３３）。
【００４９】
ステップＳ３３において、検出された作用力Ｆが目標値から所定の範囲に含まれないと判定された場合、ステップＳ３４に進み、力制御部７０によってロボット３０の動作が調整される。すなわち、作用力Ｆの大きさが目標値よりも大きい場合は、ロボット３０をワーク５０から離間する方向に移動させる。逆に作用力Ｆの大きさが目標値よりも小さい場合は、ロボット３０をワーク５０に接近する方向に移動させる。また、作用力Ｆの方向が目標値からずれている場合は、作用力Ｆの方向が目標値に近づくように、ロボット３０を移動させてツール３６の姿勢を調整する。
【００５０】
さらに、更新部７４が起動され、バリ取り部位形状データ記憶部６４に記憶されたバリ取り部位５４の形状データ及びバリ取り姿勢設定部６６によって設定されたツール３６の姿勢のうちの少なくとも一方が更新される（ステップＳ３５)。この更新は、一例としてバリ取り部位形状データと、実際のバリ取り部位の形状が大きく乖離している場合に特に有効である。なぜなら、そのような更新を行うことによって、次回以降のバリ取り実行の工程において、それら形状が乖離する程度を抑えられるからである。なお、ステップＳ３５は必要に応じて省略されてもよい。
【００５１】
ステップＳ３３において、作用力Ｆが目標値の範囲に含まれると判定された場合、ステップＳ３６に進み、バリ取りが完了したか否かが判定される。バリ取りが完了していないと判断された場合は、前述のステップＳ３６の直前までの処理が繰返し実行される。ステップＳ３２〜Ｓ３６の処理は、バリ取りが完了するまでの間、バリ取りを行なっている最中に繰り返し高速で実行される。このように、本実施形態においては、力センサ３４からの力検出値を利用したフィードバック制御を実行する力制御部７０によって、ツール３６の作用力がモニタされる。それにより、ツール３６がワーク５０に押し込まれすぎたり、ツール３６とワーク５０との間の接触が不十分になったりするなどの不具合を確実に防止できる。したがって、バリ取り工程の精度が向上し、品質を均一化できる。また、ツールの作用力をある程度維持するために従来必要とされていたばね機構を設ける必要もなくなるので、構造を簡略化できる。
【００５２】
一実施形態において、ツール３６の摩耗量を考慮してロボットプログラムが更新されるようにバリ取り装置１０が形成されてもよい。ツール３６の摩耗量は、ロボット制御装置６０の摩耗量算出部８２を起動することによって得られる。具体的には、図１３に示されるように、使用前の新品のツール３６’が接触部材９０に接触するようにロボット３０を図示される矢印１２０の方向に移動させ、そのときのロボット３０の位置を予め記憶しておく。そして、バリ取りを行った後のツール３６’’を同様に接触部材９０に接触させ、そのときのロボット３０の位置が、記憶しておいたロボット３０の位置と比較される。このようにして、使用前のツール３６’の中心軸線３６ａ’と、使用後のツール３６’’の中心軸線３６ａ’’との間の距離が算出され、それによりツール３６の摩耗量Ｂが求められる。
【００５３】
摩耗量算出部８２によって得られたツール３６の摩耗量は、例えばツール３６とワーク５０との間に作用する作用力の目標値を補正するのに使用される。例えば大きな摩耗量が検出されるのに従ってツール３６の切削力が低下する傾向がある場合には、目標値が大きくなるように、又はロボット３０の移動速度を低下させるようにロボットプログラムが更新される。
【００５４】
図１４は、第２の実施形態に係るバリ取り装置１２を示す図である。本実施形態は、力センサ３４及びツール３６がロボット３０の手首部３２に取付けられている点では前述した第１の実施形態と同様であるものの、ワーク５０が第２のロボット１００の手首部１０２によって保持されている点において相違する。ロボット３０は、第１の実施形態と同様の構成を有し、同様に作用する。第２のロボット１００はロボット制御装置１０４によって制御される。第２のロボット１００は、バリ取り装置１２の一連の処理の間、同じ位置及び姿勢を維持するように制御されてもよいし、各処理の際に必要に応じて位置及び姿勢を変更するように制御されてもよい。後者の場合、第２のロボット１００の位置及び姿勢の変化、すなわちワーク５０の位置及び姿勢の変化を考慮して、各処理が実行される。このようなバリ取り装置１２を使用しても、バリ取り部位形状データ、力センサ、視覚センサなどを利用した効率的かつ信頼性の高いバリ取りが可能になる。
【００５５】
図１５は、第３の実施形態に係るバリ取り装置１４を示す図である。本実施形態は、力センサ３４及びツール３６がロボット３０の手首部３２に取付けられている点では前述した第１の実施形態と同様であるものの、ワーク５０が可動装置１１０に設置されている点において相違する。ロボット３０は、第１の実施形態と同様の構成を有し、同様に作用する。可動装置１１０は、例えば搬送コンベヤであり、ワーク５０をロボット３０の可動範囲内に順次搬送したり、ロボット３０の形態（ロボット３０がバリ取りを実行するための姿勢）が適切になるようにワーク５０の位置を変更したりされるように形成されている。このようなバリ取り装置１４を使用しても、バリ取り部位形状データ、力センサ、視覚センサなどを利用した効率的かつ信頼性の高いバリ取りが可能になる。
【００５６】
図１６は、第４の実施形態に係るバリ取り装置１６を示す図である。本実施形態は、ロボット３０の手首部３２に力センサ３４が取付けられている点では第１の実施形態と同様であるものの、手首部３２における力センサ３４の先には、ツール３６ではなくワーク５０が保持されている。そして、ツール３６は、作業テーブル１１４に固定されている。図示されないものの、ワーク５０の位置及びバリ取り部位を検出するのに使用される視覚センサは、例えば作業テーブル１１４に固定的に設置される。このようなバリ取り装置１６においても、力センサ３４によってツール３６とワーク５０との間に作用する作用力が検出され、ロボット３０は、前述した第１の実施形態と同様に制御され、ワーク５０のバリ取りに必要な処理をそれぞれ実行できる。したがって、バリ取り部位形状データ、力センサ、視覚センサなどを利用した効率的かつ信頼性の高いバリ取りが可能になる。
【００５７】
前述した各実施形態において、視覚センサは、ワークの位置を検出するとともにバリ取り部位の位置及び形状を検出する目的で使用されるものの、代替的な実施形態において、バリ取り部位の位置及び形状を検出する第１の視覚センサと、これとは別個のワークの位置を検出する第２の視覚センサと、が設けられてもよい。この場合、第１の視覚センサ及び第２の視覚センサの少なくともいずれか一方がロボットに取付けられてもよいし、又はロボットから物理的に離間する外部に設けられてもよい。
【００５８】
以上、本発明の種々の実施形態及び変形例を説明したが、他の実施形態及び変形例によっても本発明の意図される作用効果を奏することができることは当業者に自明である。特に、本発明の範囲を逸脱することなく前述した実施形態及び変形例の構成要素を削除ないし置換することが可能であるし、公知の手段をさらに付加することが可能である。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【００５９】
特に、ワークの位置を検出するための視覚センサ及びバリ取り部位を検出するための視覚センサを別個設けたり、又はそれら機能を有する単体の視覚センサを設けることは、当業者によって任意に選択できる。また、力センサ、ワーク及びツールのうちのいずれの構成要素をロボットに取付けるかは、本発明との関係では何ら限定されない。また、いずれの場合であっても、残りの構成要素がロボットとは別個の移動可能な又は固定された構造体に設置されうるし、又は他のロボットに取付けられうる。
【符号の説明】
【００６０】
１０    バリ取り装置
３０    ロボット
３２    手首部
３４    力センサ
３６    バリ取りツール
４０    視覚センサ
５０    ワーク
５４    バリ取り部位
５６    穴（特徴部）
６０    ロボット制御装置
６２    データ処理装置
６４    バリ取り部位形状データ記憶部
６６    バリ取り姿勢設定部
６８    ロボットプログラム作成部
７０    力制御部
７２    駆動部
７４    更新部
７６    探索領域限定部
７８    ロボットプログラム更新部
８０    バリ取り姿勢算出部
８２    摩耗量算出部
９０    接触部材
１００    第２のロボット
１０２    第２のロボットの手首部
１０４    第２のロボットの制御装置
１１０    可動装置
１１４    作業テーブル
１２０    ツール移動方向
Ａ    探索領域
Ｂ    摩耗量
【図１】
0005845212.tif 000002
【図２】
0005845212.tif 000003
【図３】
0005845212.tif 000004
【図４】
0005845212.tif 000005
【図５】
0005845212.tif 000006
【図６】
0005845212.tif 000007
【図７】
0005845212.tif 000008
【図８Ａ】
0005845212.tif 000009
【図８Ｂ】
0005845212.tif 000010
【図８Ｃ】
0005845212.tif 000011
【図９】
0005845212.tif 000012
【図１０】
0005845212.tif 000013
【図１１】
0005845212.tif 000014
【図１２】
0005845212.tif 000015
【図１３】
0005845212.tif 000016
【図１４】
0005845212.tif 000017
【図１５】
0005845212.tif 000018
【図１６】
0005845212.tif 000019