説明

ロボットによるバリ除去方法

【課題】ロボットに取り付けた工具を位置制御により移動させてワークの大型のバリ取りを行う際に、位置制御のための膨大なティーチング作業を省くことができる、ロボットによるバリ取り方法を提供する。
【解決手段】ディスプレイ19aの表示画面上で選択されたワーク15のCADデータから、そのワーク15の設計上の形状(表面形状)を示す設計上の形状データを生成する。また、生成した形状データを用いて、ワーク15のロボット1に対する実際の方向と設計上の形状とを示す位置姿勢データを生成する。そして、生成した位置姿勢データで示される位置姿勢のワーク15の表面に沿って、エンドエフェクタ23,25を位置制御により移動させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットにより工具を動かしてワークのバリを除去する方法に関するものである。
【背景技術】
【0002】
例えば、ロボットにより面取りを行う鋳物に加工誤差がある場合は、ロボットに取り付けた工具を力制御で鋳物に接触させる必要がある。しかし、面取りする場所に大型のバリが存在すると、バリの縁が面取りされるだけでバリを除去することはできない。そこで、ロボットに取り付けた工具を位置制御で鋳物に接触させて、例え大雑把であっても大型のバリを前もって除去しておくことを提案した従来技術が存在する。
【0003】
このように、大型のバリを除去するには、ロボットに取り付けた工具を位置制御で加工対象のワークに接触させる必要がある。このようなロボットの位置制御を行うためには、ワークの仕上げ位置をティーチング作業によりロボットの制御装置に教示する必要がある。上述した従来技術では、力制御により工具を一定の押し付け力でワークに押し当てて面取りを行う際に、工具の移動経路のデータを取得し、取得したデータを加工することで、位置制御用のワークの仕上げ位置のデータをティーチング抜きで制御装置に教示することが提案されている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平4−306704号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した従来技術では、バリ取りのための位置制御と面取りのための力制御とを併用することから、力制御による工具の移動中に取得したデータを加工して位置制御に必要なデータとして活用しティーチング作業の簡略化を図る、という手法を採ることができる。
【0006】
しかし、面取りを必要とせず大型のバリを除去する作業のみを行う場合は、面取りのために工具を力制御により移動させる必要がないので、バリ取りのための位置制御に関するティーチング作業を省けるという、上述した従来技術のような利点がそもそも得られない。したがって、大型のバリ取りのみを行う場合は、位置制御に必要なデータを取得するためのティーチング作業を行うしかない。特に、ワークが複雑な形状のものである場合は、ティーチングするポイント数が増えるので、ティーチング作業の負担は膨大なものとなる。
【0007】
本発明は前記事情に鑑みなされたもので、本発明の目的は、ロボットに取り付けた工具を位置制御により移動させてワークの大型のバリ取りを行う際に、位置制御のための膨大なティーチング作業を省くことができる、ロボットによるバリ取り方法を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、請求項1に記載した本発明のロボットによるバリ除去方法は、
ロボットに取り付けた工具を該ロボットの位置制御によりワークに対して移動させて、前記工具により前記ワークのバリ取りを行う方法であって、
前記ロボットに取り付けた接触子を該ロボットのタッチセンシングにより前記ワークの1以上の箇所に所定の押し付け力で押し付けるステップと、
前記接触子が前記ワークの前記箇所に前記所定の押し付け力以上で押し付けられたときの前記ロボットの姿勢データから、前記ワークの前記箇所の前記ロボットに対する相対位置を示す位置データを取得するステップと、
予め取得した前記ワークの設計データから前記ワークの理想形状を示す理想形状データを生成するステップと、
前記箇所が前記ロボットに対して前記位置データによって示される相対位置にある前記ワークの、前記理想形状データによって示される理想形状に倣って、前記ロボットの位置制御により前記工具を移動させるステップと、
を含むことを特徴とする。
【0009】
請求項1に記載した本発明のロボットによるバリ除去方法によれば、ワークの設計データから生成される理想形状データを、接触子のワークに対する接触によって取得した位置データによって示されるロボットに対する相対位置に合わせることで、バリ除去のための位置制御に必要なデータがティーチング作業なしに得ることができる。
【0010】
また、請求項2に記載した本発明のロボットによるバリ除去方法は、請求項1記載のロボットによるバリ除去方法において、
前記理想形状データを生成する前記ステップは、
前記箇所が前記ロボットに対して前記位置データによって示される相対位置にある理想形状に加工されたマスターワークの形状に倣って、前記ロボットの力制御により前記接触子を移動させて、前記マスターワークの形状を示す前記理想形状データを生成するステップ、
を含んでいる、
ことを特徴とする。
【0011】
請求項2に記載した本発明のロボットによるバリ除去方法によれば、請求項1記載のロボットによるバリ除去方法において、ワークの設計上の形状データに代えて理想的にバリが除去されたマスターワークの形状データを用いることになる。よって、設計上のワークの理想的な形状と、実際にバリを除去した理想的な形状に加工されたマスターワークの形状とが異なる場合に、現実の理想的な形状を有するマスターワークの形状に合わせてワークのバリを精度よく除去することができる。
【発明の効果】
【0012】
本発明のロボットによるバリ除去方法によれば、ロボットに取り付けた工具を位置制御により移動させてワークの大型のバリ取りを行う際に、位置制御のための膨大なティーチング作業を省くことができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1実施形態に係るバリ除去方法を実行するのに用いるロボットシステムの概略構成を示す説明図である。
【図2】図1のロボットシステムの電気的な概略構成を示すブロック図である。
【図3】図1の制御用PCのCPUがROMに格納されたプログラムにしたがって行う制御を示すフローチャートである。
【図4】本発明の第1実施形態に係るバリ除去方法により図1のロボットが設計上のワークの形状に倣って実際のワークのバリを除去する際の動作を示す説明図である。
【図5】本発明の第2実施形態に係るバリ除去方法を実行するのに用いるロボットシステムの制御用PCのCPUがROMに格納されたプログラムにしたがって行う制御を示すフローチャートである。
【図6】本発明の第2実施形態に係るバリ除去方法を実行するのに用いるロボットシステムの制御用PCのCPUがROMに格納されたプログラムにしたがって行う制御を示すフローチャートである。
【図7】本発明の第2実施形態に係るバリ除去方法により図1のロボットがマスターワークの形状に倣って実際のワークのバリを除去する際の動作を示す説明図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照しながら説明する。
【0015】
図1は本発明の第1実施形態に係るバリ除去方法を実行するのに用いるロボットシステムの概略構成を示す説明図である。
【0016】
図1中引用符号1で示す本実施形態のロボットは、ワーク15に空けられた孔15aの周囲にあるバリを除去するものである。このワーク15は、ガイドレール17上を移動するスライダ16によって、ロボット1の作業エリアに移送、配置される。そして、本実施形態のロボット1は、円柱状の基台3上に設置された多関節型アーム5の先端にフランジ部9を有している。
【0017】
多関節型アーム5は、基台3側から順に第1乃至第4の4つのアーム部6a〜6dを有している。基台3と第1アーム部6aはA1軸6eで回転可能に連結されている。第1アーム部6aと第2アーム部6bはA2軸6fで回転可能に連結されている。第2アーム部6bと第3アーム部6cはA3軸6gで回転可能に連結されている。第3アーム部6cの先端側(第4アーム部6d側)はA4軸6hにより、基端側(第2アーム部6b側)に対して回転可能とされている。第3アーム部6cと第4アーム部6dはA5軸6iで回転可能に連結されている。第4アーム部6dの先端には、A6軸6j及び力覚センサ11を介してフランジ部9が回転可能に連結されている。
【0018】
このように構成された本実施形態のロボット1においては、多関節型アーム5に内蔵したA1〜A6の各軸6e〜6j用のロータリアクチュエータ5A〜5F(図2参照)に、ロボットコントローラ31から適切な制御値を与えることで、基台3に対して多関節型アーム5を適切な姿勢とする。
【0019】
このような構成のロボット1は、位置ベクトルによって各部の位置及び姿勢を管理する。この位置及び姿勢の管理にはロボット座標系が用いられる。ロボット座標系は、ロボット原点Oを原点とする座標系である。このロボット原点Oは、基台3の設置面3aの中心点に設定される。
【0020】
なお、フランジ部9にはエンドエフェクタ13,23,25が選択的に取り付けられる。エンドエフェクタ13は、先端に接触子を有している。このエンドエフェクタ13は、後述する動作によってワーク15の複数箇所の位置を検出するために用いられる。他のエンドエフェクタ23,25(請求項中の工具に相当)は、先端に形状が異なるカッターをそれぞれ有している。これらのエンドエフェクタ23,25は、ワーク15の孔15aの周囲のバリを除去するのに用いられ、ワーク15の形状やロボット1に対するワーク15の方向によって適切なものが選択される。フランジ部9に取り付けていないエンドエフェクタ(図1ではエンドエフェクタ23,25)は、ラック21に収納される。
【0021】
エンドエフェクタ13,23,25は、ロボット1の出荷段階ではフランジ部9に取り付けられていない。したがって、後述するロボットコントローラ31(図2参照)がロボット1の位置及び姿勢を制御するために有しているロボット座標系における位置ベクトルのデータは、フランジ部9までの分だけである。フランジ部9に取り付けたエンドエフェクタ13,23,25の位置及び姿勢の管理には、エンドエフェクタ13,23,25の代表点であるツールセンターポイントTCPを原点とするツール座標系が用いられる。
【0022】
ツール座標系は、ロボット1の受け入れ側において行う較正作業によって、後からロボットコントローラ31に設定される。ツール座標系の較正は、ロボット1のフランジ部9に対するエンドエフェクタ13の取付点を原点とするロボット手先座標系を用いて行う。具体的には、ロボット手先座標系から見たツール座標系の相対的位置・姿勢を較正することで行う。そして、ロボット手先座標系から見たツール座標系の相対的位置・姿勢を記述する行列やベクトルを表すデータを、ロボットコントローラ31に与える。
【0023】
したがって、ロボットコントローラ31では、ロボット座標系におけるロボット手先座標系の原点の位置ベクトルに基づいて、エンドエフェクタ13,23,25のツールセンターポイントTCPのロボット座標系における位置ベクトルを特定する。
【0024】
図2は、図1のロボットの電気的な概略構成を示すブロック図である。図2に示すように、ロボットコントローラ31は、ロボット座標系におけるエンドエフェクタ13のツールセンターポイントTCPの座標値を管理し、ロボット1の多関節型アーム5の動作を制御するために、CPUやRAM及びROMを有するコンピュータによって構成される。このロボットコントローラ31には、ドライブ回路5G〜5Lと、ロータリセンサ5M〜5Rと、力覚センサ11とが接続される。
【0025】
ドライブ回路5G〜5Lはロータリアクチュエータ5A〜5Fに対応している。ロータリアクチュエータ5A〜5Fは、ロボット1の多関節型アーム5のA1軸乃至A6軸6e〜6jを回転させる駆動源である。ロータリセンサ5M〜5Rはロータリアクチュエータ5A〜5Fに対応している。ロータリセンサ5M〜5Rは、対応するロータリアクチュエータ5A〜5FによるA1軸乃至A6軸6e〜6jの各軸の回転方向及び回転角度(又は回転量)を検出する。力覚センサ11は、フランジ部9に取り付けたエンドエフェクタ13,23,25に加わる荷重とその方向を検出する。
【0026】
ロボットコントローラ31は、位置制御又は力制御でロボット1の多関節型アーム5乃至エンドエフェクタ13,23,25を移動させる。位置制御の場合は、外部からロボットコントローラ31に、ワーク15のロボット座標系における位置姿勢データが入力される。そして、ロボットコントローラ31は、入力された位置姿勢データによってロボット座標系における位置及び姿勢が規定されたワーク15の表面に沿ってエンドエフェクタ13,23,25を移動させるための、ロータリアクチュエータ5A〜5Fの駆動信号を生成し、対応するドライブ回路5G〜5Lに出力する。
【0027】
一方、力制御の場合は、外部からロボットコントローラ31に、ワーク15に対するエンドエフェクタ13,23,25の押し付け力と、ロボット座標系におけるエンドエフェクタ13,23,25のワーク15に対する押し付け開始位置とを示すデータが入力される。そして、ロボットコントローラ31は、入力されたロボット座標系におけるワーク15への押し付け開始位置にエンドエフェクタ13,23,25を移動させるための、ロータリアクチュエータ5A〜5Fの駆動信号を生成し、対応するドライブ回路5G〜5Lに出力する。また、入力された押し付け力に相当する出力に力覚センサ11の出力を保つように押し付け開始位置からエンドエフェクタ13,23,25をワーク15の表面に沿って移動させるための、ロータリアクチュエータ5A〜5Fの駆動信号を生成し、対応するドライブ回路5G〜5Lに出力する。
【0028】
さらに、ロボットコントローラ31は、外部からの多関節型アーム5の姿勢を示すデータの出力要求に呼応して、要求時点におけるロータリセンサ5M〜5Rの出力を、ロボット1の姿勢データとして外部に出力する。
【0029】
一方、図2に示す制御用PC19は、ワーク15の孔15aの周囲に存在するバリをエンドエフェクタ23,25で除去するためのロボット1の位置制御パターンを決定する処制御を行うために、CPUやRAM及びROMを有するコンピュータによって構成される。RAMは、CPUがROMに格納されたプログラムを実行する際の作業エリア等として利用される。制御用PC19には、ロボットコントローラ31やロボット1の力覚センサ11が接続されている。また、制御用PC19には、図1に示すディスプレイ19aが接続されている(図2中図示せず)。
【0030】
また、制御用PC19には、不図示のCADシステム(CAD/CAMシステム、CAMシステムでもよい)からのワーク15(図1参照)のCADデータ(請求項中の設計データに相当)が入力され、不図示のハードディスクに保存されている。既にCADデータがハードディスクに保存されているワーク15の種類は、図1のディスプレイ19aの表示画面上の選択ボタンを指で触れるか画面上のマウスでクリックすることで、選択することができる。制御用PC19は、選択されたワーク15についてのCADデータから、ワーク15の理想形状を示す理想形状データを生成することができる。
【0031】
次に、制御用PC19のCPUがROMに格納されたプログラムにしたがって行う、ロボット1を用いたワーク15のバリ取り動作に関する制御を、図3のフローチャートを参照して説明する。
【0032】
まず、制御用PC19のCPUは、接触子を先端に有するエンドエフェクタ13がロボット1のフランジ部9に取り付けられている状態で、ワーク15に接触子を所定の押し付け力で接触させる動作指令、つまり、力制御によりエンドエフェクタ13を移動させるためのデータを、ロボットコントローラ31に出力する(ステップS1)。このデータには、ロボット1のタッチセンシングによりロボット1に対するワーク15の相対位置及び方向を確認するのに適した所定箇所の、ロボット座標系における座標値(押し付け開始位置)と、ワーク15に対するエンドエフェクタ13の押し付け力とが規定されている。ロボット1によりワーク15をタッチセンシングする際には、所定箇所にワーク15のバリが発生する箇所(例えば孔15aの周囲等)を除いた箇所を位置させるのが好ましい。
【0033】
なお、ステップS1で制御用PC19が出力するデータを受け取ったロボットコントローラ31は、まず、エンドエフェクタ13が所定箇所に位置(所定箇所においてワーク15に接触)するようにロボット1の多関節型アーム5を作動させる。そして、力覚センサ11の出力が、制御用PC19から受け取ったデータ中に規定されているエンドエフェクタ13のワーク15に対する押し付け力に相当する所定値以上となるまで、所定箇所に位置(所定箇所においてワーク15に接触)しているエンドエフェクタ13をさらにワーク15側に移動させて押し付けることになる。
【0034】
次に、制御用PC19のCPUは、力覚センサ11の出力が、上述した所定値以上となったか否かを確認する(ステップS3)。所定値以上となっていない場合は(ステップS3でNO)、所定値以上となるまでステップS3をリピートし、所定値以上となった場合は(ステップS3でYES)、ロボット1に対してワーク15が位置決めされたものとして、ロボット1の姿勢データの出力要求をロボットコントローラ31に出力する(ステップS5)。
【0035】
なお、制御用PC19からの姿勢データの出力要求を受け取ったロボットコントローラ31は、出力要求の受け取り時点におけるロボット1の姿勢データを制御用PC19に出力することになる。
【0036】
そして、制御用PC19のCPUは、ロボット1の姿勢データがロボットコントローラ31から入力されたならば(ステップS7でYES)、入力されたロボット1の姿勢データから、エンドエフェクタ13のロボット座標系における位置を割り出して、位置データとして取得する(ステップS9)。この位置データは、ワーク15のエンドエフェクタ13が接触している箇所のロボット1に対する相対位置を示すデータとなる。
【0037】
この位置データが規定数に達していない場合は(ステップS11でNO)、エンドエフェクタ13の移動先とするワーク15の所定箇所を変えて、ステップS1以降の処理を繰り返す。ここで、位置データの規定数とは、例えば、ワーク15の位置及び姿勢を特定できる3面の位置データを取得するのに必要な数とすることができる。具体的には、1面当たり3点の位置データが必要になるので、3面分の合計で位置データの規定数は「9」とすることができる。
【0038】
位置データが規定数に達した場合は(ステップS11でYES)、制御用PC19のCPUは、ディスプレイ19aの表示画面上で選択されたワーク15のCADデータから、そのワーク15の設計上の形状(表面形状)を示す設計上の形状データを生成する(ステップS13)。この設計上の形状データは、請求項中の理想形状データに相当する。設計上の形状データの生成は、ステップS1の前に行ってもよい。
【0039】
次に、制御用PC19のCPUは、ステップS13で生成した形状データとステップS9で取得した規定数の各位置データとを用いて、ワーク15の設計上の形状とロボット1に対する実際の方向とを示す位置姿勢データを生成する(ステップS15)。そして、生成した位置姿勢データで示される位置姿勢のワーク15の表面に沿って、エンドエフェクタ23,25を位置制御により移動させるための動作指令を、ロボットコントローラ31に出力し(ステップS17)、一連の制御を終了する。
【0040】
上述した位置姿勢データを生成するに当たっては、形状データによって示される設計上の形状によるワーク15がロボット1に対して、規定数の各位置データから特定された方向に位置し、かつ、ワーク15の表面上のある箇所が、ロボット座標系における所定箇所の座標値に対応付けられるように、形状データの座標系をロボット座標系に座標変換する。
【0041】
このような形状データの座標系からロボット座標系への座標変換により、形状データの座標系上におけるワーク15の方向が実際のワーク15の方向と一致するようになる。
【0042】
したがって、制御用PC19からの動作指令を受け取ったロボットコントローラ31は、その動作指令の元となる位置姿勢データに示された方向(ワーク15の実際の方向)及び位置(ワーク15の設計上の形状)に沿って、多関節型アーム5によりエンドエフェクタ23,25を移動させることになる。
【0043】
これにより、エンドエフェクタ23,25は、図4中の破線で示す、大きなバリ(オニバリ)が存在する実際のワーク15のエッジ15cに沿ってではなく、図4中の実線で示す、バリのない、CADモデル上のワーク15のエッジ15bに沿って位置制御により移動することになる。
【0044】
以上に説明したように、第1実施形態のバリ除去方法によれば、ロボット1のエンドエフェクタ23,25を、CADシステムからのワーク15のCADデータから生成した位置姿勢データに基づいて、バリの存在しない理想的なワーク15の仮想表面に沿って、実際のワーク15の表面上を位置制御により移動させるようにした。
【0045】
このため、ワーク15の孔15aの周囲にバリが存在する場合であっても、力制御で移動させる場合のようにバリに倣ってエンドエフェクタ23,25が移動してしまうことがない。よって、ワーク15に大きなバリ(オニバリ)が存在しても、精度よく除去することができる。また、バリの存在しないワーク15の表面に沿ってエンドエフェクタ23,25を位置制御で移動させるために、ロボット1の膨大なティーチング作業を省くことができる。
【0046】
以上に説明した第1実施形態では、CADシステムからのワーク15のCADデータから生成したワーク15の形状データを、請求項中の理想形状データに相当するデータとした場合について説明した。しかし、ワーク15のCADデータ以外のデータから請求項中の理想形状データを生成するようにしてもよい。
【0047】
以下、そのようにした本発明の第2実施形態に係るバリ除去方法について説明する。なお、第2実施形態のバリ除去方法でも、図1及び図2に示す第1実施形態と同様の構成を用いる。但し、第1実施形態における制御用CPU19のCPUがROMに格納されたプログラムにしたがって行う、ロボット1を用いたワーク15のバリ取り動作に関する制御の内容が、図3のフローチャートに示す内容と異なっている。
【0048】
次に、制御用PC19のCPUがROMに格納されたプログラムにしたがって行う、ロボット1を用いたワーク15のバリ取り動作に関する制御を、図5及び図6のフローチャートを参照して説明する。本実施形態では、バリが理想的に除去されたワーク15をマスターワーク(図示せず)として利用する。
【0049】
まず、制御用PC19のCPUは、図5に示すように、接触子を先端に有するエンドエフェクタ13がロボット1のフランジ部9に取り付けられている状態で、上述した不図示のマスターワークに接触子を所定の押し付け力で接触させる動作指令、つまり、力制御によりエンドエフェクタ13を移動させるためのデータを、ロボットコントローラ31に出力する(ステップSA)。このデータには、ロボット1のタッチセンシングによりロボット1に対するマスターワークの相対位置及び方向を確認するのに適した所定箇所の、ロボット座標系における座標値(押し付け開始位置)と、マスターワークに対するエンドエフェクタ13の押し付け力とが規定されている。ロボット1によりマスターワークをタッチセンシングする際には、所定箇所にワーク15上でのバリが発生する箇所(例えば孔15aの周囲等)を除いた箇所を位置させるのが好ましい。
【0050】
なお、ステップS1で制御用PC19が出力するデータを受け取ったロボットコントローラ31は、まず、エンドエフェクタ13が所定箇所に位置(所定箇所においてマスターワークに接触)するようにロボット1の多関節型アーム5を作動させる。そして、力覚センサ11の出力が、制御用PC19から受け取ったデータ中に規定されているエンドエフェクタ13のマスターワークに対する押し付け力に相当する所定値以上となるまで、所定箇所に位置(所定箇所においてマスターワークに接触)しているエンドエフェクタ13をさらにマスターワーク側に移動させて押し付けることになる。
【0051】
次に、制御用PC19のCPUは、力覚センサ11の出力が、上述した所定値以上となったか否かを確認する(ステップSB)。所定値以上となっていない場合は(ステップSBでNO)、所定値以上となるまでステップSBをリピートし、所定値以上となった場合は(ステップSBでYES)、ロボット1に対してマスターワークが位置決めされたものとして、ロボット1の姿勢データの出力要求をロボットコントローラ31に出力する(ステップSC)。
【0052】
なお、制御用PC19からの姿勢データの出力要求を受け取ったロボットコントローラ31は、出力要求の受け取り時点におけるロボット1の姿勢データを制御用PC19に出力することになる。
【0053】
そして、制御用PC19のCPUは、ロボット1の姿勢データがロボットコントローラ31から入力されたならば(ステップSDでYES)、入力されたロボット1の姿勢データから、エンドエフェクタ13のロボット座標系における位置を割り出して、位置データとして取得する(ステップSE)。この位置データは、マスターワークのエンドエフェクタ13が接触している箇所のロボット1に対する相対位置を示すデータとなる。
【0054】
この位置データが規定数に達していない場合は(ステップSFでNO)、エンドエフェクタ13の移動先とするマスターワークの所定箇所を変えて、ステップSA以降の処理を繰り返す。ここで、位置データの規定数とは、例えば、マスターワークの位置及び姿勢を特定できる3面の位置データを取得するのに必要な数とすることができる。具体的には、1面当たり3点の位置データが必要になるので、3面分の合計で位置データの規定数は「9」とすることができる。
【0055】
位置データが規定数に達した場合は(ステップSFでYES)、制御用PC19のCPUは、ディスプレイ19aの表示画面上で選択されたワーク15のCADデータから、そのワーク15の設計上の形状(表面形状)を示す設計上の形状データを生成する(ステップSG)。設計上の形状データの生成は、ステップSAの前に行ってもよい。
【0056】
次に、制御用PC19のCPUは、ステップSGで生成した形状データとステップSEで取得した規定数の各位置データとを用いて、ワーク15の設計上の形状とロボット1に対する実際の方向とを示す位置姿勢データを生成する(ステップSH)。そして、生成した位置姿勢データを、マスターワークの表面に沿ってエンドエフェクタ23,25を力制御により移動させるための位置制御用のデータとしてロボットコントローラ31に出力する(ステップSI)。
【0057】
制御用PC19からの位置制御データを受け取ったロボットコントローラ31は、力覚センサ11の出力が上述した所定値を維持するよう必要に応じて制御用PC19から入力される動作指令により、エンドエフェクタ23,25の移動方向を適宜補正しながら、マスターワークの表面に沿ってエンドエフェクタ23,25を力制御により移動させることになる。
【0058】
そして、制御用PC19のCPUは、ステップSIでロボットコントローラ31に出力した動作指令によるエンドエフェクタ23,25の移動が一通り終了した場合に(ステップSJ)、図6のステップS1以降の処理に進む。
【0059】
図6に示すステップS1以降の処理は、基本的に、図3に示すステップS1乃至ステップS17の処理と同じである。但し、エンドエフェクタ13のロボット座標系における位置を示す位置データの取得数が規定数に達した場合に(ステップS11でYES)、制御用PC19のCPUは、マスターワークの実形状に対応するワークの表面形状の形状データを生成する(ステップS13a)。
【0060】
ここで、マスターワークの実形状に対応するワークの形状データは、図5のステップSJで力制御によりエンドエフェクタ23,25をマスターワークの表面に沿って一通り移動させた際の、ロボットコントローラ31で管理されるロボット1の姿勢データに基づいて、生成することができる。このマスターワークの実形状に対応するワークの形状データは、請求項中の理想形状データに相当する。形状データの生成後は、図3に示すステップS15及びステップS17と同様の各処理を行って、一連の制御を終了する。
【0061】
したがって、制御用PC19からの動作指令を受け取ったロボットコントローラ31は、その動作指令の元となる位置姿勢データに示された方向(マスターワークの実際の方向)及び位置(マスターワークの形状)に沿って、多関節型アーム5によりエンドエフェクタ23,25を移動させることになる。
【0062】
これにより、エンドエフェクタ23,25は、図7中の破線で示す、大きなバリ(オニバリ)が存在する実際のワーク15のエッジ15cや、図7中の想像線で示す、バリのない、CADモデル上のワーク15のエッジ15bに沿ってではなく、図7中の実線で示す、実際にバリが理想的に除去されたマスターワークのエッジ15dに沿って位置制御により移動することになる。
【0063】
以上に説明した第2実施形態のバリ除去方法では、ロボット1のエンドエフェクタ23,25を、バリが理想的に除去されたワーク15である不図示のマスターワークのタッチセンシングにより生成した位置姿勢データに基づいて、マスターワークの表面に沿って位置制御により移動させるようにした。
【0064】
このように構成した第2実施形態のバリ除去方法によっても、第1実施形態のバリ除去方法と同様の効果を得ることができる。しかも、ワーク15の設計上の形状データに代えて理想的にバリが除去されたマスターワークの形状データを用いることから、設計上のワーク15の理想的な形状と、実際にバリを除去した理想的な形状のワーク15(マスターワーク)の形状とが異なる場合に、現実の理想的な形状を有するマスターワークの形状に合わせてワーク15のバリを精度よく除去することができる。
【符号の説明】
【0065】
1 ロボット
3 基台
3a 設置面
5 多関節型アーム
5A〜5F ロータリアクチュエータ
5G〜5L ドライブ回路
5M〜5R ロータリセンサ
6a 第1アーム部
6b 第2アーム部
6c 第3アーム部
6d 第4アーム部
6e A1軸
6f A2軸
6g A3軸
6h A4軸
6i A5軸
6j A6軸
9 フランジ部
11 力覚センサ
13 エンドエフェクタ
15 ワーク
15a 孔
15b ワークエッジ
15c CADモデル上のワークエッジ
15d マスターワークエッジ
16 スライダ
17 ガイドレール
19 制御用PC
19a ディスプレイ
21 ラック
23 エンドエフェクタ
25 エンドエフェクタ
31 ロボットコントローラ
TCP ツールセンターポイント

【特許請求の範囲】
【請求項1】
ロボットに取り付けた工具を該ロボットの位置制御によりワークに対して移動させて、前記工具により前記ワークのバリ取りを行う方法であって、
前記ロボットに取り付けた接触子を該ロボットのタッチセンシングにより前記ワークの1以上の箇所に所定の押し付け力で押し付けるステップと、
前記接触子が前記ワークの前記箇所に前記所定の押し付け力以上で押し付けられたときの前記ロボットの姿勢データから、前記ワークの前記箇所の前記ロボットに対する相対位置を示す位置データを取得するステップと、
予め取得した前記ワークの設計データから前記ワークの理想形状を示す理想形状データを生成するステップと、
前記箇所が前記ロボットに対して前記位置データによって示される相対位置にある前記ワークの、前記理想形状データによって示される理想形状に倣って、前記ロボットの位置制御により前記工具を移動させるステップと、
を含むことを特徴とするロボットによるバリ除去方法。
【請求項2】
前記理想形状データを生成する前記ステップは、
前記箇所が前記ロボットに対して前記位置データによって示される相対位置にある理想形状に加工されたマスターワークの形状に倣って、前記ロボットの力制御により前記接触子を移動させて、前記マスターワークの形状を示す前記理想形状データを生成するステップ、
を含んでいる、
ことを特徴とする請求項1記載のロボットによるバリ除去方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate