以下、添付図面を参照して、本発明の実施の形態を詳細に説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
図1は、本発明の一実施形態による加工ロボットシステム10の基本的構成を示す機能ブロック図である。加工ロボットシステム10は、加工工具とワークとの一方である第1対象物12を、ロボット14の手先部16に支持し、加工工具とワークとの他方である第2対象物18を、手先部16から離れて配置された支持部20に支持し、手先部16又は支持部20に設置された流体圧シリンダ装置22を介して第1対象物12と第2対象物18とを互いに押し付けながら、第1対象物12と第2対象物18とを相対移動させて加工工具によりワークを加工するものである。
加工ロボットシステム10は、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力を、それぞれパラメータとして記憶する記憶装置24と、手先部16に支持された第1対象物12、又は支持部20に支持された第2対象物18に加わる、力及びモーメントの少なくとも一方を検出する検出装置26と、記憶装置24に記憶した上記のパラメータに従って、ロボット14及び流体圧シリンダ装置22を制御する制御装置28とを備える。
制御装置28は、検出装置26が検出した力及びモーメントの少なくとも一方のデータに基づいて、倣い作業中に加工工具とワークとの間に作用している作用力を算出する作用力算出部30と、作用力算出部30が算出した作用力に応じて、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうちの、少なくとも1つのパラメータを調整する第1のパラメータ調整部32と、流体圧シリンダ装置22の作動により変位する物体に作用する重力及び慣性力が、流体圧シリンダ装置22の作動に及ぼしているシリンダ影響力を算出する影響力算出部34と、影響力算出部34が算出したシリンダ影響力を補償するように、流体圧シリンダ装置22の目標押圧力を調整する第2のパラメータ調整部36とを備えて構成される。
本発明において、ロボット14は、関節ロボット、直角座標ロボット等の、様々な機械構成のアーム(図示せず)を有する産業用ロボットから構成できる。この場合、第1対象物12を移動させるアームの動作の自由度は、特に限定されない。また、手先部16とは、ロボット14のアーム先端の手首と手首よりも末端側に設置されるエンドエフェクタ等の機器類とを包含する領域を意味する。第1対象物12が加工工具である場合には、手先部16に例えば工具ホルダ(図示せず)が設置され、第1対象物12がワークである場合には、手先部16に例えばハンド(図示せず)が設置される。
ここで、手先部16の軌道、移動速度等の制御パラメータは、特に断りの無い限り、手先部16に設けられる手先部座標系の制御パラメータとする。手先部座標系とは、オペレータが必要に応じて手先部16又はその周囲空間の所望位置に設定する座標系であり、原点を制御基準点として、ロボット14の基準座標系(絶対座標系又は機械座標系)に対する手先部16の位置及び姿勢を定める座標系である。なお、本発明において、手先部16の軌道(又は目標軌道)とは、特に断りの無い限り、手先部16の位置及び姿勢の双方によって規定されるものとする。
支持部20は、ワークや工具を搭載するテーブル、刃物台等の、ロボット14とは別体の支持構造物と支持構造物の末端に設置される工具ホルダやハンド等の機器類とから構成でき、第2対象物18を静止状態で支持する固定式の構造や、第2対象物18を支持した状態で移動可能な可動式の構造を採用できる。また、支持部20を、ロボット14の機体の一部としてロボットベース部(図示せず)に設けたり、ロボット14とは別のロボットから構成したりすることもできる。第2対象物18が加工工具である場合には、支持部20に例えば工具ホルダ(図示せず)が設置され、第2対象物18がワークである場合には、支持部20に例えばハンドや治具(図示せず)が設置される。
加工工具は、ワークのバリ取り、研磨、研削等の、工具をワークに対し適当な力で押し付けながら相対移動させて遂行する加工に使用される、種々の工具であることができる。加工工具は、回転刃を有するグラインダや直動刃を有するサンダ等の可動工具と、やすりやスクレーパ等の固定工具との、いずれであってもよい。加工工具には、工具座標系を設定できる。工具座標系とは、オペレータが必要に応じて加工工具に設定する座標系であり、加工工具上の任意の位置(例えばワークに接触させる加工工具上の目標接触位置)を原点として、加工工具の位置及び姿勢を定める座標系である。第1対象物12が加工工具である場合には、工具座標系の位置及び姿勢を、ロボット14の各関節の動作角度(すなわち各制御軸の動作位置)及び流体圧シリンダ装置22のピストン変位量から求めることができる。
本発明において、倣い作業とは、第1対象物12と第2対象物18とを互いに押し付けながら、第1対象物12と第2対象物18とを相対移動させる行為である。したがって、加工工具を用いたワーク加工作業は、倣い作業の一例である。本発明における倣い作業の他の例としては、後述するように、手先部16の目標軌道を自動的に生成したり、手先部16の目標軌道や目標移動速度、流体圧シリンダ装置22の目標押圧力といったパラメータを調整したりすることを目的として、加工工具の刃先を適当なカバーで覆った状態でワークに押し付けて相対移動させたり、回転式の可動工具を駆動せずに自由回転可能な状態でワークに押し付けて相対移動させたり、或いは加工工具の代わりに加工能力の無い適当なダミー部品(本願ではこのようなダミー部品もその目的から「加工工具」の一種とする。)を手先部16又は支持部20に支持してワークに押し付けて相対移動させたりする作業を挙げることができる。
流体圧シリンダ装置22は、作動空気や作動油の圧力制御によって出力部(一般にピストン)に所望の押圧力を、出力部の位置に関わらず一定に生じさせることができる駆動装置であって、流体圧調節弁(図示せず)を介して流体供給源(図示せず)に接続される。流体圧シリンダ装置22の構造は特に限定されず、単動式でも複動式でもよいし、また単一のピストンを備える1軸の構成に限らず、互いに交差する方向へ移動可能な複数のピストンを組み合わせた複軸の構成とすることもできる。流体圧シリンダ装置22は、ロボット14の手先部16に設置されるか或いは支持部20に設置されて、ロボット14や支持部20(可動構造の場合)の動作とは無関係に、第1又は第2対象物12、18を所望の方向へ所望の一定押圧力の下で移動させることができる。流体圧シリンダ装置22は、それ自体、後述するような種々のシステム構成に応じて、手先部16又は支持部20の一構成要素となる。
流体圧シリンダ装置22は、必要に応じてピストン(図示せず)を解除可能に固定できる構成とすることもできる。ここで、第1対象物12が加工工具である場合には、例えば、流体圧シリンダ装置22のピストンを予め定めた基準位置で固定したときの、加工工具上の目標接触位置(ワークに接触する位置)に、前述した手先部座標系の原点(制御基準点)を設定することができる。なお、手先部座標系を加工工具上に設定する場合には、流体圧シリンダ装置22のピストン変位量を常時考慮するか或いはピストンを固定することにより、手先部座標系における加工工具の位置及び姿勢と前述した工具座標系における加工工具の位置及び姿勢とを一致させることができる。この場合、手先部座標系の原点(制御基準点)を、工具座標系における工具中心点(TCP)に設定することもできる。
検出装置26は、所望の検出軸数(例えば1〜3軸の力検出方向、1〜3軸のモーメント検出方向)を有する力覚センサから構成できる。或いは検出装置26を、ロボット14の制御軸や支持部20(可動構造の場合)の制御軸の駆動回路から構成する(つまり電圧値や電流値の変化に基づき力やモーメントを算定する構成とする)こともできる。検出装置26が検出した力やモーメントのデータは、制御装置28に入力される。検出装置26が力覚センサから構成される場合、力覚センサ(検出装置26)は、ロボット14のアーム先端の手首(図示せず)と流体圧シリンダ装置22との間、流体圧シリンダ装置22と第1対象物12との間、若しくは支持部20と第2対象物18との間(以上、流体圧シリンダ装置22がロボット手先部16に設置される場合。)、又は、支持部20のテーブル、刃物台等の支持構造物(図示せず)と流体圧シリンダ装置22との間、流体圧シリンダ装置22と第2対象物18との間、若しくはロボット14のアーム先端の手首(図示せず)と第1対象物12との間(以上、流体圧シリンダ装置22が支持部20に設置される場合。)に設置できる。
制御装置28は、ロボットコントローラ、PLC(プログラマブルコントローラ)、流体圧シリンダ装置22のコントローラ等の、既存の制御機器を適宜組み合わせることで構成できる。或いは、加工ロボットシステム10のための新たな制御装置28として、所要の機能を統合した汎用コンピュータを用いることもできる。いずれの場合も、作用力算出部30、第1のパラメータ調整部32、影響力算出部34及び第2のパラメータ調整部36は、それら個々の機能を実現するソフトウェアとして、CPU(中央処理装置)に予め用意することができる。
記憶装置24は、ロボットコントローラや汎用コンピュータ等の制御機器に用意される記憶装置から構成できる。この場合、記憶装置24として、制御機器の内蔵メモリや、制御機器に取外し可能に接続できる外付けメモリを使用できる。
記憶装置24が記憶する「手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力」といったパラメータは、ロボット14を動かす直接教示、CADデータ等を用いるオフライン教示、オペレータによる数値入力等によって用意できる。また、後述する種々の手法により調整された調整後のパラメータを、記憶装置24に記憶することもできる。さらに、後述する手法により制御装置28が自動的に手先部16の目標軌道を生成して、記憶装置24に記憶することもできる。記憶装置24に格納した調整後のパラメータや生成されたパラメータは、倣い作業に際してのロボット14や流体圧シリンダ装置22の制御に使用されるか、或いはさらなる調整を受けることができる。
作用力算出部30が算出する「加工工具とワークとの間に作用している作用力」とは、倣い作業に際して加工工具とワークとを相互接触状態で相対移動させる間に、加工工具とワークとの間に実際に生じる力(加工作業中の場合は押し付け力や切削抵抗力等の合力)を意味する。作用力の方向は、特に限定されない。また、「作用力を算出する」とは、作用力を直接的な測定ではなく計算により求める(すなわち推定する)ことを意味する。算出された作用力は、記憶装置24に格納できる。なお、作用力の算出手法の詳細は、適当な例により後述する。
第1のパラメータ調整部32が行う「作用力に応じて、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうちの、少なくとも1つのパラメータを調整する」という行為は、倣い作業実行中の実際の作用力を参照しながら、手先部16の軌道及び移動速度並びに流体圧シリンダ装置22の押圧力の少なくとも1つを変化させて倣い作業の状況を適宜調節することを目的として、記憶装置24に格納した所望のパラメータ(初期値又は調整後の値)を調整する行為である。第1のパラメータ調整部32による調整後のパラメータは、記憶装置24に格納できる。ここで、どのパラメータを調整するか、またどのようにして調整するかについては、例えば、パラメータ毎に予め設定した種々の手法から、使用する加工工具の種類、加工対象のワークの種類、目的とする加工状態、ロボット14の動作自由度等の諸条件に応じて適宜選択できるように構成できるものであり、その詳細は適当な例により後述する。
影響力算出部34が参照する「流体圧シリンダ装置22の作動により変位する物体」とは、流体圧シリンダ装置22のピストン等の出力側可動要素と、ピストンに支持される物体(システム構成により異なり、第1対象物12、第2対象物18、ハンド、工具ホルダ、力覚センサ等)との、双方を含むものである。
影響力算出部34が算出する「重力及び慣性力が、流体圧シリンダ装置22の作動に及ぼしているシリンダ影響力」とは、流体圧シリンダ装置22のピストン等の出力側可動要素の位置、速度及び加速度並びに出力側可動要素に生じる押圧力を変動させ得る外力を意味する。シリンダ影響力の方向は、特に限定されない。また、「シリンダ影響力を算出する」とは、シリンダ影響力を直接的な測定ではなく計算により求める(すなわち推定する)ことを意味する。算出されたシリンダ影響力は、記憶装置24に格納できる。なお、シリンダ影響力の算出手法の詳細は、適当な例により後述する。
第2のパラメータ調整部36が行う「シリンダ影響力を補償するように、流体圧シリンダ装置22の目標押圧力を調整する」という行為は、シリンダ影響力を相殺して加工工具とワークとの間に適正な押し付け力を生じさせることを目的として、記憶装置24に格納したパラメータ(初期値又は調整後の値)を調整する(つまり目標押圧力を増加させるか減少させる)行為である。第1のパラメータ調整部32が実際の作用力に応じて流体圧シリンダ装置22の目標押圧力を調整する場合には、第1のパラメータ調整部32による調整後の目標押圧力を、第2のパラメータ調整部36がさらに調整するように構成できる。或いは、シリンダ影響力の相殺を目的とした第2のパラメータ調整部36による調整後の目標押圧力を、第1のパラメータ調整部32が実際の作用力に応じてさらに調整するように構成することもできる。第2のパラメータ調整部36による調整後の目標押圧力は、記憶装置24に格納できる。
制御装置28はさらに、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうち、第1及び第2のパラメータ調整部32、36の少なくとも一方が調整した調整後の少なくとも1つのパラメータを用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成し出力する操作指令部38を、備えることができる。
操作指令部38が行う「手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうち、調整後の少なくとも1つのパラメータを用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成」するという行為は、操作指令の作成に必要な種々のパラメータやデータの中で、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうちのいずれかが「調整」されている場合には、その「調整後」のパラメータを用いて操作指令を作成する、という行為である。なお、調整後のパラメータのみを排他的に用いて操作指令を作成することも有り得る。作成された操作指令は、記憶装置24に格納できる。
上記構成を有する加工ロボットシステム10においては、作用力算出部30が、倣い作業中に加工工具とワークとの間に実際に作用している作用力を算出し、第1のパラメータ調整部32が、作用力に応じて所要のパラメータを調整するように、制御装置28を構成したから、倣い作業中に実際に生じている作用力の大きさが、適正範囲(つまりロボット14、支持部20、流体圧シリンダ装置22、加工工具、ワーク等のシステム構成要素への過負荷を防止するとともに所望の加工品質及び加工信頼性を確保する観点で予め適正とされた範囲)から逸脱(過剰又は不足)している場合に、手先部16の軌道及び移動速度並びに流体圧シリンダ装置22の押圧力のうちの少なくとも1つを自動的に変化させるように、目標軌道、目標移動速度及び目標押圧力のうちの少なくとも1つのパラメータを適当に調整することができる。そして、そのような調整後のパラメータを用いてロボット14や流体圧シリンダ装置22を制御することで、倣い作業(特に実際の加工作業)を中断したり実際の作用力の大きさが適正範囲に収まるような作業状況に変更したりする(すなわち倣い作業(特に加工作業)の状況を自動調節する)ことが可能になる。したがって、加工ロボットシステム10によれば、ロボット14、支持部20、流体圧シリンダ装置22、加工工具、ワーク等のシステム構成要素に過負荷が掛からないようにして、それらシステム構成要素の構造的安定性及び安全性を高めることができ、また、作用力の適正化により、過剰加工や加工不足を回避して加工の品質及び信頼性を向上させることができる。
さらに、加工ロボットシステム10においては、影響力算出部34が、重力及び慣性力が流体圧シリンダ装置22の作動に及ぼしているシリンダ影響力を算出し、第2のパラメータ調整部36が、シリンダ影響力を補償するべく流体圧シリンダ装置22の目標押圧力を調整するように、制御装置28を構成したから、倣い作業中に手先部16の姿勢の変化や加速度の付加によってシリンダ影響力が発生したときに、シリンダ影響力を相殺するように目標押圧力を適当に調整することができる。そして、そのような調整後の目標押圧力を用いて流体圧シリンダ装置を制御することで、流体圧シリンダ装置22の押圧力を自動的に変化させ、加工工具とワークとの間に生じる押し付け力の大きさを、所望の加工品質を確保する観点で予め最適とされた範囲に収まるように調節することが可能になる。したがって、加工ロボットシステム10によれば、押し付け力の最適化により、過剰加工や加工不足を回避して加工の品質及び信頼性を著しく向上させることができる。
なお、制御装置28がそれ自体に操作指令部38を備える構成とすることで、操作指令部38が迅速に、第1のパラメータ調整部32による調整後のパラメータ(目標軌道、目標移動速度、目標押圧力)を用いてロボット14又は流体圧シリンダ装置22への操作指令を出力でき、また、第2のパラメータ調整部36による調整後のパラメータ(目標押圧力)を用いて流体圧シリンダ装置22への操作指令を出力できる。
また、詳細は省略するが、可動構造の支持部20に流体圧シリンダ装置22を設置したシステム構成の場合には、支持部20の動作に関する制御パラメータ(軌道や速度等)を、第1のパラメータ調整部32による調整対象に含ませることもできる。この場合、第1のパラメータ調整部32による調整後の制御パラメータを用いて、支持部20の動作を制御することが可能になる。このような構成によっても、システム構成要素に過負荷が掛からないようにしてそれらシステム構成要素の構造的安定性及び安全性を高めることができ、また、作用力の適正化により加工の品質及び信頼性を向上させることができる。
加工ロボットシステム10において、検出装置26による上記した検出動作及び制御装置28による上記した制御動作は、例えば、ロボットコントローラがロボット14に作業を行わせる際に予め定めた時間間隔でロボット14の各制御軸や種々のセンサ等のフィードバック情報をリアルタイムで取得して逐次指令を生成するタイミング(いわゆる制御周期)で、実行することができる。このようにすれば、例えばロボット14が実際に加工作業を遂行している最中に、一連の加工動作制御フローにおけるルーチンワークとして所定の制御周期毎に自動的に、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうちの少なくとも1つのパラメータが必要に応じて調整されて、作用力の適正化や押し付け力の最適化がリアルタイムで行われることになる。したがって、加工作業が進行する間、加工対象面の状況に的確に対応して常に高い加工品質を維持することができ、以て加工の歩留まりを改善することができる。
ところで、ワークのバリ取り、研磨、研削等の加工作業においては、ワークに対する加工工具の押し付け方向を最適化することで、高い加工品質を維持することができる。例えば、ワークの研磨や研削に際しては、一般に、ワークの加工対象面(平面でない場合は加工対象部位を含む仮想上の接平面)に対し直交する方向へ加工工具を押し付けながら加工を行う。それにより、加工対象面を全体に均一に加工することができる。ただし、ロボット14の動作により加工工具とワークとを相対移動させて、広範囲に広がる加工対象面を漸進的に加工する際には、移動速度や切削抵抗等の種々の条件を考慮して、ワークの加工対象面(又は加工対象部位の接平面)に対し、直交方向だけでなく、直交方向から幾分ずれた方向へ加工工具を押し付けながら加工する場合もある。他方、ワークのバリ取りに際しては、加工工具がバリの末端面に対して必ずしも直交する方向へ押し付けられる訳ではなく、実験やオペレータの経験に基づき、バリの形状やワーク上での位置に応じた最適な押し付け方向を決定している(バリ取り作業に際しての加工工具の押し付け方向については、さらに後述する。)。
このような観点で、加工ロボットシステム10は、目標軌道に沿って移動する手先部16の移動方向が、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な押し付け方向に直交又は斜交する方向であるように、構成することができる。この場合、検出装置26は、少なくとも押し付け方向に直交する方向の力、又は押し付け方向に平行な軸線の周りのモーメントを検出できる構成を有する。そして、作用力算出部30は、加工工具とワークとの間に、手先部16の移動方向に平行な方向(つまり押し付け方向に交差する方向)へ作用している作用力(正確には実際の作用力の手先部移動方向への成分)を算出するように構成される。この構成によれば、流体圧シリンダ装置22に負荷による圧力変動(つまり力の緩衝作用)を生じさせ得る押し付け方向の作用力ではなく、流体圧シリンダ装置22自体によるそのような力の緩衝作用を受けない方向の作用力に基づいて、第1のパラメータ調整部32によるパラメータ調整を実行できる。なお、「押し付け方向に直交又は斜交する方向」とは、方向を示す軸線同士が幾何学的に交わる構成だけでなく、軸線同士が互いに平行ではない位置関係で離隔する構成を包含する。
ここで、検出装置26を構成する力覚センサが、ロボット14のアーム先端の手首(図示せず)と流体圧シリンダ装置22との間、又は支持部20と流体圧シリンダ装置22との間に設置される場合や、検出装置26がロボット14の制御軸や支持部20(可動構造の場合)の制御軸の駆動回路から構成される場合には、上記した流体圧シリンダ装置22による力の緩衝作用に起因して、押し付け方向に平行な方向への力の検出値、又は押し付け方向に直交する軸の周りのモーメントの検出値が、力やモーメントの実際値に対する誤差を含み得るものとなる。したがって上記したように、押し付け方向の作用力ではなく、流体圧シリンダ装置22による力の緩衝作用を受けない(よって検出装置26による力やモーメントの検出値が実際値に対する誤差を含まない)方向の作用力に基づいて、パラメータ調整を行うことにより、ロボット14の動作を一層的確に制御して、システム構成要素への過負荷を防止し、加工の品質及び信頼性を向上させることが可能になる。
なお、目標軌道に沿って移動する手先部16の移動方向が、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な押し付け方向に一致する、という構成は、例えば、ワーク表面上で局所的に突出する突起物に対し、ロボット14に支持した加工工具をワーク表面に沿って進行させながら、加工工具の刃先を突起物に衝突させて切除するような構成として、実現し得るものである。本発明に係る加工ロボットシステム10は、このような構成にも適用できるものである。
作用力算出部30が、加工工具とワークとの間に、流体圧シリンダ装置22の作動による押し付け方向(つまりピストン変位方向)に平行な方向へ作用している作用力(正確には実際の作用力の押し付け方向への成分)を算出する構成では、前述したように、検出装置26の構成や設置場所によっては、流体圧シリンダ装置22による力の緩衝作用に起因して、検出装置26による力やモーメントの検出値が実際値に対する誤差を含むことが懸念される。しかし、このような作用力が、例えば流体圧シリンダ装置22自体の緩衝作用を超越するほどに大きくまた急激なものであった場合には、検出装置26が、実際値に対する誤差を実質的に含むことなく力やモーメントを検出できるから、作用力算出部30が作用力を算出でき、第1のパラメータ調整部32がパラメータ調整を実行できることになる。
図2〜図11は、本発明の他の様々な実施形態による加工ロボットシステムに具備される制御装置28A〜28Jの構成を、機能ブロック図で示す。前提として、各実施形態による加工ロボットシステムは、図1の加工ロボットシステム10に対応する基本的構成を有するものとし、対応する構成要素には共通の参照符号を付してその説明を省略するとともに、手先部16及び支持部20の図示を省略する。
図2に示す実施形態は、検出装置26が、ロボット14に設けられて、手先部16に支持された第1対象物12と手先部16との間に加わる力及びモーメントの少なくとも一方を検出するシステム構成に適用されるものである。この実施形態において、制御装置28Aは、図1の制御装置28が備えている各部30〜36に加えてさらに、目標軌道に沿った手先部16の移動により変位する物体に作用する重力及び慣性力が、検出装置26の検出動作に及ぼしている検出影響力及び検出影響モーメントの少なくとも一方を算出する検出影響算出部40と、検出影響算出部40が算出した検出影響力及び検出影響モーメントの少なくとも一方を補償するように、検出装置26が検出した力及びモーメントの少なくとも一方のデータを補正するデータ補正部42とを備える。そして、作用力算出部30は、データ補正部42が補正した力及びモーメントの少なくとも一方のデータを用いて、作用力を算出する。なお制御装置28Aは、制御装置28と同様に、操作指令部38を備えることができる。
図2の実施形態では、検出装置26は、ロボット14の手首(図示せず)と流体圧シリンダ装置22との間、若しくは流体圧シリンダ装置22と第1対象物12との間(以上、流体圧シリンダ装置22がロボット手先部16に設置される場合。)、又はロボット14の手首(図示せず)と第1対象物12との間(流体圧シリンダ装置22が支持部20に設置される場合。)に設置される力覚センサから構成できる。或いは検出装置26を、ロボット14の制御軸の駆動回路から構成することもできる。
検出影響算出部40が参照する「目標軌道に沿った手先部16の移動により変位する物体」とは、検出装置26が力覚センサからなる場合には、ロボット14の手首に直接又は間接に支持される物体であって、システム構成により異なり、流体圧シリンダ装置22、第1対象物12、第2対象物18、ハンド、工具ホルダ等を含むものである。他方、検出装置26がロボット14の制御軸の駆動回路からなる場合には、参照する制御軸よりもロボット末端側に位置する全ての物体を包含する。
検出影響算出部40が算出する「重力及び慣性力が、検出装置26の検出動作に及ぼしている検出影響力及び検出影響モーメントの少なくとも一方」とは、検出装置26の検出結果を変動させ得る外的影響を意味する。検出影響力及び検出影響モーメントの方向は、特に限定されない。また、「検出影響力及び検出影響モーメントの少なくとも一方を算出する」とは、検出影響力や検出影響モーメントを直接的な測定ではなく計算により求める(すなわち推定する)ことを意味する。算出された検出影響力及び検出影響モーメントは、記憶装置24に格納できる。なお、検出影響力又は検出影響モーメントの算出手法の詳細は、適当な例により後述する。
上記実施形態による制御装置28Aにおいては、検出影響算出部40が、重力及び慣性力が検出装置26の検出動作に及ぼしている検出影響力及び検出影響モーメントの少なくとも一方を算出し、データ補正部42が、算出された検出影響力及び検出影響モーメントの少なくとも一方を補償するように検出装置26の検出データを補正し、作用力算出部30が、そのようにして補正されたデータを用いて作用力を算出するように構成したから、加工作業等の倣い作業中に手先部16の姿勢の変化や加速度の付加によって検出影響力又は検出影響モーメントが発生したときに、検出影響力又は検出影響モーメントを相殺するように検出装置26の検出データを自動補正することで、力やモーメントの検出値と実際値との誤差を低減し、以て、作用力算出部30が算出する作用力の精度を向上させることができる。したがって、制御装置28Aを有する加工ロボットシステムによれば、システム構成要素への過負荷の防止並びに加工の品質及び信頼性の向上といった効果が一層確実なものとなる。
図3に示す実施形態は、検出装置26が、力及びモーメントの双方を検出するシステム構成に適用されるものである。この実施形態において、制御装置28Bは、図1の制御装置28が備えている各部30〜36に加えてさらに、検出装置26が検出した力及びモーメントの双方のデータに基づいて、倣い作業中に加工工具とワークとが互いに接触している接触位置を算出する接触位置算出部44と、接触位置算出部44が算出した接触位置に応じて、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうちの、少なくとも1つのパラメータを調整する第3のパラメータ調整部46とを備える。また制御装置28Bは、制御装置28と同様に、操作指令部38を備えることができる。
図3の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。また、接触位置算出部44が算出する「加工工具とワークとが互いに接触している接触位置」とは、倣い作業実行中に実際にワークに接触している加工工具上の位置(例えば工具座標系、ロボット14の基準座標系、検出装置26が力覚センサからなる場合のセンサ固有の座標系等における座標)を意味し、「接触位置を算出する」とは、接触位置を直接的な測定ではなく計算により求める(すなわち推定する)ことを意味する。算出された接触位置は、記憶装置24に格納できる。なお、接触位置の算出手法の詳細は、適当な例により後述する。
第3のパラメータ調整部46が行う「接触位置に応じて、手先部16の目標軌道、手先部16の目標移動速度及び流体圧シリンダ装置22の目標押圧力のうちの、少なくとも1つのパラメータを調整する」という行為は、倣い作業実行中の加工工具とワークとの実際の接触位置を参照しながら、手先部16の軌道及び移動速度並びに流体圧シリンダ装置22の押圧力の少なくとも1つを変化させて倣い作業(特に実際の加工作業)の状況を適宜調節することを目的として、記憶装置24に格納した所望のパラメータ(初期値又は調整後の値)を調整する行為である。第3のパラメータ調整部46による調整後のパラメータは、記憶装置24に格納できる。ここで、第3のパラメータ調整部46がどのパラメータを調整するか、またどのようにして調整するかについては、例えば、パラメータ毎に予め設定した種々の手法から、使用する加工工具の種類、加工対象のワークの種類、目的とする加工状態、ロボット14の動作自由度等の諸条件に応じて適宜選択できるように構成できるものであり、その詳細は適当な例により後述する。
第1〜第3のパラメータ調整部32、36、46は、オペレータが予め適当に設定した順序で、パラメータ調整を実行するように構成できる。この場合、第1〜第3のパラメータ調整部32、36、46のうち実行順序が最初のパラメータ調整部が、記憶装置24に格納した所望のパラメータを調整し、次のパラメータ調整部が、最初のパラメータ調整部による調整後の値を含む、記憶装置24に格納した所望のパラメータを調整し、最後のパラメータ調整部が、最初のパラメータ調整部及び次のパラメータ調整部による調整後の値を含む、記憶装置24に格納した所望のパラメータを調整することになる。或いは、第1〜第3のパラメータ調整部32、36、46が、順序を定めずに並行して、記憶装置24に格納した所望のパラメータを調整するように構成することもできる。ただし、第1及び第3のパラメータ調整部32、46が流体圧シリンダ装置22の目標押圧力を調整する場合は、その前又は後に、第2のパラメータ調整部36による調整を原則として実行するものとする。
操作指令部38は、前述した第1又は第2のパラメータ調整部32、36による調整後の少なくとも1つのパラメータに加えて、又はその代わりに、第3のパラメータ調整部46が調整した少なくとも1つのパラメータを用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成することができる。作成された操作指令は、記憶装置24に格納できる。前述したように第1及び第3のパラメータ調整部32、46が同じパラメータを調整する場合には、例えば、それらパラメータ調整部32、46による調整に、重み付け等により予め優先順位を設定しておき、優先順位が高い方の調整後のパラメータを、操作指令部38が操作指令の作成に用いるように構成することができる。第1及び第3のパラメータ調整部32、46が流体圧シリンダ装置22の目標押圧力を調整する場合にも、操作指令部38が、優先順位が高い方の調整後の目標押圧力を、第2のパラメータ調整部36による調整の前又は後に、選択するように構成できる。
また、第1〜第3のパラメータ調整部32、36、46によるパラメータの調整量(すなわち変化量)に予め限界値を定めておき、調整量が限界値を超えたパラメータについては、そのままの値では操作指令部38が操作指令の作成に用いることができないように構成することもできる。例えば、前述したように第1〜第3のパラメータ調整部32、36、46が所定の順序でパラメータ調整を実行する構成とした場合には、先に実行したパラメータ調整部による所望のパラメータの調整量が限界値を超えていないときに、その調整後のパラメータを、次のパラメータ調整部がさらに調整できるように構成することができる。この場合、先に実行したパラメータ調整部による所望のパラメータの調整量が限界値を超えたときには、そのパラメータについては調整後のものではなく、限界値に等しい調整量を含むパラメータを、次のパラメータ調整部がさらに調整できるように構成することができる。なお、パラメータの調整量の限界値は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。
ロボット14に加工作業等の倣い作業を教示する際に、ロボット14の手先部16に支持した第1対象物12に対して、前述した手先部座標系を設定し、手先部座標系を、その位置及び姿勢を変化させながら、実際のロボット14又はロボットモデルにより、予め用意した複数の教示点に順次移動させる教示作業を行う場合がある。また、加工工具とワークとを相互に接触させる所望の接触位置(つまり目標接触位置)が、工具座標系の原点であるように、倣い作業を教示することも行われている。このような構成では、倣い作業実行中の加工工具とワークとの実際の接触位置が常に目標接触位置に合致していることが要求される。しかし現実には、教示軌道の誤差、ワーク形状のばらつき、加工工具の摩耗等に起因して、実際の接触位置と目標接触位置との間にずれが生じることが懸念されている。
このような状況下で、上記実施形態による制御装置28Bにおいては、接触位置算出部40が、倣い作業中の加工工具とワークとの実際の接触位置を算出し、第3のパラメータ調整部46が、算出された接触位置に応じて少なくとも1つのパラメータを調整するように構成したから、教示軌道の誤差、ワーク形状のばらつき、加工工具の摩耗等により実際の接触位置が目標接触位置からずれた場合であっても、手先部16の軌道及び移動速度並びに流体圧シリンダ装置22の押圧力のうちの少なくとも1つを自動的に変化させるように、目標軌道、目標移動速度及び目標押圧力のうちの少なくとも1つのパラメータを適当に調整することができる。そして、そのような調整後のパラメータを用いてロボット14や流体圧シリンダ装置22を制御することで、特に加工作業中の加工工具によるワーク加工能力を一定に維持して、ワーク加工量の変動及び加工品質の低下を抑制する(すなわち加工作業の状況を調節する)ことが可能になる。したがって、上記した制御装置28Bを有する加工ロボットシステムによれば、加工の品質及び信頼性を一層向上させることができる。
図4に示す実施形態は、加工工具が、駆動部を有する可動工具48であって、記憶装置24が、図1の記憶装置24に記憶される種々のパラメータに加えて、可動工具48の駆動部の目標動作速度をパラメータとして記憶するシステム構成に適用されるものである。この実施形態において、制御装置28Cは、図1の制御装置28が備えている各部30〜36に加えてさらに、作用力算出部30が算出した作用力に応じて、可動工具48の駆動部の目標動作速度を調整する第4のパラメータ調整部50を備える。また制御装置28Cは、第4のパラメータ調整部50による調整後の目標動作速度を用いて、可動工具48の駆動部への操作指令を作成し出力する操作指令部38を、制御装置28と同様に備えることができる。
図4の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。また、第4のパラメータ調整部50が行う「作用力に応じて、可動工具48の駆動部の目標動作速度を調整する」という行為は、倣い作業実行中の実際の作用力を参照しながら、可動工具48の駆動部の動作速度を変化させて倣い作業(特に実際の加工作業)の状況を適宜調節することを目的として、記憶装置24に格納したパラメータ(初期値又は調整後の値)を調整する行為である。第4のパラメータ調整部50による調整後の目標動作速度は、記憶装置24に格納できる。なお、第4のパラメータ調整部50による目標動作速度の調整手法の詳細は、適当な例により後述する。
操作指令部38は、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令の作成に加えて、又はその代わりに、第4のパラメータ調整部50が調整したパラメータ(目標動作速度)を用いて、可動工具48の駆動部への操作指令を作成することができる。作成された操作指令は、記憶装置24に格納できる。
上記実施形態による制御装置28Cにおいては、第4のパラメータ調整部50が、算出された実際の作用力に応じて可動工具48の駆動部の目標動作速度を調整するように構成したから、実際の作用力の大きさが適正範囲から逸脱している場合に、可動工具48の駆動部の動作速度を自動的に変化させるように、目標動作速度を適当に調整することができる。そして、そのような調整後の目標動作速度を用いて可動工具48を制御することで、特に加工作業中の実際の作用力の大きさが適正範囲に収まるような作業状況に変更する(すなわち加工作業の状況を自動調節する)ことが可能になる。したがって、上記した制御装置28Cを有する加工ロボットシステムによれば、加工の品質及び信頼性を一層向上させることができる。なお、図3に示す制御装置28Bを、加工工具が可動工具48であって記憶装置24が可動工具48の駆動部の目標動作速度も記憶するシステム構成に適用する場合には、第3のパラメータ調整部46を、加工工具とワークとの接触位置に応じて、手先部16の目標軌道、手先部16の目標移動速度、流体圧シリンダ装置22の目標押圧力及び可動工具48の目標動作速度のうちの、少なくとも1つのパラメータを調整する構成とすることができる。
図5に示す実施形態において、制御装置28Dは、図1の制御装置28が備えている各部30〜36に加えてさらに、作用力算出部30が算出した作用力に基づいて、ワークの加工済領域の加工状態を良否判定する加工状態判定部52を備える。また制御装置28Dは、制御装置28と同様に、操作指令部38を備えることができる。この実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。
加工状態判定部52が行う「作用力に基づいて、ワークの加工済領域の加工状態を良否判定する」という行為は、倣い作業の一種である加工作業の実行中に実際の作用力を参照しながらリアルタイムで、或いは記憶装置24に格納した作用力の時系列データを加工作業完了後に参照して、当該作用力の大きさや変動態様に基づき加工状態の良否を判断する行為である。なお、加工状態判定部52による加工状態の良否判定手法の詳細は、適当な例により後述する。
上記実施形態による制御装置28Dにおいては、加工状態判定部52が、算出された作用力に基づいてワークの加工済領域の加工状態を良否判定するように構成したから、一連の加工動作制御フローにおけるルーチンワークとして自動的に、或いはオペレータの要求に従って随時に、迅速かつ容易にワークの加工状態の良否を判断することができる。したがって、上記実施形態による制御装置28Dを有する加工ロボットシステムによれば、加工の品質及び信頼性を一層向上させることができる。また、加工作業中に良否を判定する構成とすれば、加工作業完了後に良否判定を行う構成に比べて、良否判定のための時間を節約することができる。
図6に示す実施形態において、制御装置28Eは、図1の制御装置28が備えている各部30〜36に加えてさらに、流体圧シリンダ装置22の作動により変位する物体に作用する重力及び慣性力が、流体圧シリンダ装置22に及ぼしているシリンダ影響モーメントを算出する影響モーメント算出部54と、影響モーメント算出部54が算出したシリンダ影響モーメントに応じて、手先部16の目標軌道と目標移動速度との少なくとも一方を調整する第5のパラメータ調整部56とを備える。また制御装置28Eは、制御装置28と同様に、操作指令部38を備えることができる。
図6の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。また、影響モーメント算出部54が算出する「重力及び慣性力が、流体圧シリンダ装置22に及ぼしているシリンダ影響モーメント」とは、流体圧シリンダ装置22の構成部品に捻りや曲げの応力を生じさせ得るモーメントを意味し、「シリンダ影響モーメントを算出する」とは、シリンダ影響モーメントを直接的な測定ではなく計算により求める(すなわち推定する)ことを意味する。シリンダ影響モーメントの方向は、特に限定されない。算出されたシリンダ影響モーメントは、記憶装置24に格納できる。なお、シリンダ影響モーメントの算出手法は、図1の制御装置28に関連して説明したシリンダ影響力の算出手法に準ずる。
第5のパラメータ調整部56が行う「シリンダ影響モーメントに応じて、手先部16の目標軌道と目標移動速度との少なくとも一方を調整する」という行為は、倣い作業実行中に生じるシリンダ影響モーメントを参照しながら、手先部16の軌道及び移動速度の少なくとも一方を変化させて流体圧シリンダ装置22の構成部品に生ずる応力を軽減することを目的として、記憶装置24に格納した所望のパラメータ(初期値又は調整後の値)を調整する行為である。第5のパラメータ調整部56による調整後のパラメータは、記憶装置24に格納できる。ここで、第5のパラメータ調整部56がいずれのパラメータを調整するか、またどのようにして調整するかについては、例えば、パラメータ毎に予め設定した種々の手法(手先部16の速度低下、停止、軌道の円滑化等)から、使用する加工工具の種類、加工対象のワークの種類、目的とする加工状態、ロボット14の動作自由度等の諸条件に応じて適宜選択できるように構成できるものである。
操作指令部38は、前述した第1又は第2のパラメータ調整部32、36による調整後の少なくとも1つのパラメータに加えて、又はその代わりに、第5のパラメータ調整部56が調整した少なくとも1つのパラメータを用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成することができる。作成された操作指令は、記憶装置24に格納できる。前述したように、第1及び第5のパラメータ調整部32、56が同じパラメータを調整する場合には、例えば、それらパラメータ調整部32、56による調整に、重み付け等により予め優先順位を設定しておき、優先順位が高い方の調整後のパラメータを、操作指令部38が操作指令の作成に用いるように構成することができる。また、制御装置28Bと同様に、第1、第2及び第5のパラメータ調整部32、36、56によるパラメータの調整量(すなわち変化量)に予め限界値を定めておき、調整量が限界値を超えたパラメータについては、そのままの値では操作指令部38が操作指令の作成に用いることができないように構成することもできる。
上記実施形態による制御装置28Eにおいては、第5のパラメータ調整部56が、シリンダ影響モーメントに応じて手先部16の目標軌道や目標移動速度を調整するように構成したから、手先部16の動作に起因して流体圧シリンダ装置22に所定の閾値を超えるシリンダ影響モーメントが印加されたときに、手先部16の動作を自動的に変化させるように、目標軌道及び目標移動速度のうちの少なくとも一方のパラメータを適当に調整することができる。そして、そのような調整後のパラメータを用いてロボット14を制御することで、所定の閾値を超えるシリンダ影響モーメントを低減することが可能になる。したがって、上記した制御装置28Eを有する加工ロボットシステムによれば、流体圧シリンダ装置22の構成部品に過大な応力が生じないようにして流体圧シリンダ装置22の構造的安定性及び安全性を高めることができ、以て、加工の品質及び信頼性を一層向上させることができる。
図7に示す実施形態は、流体圧シリンダ装置22のピストン変位量を検出する変位検出センサ58をさらに備えるシステム構成に適用されるものである。この実施形態において、制御装置28Fは、図1の制御装置28が備えている各部30〜36に加えてさらに、目標軌道に沿った手先部16の移動中に、変位検出センサ58が検出したピストン変位量を参照して、ピストン変位量が流体圧シリンダ装置22の構造によって予め定められた上限値又は下限値である場合に、ピストン変位量を上限値と下限値との間の値に移行させるように、手先部16の目標軌道を調整する第6のパラメータ調整部60を備える。また制御装置28Fは、制御装置28と同様に、操作指令部38を備えることができる。
図7の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。変位検出センサ58は、例えばリニアエンコーダ等の、直線的に変位する物体の変位量を検出できるものであればよい。変位検出センサ58が検出したピストン変位量のデータは、制御装置28Fに入力される。
第6のパラメータ調整部60が行う「ピストン変位量を上限値と下限値との間の値に移行させるように、手先部16の目標軌道を調整する」という行為は、手先部16が目標軌道に沿って移動している間に流体圧シリンダ装置22のピストン変位量が上限値又は下限値であるとき(すなわち流体圧シリンダ装置22が目標押圧力を生じていない可能性が有るとき)に、手先部16の軌道を変化させて流体圧シリンダ装置22を目標押圧力を生じ得る位置に移動させることを目的として、記憶装置24に格納したパラメータ(初期値又は調整後の値)を調整する行為である。第6のパラメータ調整部60による目標軌道の調整手法としては、例えば、ロボット14の各制御軸の駆動部に過大な負荷が掛からないようにしながら、予め指定した移動量だけ迅速に目標軌道を変更したり、変位検出センサ58からフィードバックされるピストン変位量が予め指定した数値を示すまで、目標軌道を変更したりする手法を挙げることができる。第6のパラメータ調整部60による調整後のパラメータは、記憶装置24に格納できる。
操作指令部38は、前述した第1又は第2のパラメータ調整部32、36による調整後の少なくとも1つのパラメータに加えて、又はその代わりに、第6のパラメータ調整部60が調整したパラメータ(目標軌道)を用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成することができる。作成された操作指令は、記憶装置24に格納できる。前述したように、第1及び第6のパラメータ調整部32、60が同じパラメータを調整する場合には、例えば、それらパラメータ調整部32、60による調整に、重み付け等により予め優先順位を設定しておき、優先順位が高い方の調整後のパラメータを、操作指令部38が操作指令の作成に用いるように構成することができる。また、制御装置28Bと同様に、第1、第2及び第6のパラメータ調整部32、36、60によるパラメータの調整量(すなわち変化量)に予め限界値を定めておき、調整量が限界値を超えたパラメータについては、そのままの値では操作指令部38が操作指令の作成に用いることができないように構成することもできる。
ここで、流体圧シリンダ装置22の作動(したがって目標押圧力)が、前述したシリンダ影響力を補償するように第2のパラメータ調整部36によって適切に調整されていることを前提とすると、流体圧シリンダ装置22のピストン変位量が上限値又は下限値であるときには、加工工具とワークとが互いに接触せずに離れてしまっているか、或いは加工工具とワークとが流体圧シリンダ装置の作動ストローク以上に互いに接近しようとしている(したがって過剰な押し付け力が生じている)可能性がある。いずれの状況下でも、流体圧シリンダ装置22は目標押圧力を正確に発生することが困難である。
このような状況下で、上記実施形態による制御装置28Fにおいては、第6のパラメータ調整部60が、流体圧シリンダ装置22のピストン変位量が上限値又は下限値であるときに上限値と下限値との間の値に移行させるべく手先部16の目標軌道を調整するように構成したから、加工工具とワークとが互いに接触せずに離れてしまっているときには、加工工具とワークとを互いに接触させる方向へ手先部16の軌道を自動的に変化させ、また、加工工具とワークとが流体圧シリンダ装置の作動ストローク以上に互いに接近しようとしている(したがって過剰な押し付け力が生じている)ときには、加工工具とワークとを互いに離反させる方向へ手先部16の軌道を自動的に変化させるように、目標軌道を適当に調整することができる。そして、そのような調整後のパラメータ(目標軌道)を用いてロボット14を制御することで、流体圧シリンダ装置22を、目標押圧力を適正に生じ得る位置に移動させることが可能になる。したがって、上記した制御装置28Fを有する加工ロボットシステムによれば、ロボット14、支持部20、流体圧シリンダ装置22、加工工具、ワーク等のシステム構成要素に過負荷が掛からないようにしてそれらシステム構成要素の構造的安定性及び安全性を高めることができ、また、加工工具とワークとの間の押し付け力の最適化により加工の品質及び信頼性を一層向上させることができる。
図8に示す実施形態は、流体圧シリンダ装置22のピストン変位量を検出する変位検出センサ58と、ロボット14の制御軸動作位置を検出する軸位置検出部62とをさらに備えるシステム構成に適用されるものである。この実施形態において、制御装置28Gは、図1の制御装置28が備えている各部30〜36に加えてさらに、目標軌道に沿った手先部16の移動中に、変位検出センサ58が検出したピストン変位量のデータと軸位置検出部62が検出した制御軸動作位置のデータとに基づいて、第1対象物12の位置を複数点で算出し、それら複数点に亘る位置の変化に基づいて手先部16の実際の移動方向を算出し、算出した実際の移動方向に対し零以外の予め定めた押し付け角度を成す方向に、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な目標押し付け方向を決定する押付方向決定部64と、押付方向決定部64が決定した目標押し付け方向に対して手先部16の移動方向が上記押し付け角度を成すように、手先部16の目標軌道を調整する第7のパラメータ調整部66とを備える。また制御装置28Gは、制御装置28と同様に、操作指令部38を備えることができる。
図8の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。変位検出センサ58は、例えばリニアエンコーダ等の、直線的に変位する物体の変位量を検出できるものであればよい。変位検出センサ58が検出したピストン変位量のデータは、制御装置28Gに入力される。軸位置検出部62は、例えばロボット14の個々の制御軸を駆動するサーボモータに設けられるパルスコーダ等の動作角度検出器から構成できる。軸位置検出部62が検出した制御軸動作位置のデータは、制御装置28Gに入力される。
押付方向決定部64が行う「流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な目標押し付け方向を決定する」という行為は、ワークのバリ取り、研磨、研削等の加工作業に際し、種々の誤差要因により手先部16の実際の移動方向が必ずしも目標軌道に沿った方向ではない可能性を考慮した上で、ワークの加工対象面が結果的に最高の品質で加工されることを目的として、手先部16が目標軌道に沿って移動している間に、手先部16の実際の移動方向と予め定めた所望の押し付け角度とに基づき、流体圧シリンダ装置22による最適な目標押し付け方向を確定する行為である。ここで、この実施形態では、目標軌道に沿って移動する手先部16の移動方向が、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な押し付け方向に一致する、という構成を除外する。決定された目標押し付け方向は、記憶装置24に格納できる。なお、押付方向決定部64による目標押し付け方向の決定手法の詳細は、適当な例により後述する。
第7のパラメータ調整部66が行う「押付方向決定部64が決定した目標押し付け方向に対して手先部16の移動方向が上記押し付け角度を成すように、手先部16の目標軌道を調整する」という行為は、手先部16の目標軌道に従って得られる流体圧シリンダ装置22の押し付け方向が最適な押し付け方向からずれている可能性を考慮した上で、手先部16の軌道を変化させて流体圧シリンダ装置22が最適な押し付け方向で作動できるようにすることを目的として、記憶装置24に格納したパラメータ(初期値又は調整後の値)を調整する行為である。第7のパラメータ調整部66による調整後のパラメータは、記憶装置24に格納できる。なお、第7のパラメータ調整部66による目標軌道の調整手法の詳細は、適当な例により後述する。
操作指令部38は、前述した第1又は第2のパラメータ調整部32、36による調整後の少なくとも1つのパラメータに加えて、又はその代わりに、第7のパラメータ調整部66が調整したパラメータ(目標軌道)を用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成することができる。作成された操作指令は、記憶装置24に格納できる。前述したように、第1及び第7のパラメータ調整部32、66が同じパラメータを調整する場合には、例えば、それらパラメータ調整部32、66による調整に、重み付け等により予め優先順位を設定しておき、優先順位が高い方の調整後のパラメータを、操作指令部38が操作指令の作成に用いるように構成することができる。また、制御装置28Bと同様に、第1、第2及び第7のパラメータ調整部32、36、66によるパラメータの調整量(すなわち変化量)に予め限界値を定めておき、調整量が限界値を超えたパラメータについては、そのままの値では操作指令部38が操作指令の作成に用いることができないように構成することもできる。
なお、流体圧シリンダ装置22による押し付け方向は、1軸の構成においてはピストンの作動方向と同義であり、手先部16の軌道や支持部20(可動構造の場合)の可動部の構造によって一義的に決まる。他方、2軸以上の複軸の流体圧シリンダ装置22では、複数のピストンの作動方向の合成方向が押し付け方向になり、手先部16の軌道や支持部20の構造に加えて、各軸方向への押圧力によって決まる。
上記実施形態による制御装置28Gにおいては、押付方向決定部64が、流体圧シリンダ装置22による最適な目標押し付け方向を決定し、第7のパラメータ調整部66が、最適な目標押し付け方向に従って手先部16の目標軌道を調整するように構成したから、流体圧シリンダ装置22の押し付け方向が最適な押し付け方向からずれている場合に、押し付け方向のずれを補正する方向へ手先部16の軌道を自動的に変化させるように、目標軌道を適当に調整することができる。そして、そのような調整後のパラメータ(目標軌道)を用いてロボット14を制御することで、流体圧シリンダ装置22を最適な押し付け方向で作動させることが可能になり、以て、加工工具とワークとの間の押し付け力を最適化することが可能になる。したがって、上記した制御装置28Gを有する加工ロボットシステムによれば、加工工具とワークとの間の押し付け力の最適化により加工の品質及び信頼性を一層向上させることができる。また、手先部16の目標軌道をロボット14に教示する際に、大雑把な軌道を教示することが許容されるので、教示作業が容易になる利点も得られる。
図9に示す実施形態は、図8の実施形態と同様に、流体圧シリンダ装置22のピストン変位量を検出する変位検出センサ58と、ロボット14の制御軸動作位置を検出する軸位置検出部62とをさらに備えるシステム構成に適用されるものである。この実施形態において、制御装置28Hは、図1の制御装置28が備えている各部30〜36に加えてさらに、手先部16の移動中に、変位検出センサ58が検出したピストン変位量のデータと軸位置検出部62が検出した制御軸動作位置のデータとに基づいて、第1対象物12の位置を複数点で算出し、それら複数点に亘る位置の変化に基づいて手先部16の実際の移動方向を算出し、算出した実際の移動方向に対し零以外の予め定めた押し付け角度を成す方向に、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な目標押し付け方向を決定する押付方向決定部68と、押付方向決定部68が決定した目標押し付け方向に対して手先部16の移動方向が上記押し付け角度を成すように、手先部16の目標軌道を生成する目標軌道生成部70とを備える。また制御装置28Hは、制御装置28と同様に、操作指令部38を備えることができる。
図9の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は限定されない。変位検出センサ58は、例えばリニアエンコーダ等の、直線的に変位する物体の変位量を検出できるものであればよい。変位検出センサ58が検出したピストン変位量のデータは、制御装置28Hに入力される。軸位置検出部62は、例えばロボット14の個々の制御軸を駆動するサーボモータに設けられるパルスコーダ等の動作角度検出器から構成できる。軸位置検出部62が検出した制御軸動作位置のデータは、制御装置28Hに入力される。
押付方向決定部68が行う「流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な目標押し付け方向を決定する」という行為は、ワークのバリ取り、研磨、研削等の加工作業に際し、ワークの加工対象面が結果的に最高の品質で加工されることを目的として、手先部16が目標軌道(ただし目標軌道生成部70が生成した現在位置までの目標軌道)に沿って移動している間に、手先部16の現在位置までの実際の移動方向と予め定めた所望の押し付け角度とに基づき、流体圧シリンダ装置22による最適な目標押し付け方向を確定する行為である。ここで、この実施形態では、目標軌道に沿って移動する手先部16の移動方向が、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な押し付け方向に一致する、という構成を除外する。決定された目標押し付け方向は、記憶装置24に格納できる。なお、押付方向決定部68による目標押し付け方向の決定手法の詳細は、適当な例により後述する。
目標軌道生成部70が行う「押付方向決定部68が決定した目標押し付け方向に対して手先部16の移動方向が上記押し付け角度を成すように、手先部16の目標軌道を生成する」という行為は、流体圧シリンダ装置22が最適な押し付け方向で作動できるようにすることを目的として、手先部16の目標軌道という制御パラメータを自動的かつ逐次的に生成する行為である。ここでは、手先部16の初期位置、初期移動方向、初期移動速度等の初期パラメータに従ってロボット14が手先部16の移動を開始した後に、押付方向決定部68による目標押付方向の決定と、目標軌道生成部70による目標軌道の生成とが、例えば制御周期毎に、自動的に遂行される。目標軌道生成部70が生成したパラメータは、記憶装置24に格納できる。なお、目標軌道生成部70による目標軌道の生成手法の詳細は、適当な例により後述する。
操作指令部38は、目標軌道生成部70が生成したパラメータ(目標軌道)を用いて、ロボット14への操作指令を作成することができる。さらに操作指令部38は、記憶装置24に格納したパラメータ(初期値又は調整後の値。目標軌道生成部70が生成したパラメータを含む。)に対する前述した第1又は第2のパラメータ調整部32、36による調整後の少なくとも1つのパラメータを用いて、ロボット14及び流体圧シリンダ装置22の少なくとも一方への操作指令を作成することができる。作成された操作指令は、記憶装置24に格納できる。
上記実施形態による制御装置28Hにおいては、押付方向決定部68が、流体圧シリンダ装置22による最適な目標押し付け方向を決定し、目標軌道生成部70が、最適な目標押し付け方向に従って手先部16の目標軌道を自動的かつ逐次的に生成するように構成したから、ロボット14に手先部16の目標軌道を教示することなく、手先部16の初期位置、初期移動方向、初期移動速度等の初期パラメータを設定するだけで、倣い作業を実行しながら、ワークの加工対象面に正確に倣う手先部16の目標軌道を容易に生成することができる。そして、そのようにして生成したパラメータ(目標軌道)を用いてロボット14を制御することで、流体圧シリンダ装置22を最適な押し付け方向で作動させることが可能になり、以て、加工工具とワークとの間の押し付け力を最適化することが可能になる。したがって、上記した制御装置28Hを有する加工ロボットシステムによれば、加工工具とワークとの間の押し付け力の最適化により加工の品質及び信頼性を一層向上させることができる。
図10に示す実施形態は、図8の実施形態と同様に、流体圧シリンダ装置22のピストン変位量を検出する変位検出センサ58と、ロボット14の制御軸動作位置を検出する軸位置検出部62とをさらに備えるシステム構成に適用されるものである。この実施形態において、流体圧シリンダ装置22は、互いに交差する複数の制御軸を備えた複軸の構成を有する。また、この実施形態において、制御装置28Iは、図1の制御装置28が備えている各部30〜36に加えてさらに、目標軌道に沿った手先部16の移動中に、変位検出センサ58が検出したピストン変位量のデータと軸位置検出部62が検出した制御軸動作位置のデータとに基づいて、第1対象物12の位置を複数点で算出し、それら複数点に亘る位置の変化に基づいて手先部16の実際の移動方向を算出し、算出した実際の移動方向に対し予め定めた押し付け角度を成す方向に、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な目標押し付け方向を決定する押付方向決定部72と、押付方向決定部72が決定した目標押し付け方向に、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な実際の押し付け方向が一致するように、流体圧シリンダ装置22の複数の制御軸を動作させて押圧力を制御するシリンダ動作指令部74とを備える。制御装置28Iは、制御装置28と同様に、操作指令部38を備えることができ、その場合には、シリンダ動作指令部74を操作指令部38に組み込むことができる。
図10の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は、流体圧シリンダ装置22が複軸の構成を有する点以外は、限定されない。変位検出センサ58は、例えばリニアエンコーダ等の、直線的に変位する物体の変位量を検出できるものであればよい。変位検出センサ58が検出したピストン変位量のデータは、制御装置28Iに入力される。軸位置検出部62は、例えばロボット14の個々の制御軸を駆動するサーボモータに設けられるパルスコーダ等の動作角度検出器から構成できる。軸位置検出部62が検出した制御軸動作位置のデータは、制御装置28Iに入力される。
押付方向決定部72が行う「流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な目標押し付け方向を決定する」という行為は、ワークのバリ取り、研磨、研削等の加工作業に際し、ワークの加工対象面が結果的に最高の品質で加工されることを目的として、手先部16が目標軌道に沿って移動している間に、手先部16の実際の移動方向と予め定めた所望の押し付け角度とに基づき、複軸の流体圧シリンダ装置22による最適な目標押し付け方向を確定する行為である。ここで、この実施形態は、目標軌道に沿って移動する手先部16の移動方向が、流体圧シリンダ装置22の作動による第1対象物12と第2対象物18との相対的な押し付け方向に一致する、という構成を包含する。決定された目標押し付け方向は、記憶装置24に格納できる。なお、押付方向決定部72による目標押し付け方向の決定手法は、図8の実施形態における押付方向決定部64による決定手法と同様の手法とすることができる。
シリンダ動作指令部74が行う「流体圧シリンダ装置22の複数の制御軸を動作させて押圧力を制御する」という行為は、複軸の流体圧シリンダ装置22が最適な押し付け方向で作動できるようにすることを目的として、流体圧シリンダ装置22の個々の制御軸への動作指令(したがって個々のピストン圧力(流体圧シリンダ装置22の押圧力の分力)の指令)を作成し出力する行為である。作成した動作指令は、記憶装置24に格納できる。
上記実施形態による制御装置28Iにおいては、押付方向決定部72が、複軸の流体圧シリンダ装置22による最適な目標押し付け方向を決定し、シリンダ動作指令部74が、最適な目標押し付け方向に従って流体圧シリンダ装置22の複数の制御軸を動作させるように構成したから、倣い作業を実行しながら、複軸の流体圧シリンダ装置22を最適な押し付け方向で作動させることができ、以て、加工工具とワークとの間の押し付け力を最適化することができる。したがって、上記した制御装置28Iを有する加工ロボットシステムによれば、加工工具とワークとの間の押し付け力の最適化により加工の品質及び信頼性を一層向上させることができる。また、手先部16の目標軌道をロボット14に教示する際に、大雑把な軌道を教示することが許容されるので、教示作業が容易になる利点も得られる。
図11に示す実施形態は、ロボット14の制御軸動作位置を検出する軸位置検出部62をさらに備えるシステム構成に適用されるものである。この実施形態において、流体圧シリンダ装置22は、ピストン(図示せず)を解除可能に固定するピストン固定部76を備える。また、この実施形態において、制御装置28Jは、図1の制御装置28が備えている各部30〜36に加えてさらに、加工作業の完了後に、ピストン固定部76により流体圧シリンダ装置22のピストンを固定した状態で、検出装置26が検出する力及びモーメントの少なくとも一方のデータを参照して、加工工具とワークとの間に予め定めた力が作用するように加工工具をワークの加工済領域に接触させながら手先部16を移動させるロボット動作指令部78と、加工作業の完了後に、ロボット動作指令部78が手先部16を移動させている間に、検出装置26が検出する力及びモーメントの少なくとも一方のデータ、又は軸位置検出部62が検出する制御軸動作位置のデータに基づいて、ワークの加工済領域の加工状態の良否を判定する加工状態判定部80とを備える。制御装置28Jは、制御装置28と同様に、操作指令部38を備えることができ、その場合には、ロボット動作指令部78を操作指令部38に組み込むことができる。
図11の実施形態では、流体圧シリンダ装置22及び検出装置26の設置場所及び構成は、流体圧シリンダ装置22がピストン固定部76を備える点以外は、限定されない。ピストン固定部76は、例えば制御装置28Jからの指令に従って、ピストンを固定状態と可動状態との間で切り替えるように動作できる。軸位置検出部62は、例えばロボット14の個々の制御軸を駆動するサーボモータに設けられるパルスコーダ等の動作角度検出器から構成できる。軸位置検出部62が検出した制御軸動作位置のデータは、制御装置28Jに入力される。
ロボット動作指令部78が行う「加工工具とワークとの間に予め定めた力が作用するように加工工具をワークの加工済領域に接触させながら手先部16を移動させる」という行為は、種々の加工作業の完了後に、ワークの加工済領域の加工状態を検出することを目的として、加工工具とワークとの間に作用する力が所定の大きさになるようにロボット14の個々の制御軸への動作指令を作成し出力する行為である。作成した動作指令は、記憶装置24に格納できる。
加工状態判定部80が行う「検出装置26が検出する力及びモーメントの少なくとも一方のデータ、又は軸位置検出部62が検出した制御軸動作位置のデータに基づいて、ワークの加工済領域の加工状態を良否判定する」という行為は、加工作業の完了後、ロボット動作指令部78により手先部16が移動している間に検出装置26又は軸位置検出部62が取得した検出データに基づき、加工状態の良否を判断する行為である。判定結果は、記憶装置24に格納できる。なお、加工状態判定部80による加工状態の良否判定手法の詳細は、適当な例により後述する。
上記実施形態による制御装置28Jにおいては、加工作業の完了後に、ピストン固定部76により流体圧シリンダ装置22のピストンを固定した状態で、ロボット動作指令部78が、加工工具をワークの加工済領域に所定の力で接触させながら手先部16を移動させ、加工状態判定部80が、検出装置26又は軸位置検出部62の検出データに基づいてワークの加工済領域の加工状態を良否判定するように構成したから、一連の加工動作制御フローにおけるルーチンワークとして自動的に、或いはオペレータの要求に従って随時に、迅速かつ容易にワークの加工状態の良否を判断することができる。したがって、上記した制御装置28Jを有する加工ロボットシステムによれば、加工の品質及び信頼性を一層向上させることができる。また、前述した種々のパラメータ調整を行うために用いられる検出装置26を利用して、ワークの加工状態の良否判定を実施できるので合理的である。
図2〜図11に示す制御装置28A〜28Jが有する種々の追加機能実現部は、それらのうちの幾つかを不都合が生じないように適当に組み合わせて、図1に示す加工ロボットシステム10の制御装置28に加入することができる。いずれの組み合わせ機能を有する制御装置28によっても、ロボット、支持部、流体圧シリンダ装置、加工工具、ワーク等のシステム構成要素に過負荷が掛からないようにして、それらシステム構成要素の構造的安定性及び安全性を高めることができ、また、作用力の適正化及び押し付け力の最適化により、過剰加工や加工不足を回避して加工の品質及び信頼性を向上させることができる、という、本発明の加工ロボットシステム10に共通する効果が奏される。なお、制御装置28A〜28Jから図1の制御装置28の基本構成を除外して、それぞれに独自の機能を有する別の制御装置を構成することもできる。
図12〜図17は、流体圧シリンダ装置22がロボット14の手先部16に設置されるとともに検出装置26が力覚センサ90から構成される加工ロボットシステム10の、幾つかの典型的なシステム構成を模式図的に例示する。
図12に示すシステム構成では、力覚センサ90が、ロボット14のアーム先端の手首91と流体圧シリンダ装置22との間に設置され、流体圧シリンダ装置22の出力部に、第1対象物12である加工工具92が工具ホルダ94に支持されて固定的に取り付けられている。また、ロボット14から離れて配置されたテーブル等の支持構造物95(支持部20の一部)に、第2対象物18であるワーク96が治具(図示せず)により固定して支持されている。
図13に示すシステム構成では、力覚センサ90が、ロボット14の手首91と流体圧シリンダ装置22との間に設置され、流体圧シリンダ装置22の出力部に、第1対象物12であるワーク96がハンド98に把持されて固定的に取り付けられている。また、ロボット14から離れて配置された支持構造物95に、第2対象物18である加工工具92が工具ホルダ94により固定して支持されている。
図14に示すシステム構成では、ロボット14から離れて配置された支持構造物95に、第2対象物18であるワーク96がハンド98に把持されて固定的に支持され、力覚センサ90が、支持構造物95とワーク96(具体的にはハンド98)との間に設置されている。また、ロボット14の手首91に取り付けられた流体圧シリンダ装置22の出力部に、第1対象物12である加工工具92が工具ホルダ94に支持されて固定的に取り付けられている。
図15に示すシステム構成では、ロボット14から離れて配置された支持構造物95に、第2対象物18である加工工具92が工具ホルダ94に支持されて固定的に支持され、力覚センサ90が、支持構造物95と加工工具92(具体的には工具ホルダ94)との間に設置されている。また、ロボット14の手首91に取り付けられた流体圧シリンダ装置22の出力部に、第1対象物12であるワーク96がハンド98に把持されて固定的に取り付けられている。
図16に示すシステム構成では、複軸の構成を有する流体圧シリンダ装置22がロボット14の手首91に取り付けられ、力覚センサ90が、ロボット14の手首91と流体圧シリンダ装置22との間に設置されるとともに、流体圧シリンダ装置22の出力部に、第1対象物12である加工工具92が工具ホルダ94に支持されて固定的に取り付けられている。
図17に示すシステム構成では、複軸の構成を有する流体圧シリンダ装置22がロボット14の手首91に取り付けられ、力覚センサ90が、流体圧シリンダ装置22の出力部に設置されるとともに、力覚センサ90に、第1対象物12である加工工具92が工具ホルダ94に支持されて固定的に取り付けられている。
図示及び他のいずれのシステム構成においても、記憶装置24及び制御装置28を内蔵するシステム制御装置100(図12〜図15)が、ロボット14、流体圧シリンダ装置22、力覚センサ90、加工工具92、ハンド98等に接続されて信号を送受する構成とすることができる。
次に、図18〜図27を参照して、前述した全ての制御装置28、28A〜28Jの機能を組み込んだシステム制御装置100を備える、本発明の1つの好適な実施形態による加工ロボットシステム102の構成を、さらに詳細に説明する。なお、加工ロボットシステム102は、ワーク96のバリ取り作業を実行するための、図12に示すシステム構成を有するものとする。
加工ロボットシステム102において、ロボット14は、例として6自由度の多関節型ロボットの構成を有し、システム制御装置100の操作指令部38からの指令により各関節の動作角度(すなわち各制御軸の動作位置)が制御されて、アーム先端の手先部16の位置及び姿勢が任意に変化するようになっている。ロボット14には、軸位置検出部62として、各制御軸を駆動するサーボモータにパルスコーダ等の動作角度検出器が設けられ、各制御軸の動作角度の検出信号(制御軸動作位置のデータD1)が、ロボット14からシステム制御装置100の操作指令部38にフィードバックされる。
ロボット14の手先部16に支持されている加工工具92は、ロボット14から見て末端側を頂点とする円錐形の回転刃92a(図12)を有し、回転刃92aがそれ自体の軸線を中心に回転してワーク96(図12)の加工対象面を切削するグラインダ(可動工具48)である。加工工具92は、駆動部104を有しており、システム制御装置100の操作指令部38からの指令により、駆動部104が回転刃92aの回転速度を調節する。加工工具92は、エア駆動式であっても電動式であってもよく、エア駆動式の場合は作動空気の圧力を制御することにより、また電動式の場合は電圧を制御することにより、回転刃92aの回転速度が制御される。
加工工具92は、流体圧シリンダ装置22を介して、ロボット14の手先部16に支持されている。流体圧シリンダ装置22は、空気等の作動流体の圧力によって動作する出力部(すなわちピストン)を備え、作動流体の圧力を調節する流体圧調節弁106を介して流体供給源(図示せず)に接続される。流体圧調節弁106は、システム制御装置100の操作指令部38から出力される目標押圧力の指令値に従って、流体圧シリンダ装置22に供給する作動流体の圧力を調節する。流体圧調節弁106としては、周知の電空レギュレータや電空比例弁等を用いることができる。このような構成を有する流体圧シリンダ装置22では、ピストンに生じる押圧力が、ピストンの全可動範囲において(つまりピストン変位量によらず)、流体圧調節弁106によって調節された作動流体の圧力に対応する一定の値になる。それにより、加工ロボットシステム102で用いられる流体圧シリンダ装置22は、加工工具92の回転刃92aの回転軸線に直交する方向へピストンを動作させ、加工工具92(回転刃92a)とワークとの間に所定の押し付け力を調節可能に生じさせる。
図示実施形態では、流体圧シリンダ装置22は基本的に、無負荷状態では作動流体の圧力によりピストンが作動ストロークの限界位置まで移動する単動式かつ1軸の構成を有する。また流体圧シリンダ装置22は、非作動時に適当な位置でピストンを固定できるピストン固定部76(図11)を備えている。ピストン固定部76は、流体圧シリンダ装置22の作動を必要とする作業以外でロボット14を動作させるとき等に、ピストンが意図せず変位してロボット動作に影響を与えたりすることを防止できる。さらに、流体圧シリンダ装置22には、ピストン変位量を検出する変位検出センサ58が設けられている。変位検出センサ58によって検出されたピストン変位量のデータD2は、システム制御装置100に入力される。
図示実施形態では、流体圧シリンダ装置22とロボット14の手首91(図12)との間に、検出装置26として力覚センサ90が設置されている。力覚センサ90は、X、Y、Zの直交3軸方向の力(ベクトル)とX、Y、Zの個々の軸の周りのモーメントとを検出する6軸の構成を有する(本願では、これらX軸、Y軸、Z軸からなる座標系を力覚センサ座標系と称する。)。力覚センサ90としては、種々の検出原理による様々な種類のものが知られており、図示実施形態では力覚センサ90の種類は限定されない。力覚センサ90によって検出された力及びモーメントのデータD3は、システム制御装置100に入力される。
ロボット14の周囲の所定位置には、支持構造物95(支持部20の一部)として、ワーク96を固定して支持するテーブルが配置されている(図12)。ロボット14は、図19に例示するように、システム制御装置100による制御下で手先部16を適宜に動作させて、加工工具92をワーク96の指定された縁部96aに沿って縁部96aに倣うように進行させ、それにより、ワーク96の縁部96aに形成されたバリ96bを切削除去するバリ取り作業を遂行することができる(図19(a))。このときロボット14は、システム制御装置100による制御下で、加工工具92の進行方向T1が常に、流体圧シリンダ装置22による加工工具92の押し付け方向T2に直交する方向になるように、手先部16の姿勢を随時変化させることが好ましい。それにより、ワーク96に対する加工工具92の押し付け力が、流体圧シリンダ装置22が発生する一定の押圧力に対応する値に調節される。このようにして、加工工具92の押し付け力を常に適切に調節することにより、加工の品質を向上させることができる。
ここで、図19に示す加工例では、流体圧シリンダ装置22による加工工具92の押し付け方向T2は、加工工具92を倣わせるワーク96の縁部96a(つまりバリのない正規のワーク輪郭)の接線に対して直交し、かつ縁部96aを含むワーク96上の一表面96cに対して平行な方向となっている。また図示実施形態では、加工工具92の回転刃92aは、押し付け方向T2が加工工具92の回転軸線に略直交する方向であるときに、バリ取り作業を効率良く円滑に遂行できるような、先端角の比較的大きな円錐形状を有するものとする(図19(b))。加工工具92が、先端角の比較的小さな円錐形の回転刃92aを有する場合や、円筒形の回転刃92aを有する場合には、加工工具92の回転軸線を押し付け方向T2に対して適当に傾けるように、工具ホルダの配置を調整したり手先部16の姿勢を制御したりすることで、バリ取り作業を効率良く円滑に遂行できる。また図示しないが、図19に示す加工例において、流体圧シリンダ装置22による加工工具92の押し付け方向T2を、加工工具92を倣わせるワーク96の縁部96aの接線に対して直交し、かつ縁部96aを含むワーク96上の一表面96cに対して直交ないし交差する方向とすることもできる。ただしこの場合、加工工具92とワーク96の他表面との干渉が生じないことを前提とする。
ロボット14の手先部16の上記した動作制御を行うために、システム制御装置100は、制御パラメータとして手先部16の目標軌道P1を記憶する記憶装置24を内蔵している。操作指令部38は、ワーク96の縁部96aに沿う形態に設定された目標軌道P1を用いて、ロボット14の手先部16を目標軌道P1に沿って移動させるために要するロボット14の個々の制御軸の動作を演算し、算出した動作に対応する指令をロボット14の各制御軸のサーボモータに出力する。このとき、システム制御装置100は、流体圧シリンダ装置22による加工工具92の押し付け方向が常に、目標軌道P1に沿った加工工具92の進行方向に対して予め定めた押し付け角度を成す方向(特に上記した直交方向)になるように、ロボット14の手先部16の姿勢を制御する。なお、ロボット14の個々の制御軸の動作制御には、目標軌道P1に沿って移動するロボット14の手先部16の目標移動速度P2が必要であり、この目標移動速度P2も制御パラメータとして予め記憶装置24に記憶される。
記憶装置24にはさらに、流体圧シリンダ装置22が発生する目標押圧力P3と、加工工具92の目標動作(回転)速度P4とが、制御パラメータとして記憶される。操作指令部38は、これら制御パラメータP3及びP4に基づいて、流体圧シリンダ装置22の流体圧調節弁106及び加工工具92の駆動部104に相応の指令を出力する。
記憶装置24に記憶される上記した制御パラメータP1〜P4は、例えば周知の教示作業によって予め設定できる。或いは、目標押圧力P3や目標動作速度P4は、ワーク96の材質等の属性に応じて、オペレータが経験的に所定の値に設定することもできる。また目標軌道P1は、ワーク96のCADデータに基づいて設定してもよい。さらに、システム制御装置100による調整後の各パラメータP1〜P4や、システム制御装置100が自動的に生成した目標軌道P1も、記憶装置24に記憶される。
システム制御装置100は、倣い作業(実際のバリ取り作業やその予備作業)中に取得した情報に基づいて、記憶装置24に記憶される上記した種々の制御パラメータP1〜P4を適宜調整する第1〜第7のパラメータ調整部32、36、46、50、56、60、66(図1〜図11)を有している(以下、パラメータ調整部108と総称する。)。またシステム制御装置100は、目標軌道P1を生成する目標軌道生成部70と、加工状態を判定する加工状態判定部52、80とを有している。システム制御装置100は、倣い作業の実行中に取得した情報に基づいて、パラメータ調整部108が、ロボット14の手先部16の目標軌道等の制御パラメータP1〜P4を自動的に調整したり、目標軌道生成部70が手先部16の目標軌道P1を自動的に生成したり、加工状態判定部52、80がワーク96の加工(バリ取り)状態を自動的に判定したりすることにより、前述したように、システム構成要素の構造的安定性及び安全性を高め、また加工の品質及び信頼性を向上させる。
パラメータ調整部108、目標軌道生成部70及び加工状態判定部52、80を有するシステム制御装置100の、パラメータ調整、目標軌道生成及び加工状態判定に関する幾つかの代表的な制御フローの詳細を、図20〜図27を参照して以下に説明する。
システム制御装置100は、一般的構成として、ロボット14の動作制御に際し、予め定めた時間間隔(いわゆる制御周期)でロボット14の各制御軸や種々のセンサ等のフィードバック情報をリアルタイムで取得して、必要に応じて速度や加速度等を差分により演算し、制御指令を作成して出力する。図20〜図27に示す一連の制御フローは、システム制御装置100が、ロボット14に倣い作業を実行させている間に、このような制御周期毎に繰り返して実行するものである。また図20〜図27は、パラメータ調整部108が行うパラメータ調整、目標軌道生成部70が行う目標軌道生成、及び加工状態判定部52、80が行う加工状態判定に関する処理を示すものであって、操作指令部38による処理については図示を省略している。操作指令部38は、記憶装置24に記憶した制御パラメータ(パラメータ調整部108が調整した制御パラメータや目標軌道生成部70が生成した目標軌道を含む。)を用いて、ロボット14の個々の制御軸のサーボモータ、流体圧シリンダ装置22の流体圧調節弁106、及び加工工具92の駆動部104への操作指令を作成して出力する。このような操作指令部38による処理については、公知の手法で実行できるものであるから、その説明を省略する。
図20は、前述した作用力算出部30(図1等)、第1のパラメータ調整部32(図1等)、検出影響算出部40(図2)、データ補正部42(図2)及び第4のパラメータ調整部50(図4)の機能を実行するための制御フローを示す。
まず、ステップS1(検出影響算出部40が行う検出影響力及び検出影響モーメントの算出工程の一部に相当)で、流体圧シリンダ装置22の変位検出センサ58から取得したピストン変位量のデータD2を用いて、力覚センサ90に支持される物体(すなわち流体圧シリンダ装置22、工具ホルダ94、加工工具92)の重心位置を算出(推定)する。流体圧シリンダ装置22が作動すると、そのピストン変位量に応じて、ピストン自体や加工工具92等の位置が変化し、それに伴い、力覚センサ90に支持される物体(流体圧シリンダ装置22、工具ホルダ94、加工工具92)の全体としての重心位置が変化するから、重心位置をピストン変位量の関数として求めるのである。
力覚センサ90に支持される物体の重心位置を算出するために、流体圧シリンダ装置22からその作動により変位する物体(すなわちピストン等の出力側可動要素、工具ホルダ94、加工工具92)を取り外した状態で、ロボット14の手先部16を幾つかの異なる姿勢に動かして、個々の姿勢で力覚センサ90が検出する力及びモーメントのデータD3を取得する。ここで、手先部16が任意の姿勢にあるときに力覚センサ90が検出する、力覚センサ座標系での力の検出値Fs1と原点周りのモーメントの検出値Ms1とは、以下のように表される。
Fs1=Fof+Mf・gs ・・・式(1−1)
Ms1=Mof+rf×(Mf・gs) ・・・式(1−2)
ここで、
Fof:力覚センサ90の力の検出値のオフセット(既知補正量)、
Mof:力覚センサ90のモーメントの検出値のオフセット(既知補正量)、
Mf:流体圧シリンダ装置22のうち、出力側可動要素を除いた部分の質量、
rf:流体圧シリンダ装置22のうち出力側可動要素を除いた部分の、力覚センサ座標系での重心位置ベクトル、
gs:力覚センサ座標系で表す重力ベクトル。
また、記号「×」は外積演算子である。
したがって、手先部16を幾つかの姿勢に動かしたときに力覚センサ90が検出する力及びモーメントのデータD3を用いれば、上記の式(1−1)及び(1−2)から、Mf及びrfを算出することができる。
続いて、流体圧シリンダ装置22にその作動により変位する物体(ピストン等の出力側可動要素、工具ホルダ94、加工工具92)を取り付け、ピストン変位量を基準量0に設定した状態でピストンを固定する。その状態で、再びロボット14の手先部16を幾つかの姿勢に動かして、個々の姿勢で力覚センサ90が検出する力及びモーメントのデータD3を取得する。そして、力覚センサ90に支持される物体(流体圧シリンダ装置22、工具ホルダ94、加工工具92)の合計質量Maと、ピストン変位量が基準量0のときの力覚センサ90に支持される物体の力覚センサ座標系での重心位置ベクトルra[0]とを、上述のMf及びrfと同様にして(つまり式(1−1)及び(1−2)でMf及びrfをMa及びra[0]にそれぞれ置き換えて)、力及びモーメントのデータD3に基づき算出することができる。
続いて、流体圧シリンダ装置22の作動により変位する物体(ピストン等の出力側可動要素、工具ホルダ94、加工工具92)の合計質量Mtを、以下の関係式から算出する。
Ma=Mf+Mt ・・・式(1−3)
また、ピストン変位量が基準量0のときの力覚センサ座標系での、流体圧シリンダ装置22の作動により変位する物体の重心位置ベクトルrt[0]は、ピストン変位量が基準量0のときの各種物体の質量と重心位置ベクトルとの以下の関係式(1−4)から、算出できる。
Ma・ra[0]=Mf・rf+Mt・rt[0] ・・・式(1−4)
他方、ピストン変位量が任意量dのときの、各種物体の質量Mf、Ma、Mtと重心位置ベクトルrf、ra[d]、rt[d]とは、以下の関係式(1−5)を満たす。
Ma・ra[d]=Mf・rf+Mt・rt[d] ・・・式(1−5)
また、ピストン変位量が基準量0から任意量dに変化したときの、力覚センサ座標系でのピストンの変位ベクトルをrs[d]とすると、以下の関係式が成立する。
rt[d]=rt[0]+rs[d] ・・・式(1−6)
rs[d]は、力覚センサ90と流体圧シリンダ装置22との取り付け位置関係に基づいて算出できる。したがって、式(1−5)及び(1−6)から、ピストン変位量が任意量dのときの力覚センサ座標系での、力覚センサ90に支持される物体(流体圧シリンダ装置22、工具ホルダ94、加工工具92)の重心位置ベクトルra[d]を、算出することができる。
このようにして、変位検出センサ58から取得したピストン変位量のデータD2に基づいて、力覚センサ座標系での、力覚センサ90に支持される物体の重心位置ベクトルra[d]を算出することができる。ここで、加工工具92の摩耗等によるMaやMtの経時変化を考慮して、システムのメンテナンス等の適当な時期に、MaやMtの評価を実行するようにしてもよい。
なお、流体圧シリンダ装置22の作動ストロークが比較的小さく、その作動時にも、力覚センサ90に支持される物体の重心位置がさほど変化しない構造の場合には、ステップS1の大部分を省略できる。この場合、ピストン変位量dに関わらず、上記したようにして算出したMa及びra[0]を、力覚センサ90に支持される物体の質量及び重心位置ベクトルとして用いることができる。また、上記した重心位置の算出手法は一例であって、実測等の他の手法により、力覚センサ90に支持される物体の重心位置を求めてもよい。しかし、上記手法によれば、別の計測器等を用いることなく、加工ロボットシステム102が本質的に有する構成要素によって重心位置を求めることができる利点がある。
次に、ステップS2(検出影響算出部40が行う算出工程の一部に相当)で、力覚センサ90に支持される物体(流体圧シリンダ装置22、工具ホルダ94、加工工具92)に作用する重力及び慣性力が、力覚センサ90の検出動作に及ぼしている検出影響力及び検出影響モーメントを算出(推定)する。これらの検出影響力及び検出影響モーメントは、力覚センサ90に支持される物体の位置、速度及び加速度を求めることにより、算出することができる。
算出手法としては、公知の手法、例えば、ニュートン・オイラー法を用いる手法(例えば特開2008―142810号公報参照)を採用できる。ニュートン・オイラー法を用いる場合、以下のロボットマニピュレータの動力学方程式におけるH(θ,dθ/dt)及びG(θ)の項を解く手法を、検出影響力及び検出影響モーメントの算出に利用できる。
ここで、
τ:関節トルクベクトル、
θ:関節角度ベクトル、
M(θ):質量行列、
H(θ,dθ/dt):遠心力やコリオリ力等のマニピュレータの運動によって生じる力ベクトル、
G(θ):重力ベクトル。
上記の式(2−1)において、H(θ,dθ/dt)及びG(θ)の項が、それぞれ慣性力及び重力によって発生する力成分に対応している。したがって、力覚センサ90に支持される物体の質量及び重心位置が分かっていれば、これら各項を解く上記手法により、力覚センサ90に支持される物体に作用する重力及び慣性力が、力覚センサ90の検出動作に及ぼしている検出影響力及び検出影響モーメントを算出することができる。なお、ここで算出する検出影響力及び検出影響モーメントは、厳密には、力覚センサ座標系の原点に対する影響を評価するものである。
ステップS2では、力覚センサ90に支持される物体の重心位置、速度及び加速度のデータが必要となる。これらのデータは、ステップS1で求めた力覚センサ90に支持される物体の力覚センサ座標系での重心位置ra[d]のデータと、ロボット14の軸位置検出部62から取得した個々の制御軸の動作位置のデータD1とから、求めることができる。すなわち、ロボット14の各制御軸の動作位置から力覚センサ90の現在位置を求めることができ、この現在位置と、力覚センサ90に支持される物体の力覚センサ座標系での重心位置ra[d]とから、ロボットの基準座標系(絶対座標系又は機械座標系)での、力覚センサ90に支持される物体の現在の重心位置を求めることができる。そして、力覚センサ90に支持される物体のロボット基準座標系での現在の重心位置と、前の計算周期で求めた重心位置とから、速度や加速度の現在値を求めることができる。
なお、力覚センサ90に支持される物体の重心位置、速度及び加速度は、実測等の他の手法で求めてもよい。例えば、ロボット14に加速度センサを取り付けて、当該加速度センサの検出信号から、力覚センサ90に支持される物体の加速度を求めることができる。
次に、ステップS3(データ補正部42が行うデータ補正工程に相当)で、力覚センサ90から取得した力及びモーメントのデータD3に対し、力覚センサ90に支持される物体(流体圧シリンダ装置22、工具ホルダ94、加工工具92)に作用する重力及び慣性力の影響を補償する。すなわち、力覚センサ90が検出した力及びモーメントから、ステップS2で求めた検出影響力及び検出影響モーメントを、それぞれ差し引くことにより、力及びモーメントのデータD3を補正する。
次に、ステップS4(作用力算出部30が行う作用力算出工程に相当)で、ステップS3による補正後の力及びモーメントのデータD3に基づき、加工工具92の回転刃92aに予め設定した工具座標系原点にワーク96から加えられる力及びモーメントを求め、工具座標系原点における力及びモーメントの値に基づき、加工工具92とワーク96との間に実際に作用している作用力を算出(推定)する。なお、工具座標系原点を制御基準点に置換しても同程度の結果を予期できる場合は、工具座標系原点の代わりに制御基準点を用いることができる(以下、同様。)。
ここでは、流体圧シリンダ装置22による加工工具92のワーク96に対する押し付け方向(すなわちピストン変位方向)T2の作用力成分と、押し付け方向T2に直交する方向の作用力成分とを求める。押し付け方向T2の作用力成分は、工具座標系原点に加えられる力(ベクトル)と、押し付け方向T2を表す単位ベクトルとの内積によって求めることができる。そして、押し付け方向T2の作用力成分を、工具座標系原点に加えられる力から差し引くことによって、押し付け方向T2に直交する方向の作用力成分を求めることができる。また、工具座標系原点に加えられる力(ベクトル)と、押し付け方向T2に直交する任意の方向を表す単位ベクトルとの内積から、当該任意の方向への作用力成分を求めることができる。なお、上記手法で求めた押し付け方向T2の作用力成分は、厳密には、前述した流体圧シリンダ装置22自体による力の緩衝作用の結果、ワーク96と加工工具92との間に実際に作用している力に対応しないものとなるが、これについては後述する。
また、工具座標系原点に加えられる力覚センサ座標系原点周りのモーメントと、力覚センサ座標系における工具座標系原点の位置ベクトルとから、加工工具92とワーク96との間に実際に作用している作用力を求めることもできる。検出装置26として6軸の力覚センサ90を備えた図示実施形態では、力及びモーメントの一方又は双方のデータD3を用いて、上記した各手法で作用力を求める。なお図示実施形態とは異なり、力及びモーメントのいずれか一方のみを検出可能な検出装置を備えたシステム構成においては、検出した力又はモーメントのデータを用いて、上記手法で作用力を求めることができる。
次に、ステップS5(第1及び第4のパラメータ調整部32、50が行うパラメータ調整工程に相当)で、パラメータ調整部108は、ステップS4で求めた作用力(ここでは押し付け方向T2に直交する方向の作用力成分Fn)に応じて、記憶装置24に記憶した制御パラメータP1〜P4を調整する。ここで、ロボット14の手先部16を、加工工具92の進行方向T1が常に流体圧シリンダ装置22による加工工具92の押し付け方向T2に直交する方向になるように制御するシステム構成では、押し付け方向T2に直交する方向の作用力成分Fnとして加工工具92の進行方向T1の作用力成分を用いて、この作用力成分に応じて制御パラメータP1〜P4を調整することが有利である。
加工工具92の進行方向T1の作用力成分を用いる場合には、ステップS4で、加工工具92の進行方向T1を算出(推定)する。進行方向T1は、ロボット14の制御軸動作位置のデータD1と、流体圧シリンダ装置22のピストン変位量のデータD2と、加工工具92に設定した工具座標系原点の位置データと、手先部16に設置した力覚センサ90、流体圧シリンダ装置22、加工工具92等の取り付け構造の寸法データとを用いることで、算出できる。すなわち、これらのデータから、例えば力覚センサ座標系における加工工具92の工具座標系原点の現在位置(又は加工工具92とワーク96との相対位置)を、制御周期毎に求めることができ、複数の制御周期で求めた加工工具92の現在位置(又は加工工具92とワーク96との相対位置)の変化に基づいて、加工工具92の実際の進行方向T1を算出することができる。
なお図示実施形態とは異なり、支持部20に設置した流体圧シリンダ装置22がワーク96を支持するシステム構成においては、ワーク96の位置データを取得した上で、上記と同様にして加工工具92とワーク96との相対位置を求めることにより、加工工具92の進行方向T1を算出できる。ただし、相対位置を求めた制御周期の回数が少ない間は、算出される進行方向T1の誤差が大きくなる場合があるので、所定回数以上の制御周期で位置情報を獲得するまでは、進行方向T1の作用力成分を求めないようにすることが好ましい。
加工工具92の進行方向T1の作用力成分は、工具座標系原点に加えられる力(ベクトル)と、進行方向T1を表す単位ベクトルとの内積によって求めることができる。また必要に応じて、押し付け方向T2の単位ベクトルと進行方向T1の単位ベクトルとの外積により、押し付け方向T2と進行方向T1との双方に直交する方向の単位ベクトルを求め、この単位ベクトルと工具座標系原点に加えられる力(ベクトル)との内積により、押し付け方向T2と進行方向T1との双方に直交する方向の作用力成分を求めることもできる。
そこで、ステップS5で、押し付け方向T2に直交する方向の作用力成分(例えば加工工具92の進行方向T1の作用力成分)Fnに応じて、パラメータ調整を実行する。ここでは具体例として、下記(1)〜(7)に示すいずれかの調整手法を実施できるものとする。なお下記において、ロボット14の手先部16の調整前の目標移動速度P2=Vto、流体圧シリンダ装置22の調整前の目標押圧力P3=Fo、加工工具92の調整前の目標動作速度P4=Vroとする。
(1)作用力成分Fnが所定の閾値Fthf1よりも大きい場合、ロボット14の各制御軸の駆動部に過大な負荷が掛からないようにしながら、ロボット14を減速させて停止させる(目標移動速度P2の調整)。
(2)作用力成分Fnが所定の閾値Fthf2よりも大きい場合、ロボット14の各制御軸の駆動部に過大な負荷が掛からないようにしながら、直ちにロボット14の手先部16の移動方向を反転して、加工工具92の進行方向T1の逆方向の単位ベクトルと押し付け方向T2の逆方向の単位ベクトルとを足し合わせた方向へ手先部16を移動させた後、ロボット14を減速させて停止させる(目標軌道P1及び目標移動速度P2の調整)。
(3)作用力成分Fnが所定の閾値Fthf3よりも大きい場合、ロボット14の手先部16の目標移動速度Vtoに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標移動速度Vtnに調整するとともに、流体圧シリンダ装置22の目標押圧力Foに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標押圧力Fspnに調整する(目標移動速度P2及び目標押圧力P3の調整)。以下の演算を行う。
Vtn={(1−αfv3)・exp{−βfv3・(|Fn|−Fthf3)}+αfv3}・Vto
ここで、αfv3及びβfv3は定数であり、0<βfv3、0≦αfv3<1、0≦Fthf3<|Fn|である。
Fspn={(1−αff3)・exp{−βff3・(|Fn|−Fthf3)}+αff3}・Fo
ここで、αff3及びβff3は定数であり、0<βff3、0≦αff3<1、0≦Fthf3<|Fn|である。
(4)作用力成分Fnが所定の閾値Fthf4よりも大きい場合、ロボット14の手先部16の目標移動速度Vtoに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標移動速度Vtnに調整するとともに、加工工具92の目標動作速度Vroに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標動作速度Vrnに調整する(目標移動速度P2及び目標動作速度P4の調整)。以下の演算を行う。
Vtn={(1−αfv4)・exp{−βfv4・(|Fn|−Fthf4)}+αfv4}・Vto
ここで、αfv4及びβfv4は定数であり、0<βfv4、0≦αfv4<1、0≦Fthf4<|Fn|である。
Vrn={(1−αfr4)・exp{−βfr4・(|Fn|−Fthf4)}+αfr4}・Vro
ここで、αfr4及びβfr4は定数であり、0<βfr4、0≦αfr4<1、0≦Fthf4<|Fn|である。
(5)作用力成分Fnに応じて、ワーク96の外形に倣うようにロボット14の手先部16の軌道を修正しながら、手先部16の移動速度、流体圧シリンダ装置22の押圧力及び加工工具92の動作速度を調整する(目標軌道P1、目標移動速度P2、目標押圧力P3及び目標動作速度P4の調整)。
作用力成分Fnが所定の閾値Fthf5よりも大きい場合、ロボット14の手先部16の目標軌道P1を押し付け方向T2の逆方向へ、作用力成分Fnに応じた距離Dsft5だけずらすように調整するとともに、流体圧シリンダ装置22の目標押圧力Foに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標押圧力Fspnに調整する。同時に、ロボット14の手先部16の目標移動速度Vtoに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標移動速度Vtnに調整するとともに、加工工具92の目標動作速度Vroに、作用力成分Fnに応じた1未満の係数を掛けて、より小さい目標動作速度Vrnに調整して、加工工具92とワーク96との相対速度を減少させる。以下の演算を行う。
Dsft5={1−exp{−βfd5・(|Fn|−Fthf5)}}・αfd5
ここで、αfd5及びβfd5は定数であり、0<βfd5、0≦αfd5、0≦Fthf5<|Fn|である。
Fspn={(1−αff5)・exp{−βff5・(|Fn|−Fthf5)}+αff5}・Fo
ここで、αff5及びβff5は定数であり、0<βff5、0≦αff5<1、0≦Fthf5<|Fn|である。
Vtn={(1−αfv5)・exp{−βfv5・(|Fn|−Fthf5)}+αfv5}・Vto
ここで、αfv5及びβfv5は定数であり、0<βfv5、0≦αfv5<1、0≦Fthf5<|Fn|である。
Vrn={(1−αfr5)・exp{−βfr5・(|Fn|−Fthf5)}+αfr5}・Vro
ここで、αfr5及びβfr5は定数であり、0<βfr5、0≦αfr5<1、0≦Fthf5<|Fn|である。
また、作用力成分Fnが所定の閾値Fthf52(<Fthf5)よりも小さい場合、ロボット14の手先部16の目標軌道P1を押し付け方向T2へ、作用力成分Fnに応じた距離Dsft52だけずらすように調整するとともに、流体圧シリンダ装置22の目標押圧力Foに、作用力成分Fnに応じた1を超える係数を掛けて、予め定めた最大目標押圧力を超えない範囲で、より大きい目標押圧力Fspnに調整する。同時に、ロボット14の手先部16の目標移動速度Vtoに、作用力成分Fnに応じた1を超える係数を掛けて、より大きい目標移動速度Vtnに調整するとともに、加工工具92の目標動作速度Vroに、作用力成分Fnに応じた1を超える係数を掛けて、より大きい目標動作速度Vrnに調整して、加工工具92とワーク96との相対速度を増加させる。以下の演算を行う。
Dsft52={1−exp{−βfd52・(Fthf52−|Fn|)}}・αfd52
ここで、αfd52及びβfd52は定数であり、0<βfd52、0≦αfd52、0≦|Fn|<Fthf52である。
Fspn={(αff52−1)・(1−exp{−βff52・(Fthf52−|Fn|)})+1}・Fo
ここで、αff52及びβff52は定数であり、0<βff52、1≦αff52、0≦|Fn|<Fthf52である。
Vtn={(αfv52−1)・(1−exp{−βfv52・(Fthf52−|Fn|)})+1}・Vto
ここで、αfv52及びβfv52は定数であり、0<βfv52、1≦αfv52、0≦|Fn|<Fthf52である。
Vrn={(αfr52−1)・(1−exp{−βfr52・(Fthf52−|Fn|)})+1}・Vro
ここで、αfr52及びβfr52は定数であり、0<βfr52、1≦αfr52、0≦|Fn|<Fthf52である。
(6)作用力成分Fnが所定の閾値Fthf6よりも小さい場合、ロボット14の手先部16の目標軌道P1を押し付け方向T2へ、作用力成分Fnに応じた距離Dsft6だけずらすように調整する(目標軌道P1の調整)。以下の演算を行う。
Dsft6={1−exp{−βfd6・(Fthf6−|Fn|)}}・αfd6
ここで、αfd6及びβfd6は定数であり、0<βfd6、0≦αfd6、0≦|Fn|<Fthf6である。
(7)作用力成分Fnが所定の閾値Fthf7よりも小さい場合、流体圧シリンダ装置22の目標押圧力Foに、作用力成分Fnに応じた1を超える係数を掛けて、予め定めた最大目標押圧力を超えない範囲で、より大きい目標押圧力Fspnに調整する(目標押圧力P3の調整)。以下の演算を行う。
Fspn={(αff7−1)・(1−exp{−βff7・(Fthf7−|Fn|)})+1}・Fo
ここで、αff7及びβff7は定数であり、0<βff7、1≦αff7、0≦|Fn|<Fthf7である。
上記(1)〜(7)の調整手法は、例えば、予めそれぞれの閾値Fthf1〜Fthf7に大小関係を付与しておき、作用力成分Fnとそれら閾値との比較結果に従い、(1)〜(7)のいずれかの調整手法を自動選択して実施するように構成できる。或いは、加工工具92やワーク96の属性、ワーク96の加工対象領域の現状、目的とする加工品質の程度、ロボット14の動作自由度等の諸条件に応じて、(1)〜(7)の調整手法のうちでいずれか1つ以上の調整手法を実施するよう、予め設定しておくこともできる。また、上記した種々の閾値及び係数は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。
なお、ステップS5において、押し付け方向T2に直交する方向の作用力成分Fnに応じてパラメータ調整を実行する代わりに、押し付け方向T2に平行な軸の周りの作用モーメントの大きさに応じて、同様にパラメータ調整を実行することもできる。ここで作用モーメントとは、押し付け方向T2に直交する方向の作用力成分Fnによって、力覚センサ座標系の原点の周りに生じるモーメントを意味する。この場合には、上記(1)〜(7)の調整手法の各演算式における作用力成分Fnに代えて、作用モーメントの大きさを用いればよい。
最後に、ステップS6(第1及び第4のパラメータ調整部32、50が行うパラメータ調整工程に相当)で、パラメータ調整部108は、ステップS4で求めた作用力(ここでは押し付け方向T2の作用力成分Fn′)に応じて、記憶装置24に記憶した制御パラメータP1〜P4を調整する。ここで、押し付け方向T2の作用力成分Fn′は、前述したように、流体圧シリンダ装置22自体による力の緩衝作用の結果、ワーク96と加工工具92との間に実際に作用している力に対応しない。しかし、押し付け方向T2の作用力成分Fn′が、流体圧シリンダ装置22のピストンを作動ストロークの限界を超えて押しやる程に大きい場合や、流体圧シリンダ装置22による力の緩衝作用が働かない程に急激に加わった場合には、力覚センサ90が検出した力のデータは、実際の押し付け方向T2の作用力成分Fn′に実質的に対応するものとなる。ステップS6は、このような状況を考慮して実行するものである。なお、ステップS6のパラメータ調整は、ステップS5のパラメータ調整に対し、付加的に実施することができる。
ここでは具体例として、下記(1)〜(4)に示すいずれかの調整手法を実施できるものとする。なお下記において、ロボット14の手先部16の調整前の目標移動速度P2=Vto、流体圧シリンダ装置22の調整前の目標押圧力P3=Fo、加工工具92の調整前の目標動作速度P4=Vroとする。
(1)作用力成分Fn′が所定の閾値Fthfo1よりも大きい場合、ロボット14の各制御軸の駆動部に過大な負荷が掛からないようにしながら、ロボット14を減速させて停止させる(目標移動速度P2の調整)。
(2)作用力成分Fn′が所定の閾値Fthfo2よりも大きい場合、ロボット14の各制御軸の駆動部に過大な負荷が掛からないようにしながら、直ちにロボット14の手先部16の移動方向を反転して、加工工具92の進行方向T1の逆方向の単位ベクトルと押し付け方向T2の逆方向の単位ベクトルとを足し合わせた方向へ手先部16を移動させた後、ロボット14を減速させて停止させる(目標軌道P1及び目標移動速度P2の調整)。
(3)作用力成分Fn′が所定の閾値Fthfo3よりも大きい場合、ロボット14の手先部16の目標軌道P1を押し付け方向T2の逆方向へ、適当な距離Dfo3だけずらすように調整する(目標軌道P1の調整)。
(4)作用力成分Fn′が所定の閾値Fthfo4よりも大きい場合、ロボット14の手先部16の目標軌道P1を押し付け方向T2の逆方向へ、適当な距離Dfo4だけずらすように調整するとともに、ロボット14の手先部16の目標移動速度Vtoに、1未満の適当な係数を掛けて、より小さい目標移動速度Vtnに調整し、かつ、流体圧シリンダ装置22の目標押圧力Foに、1未満の適当な係数を掛けて、より小さい目標押圧力Fspnに調整する(目標軌道P1、目標移動速度P2及び目標押圧力P3の調整)。以下の演算を行う。
Vtn=αfov4・Vto
Fspn=αfof4・Fo
ここで、αfov4及びαfof4は定数であり、0≦αfov4<1、0≦αfof4<1である。
上記(1)〜(4)の調整手法は、例えば、予めそれぞれの閾値Fthfo1〜Fthfo4に大小関係を付与しておき、作用力成分Fn′とそれら閾値との比較結果に従い、(1)〜(4)のいずれかの調整手法を自動選択して実施するように構成できる。或いは、加工工具92やワーク96の属性、ワーク96の加工対象領域の現状、目的とする加工品質の程度、ロボット14の動作自由度等の諸条件に応じて、(1)〜(4)の調整手法のうちでいずれか1つ以上の調整手法を実施するよう、予め設定しておくこともできる。また、上記した種々の閾値及び係数は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。
また、ステップS5とステップS6とで同じ制御パラメータを調整することになる場合には、それらステップでの調整手法同士に不整合が生じないように、両ステップにおける同一制御パラメータの調整手法に重み付け等により予め優先順位を設定しておき、優先順位が高い方の調整手法を実施するように構成する。例えば、ステップS5の(3)とステップS6の(1)とを実施することになる場合には、ステップS6の(1)を優先してロボット14を減速停止させるように、予め設定してもよい。同一制御パラメータに対する調整手法に不整合が生じない場合(例えばいずれもロボット14の減速停止)、両方を実施できる。
なお、ステップS6においても、押し付け方向T2の作用力成分Fn′に応じてパラメータ調整を実行する代わりに、押し付け方向T2に直交する軸の周りの作用モーメントの大きさに応じて、同様にパラメータ調整を実行することもできる。ここでの作用モーメントは、押し付け方向T2の作用力成分Fn′によって、力覚センサ座標系の原点の周りに生じるモーメントを意味する。この場合には、上記(1)〜(4)の調整手法の各演算式における作用力成分Fn′に代えて、作用モーメントの大きさを用いればよい。
このように、図20に示す制御フローによれば、力覚センサ90が検出した力及びモーメントのデータD3を用いて、倣い作業中に加工工具92とワーク96との間に実際に作用している作用力を算出し、この作用力の所望方向の成分に応じて、ロボット14の手先部16の目標軌道P1及び目標移動速度P2、流体圧シリンダ装置22の目標押圧力P3、並びに加工工具92の目標動作速度P4のうちの、少なくとも1つの制御パラメータを調整しているから、前述したように、加工作業中に加工工具92とワーク96の間に作用する作用力をリアルタイムで適正化して、システム構成要素の構造的安定性及び安全性を高めるとともに加工の品質及び信頼性を向上させることができる。
なお、上記制御フローで使用している変位検出センサ58からのデータは、流体圧シリンダ装置22のピストンの位置を直接的に表すものであって、力覚センサ90が支持する物体の重心位置の変化等を正確に把握するのに有効なものである。しかし本発明では、変位検出センサ58を省略し、流体圧シリンダ装置22のピストンが零変位の基準位置に置かれていると仮定して、上記重心位置等を近似的に求めるようにしてもよい。
図21は、前述した影響力算出部34(図1等)及び第2のパラメータ調整部36(図1等)の機能を実行するための制御フローを示す。
まず、ステップS11(影響力算出部34が行うシリンダ影響力の算出工程の一部に相当)で、流体圧シリンダ装置22の作動により変位する物体(ピストン等の出力側可動要素、工具ホルダ94、加工工具92)の重心位置を算出(推定)する。ここでは、ピストン変位量が任意量dのときの力覚センサ座標系での、流体圧シリンダ装置22の作動により変位する物体の重心位置ベクトルrt[d](前述したステップS1で用いた式(1−6)から得られる)を使用できる。この重心位置ベクトルrt[d]と、ロボット14の制御軸動作位置のデータD1から求められる手先部16上の力覚センサ90の位置とから、流体圧シリンダ装置22の作動により変位する物体の重心位置を求めることができる。なお、このような重心位置の算出手法は一例であって、実測等の他の手法により、流体圧シリンダ装置22の作動により変位する物体の重心位置を求めてもよい。しかし、上記手法によれば、別の計測器等を用いることなく、加工ロボットシステム102が本質的に有する構成要素によって重心位置を求めることができる利点がある。
次に、ステップS12(影響力算出部34が行う算出工程の一部に相当)で、流体圧シリンダ装置22の作動により変位する物体(ピストン等の出力側可動要素、工具ホルダ94、加工工具92)に作用する重力及び慣性力が、流体圧シリンダ装置22の作動に及ぼしているシリンダ影響力を算出(推定)する。シリンダ影響力は、流体圧シリンダ装置22の作動により変位する物体の重心位置及び質量から、例えば、前述したステップS2で説明した手法と同様の手法により、算出することができる。つまり、ステップS11で算出した流体圧シリンダ装置22の作動により変位する物体の重心位置と、前述したステップS1で算出した同物体の質量Mtとに基づき、前述した動力学方程式(2−1)におけるH(θ,dθ/dt)及びG(θ)の項を解くことで、シリンダ影響力を算出できる。なお、ここで算出するシリンダ影響力は、流体圧シリンダ装置22のピストンに対する影響を評価するものである。
最後に、ステップS13(第2のパラメータ調整部36が行うパラメータ調整工程に相当)で、パラメータ調整部108は、記憶装置24に記憶した流体圧シリンダ装置22の目標押圧力P3に対し、流体圧シリンダ装置22の作動により変位する物体(ピストン等の出力側可動要素、工具ホルダ94、加工工具92)に作用する重力及び慣性力の影響を補償する。すなわち、ステップS12で求めたシリンダ影響力と流体圧シリンダ装置22による押し付け方向T2の単位ベクトルとの内積から、シリンダ影響力の押し付け方向T2の成分を求め、このシリンダ影響力成分を相殺するように、目標押圧力P3を調整する(つまり増加させるか減少させる)。なお、図示しないが、ステップS12でさらに、前述した影響モーメント算出部54(図6)の機能としてシリンダ影響モーメントを算出し、ステップS13でさらに、前述した第5のパラメータ調整部56(図6)の機能として目標軌道P1と目標移動速度P2との少なくとも一方を調整するように構成することもできる。
このように、図21に示す制御フローによれば、重力及び慣性力が流体圧シリンダ装置22の作動に及ぼしているシリンダ影響力を算出し、このシリンダ影響力を補償するように流体圧シリンダ装置22の目標押圧力P3を調整しているから、前述したように、加工作業中に手先部16の姿勢の変化や加速度の付加によってシリンダ影響力が発生したときにも、流体圧シリンダ装置22による加工工具92のワーク96に対する押し付け力を最適化して、加工の品質及び信頼性を著しく向上させることができる。
特に、加工ロボットシステム102では、流体圧シリンダ装置22と力覚センサ90とを組み合わせてロボット14の手先部16に設置しているので、手先部16に支持される加工工具92、工具ホルダ94、ワーク96、ハンド98等の種類が変更された場合でも、力覚センサ90が支持する物体や流体圧シリンダ装置22の作動により変位する物体の質量や重心位置を、容易に算出することができる。その結果、力覚センサ90が支持する物体や流体圧シリンダ装置22の作動により変位する物体に作用する重力や慣性力が、パラメータ調整に及ぼす影響を、容易に相殺することができる。
図22は、前述した接触位置算出部44(図3)及び第3のパラメータ調整部46(図3)の機能を実行するための制御フローを示す。
まず、ステップS21(接触位置算出部44が行う接触位置の算出工程に相当)で、倣い作業中に加工工具92とワーク96とが互いに実際に接触している接触位置を、以下の手順により算出(推定)する。
力覚センサ90が検出する力覚センサ座標系での力Fsと原点の周りのモーメントMsとは、次式で表される(ただし押し付け方向T2の力成分は除外する。)。
Fs=Ma・Gs+Fin+Ft ・・・式(3−1)
Ms=Ma・(ra[d]×Gs)+ra[d]×Fin+rc×Ft ・・・式(3−2)
ここで、
Ma:力覚センサ90に支持される物体(流体圧シリンダ装置22、工具ホルダ94、加工工具92)の質量、
ra[d]:力覚センサ座標系での、力覚センサ90に支持される物体の重心位置ベクトル、
Fin:力覚センサ座標系での、力覚センサ90に支持される物体の重心に作用する慣性力ベクトル、
Gs:力覚センサ座標系での、力覚センサ90に支持される物体の重心に作用する重力ベクトル、
rc:力覚センサ座標系での、加工工具92とワーク96との接触位置ベクトル、
Ft:力覚センサ座標系での、加工工具92とワーク96との接触位置に作用する力ベクトル。
ここで、
Fs′=Fs−Ma・Gs−Fin
Ms′=Ms−Ma・(ra[d]×Gs)−ra[d]×Fin
と置くと、式(3−1)及び(3−2)から、以下の関係式が成立する。
Ms′=rc×Fs′ ・・・式(3−3)
力Fs及びモーメントMsは、力覚センサ90の検出データとして取得できる。質量Ma及び重心位置ベクトルra[d]は、例えば、図20のステップS1で説明した手法により算出できる。慣性力ベクトルFinは、例えば、図20のステップS2で説明した手法により算出できる。重力ベクトルGsは、ロボット14の制御軸動作位置のデータD1と、手先部16に取り付けられる力覚センサ90及び力覚センサ90に支持される物体の、全体の取り付け位置関係(力覚センサ90自体の姿勢と力覚センサ90に支持される物体の重心位置との関係)とに基づいて算出できる。ここで、重力ベクトルGsは、力覚センサ座標系で見た重力ベクトルであるので、ロボット14の取り付け姿勢が異なる場合(例えば、ロボット14の設置床面が傾いていたりロボット14を壁面や天井に設置したりする場合)も考慮されている。
ここで式(3−3)において、Fs′、Ms′、rcを、以下のように記述する。
加工工具92とワーク96との接触位置が、流体圧シリンダ装置22による押し付け方向(ピストン変位方向)T2に平行でかつ加工工具92の回転軸線を含む仮想平面内に存在すると仮定すると、接触位置ベクトルrcの成分であるrx、ry、rzの間には、一次式で表される関係式が成立する。ここでは、押し付け方向T2が力覚センサ座標系のY軸に平行で、手先部16の進行方向T1が同X軸に平行で、加工工具92とワーク96との接触位置が同X軸に直交する仮想平面に存在すると仮定する。このとき、仮想平面の存在する条件をrx=r1(r1は定数)とすると、式(3−3)から、Fx′≠0のときに次式が得られる(Fx′=0のときには、進行方向T1には力が加わっていないことになるので、ワーク96に接近する方向へ手先部16bの軌道をずらすなどの調整を行ってもよい。)。
式(3−4)から、加工工具92とワーク96との接触位置ベクトルrcが得られる。なお、式(3−4)で得られるのは、力覚センサ座標系での座標値であり、ロボット14の基準座標系での座標値が必要な場合には、ロボット14の制御軸動作位置のデータD1及び力覚センサ90のロボット14への取り付け位置関係から算出すればよい。
次に、ステップS22(第3のパラメータ調整部46が行うパラメータ調整工程に相当)で、パラメータ調整部108は、ステップS21で算出した加工工具92とワーク96との接触位置rcに応じて、所要の制御パラメータP1〜P4を下記のようにして調整する。
図23に示すように、加工工具92が、ロボット14から見て末端側を頂点とする円錐形の回転刃92aを有する場合、加工工具92とワーク96との目標接触位置110に対して、倣い作業中の実際の接触位置112が、教示軌道の誤差やワーク形状のばらつき等に起因してずれを生じると、実際の接触位置112における回転刃92aの周速度が、目標接触位置110における周速度から変化する。例えば、実際の接触位置112が、目標接触位置110よりも工具根元側にずれている場合には、接触位置112での回転刃92aの周速度が、目標接触位置110での周速度よりも速くなる(図23(a))。また、接触位置112が、目標接触位置110よりも工具先端側にずれている場合には、接触位置112での回転刃92aの周速度が、目標接触位置110での周速度よりも遅くなる(図23(b))。
このような観点から、回転刃92aが円錐形の場合に限らず、予め回転刃92aの形状データをCAD等のデータから取得したりオペレータが形状モデルデータを数値等で入力したりしておけば、目標接触位置とステップS21で算出した実際の接触位置rcとの関係及び回転刃92aの形状データに基づき、接触位置rcでの回転刃92aの周速度と目標接触位置での周速度との同異及び高低を予測できる。回転刃92aの周速度の変動は、加工の品質や信頼性に影響を及ぼすものである。
そこで、回転刃92aの周速度が目標接触位置での周速度よりも速くなると予測される位置に接触位置rcが存在する場合、具体例として、下記(1)〜(4)に示すいずれかの調整手法を実施できるように構成する。なお下記において、ロボット14の手先部16の調整前の目標移動速度P2=Vto、流体圧シリンダ装置の調整前の目標押圧力P3=Fo、加工工具92の調整前の目標動作速度P4=Vroとする。また、加工工具92の工具座標系(ここでは、加工工具92上の目標接触位置を原点とし、工具回転軸に対して平行な軸を1つの軸とする座標系)において、目標接触位置と実際の接触位置rc(力覚センサ座標系での値を変換したもの)との間の工具径方向に見た最短距離(すなわち、工具回転軸から目標接触位置までの最短距離と工具回転軸から実際の接触位置までの最短距離との差)をDaとする。
(1)加工工具92の回転軸に沿った方向の接触位置rcの座標が、同方向の目標接触位置の座標と同じになるように、ロボット14の手先部16の軌道を修正する(目標軌道P1の調整)。
(2)ロボット14の手先部16の目標移動速度Vtoに、距離Daに応じた1を超える係数を掛けて、より大きい目標移動速度Vtnに調整する(目標移動速度P2の調整)。以下の演算を行う。
Vtn={(αpv2−1)・{1−exp(−βpv2・Da)}+1}・Vto
ここで、αpv2及びβpv2は定数であり、0<βpv2、1≦αpv2、0≦Daである。
(3)流体圧シリンダ装置22の目標押圧力Foに、距離Daに応じた1未満の係数を掛けて、より小さい目標押圧力Fspnに調整する(目標押圧力P3の調整)。以下の演算を行う。
Fspn={(1−αpf3)・exp(−βpf3・Da)+αpf3}・Fo
ここで、αpf3及びβpf3は定数であり、0<βpf3、0≦αpf3<1、0≦Daである。
(4)加工工具92の目標動作速度Vroに、距離Daに応じた1未満の係数を掛けて、より小さい目標動作速度Vrnに調整する(目標動作速度P4の調整)。以下の演算を行う。
Vrn={(1−αpr4)・exp(−βpr4・Da)+αpr4}・Vro
ここで、αpr4及びβpr4は定数であり、0<βpr4、0≦αpr4<1、0≦Daである。
上記(1)〜(4)の調整手法は、例えば、加工工具92やワーク96の属性、ワーク96の加工対象領域の現状、目的とする加工品質の程度、ロボット14の動作自由度等の諸条件に応じて、(1)〜(4)の調整手法のうちでいずれか1つ以上の調整手法を実施するよう、予め設定しておくことができる。また、上記した種々の係数は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。
他方、回転刃92aの周速度が目標接触位置110での周速度よりも遅くなると予測される位置に接触位置rcが存在する場合、具体例として、下記(5)〜(8)に示すいずれかの調整手法を実施できるように構成する。なお、下記における文字の定義は、上記(1)〜(4)と同様である。
(5)加工工具92の回転軸に沿った方向の接触位置rcの座標が、同方向の目標接触位置の座標と同じになるように、ロボット14の手先部16の軌道を修正する(目標軌道P1の調整)。
(6)ロボット14の手先部16の目標移動速度Vtoに、距離Daに応じた1未満の係数を掛けて、より小さい目標移動速度Vtnに調整する(目標移動速度P2の調整)。以下の演算を行う。
Vtn={(1−αpdv2)・exp(−βpdv2・Da)+αpdv2}・Vto
ここで、αpdv2及びβpdv2は定数であり、0<βpdv2、0≦αpdv2<1、0≦Daである。
(7)流体圧シリンダ装置22の目標押圧力Foに、距離Daに応じた1を超える係数を掛けて、より大きい目標押圧力Fspnに調整する(目標押圧力P3の調整)。以下の演算を行う。
Fspn={(αpdf3−1)・{1−exp(−βpdf3・Da)}+1}・Fo
ここで、αpdf3及びβpdf3は定数であり、0<βpdf3、1≦αpdf3、0≦Daである。
(8)加工工具92の目標動作速度Vroに、距離Daに応じた1を超える係数を掛けて、より大きい目標動作速度Vrnに調整する(目標動作速度P4の調整)。以下の演算を行う。
Vrn={(αpdr4−1)・{1−exp(−βpdr4・Da)}+1}・Vro
ここで、αpdr4及びβpdr4は定数であり、0<βpdr4、1≦αpdr4、0≦Daである。
上記(5)〜(8)の調整手法は、例えば、加工工具92やワーク96の属性、ワーク96の加工対象領域の現状、目的とする加工品質の程度、ロボット14の動作自由度等の諸条件に応じて、(5)〜(8)の調整手法のうちでいずれか1つ以上の調整手法を実施するよう、予め設定しておくことができる。また、上記した種々の係数は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。
このように、図22に示す制御フローによれば、倣い作業中に加工工具92とワーク96とが互いに実際に接触している接触位置を算出し、この接触位置に応じて、ロボット14の手先部16の目標軌道P1及び目標移動速度P2、流体圧シリンダ装置22の目標押圧力P3、並びに加工工具92の目標動作速度P4のうちの、少なくとも1つの制御パラメータを調整しているから、前述したように、教示軌道の誤差やワーク形状のばらつき等により実際の接触位置が目標接触位置からずれた場合であっても、加工工具92によるワーク加工能力を一定に維持して、ワーク加工量の変動及び加工品質の低下を抑制し、以て、加工の品質及び信頼性を一層向上させることができる。
図22に示す制御フローでは、ステップS21で算出した加工工具92とワーク96との接触位置に基づき、加工工具92の回転刃92aの摩耗量を推測することもできる。例えば、円錐形の回転刃92aにおいて、図23(c)に示すように、目標接触位置110に対して工具先端側にずれている実際の接触位置112が、回転刃92aの形状データから得られる位置112′よりも工具回転軸線に近い位置に有る場合、この偏差分だけ回転刃92aが摩耗していると推測できる。
そこで、回転刃92aが円錐形の場合に限らず、目標接触位置とステップS21で算出した実際の接触位置rcとの関係及び回転刃92aの形状データに基づき、回転刃92aが摩耗していない状態で予期される接触位置(仮想点)と、ステップS21で算出した実際の接触位置rcとの、工具径方向に見た最短距離(すなわち、工具回転軸から予期接触位置(仮想点)までの最短距離と工具回転軸から実際の接触位置までの最短距離との差)Da2が、所定の閾値を超える場合、ステップS22において、具体例として下記(9)〜(12)に示すいずれかの調整手法を実施できるように構成する。なお、下記における文字の定義は、上記(1)〜(4)と同様である。
(9)回転刃92aが、回転軸線に沿った位置に応じて半径が変化する形状(例えば円錐形)を有する場合、加工工具92とワーク96との実際の接触位置を、当該接触位置での周速度が大きくなる方向へずらすことを目的として、ロボット14の手先部16の軌道を、回転軸線に沿った方向であって回転刃92aの半径が大きくなる方向へ、距離Da2に応じた距離Dpw1だけ修正する(目標軌道P1の調整)。以下の演算を行う。
Dpw1={1−exp(−βpwd1・Da2)}・αpwd1
ここで、αpwd1及びβpwd1は定数であり、0<βpwd1、0≦αpwd1、0≦Da2である。
(10)流体圧シリンダ装置22の目標押圧力Foに、距離Da2に応じた1を超える係数を掛けて、より大きい目標押圧力Fspnに調整する(目標押圧力P3の調整)。以下の演算を行う。
Fspn={(αpwf2−1)・{1−exp(−βpwf2・Da2)}+1}・Fo
ここで、αpwf2及びβpwf2は定数であり、0<βpwf2、1≦αpwf2、0≦Da2である。
(11)加工工具92の目標動作速度Vroに、距離Da2に応じた1を超える係数を掛けて、より大きい目標動作速度Vrnに調整する(目標動作速度P4の調整)。以下の演算を行う。
Vrn={(αpwr2−1)・(1−exp(−βpwr2・Da2))+1}・Vro
ここで、αpwr2及びβpwr2は定数であり、0<βpwr2、1≦αpwr2、0≦Da2である。
(12)現在の作業の終了後に、加工工具92を交換する。
上記(9)〜(12)の調整手法は、例えば、加工工具92やワーク96の属性、ワーク96の加工対象領域の現状、目的とする加工品質の程度、ロボット14の動作自由度等の諸条件に応じて、(9)〜(12)の調整手法のうちでいずれか1つ以上の調整手法を実施するよう、予め設定しておくことができる。また、上記した種々の係数は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。これらの調整手法により、加工工具92の摩耗により実際の接触位置が目標接触位置からずれた場合であっても、加工工具92によるワーク加工能力を一定に維持して、ワーク加工量の変動及び加工品質の低下を抑制し、以て、加工の品質及び信頼性を一層向上させることができる。さらに、図22に示す制御フローによれば、目標接触位置と実際の接触位置とのずれや推測される工具摩耗量が、予め定めた限界値を越えた場合に、システム制御装置100がそれを異常と判断して、作業を強制的に中断したり工具交換をオペレータに報知したりすることができるので、システムの安全性を一層高めることができる。
図24は、前述した第6のパラメータ調整部60(図7)の機能を実行するための制御フローを示す。
流体圧シリンダ装置22の作動(したがって目標押圧力)が、前述したシリンダ影響力を補償するように第2のパラメータ調整部36(図1等)によって適切に調整されていることを前提として、まずステップS31で、流体圧シリンダ装置22のピストン変位量が上限値(つまりピストンが押し付け方向T2のストローク限界位置に有る)又は下限値(つまりピストンが押し付け方向T2の反対方向のストローク限界位置に有る)であるか否かを判断する。
ピストン変位量が上限値であるときには、加工工具92とワーク96とが互いに接触せずに離れてしまっている可能性がある。そこで、ステップS32で、流体圧シリンダ装置22のピストン変位量が上限値と下限値との間の値に移行するように、ロボット14の手先部16の軌道を、加工工具92がワーク96に接近する方向へずらす(目標軌道P1の調整)。それにより、加工工具92とワーク96との間の押し付け力を最適化し、加工不足を回避して加工の品質及び信頼性を著しく向上させることができる。
他方、ピストン変位量が下限値であるときには、加工工具92とワーク96とが流体圧シリンダ装置22の作動ストローク以上に互いに接近しようとしている(したがって過剰な押し付け力が生じている)可能性がある。そこで、ステップS32で、流体圧シリンダ装置22のピストン変位量が上限値と下限値との間の値に移行するように、ロボット14の手先部16の軌道を、加工工具92がワーク96から離れる方向へずらす(目標軌道P1の調整)。それにより、加工工具92とワーク96との間の押し付け力を最適化し、システム構成要素の構造的安定性及び安全性を高めるとともに過剰加工を回避して加工の品質及び信頼性を著しく向上させることができる。
なお、上記いずれの場合も、手先部16の軌道修正量(つまりピストン変位量の移行先の値)は任意であり、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。また、軌道の修正手法としては、例えば、ロボット14の各制御軸の駆動部に過大な負荷が掛からないようにしながら、予め指定した移動量(ピストンストローク/n(n>0))だけ目標軌道を変更したり、変位検出センサ58(図18)からフィードバックされるピストン変位量が予め指定した数値を示すまで、目標軌道を変更したりする手法を挙げることができる。なお、ステップS31で、流体圧シリンダ装置22のピストン変位量が上限値及び下限値のいずれでもないと判断したときには、ステップS33で、ロボット14の手先部16の目標軌道P1を調整しないようにすることができる。
図25は、前述した押付方向決定部64(図8)及び第7のパラメータ調整部66(図8)の機能を実行するための制御フローを示す。
まず、ステップS41(押付方向決定部64が行う目標押し付け方向の決定工程の一部に相当)で、図20のステップS5に関連して説明した手法と同様の手法により、倣い作業中の加工工具92の実際の進行方向T1(つまりロボット14の工具座標系原点の実際の移動方向)を算出(推定)する。すなわち、ロボット14の制御軸動作位置のデータD1と、流体圧シリンダ装置22のピストン変位量のデータD2と、加工工具92に設定した工具座標系原点(目標接触位置)の位置データと、手先部16に設置した力覚センサ90、流体圧シリンダ装置22、加工工具92等の取り付け位置関係とを用いて、加工工具92の工具座標系原点の現在位置を制御周期毎に求め、複数の制御周期で求めた加工工具92の現在位置の変化に基づいて、加工工具92の実際の進行方向T1を算出する。なお、この制御フローは、加工工具92の進行方向T1(工具座標系原点の移動方向)が流体圧シリンダ装置22による押し付け方向T2に直交する構成に限らず、進行方向T1が押し付け方向T2に任意角度で斜交する構成にも適用できるものである。
次に、ステップS42(押付方向決定部64が行う目標押し付け方向の決定工程の一部に相当)で、ステップS41で算出した加工工具92の進行方向T1(工具座標系原点の移動方向)の単位ベクトルに対し、零以外の予め定めた押し付け角度を成す方向に、流体圧シリンダ装置22の作動による加工工具92のワーク96に対する最適な目標押し付け方向を決定する。ここで、加工工具92をワーク96の指定された縁部96a(図19)に沿って縁部96aに倣うように進行させる倣い作業においては、加工工具92の進行方向T1に対して予め定めた角度を成す方向、というだけでは、接線(つまり進行方向T1に平行な軸線)を中心とする回転方向に見れば同じ「予め定めた角度を」成す方向が無限に存在する。そこで、目標押し付け方向を決定する手法として、下記のような幾つかの異なる手法を実施できる。
第1の決定手法では、ロボット14に倣い作業を実施させる前の準備作業として、オペレータが、加工工具92のワーク96に対する目標接触位置(ここでは工具座標系原点。制御基準点の場合もある。)を含み加工工具92の回転軸線に直交する仮想平面上で、加工工具92の進行方向ベクトル(ステップS41で算出)の当該仮想平面への投影ベクトルに対し、所望の押し付け角度φ1を成す方向が目標押し付け方向であるとして、押し付け角度φ1を予め用意しておく(したがって、進行方向ベクトルに対して目標押し付け方向を直交させる構成では、押し付け角度φ1は90度である。)。そして、ロボット14が倣い作業を実施している最中に、システム制御装置100が、加工工具92のワーク96に対する目標接触位置(ここでは工具座標系原点。制御基準点の場合もある。)を含み加工工具92の回転軸線に直交する作業中の(つまり随時変動し得る)仮想平面を求め、この作業中の仮想平面に、ステップS41で求めた進行方向T1の単位ベクトルを投影して作業中の投影ベクトルを算出する。そして、この作業中の投影ベクトルと、予め用意した押し付け角度φ1との関係から、随時変動し得る目標押し付け方向を決定する。
第2の決定手法では、ロボット14に倣い作業を実施させる前の準備作業として、加工工具92を倣わせる縁部96aを含むワーク96上の特定表面(特にロボット14の基準座標系における平面(特定表面が曲面の場合には任意の接平面)の傾き)を、ロボット14により当該特定表面上の任意箇所を三点計測することにより算出(又は近似推定)し、オペレータが、加工工具92のワーク96に対する目標接触位置(ここでは工具座標系原点。制御基準点の場合もある。)を含みこの特定表面に平行する仮想平面上で、加工工具92の進行方向ベクトル(ステップS41で算出)の当該仮想平面への投影ベクトルに対し、所望の押し付け角度φ2を成す方向が目標押し付け方向であるとして、押し付け角度φ2を予め用意しておく(したがって、進行方向ベクトルに対して目標押し付け方向を直交させる構成では、押し付け角度φ2は90度である。)。そして、ロボット14が倣い作業を実施している最中に、システム制御装置100が、加工工具92のワーク96に対する目標接触位置(ここでは工具座標系原点。制御基準点の場合もある。)を含み上記特定表面に平行する作業中の(つまり随時変動し得る)仮想平面を求め、この作業中の仮想平面に、ステップS41で求めた進行方向T1の単位ベクトルを投影して作業中の投影ベクトルを算出する。そして、この作業中の投影ベクトルと、予め用意した押し付け角度φ2との関係から、随時変動し得る目標押し付け方向を決定する。
第1の決定手法では、目標押し付け方向は、加工工具92の回転軸線に直交する平面内で決定される。これに対し、第2の決定手法では、目標押し付け方向は、加工工具92を倣わせる縁部96aを含むワーク96上の特定表面(例えば図19に示す表面96c)に平行な平面内で決定される。第2の決定手法において、縁部96aを含むワーク96上の特定表面が曲面であってその接平面の傾きが縁部96aに沿って絶えず変化している場合には、縁部96aに沿った所望の長さ領域内で、代表的な接平面を予め設定しておいてもよい。この場合、CAD等によるワーク96の形状データを用いることで、代表的な接平面を比較的容易に設定できる。
第3の決定手法では、ロボット14に倣い作業を実施させる前の準備作業として、押し付け角度φ1、φ2を用意する代わりに、オペレータが、加工工具92を倣わせる縁部96a上の複数の任意の位置において、共通する方向を有する互いに平行な所望の単位ベクトルを予め用意しておく。例えば、縁部96aが二次元曲線の場合には、この縁部96aを包含する仮想平面上で所望の方向を定め、縁部96a上の複数の任意の位置のそれぞれにおいてこの方向を有する単位ベクトルを設定することができる。また、縁部96aが直線の場合には、この縁部96aを包含する実平面に直交する仮想平面上で所望の方向を定め、縁部96a上の複数の任意の位置のそれぞれにおいてこの方向を有する単位ベクトルを設定することができる。そして、ロボット14が倣い作業を実施している最中に、システム制御装置100が、縁部96a上の予め定めた複数の任意の位置において、予め設定した互いに平行な単位ベクトルとステップS41で求めた進行方向T1の単位ベクトルとの外積により、随時変動し得る目標押し付け方向(ベクトル)を決定する。
第3の決定手法では、目標押し付け方向は、縁部96a上の複数の任意の位置における互いに平行な単位ベクトルの方向に従って決定される。これらの単位ベクトルの方向が、ステップS41で求めた進行方向T1の単位ベクトルの方向と一致する場合には、オペレータが準備作業として単位ベクトルを設定し直すようにすれば良い。
なお、加工ロボットシステム102を、加工工具92をワーク96の指定された表面に沿って当該表面に倣うように進行させる研磨や研削等の作業に適用する場合は、ロボット14に倣い作業を実施させる前の準備作業として、又はロボット14が倣い作業を実施している最中に、ワーク96の加工対象面上の直線に並ばない任意箇所を三点計測することにより、加工対象面を算出(又は近似推定)し、加工対象面の法線の方向を算出し、この法線の方向を目標押し付け方向として決定することができる。
最後に、ステップS43(第7のパラメータ調整部66が行うパラメータ調整工程に相当)で、パラメータ調整部108は、ステップS42で算出した目標押し付け方向に従い、記憶装置24に記憶した手先部16の目標軌道P1を調整する。ここでは、流体圧シリンダ装置22のピストンの作動方向(単動式かつ1軸の場合)を目標押し付け方向に合致させることを目的として、制御周期毎の加工工具92とワーク96との目標接触位置(ここでは工具座標系原点。制御基準点の場合もある。)を変えることなく、制御周期毎の手先部16の姿勢を変化させるように目標軌道P1を調整する。ここで、目標軌道P1における制御周期毎の手先部16の位置及び姿勢は、流体圧シリンダ装置22の目標押し付け方向が、ロボット14の手先部16の目標軌道P1に沿った移動方向に対して所望の角度を成す、という条件から算出できる。
このように、図25に示す制御フローによれば、ロボット14の手先部16の移動中に流体圧シリンダ装置22による最適な目標押し付け方向を決定し、その最適な目標押し付け方向に従って手先部16の目標軌道P1を調整しているから、流体圧シリンダ装置22の押し付け方向が最適な押し付け方向からずれている場合に、手先部16の軌道を自動的に変化させて流体圧シリンダ装置22を最適な押し付け方向で作動させることができ、その結果、加工工具92とワーク96との間の押し付け力(特に、加工対象領域の接線や接平面に直交する方向へ加わる力)が所望の大きさからずれることを抑制する(つまり最適化する)ことができる。また、記憶装置24に記憶した目標軌道P1が、流体圧シリンダ装置22による押し付け方向を最適な方向にするものでない場合にも、目標軌道P1(したがって押し付け方向)を自動的に最適化できるため、目標軌道P1の教示が容易になる利点がある。
図26は、前述した押付方向決定部68(図9)及び目標軌道生成部70(図9)の機能を実行するための制御フローを示す。図26の制御フローは、図25の制御フローにおける目標押し付け方向決定ステップ(S42)及び目標軌道調整ステップ(S43)に代えて、押付方向決定部68及び目標軌道生成部70が、加工工具92の現在位置の変化に基づいて次の位置を自動的に推定し、流体圧シリンダ装置22による最適な目標押し付け方向に従って手先部16の目標軌道P1を生成するステップを有するものである。
まず、ロボット14に倣い作業を実施させる前の準備作業として、オペレータが、目標軌道の無い状態で手先部16を移動させるための初期パラメータ(例えば、手先部16の初期位置、初期移動方向及び初期移動速度、手先部16の初期移動方向と流体圧シリンダ装置22の初期押し付け方向との関係、手先部16の最終位置、加工工程における総加工距離や総加工時間、加工工具92を倣わせるワーク96の縁部96aを含む表面96cの高さ等)を設定し、システム制御装置100に入力する。システム制御装置100は、この初期パラメータに従い手先部16を移動させることで、倣い作業を開始する。
初期パラメータに従う倣い作業が開始されると、ステップS51(押付方向決定部68が行う目標押し付け方向の決定工程の一部に相当)で、ロボット14の制御軸動作位置のデータD1と、流体圧シリンダ装置22のピストン変位量のデータD2と、加工工具92に設定した工具座標系原点(目標接触位置)の位置データと、手先部16に設置した力覚センサ90、流体圧シリンダ装置22、加工工具92等の取り付け位置関係とを用いて、加工工具92の工具座標系原点の現在位置を制御周期毎に求め、複数の制御周期で求めた加工工具92の現在位置の変化に基づいて、加工工具92の実際の進行方向T1の単位ベクトルを算出(推定)する。次に、ステップS52(押付方向決定部68が行う目標押し付け方向の決定工程の一部に相当)で、加工工具92(工具座標系原点)が通過した制御周期毎の位置の変化から、手先部16が次に進むべき位置を推定する。例えば、制御周期毎の工具座標系原点の位置の履歴に基づき、最小二乗近似で次の制御周期の工具座標系原点の位置を推定できる。
次に、ステップS53(押付方向決定部68が行う目標押し付け方向の決定工程の一部に相当)で、ステップS51で算出した加工工具92の進行方向T1(工具座標系原点の移動方向)の単位ベクトルに対し、前述したステップS42と同様の手法により、零以外の予め定めた押し付け角度を成す方向に、流体圧シリンダ装置22の作動による加工工具92のワーク96に対する最適な目標押し付け方向を決定する。最後にステップS54(目標軌道生成部70が行う目標軌道生成工程に相当)で、ステップS52で推定したロボット14の手先部16の次位置における流体圧シリンダ装置22のピストンの作動方向(単動式かつ1軸の場合)が、ステップS53で算出した目標押し付け方向に合致するように、手先部16の次位置での姿勢を求める。これらステップS51〜S54を、予め定めた終点位置に手先部16が達するまで繰り返すことにより、流体圧シリンダ装置22の作動方向を所望の押し付け方向に合致させた目標軌道P1を、自動的に生成することができる。
このように、図26に示す制御フローによれば、ロボット14の手先部16の移動中に流体圧シリンダ装置22による最適な目標押し付け方向を逐次的に決定し、その最適な目標押し付け方向に従って手先部16の目標軌道P1を自動的に生成しているから、ロボット14に手先部16の目標軌道をワーク形状に基づいて正確に教示することなく、前述した幾つかの初期パラメータを設定するだけで、倣い作業を実行しながら、ワーク96の加工対象領域に正確に倣う手先部16の目標軌道P1を容易に生成することができる。このような目標軌道P1の自動生成フローは、実際の加工作業(図示実施形態ではバリ取り作業)の実行中に、工具座標系原点の現在位置の変化とそれに基づいた次位置の推定、及び現在の進行方向とそれに対応する目標押し付け方向(次位置でのピストン作動方向に対応)の決定により、それ以降の工具座標系原点の位置及び手先部16の姿勢を随時算出するようにして、行うことができる。或いは、加工作業を実行せずに、加工工具92を例えば回転自在な状態にしてワーク96や別途用意したマスターワークの加工対象領域に倣わせるように、ロボット14の手先部16を動作させることで、目標軌道P1を生成することもできる。目標軌道P1に沿って移動する手先部16の目標移動速度P2は、ワーク96や加工の種類等に応じてシステム制御装置100が自動的に設定するようにしてもよいし、オペレータが設定するようにしてもよい。なお、このようにして生成した目標軌道P1を記憶装置24に格納しておくことで、パラメータ調整部108が当該目標軌道P1を随時、必要に応じて調整することもできる。
上記した目標軌道P1の調整(図25)及び生成(図26)の制御フローでは、いずれも、流体圧シリンダ装置22のピストンを固定することなく、ピストン変位量のデータD2を用いて加工工具92の進行方向T1を算出している。これに代えて、流体圧シリンダ装置22のピストンをピストン固定部76(図11)により所定位置に固定した状態で、ロボット14の動作により、ワーク96又はマスターワークの加工対象領域に加工工具92を押し付けながら加工工具92を移動させることで、加工工具92の進行方向T1の算出に必要なデータ(特にロボット14の制御軸動作位置のデータD1)を取得することもできる。この方法では、システム制御装置100は、手先部16に設置した力覚センサ90による検出データD3を参照しながら、例えば加工工具92の進行方向に直交する方向であって加工対象領域に接近する方向への押し付け力が所定値になるように加工工具92を移動させて、制御周期毎のデータD1を取得する。なおこの方法では、加工工具92は回転刃92aが外力により回転自在な状態にしておくことが好ましい。或いは、加工工具92の回転刃92aを適当なカバーで覆ったり、加工工具92の代わりに切削能力の無いダミー部品を使用したりしてもよい。
上記した目標軌道P1の調整(図25)又は生成(図26)の手法は、例えば既述の特許文献6に記載されるフローティングシリンダ装置を用いた手法に比べて、様々なワーク96に対する目標軌道P1をより適切に調整又は生成できるものである。図示実施形態による目標軌道P1の調整又は生成手法では、手先部16をその位置及び姿勢の双方を変化させてワーク96の加工対象領域に倣わせながら、目標軌道P1を調整又は生成するようにしているから、三次元的に曲がった加工対象領域に対しても、手先部16の姿勢を適切に変化させて、流体圧シリンダ装置22の作動による加工工具92のワーク96に対する押し付け方向を最適化した目標軌道P1を得ることができる。また、フローティングシリンダ装置を用いた手法では、目標軌道からのずれがフローティングシリンダ装置の最大ストロークを超えるほど大きな場合に、加工工具の動作軌跡の修正が困難になることが危惧される。これに対し、特に流体圧シリンダ装置22のピストンをピストン固定部76(図11)により所定位置に固定した状態で実行する前述した手法によれば、フローティングシリンダ装置の最大ストロークのような動作上の制約が無いので、目標軌道からのずれがフローティングシリンダ装置の最大ストロークを超えるほど大きな場合にも、目標軌道P1を適切に調整又は生成できる。また、ロボット14の手先部16の位置を目標軌道P1の位置として直接利用できるので、各制御軸の動作位置の算出も容易である。
図10を参照して説明したように、互いに交差する複数の制御軸を備えた複軸の流体圧シリンダ装置22を採用したシステム構成では、上記したステップS42又はS53と同様にして目標押し付け方向を決定し(押付方向決定部72(図10)の機能)、流体圧シリンダ装置22の複軸の作動による加工工具92のワーク96への押し付け方向が目標押し付け方向に合致するように、流体圧シリンダ装置22の各軸の作動圧力を制御してシリンダ押圧力を調整する(シリンダ動作指令部74(図10)の機能)構成とすることができる。この構成によれば、倣い作業を実行しながら、複軸の流体圧シリンダ装置22を最適な押し付け方向で作動させることができる。このとき、記憶装置24に記憶した目標軌道P1が、複軸の流体圧シリンダ装置22による押し付け方向を最適な方向にするものでない場合にも、目標軌道P1(したがって押し付け方向)を自動的に最適化できるため、目標軌道P1の教示が容易になる利点がある。
上記構成において、流体圧シリンダ装置22が二次元空間(以下、作動平面と称する。)内で任意方向に作動できる自由度を有する場合には、力覚センサ90によって検出される力の、作動平面に直交する方向の成分だけが、加工工具92とワーク96との間に実際に作用する作用力(同方向の作用力成分)に対応することになる。作動平面に平行な方向については、流体圧シリンダ装置22の各軸のピストンを作動ストロークの限界を超えて押しやる程に大きい力(成分)や、流体圧シリンダ装置22の各軸における力の緩衝作用が働かない程に急激な力(成分)が、そのような方向へ加工工具92に加わったときに、力覚センサ90が検出する力が実際の作用力に実質的に対応する。したがって、上記構成においても、前述した1軸の流体圧シリンダ装置22を採用したシステム構成における押し付け方向T2の作用力成分Fn′と同様の観点で、作動平面に平行な方向については、力覚センサ90によって検出される力が加工工具92とワーク96の間に実際に作用する作用力に正確には対応しないことを考慮して、パラメータ調整を行うことが好ましい。
図27は、前述したロボット動作指令部78(図11)及び加工状態判定部80(図11)の機能を実行するための制御フローを示す。
まず、ステップS61(ロボット動作指令部78が行う手先部移動工程に相当)で、加工作業(図示実施形態ではバリ取り作業)の完了後に、オペレータがピストン固定部76(図11)により流体圧シリンダ装置22のピストンを固定した状態で、加工工具92を例えば回転自在な状態にしてワーク96の加工済領域に倣わせるように、ロボット14の手先部16を動作させる。このとき、加工工具92やワーク96への悪影響を防止する等の目的で、加工工具92を適当なダミー部品に置き換えることもできるが、加工工具92をそのまま使用することで迅速な処理を行うことができる利点がある(以下、加工工具92をそのまま使用する構成を説明する)。加工工具92をワーク96の加工済領域に倣わせる間は、力覚センサ90が検出した力及びモーメントのデータD3を用いて手先部16の動作を制御することで、加工工具92とワーク96の間に、例えば進行方向T1に直交する押し付け方向T2へ予め定めた大きさの力を作用させる。
次に、ステップS62(加工状態判定部80が行う加工状態判定工程に相当)で、上記したように手先部16を移動させている間に、ワーク96の加工済領域の表面形状データや、力覚センサ90が検出する力及びモーメントのデータD3(力又はモーメントのいずれかのデータでもよい)を、所定の時間間隔で取得し、かつ記憶装置24に格納して、下記の手法によりワーク96の加工状態の良否を判定し、かつ判定結果を記憶装置24に格納する。ここで、ワーク96の加工済領域の表面形状データだけを用いる場合には、ピストン固定部76(図11)により流体圧シリンダ装置22のピストンを固定することなく、ロボット14の制御軸動作位置のデータD1及び流体圧シリンダ装置22のピストン変位量のデータD2から工具座標系原点の位置を算出して、加工済領域の表面形状データを求めることもできる。
ここでは具体例として、下記(1)及び(2)のいずれかに示す判定手法を実施できるものとする。
(1)所定の時間間隔での工具座標系原点(又は制御基準点)の位置の変動が、滑らかであるか否かを判定する。例えば、ワーク96の加工済領域の表面形状データから得られる工具座標系原点(又は制御基準点)の位置の変動量が、予め定めた閾値を超えているか否かを判断し、閾値を超えている場合には、当該時間間隔の領域の加工状態が良くないと判定する。
(2)所定の時間間隔での加工工具92とワーク96との間の作用力の変動が、滑らかであるか否かを判定する。例えば、力覚センサ90の検出データに基づいて算出した加工工具92とワーク96との間の作用力の値の変動量が、予め定めた閾値を超えているか否かを判断し、閾値を超えている場合には、当該時間間隔の領域の加工状態が良くないと判定する。また、力覚センサ90の検出データに基づいて算出した加工工具92とワーク96との間の作用力の値が、予め定めた閾値を超えている領域が有るか否かを判断し、そのような領域が有る場合には、当該領域の加工状態が良くないと判定する。
上記(1)及び(2)の判定手法は、例えば、加工工具92やワーク96の属性、目的とする加工品質の程度、ロボット14の動作自由度等の諸条件に応じて、(1)及び(2)の判定手法のうちでいずれか1つ以上の判定手法を実施するよう、予め設定しておくことができる。また、上記した各閾値は、システム構築の際に行う実験やオペレータの経験に基づき、予め設定できるものである。
このように、図27に示す制御フローによれば、加工作業の完了後に、加工工具92をワーク96の加工済領域に所定の力で接触させながら手先部16を移動させて、加工済領域の表面形状データ又は力覚センサ90の検出データを取得することで、ワーク96の加工済領域の加工状態を良否判定するようにしたから、一連の加工動作制御フローにおけるルーチンワークとして自動的に、或いはオペレータの要求に従って随時に、迅速かつ容易にワーク96の加工状態の良否を判断することができる。なお、加工状態が良くないと判定された領域については、記憶装置24に格納したデータに基づいて、当該領域のみ、又は加工済領域全体を、再度加工するようにすればよい。
上記した加工状態の良否判定フローは、加工作業の実行中にリアルタイムで行うこともできる。この場合、力覚センサ90の検出データから算出される加工工具92とワーク96との間の作用力のデータを用いて、加工状態の良否を判定し、判定結果を記憶装置24に格納することができる(前述した加工状態判定部52(図5)の機能)。なお、判定に用いる作用力のデータは、加工工具92とワーク96との間に作用する作用力を的確に把握するのに有利な進行方向T1の作用力成分のデータとすることが好ましい。
判定手法の具体例として、作用力が予め定めた閾値より小さい場合には、ワーク96と加工工具92との接触状態が不十分で削り残しが存在する可能性があり、加工状態が良くないと判定することができる。また、作用力が予め定めた閾値より大きい場合には、過大なバリ等に起因して適正な加工を実行できていない可能性があり、加工状態が良くないと判定することができる。なお、加工状態が良くないと判定された領域については、記憶装置24に格納したデータに基づいて、当該領域のみ、又は加工済領域全体を、再度加工するようにすればよい。