(57)【要約】【課題】本発明は、ハンドと対象ワークとの相対的位置精度が高く、再現性に優れる作業座標系の設定方法及び作業座標系の異常検出方法を提供する。【解決手段】ロボット１と対象ワークの相対的な位置関係を規定する作業座標系の設定方法において、ロボット１のハンド４が対象ワークに接触したことを検出するために力センサ６を用いることと、力センサ６からの検出値が予め設定された閾値を超えたときにハンド４が対象ワーク９に接触したと判断することと、接触位置を記憶することと、接触位置から作業座標系Ｃを算出すること、を備える。【選択図】図１
2010023184.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと対象ワークの相対的な位置関係を規定する作業座標系の設定方法において、
前記ロボットのハンドが前記対象ワークに接触したことを検出するために力センサを用いることと、
該力センサで検出された検出値が予め設定された閾値を超えたときに前記ハンドが前記対象ワークに接触したと判断することと、
前記接触位置を記憶することと、
該接触位置から前記作業座標系を算出すること、
を備えた作業座標系の設定方法。
【請求項２】
ロボットと対象ワークの相対的な位置関係を規定する作業座標系の設定方法であって、
前記ロボットのハンドが前記対象ワークに接触したことを検出するために力センサを用いることと、
該力センサで検出された検出値が予め設定された閾値を超えたときに前記ハンドが前記対象ワークに接触したと判断することと、
前記接触位置を記憶することと、
該接触位置から座標設定位置を算出することと、
該座標設定位置に前記ハンドを移動させてその位置を教示することと、
教示された該ハンドの教示位置から作業座標系を算出することと、
を備えた作業座標系の設定方法。
【請求項３】
前記作業座標系を更新するために、予め定められた繰り返し回数だけ前記作業座標系を算出する処理を繰り返すことと、
更新された個々の前記作業座標系において、前記ハンドの位置・姿勢を正しい位置・姿勢に修正することと、
をさらに備えた請求項１又は２に記載の作業座標系の設定方法。
【請求項４】
前回算出された設定済みの作業座標系と今回新たに算出された作業座業系の位置又は姿勢を比較し、
前記位置又は前記姿勢の変化の大きさが閾値以下となるまで前記作業座標系を算出する処理を繰り返すことと、
更新された個々の前記作業座標系において、前記ハンドの位置・姿勢を正しい位置・姿勢に修正することと、
をさらに備えた請求項１又は２に記載の作業座標系の設定方法。
【請求項５】
前記対象ワークに接触させる前記ハンドの移動速度を所定の速度とする請求項１〜４のいずれか１項に記載の作業座標系の設定方法。
【請求項６】
前記ロボットが垂直多関節タイプのロボットであり、前記対象ワークに対する前記ハンドの接触位置を６箇所以上とした請求項１〜５のいずれか１項に記載の作業座標系の設定方法。
【請求項７】
前記ロボットが水平多関節タイプのロボットであり、前記対象ワークに対する前記ハンドの接触位置を４箇所以上とした、請求項１〜５のいずれか１項に記載の作業座標系の設定方法。
【請求項８】
前記ロボットのハンドが前記対象ワークに接触したことを検出するために力センサを用いることと、
該力センサで検出された検出値が予め設定された閾値を超えたときに前記ハンドが前記対象ワークに接触したと判断することと、
前記作業座標系で、前記ハンドを前記対象ワークの任意の設定位置に接触させることと、
前記作業座標系における前記設定位置と前記ハンドの実際の位置とのずれ量を算出することと、
前記ずれ量が所定の閾値を超えたときに前記作業座標系が異常であるとすることと、
を備えた作業座標系の異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットと対象ワークの相対的な位置関係を規定する作業座標系の設定方法及び作業座標系の異常検出方法に関する。
【背景技術】
【０００２】
一般に、ロボットの作業座標系を設定する方法として、特許文献１〜３で開示されているものが知られている。特許文献１では、ロボットの絶対座標系における２点あるいは３点を教示し、それらの教示位置情報から座標系変換行列を求めることで作業座標系を設定する方法を開示する。
【０００３】
特許文献２は、タッチセンサを有するロボットを操作して、設定したい直交座標系の直交する３平面にタッチセンサを接触させた位置から作業座標系を設定する方法を開示する。
【０００４】
特許文献３は、複数の点を実際に教示することなく、任意座標系の各軸についての方向余弦の数値を入力する方法、又は力センサを搭載したロボットにおいて、力センサに設定したい２軸方向について並進または回転の力を加えることで作業座標系を設定する方法を開示する。
【０００５】
設定した座標系の異常検出方法としては、作業座標系を設定する対象ワークの複数の設定位置へハンドを移動させ、ハンドの実際の接触位置と設定位置とを比較し、ずれ量を求めることで、設定した座標系が異常であることを検出する方法が知られている。
【０００６】
【特許文献１】特開昭６１−４９２０５号公報
【特許文献２】特開昭６１−１４５６１２号公報
【特許文献３】特開平７−８４６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ハンドリングや溶接、ワークの組立てなど複雑多岐にわたる作業ができる産業用ロボットにおいて、アーム先端に装着するエアハンドなどの作業ツール（以下、「ハンド」という）の基準点となるツール先端点やハンドを適切な位置と姿勢（希望位置）に配置し、その希望位置を記録する教示作業を効率的に行うために、一般に作業座標系を設定する。設定した作業座標系の軸方向に沿ってハンドが移動するように制御すると、座標系の原点や軸方向を事前に知っている操作者は直感的な操作によって簡易に教示作業ができ、またロボット言語を利用したプログラミングやシミュレーション環境によってロボットの動作を指定する場合においても作業座標系の座標値を入力することで効率的な作業ができる。このように作業座標系を設定することで効率的な教示作業ができるが、従来の座標系の設定技術では、次のような課題があった。
【０００８】
特許文献１で開示されている方法、すなわち、平面である絶対座標系において、２点あるいは３点の教示作業により得た位置情報を基に作業座標系を設定する方法では、当然ながら教示位置がずれると設定した作業座標系もずれることとなる。このため、作業座標系を精度良く設定したい場合には、複数の点をそれぞれ正確に教示する必要がある。それには、設定したい目標座標系（作業座標系）と関係する座標対象物へわずかに接触させた位置、またはわずかに離れた位置の教示作業を行う必要がある。しかし、この作業は極めて厳密且つ微妙なロボット操作が要求され、短時間で正確な作業座標系の設定を行うことは難しく、また操作者の熟練度合いによっては、作業座標系の設定誤差（ずれ）が出やすいという問題点がある。
【０００９】
さらに、センサを使用しないため、接触／非接触の判断は操作者の主観によるため、操作者によって設定された座標系が異なる場合がある。また、同一の座標対象物に対して同じ希望位置を教示することは難しく座標系設定の再現性が悪いという問題があった。また、接触／非接触の判断作業のために顔や手をロボットの手先に近づかざるを得ない場合があり、安全な作業ができないという問題があった。
【００１０】
ここで、対象ワークは、設定したい目標の作業座標系に関係し、ハンドが接触可能な物体である。例えば、ある製品をトレーに詰め込む作業のために、トレーもしくはトレーを載せる作業台等を対象ワークと定義し、作業座標系の設定を行うこととする。
【００１１】
特許文献２で開示されている方法、すなわち、設定したい直交座標系の直交する３平面にタッチセンサを接触させた位置から座標系を設定する方法は、タッチセンサのオン-オフのタッチ検出信号を検出することで容易かつ高感度に接触／非接触の判断をでき、作業者の熟練度や主観によらないで作業座標系の設定をすることができる。しかし、ハンドで保持する一般のタッチセンサは、検出可能な方向が一方向であることから３次元の作業座標系を設定するためには複数個のタッチセンサが必要となり、タッチセンサの導入コストがかかるという問題がある。さらに、タッチセンサの把持方法や取付け位置の確保のためにハンドの設計に余分な制約が付き、設計の自由度が減ってしまう問題がある。
【００１２】
また、タッチセンサの検出原理によっては検出対象物の材質（例えば、磁性体と非磁性体）によってタッチの検出感度が変化するため座標対象物の材質や、確実なタッチ検出のためにタッチする対象面積を十分に広く確保する点など座標対象物への制約が付加される問題がある。
【００１３】
さらに、実際の接触位置はタッチセンサが検出した位置であるため、タッチセンサの検出部からハンドまでの距離だけハンドと座標対象物が離れた位置関係となり、ハンドと座標対象物の相対的な位置関係が分かりにくい作業座標系となる問題がある。このため、設定した作業座標系上で教示作業する際にその距離を補正しなければならない場合がある。また、タッチセンサの検出部からハンドまでの距離が正確にわからないときには、補正は難しく、結局注意を払って教示位置を指示しなければならない場合があり、作業座標系の設定を効率的に出来ても教示作業を効率よくできないという問題がある。
【００１４】
また、タッチセンサからのタッチ検出信号を受け取り、ロボットの移動を直ぐに止めるようにロボット制御装置に指令を出すようにしているが、実際にはロボットが即時に停止することはなく、通常は移動速度に依存した距離を惰走して停止することとなる。一般にロボットの教示作業及び試運転では、速度可変機能を使い操作パネルなどからオーバライドを指定して移動速度を下げてロボットを動作させ、自動運転中はプログラムなどで指定した速度で（移動速度を上げて）ロボットを動作させている。そのため、移動速度が変わることにより接触後の停止位置が変化し、移動速度によって設定される作業座標系が異なるという問題がある。
【００１５】
特許文献３で開示されている方法、すなわち、教示作業を行わずに数値データを直接入力する、または力センサに対し加えた力の方向によって座標系を設定する方法では、教示作業を行う必要がないために短時間で、かつ簡易な操作で作業座標系を設定できる。しかし、操作者自身の感覚的判断に基づいて作業座標系の設定が行われるため、高い相対的な位置精度を実現する作業座標系の設定は、非常に難しく、複数回の試行錯誤を必要とするという問題がある。
【００１６】
力センサを用いた作業座標系の設定方法では、力情報をフィードバックし所望の力となるよう制御する力制御動作中（例えばバリ取り作業中）にのみ使用される座標系の設定方法がある。しかし、力制御動作中以外に使用できる座標系を設定するため力センサを用いた座標系の設定方法はこれまでになく、力センサ以外の他のセンサを使用するなど、従来方法を使わなければならないという問題がある。
【００１７】
また、設定後の作業座標系に対して希望通りに座標設定できたか、座標設定後にロボットが何らかの作業を行った後で設定した座標系がずれてきてはいないか、また、ハンドをぶつけてしまいハンドが曲がり対象ワークとの相対的位置関係がずれてはいないか等を確認したい場合がある。一つの方法として、ハンドを目視にて対象ワークの特定点（例えば、原点やＸＹ平面上の点）へ移動させ、そのときの理論上の座標値と読取った座標値との差を求めることで座標系と対象ワークとのずれを把握する方法がある。逆の方法として、設定後の座標上での希望座標値へハンドを移動させ、対象ワークの特定点とのずれを測定し比較することで設定後の座標系を評価する方法がある。しかし、いずれも操作者の主観による判断によって決まるため、座標系のずれ量は測定者に依存すると共に、この作業を短時間で行うことができないという問題がある。タッチセンサを用いた場合は、上述したようにセンサの導入コストが嵩むという問題や、対象ワークへの制約等、上に挙げた問題がある。
【００１８】
本発明は、ハンドと対象ワークとの相対的位置精度が高く、再現性に優れる作業座標系の設定方法を提供することを目的とする。また、設定された作業座標系と目標とする作業座標系との位置ずれ量を簡易に評価できる作業座標系の異常検出方法を提供する。
【課題を解決するための手段】
【００１９】
本発明では、ロボットと対象ワークとの接触／非接触を判断するために力センサを使用し、ロボットと対象ワークの複数の接触点に基づいて作業座標系を設定する作業座標系の設定方法および作業座標系の異常検出方法であり、力センサにより検出された検出値と予め設定された閾値とを比較することにより、ロボットと対象ワークとの接触／非接触を判断する。作業座標系の設定方法および作業座標系の異常検出方法において、力センサを備えたロボットを使用することができる。力センサの装着位置は制限されるものではなく、ハンドのフィンガーが対象ワークへ接触をすることを検出できればよく、力センサをフィンガーの根元に装着したり、フィンガーの先端部に装着したりすることもできる。ハンドに限られず、溶接やバリ取り等を行う作業ツールに力センサを装着することもできる。力センサを備えたロボットを使用することで、タッチセンサを使用する場合に比べて、ハンドの設計に余分な設計仕様を付加することなく自由な設計が可能となる。なお、力センサを作業台などのワークを載せる台などに設置することもできる。
【００２０】
力センサを備えたハンドは、力センサ等との結合手段であるベース部を持ち、開閉動作を実現するエアチャックなどのアクチュエータ部、ワークを把持するフィンガー部を備えることもできる。これにより、フィンガー先端に働く外力を力センサによって検出することができる。
【００２１】
力センサからの力検出情報を活用することにより、ハンドが対象ワークに接触したかどうかは、例えば、事前に設定された閾値を力検出値が超えたときに接触したと判断することができる。閾値を設定することにより、作業者の熟練度によって異なる接触判断を客観的に行うことができる。また、接触したか非接触なのかを力検出情報により確認できるため、教示作業中にハンド先端（フィンガー部）に顔や手先を近づける必要がなくなるため、より安全に作業座標系の設定作業を行うことができる。
【００２２】
また、接触／非接触の確認は力検出情報を使用することで簡易に短時間でき、ハンドをアプローチ点から座標対象物に接触させ、接触／非接触の判断のもと、ハンドの移動を停止する一連の動作をロボットプログラムで自動的に行うことができることにより、短時間で座標系の設定ができる。
【００２３】
本発明の一態様は、力センサからの検出情報により、ロボットアームに装着されたハンドと対象ワークとの接触／非接触を判断するロボットを使用し、作業座標系を設定する対象ワークにハンドが接触したことを判断し、該ハンドの接触位置を記憶し、該接触位置から前記作業座標系を算出する作業座標系の設定方法を提供する。
【００２４】
これにより、ロボットと対象ワークとの接触／非接触を判断するために力センサを使用することで、位置精度が高く、再現性に優れる作業座標系の設定を行うことができる。対象物ワークへの接触を力検出情報により客観的に判定できるので操作者の主観によらない接触判定による座標系設定が可能となる。
【００２５】
また、本発明の他の態様は、力センサからの検出情報により、ロボットアームに装着されたハンドと対象ワークとの接触／非接触を判断するロボットを使用し、作業座標系を設定する対象ワークにハンドが接触したことを判断し、該ハンドの接触位置を記憶し、該接触位置から座標設定位置を算出し、該座標設定位置に前記ハンドを移動して教示し、教示位置から作業座標系を算出する作業座標系の設定方法を提供する。
【００２６】
このため、従来の座標系設定方法を活用して、座標系の設定を行うことができる。例えば、教示位置を基に座標系を設定する場合に、教示位置を決める作業を力センサの力検出情報をもとに行い、座標系設定は従来の方法を使って行うことができる。したがって、新たに、座標系を算出するために計算プログラムを新たに作ることなく、作業座標系を設定することができる。
【００２７】
また、本発明の他の態様は、前記作業座標系を設定するステップと、設定された作業座標系において、ハンドと対象ワークが相対するように、ハンドの位置・姿勢を修正するステップと、修正したハンドの位置・姿勢に基づいて作業座標系を設定するステップを備える。これにより、対象ワークへ接触するハンドの面と対象ワークの接触面が重なるようにハンドの位置と姿勢が修正され、両者の接触状態が安定する。これにより、設定される座標系はハンドと座標対象物の相対的位置精度が高い座標系となる。また、このように設定した座標系の設定は再現性が高い特徴を持つ。
【００２８】
作業座標系を更新する処理では、予め定めておいた繰返し回数だけ、座標系の設定とハンドの位置姿勢を修正するステップを繰返し行うことができるが、他の方法として、設定済みの作業座標系と新たに設定された作業座標系の変化の大きさ、例えば、前回算出された作業座標系の原点位置や座標軸の方向と今回算出された作業座業系の原点位置や座標軸の方向の変化の大きさが閾値以下となるまで繰り返すこともできる。
【００２９】
また、本発明の他の態様は、ハンドの移動速度に依存して、ハンドが対象ワークに接触する位置が変わる問題に対しては、ハンドを指定した一定の速度で移動させることができる。また急加速を行うと力センサの先に取付けたハンドの慣性力が働き、接触を誤検出する場合があるため、指定速度で移動を指示する場合の加速度は小さい方が望ましい。
【００３０】
また、本発明の他の態様は、垂直多関節タイプのロボットによる、対象ワークに対する接触位置を６点以上とすることができる。３次元空間で作業座標系を設定するためには、少なくとも３つの座標情報が必要である。例えば、右手系直交座標系が既定されている場合、作業座標系の原点座標と、＋Ｘ軸方向を示す１つの座標と、ＸＹ平面上の＋Ｙ方向を示す一つの座標である。３つの座標を定めるための対象ワークへの接触位置は、原点を決定するために互いに直交する３方向（Ｘ，Ｙ，Ｚ）からのアプローチによる３点、Ｘ軸方向を示す一つの座標を決定するための２方向（Ｙ，Ｚ）からのアプローチによる２点、ＸＹ平面上の＋Ｙ方向を示す一つの座標を決定するための１方向（Ｚ）からのアプローチを必要とする。
【００３１】
また、本発明の他の態様は、水平多関節タイプのロボットによる、対象ワークに対する接触位置を４点以上とすることができる。３次元空間での作業座標系を設定するために、少なくとも２つの座標情報が必要である。例えば図右手系直交座標系が既定されている場合、作業座標系の原点座標と、＋Ｘ軸方向を示す１つの座標である。水平多関節タイプのロボットの動作域からＸＹ平面の傾きが設定される。原点を指定することでＸＹ平面の高さが決まり、＋Ｘ方向を示す１点によってＸ軸方向が決まる。既定されている右手系直交座標系にならい＋Ｚ軸方向を通常ロボットの高さ方向と一致させ、上側をプラス方向と決めることでＹ軸方向も自動的に決定できる。先の２つの座標を定めるために対象ワークへの接触位置は、原点を決定するために互いに直交する３方向（Ｘ，Ｙ，Ｚ）からのアプローチによる３点、＋Ｘ軸方向を示す一つの座標を決定するための１方向（Ｙ）からのアプローチを必要とする。
【００３２】
また、本発明の他の態様は、前記作業座標系の設定方法で作業座標系を設定することと、前記作業座標系で前記ハンドを前記対象ワークの任意の設定位置に接触させることと、前記作業座標系における前記設定位置と前記ハンド実際の位置とのずれ量を算出することと、前記ずれ量が所定の閾値を超えたときに前記作業座標系が異常であると検出することと、を備える作業座標系の異常検出方法を提供する。
【００３３】
この異常検出方法は、力センサの力検出情報をもとに接触非接触の判断ができるので、判断時間を操作者による判断よりも短時間に行うことができ、また、接触を判定する閾値を決めておくことで客観的な接触判定ができる。ずれ量を比較したい接触位置に効率よくハンドを移動させることができる。またタッチセンサなど別のセンサを導入することもなく座標系のずれ等の異常検出ができる。
【発明の効果】
【００３４】
以上の如く、ロボットと対象ワークとの接触／非接触を判断するために力センサを使用することで、対象ワークにハンドを接触させた位置で座標系を設定することができる。従って、位置精度が高く、再現性に優れる作業座標系を設定することができる。
【発明を実施するための最良の形態】
【００３５】
以下、図面を参照しながら本発明を詳細に説明する。図１に本発明の一実施形態である垂直多関節型ロボット及びロボットコントローラを含むシステムの全体構成を示す。ロボット１は、ハンドでワークを把持するハンドリングロボットであるが、本発明はこれには限定されない。図示するロボット１は、ロボットアーム３とハンド４との間に装着された６軸力センサ６を有している。力センサ６は、直交３軸（Ｘ，Ｙ，Ｚ）方向の力と各軸回りのモーメント(Ｍｘ，Ｍｙ，Ｍｚ)を検出できる。検出感度は、高いほうが望ましく、例えば１０ｇｆ以下の検出感度のものを好適に使用することができる。ハンド４は、力センサ６の取付け部（図示せず）と、エアチャックなどの駆動部（図示せず）と、対象ワーク９などを把持するフィンガー５と、を備えている。本実施形態では、力センサ６をロボットアーム３に装着することによって、フィンガー５に働く外力を検出することができるようになっている。なお、力センサ６の装着位置は、本実施形態に制限されるものではなく、フィンガー５に働く外力を検出することができる位置であれば、他の位置に装着することもできる。
【００３６】
図２には、図１に示すロボット１を使用して設定される作業座標系Ｃが示されている。図２では、作業座標系Ｃの座標原点が対象ワーク９のコーナ部に設定される例が示されている。対象ワーク９は、組み立て用ワークや加工用ワークを取り扱う作業台等に相当する。
【００３７】
図３には、本実施形態のロボットコントローラ２の構成が示されている。ロボットコントローラ２は、操作パネル１０と、指令制御部１１と、サーボ制御部１２とを備えている。サーボ制御部１２へ移動指令を与える指令制御部１１は、主要な機能として、力センサで力を算出する力算出部１４と、接触か非接触かを判定する接触判定手段１５と、接触時にロボット１への移動停止を指示する移動停止手段１６と、接触したときの接触位置を記録する接触位置記録手段１７と、接触位置に基づいて作業座標系Ｃを算出する座標系算出手段１８と、を持っている。サーボ制御部１２は、指令制御部１１からの移動指令に追従するようにロボット１の各関節を駆動するモータ（図示せず）をサーボ制御する。また、操作パネル１０には、テスト運転や教示作業時のロボット１の移動速度を低く指定するため、又は自動運転時にはプログラムで指示した移動速度となるように速度を可変できる速度可変手段１９を持ち、ロボット１が検出した異常状態を操作者に伝えるアラーム表示手段２０を持っている。アラーム表示手段２０の一つの機能として、設定された作業座標系Ｃの異常を検出する機能がある。
【００３８】
図６には、本実施形態のロボット１を使用して作業座標系Ｃを設定する一つの手順（フローチャート）が示されている。作業座標系Ｃが設定される対象ワーク９は、予めロボット１の作業領域内に配置されているものとする。作業座標系Ｃを設定するにあたり、ハンド（フィンガー５）４を対象ワーク９に接触させる目標位置としての目標接触位置と、接触させる予定数である接触予定数Ｎを決定しておく（ステップＳＡ１）。例えば、垂直多関節タイプのロボット１で、３次元の作業座標系Ｃを右手系直交座標系として設定する場合は、図４に示すように、接触予定数を少なくとも６点とすることができる。この場合、座標原点を決定するために３点、＋Ｘ（プラスＸ）方向への位置のために２点、ＸＹ平面上で＋Ｙ（プラスＹ）方向の１点とすることができる。
【００３９】
なお、図５に示す水平多関節ロボット２５を使用して、３次元の作業座標系Ｃを右手系直交座標系として設定する場合は、接触予定数を少なくとも４点とすることができる。この場合、座標原点を決定するために３点、＋Ｘ（プラスＸ）方向への位置のために１点とすることができる。原点を指定することでＸＹ平面の高さが決まり、ロボット２５の動作域からＸＹ平面の傾きが設定され、＋Ｘ方向を示す１点によってＸ軸方向が決まる。
【００４０】
図６に示すように、作業座標系Ｃの設定では、ステップＳＡ２で１番目の目標接触位置を読出し、ステップＳＡ３でその位置へハンド４をアプローチ（移動）させる。ロボットコントローラ２の接触判定手段１５で接触したと判断されるまで（ステップＳＡ５）、ハンド４の移動を続ける（ステップＳＡ４）。ハンド４の移動速度は、ハンド４が対象ワーク９に接触したときに、ハンド４が対象ワーク９に食い込んだり、ハンド４のアプローチ方向によって食い込み量が変化したりするのを防止するために、動作プログラムで指定された一定の速度で移動させることが好ましい。
【００４１】
ハンド４が対象ワーク９に接触した場合には、コントローラ２の移動停止手段１６により移動停止指令をサーボ制御部１２に送り、ロボット１の移動を停止させる（ステップＳＡ６）。次に、ステップＳＡ７で接触位置を接触位置記録手段１７に記録する。ステップＳＡ８及びステップＳＡ９で、これを繰返して予め設定した接触予定数Ｎ回になるまで、接触位置への移動と接触位置の記録を繰返し実行する。ステップＳＡ１０で、作業座標系Ｃの設定に必要な接触座標位置を用い、所定の座標系算出プログラムにより作業座標系Ｃを算出し、作業座標系Ｃの設定を終える。
【００４２】
図７には、本実施形態の１ロボットを使用して作業座標系Ｃを設定する他の手順（フローチャート）が示されている。図１で示す設定方法と同様に、作業座標系Ｃが設定される対象ワーク９は、予めロボット１の作業領域内に配置されているものとする。また、作業座標系Ｃを設定するにあたり、ハンド４を対象ワーク９に接触させる目標位置としての目標接触位置と、接触させる予定数である接触予定数Ｎを決定しておく（ステップＳＢ１）。
【００４３】
作業座標系Ｃの設定では、図６で示す設定方法と同様に、ステップＳＢ２で１番目の目標接触位置を読出し、ステップＳＢ３でその位置へハンド４をアプローチ（移動）させる。ロボットコントローラ２の接触判定手段１５で接触したと判断されるまで（ステップＳＢ５）、ハンド４の移動を続ける（ステップＳＢ４）。接触した場合には、コントローラ２の移動停止手段１６により移動停止指令をサーボ制御部１２に送り、ロボット１の移動を停止させる（ステップＳＢ６）。次に、ステップＳＢ７で接触位置を接触位置記録手段１７に記録する。ステップＳＢ８及びステップＳＢ９で、これを繰返して予め設定した接触予定数Ｎ回になるまで、目標接触位置への移動と接触位置の記録を繰返し実行する。
【００４４】
続いて、ＳＢ１０〜ＳＢ１２で、作業座標系設定用の座標設定位置データを算出するステップを実行する。先ず、ＳＢ１０において、記録された接触位置から座標設定位置を算出し、ＳＢ１１で座標設定位置へハンドを移動させ、その位置を教示する。ＳＢ１２で、教示位置から作業座標系Ｃを算出し、作業座標系Ｃの設定を終える。
【００４５】
次に、図８において、設定された作業座標系の精度を高めるために、ハンド４の位置・姿勢を修正しながら作業座標系Ｃを更新する方法を説明する。図１１（ａ）、（ｂ）には、対象ワーク９に対してハンド４（フィンガー５）が傾いている状態（ａ）と、ハンド４の傾きが修正された状態（ｂ）が示されている。ハンド４の位置・姿勢を修正するとは、設定された作業座標系Ｃにおいて、対象ワーク９に対してハンド４が傾いている状態から、ハンド４の傾きが修正された状態に直すことをいう。ハンド４の位置・姿勢を修正することで、作業座標系Ｃの精度を高めることができる。
【００４６】
先ず、ステップＳＣ１で、設定済みの作業座標系Ｃ１を選択しておき、この作業座標系Ｃ１を更新するために、ステップの繰返し回数Ｍを決定する。ステップＳＣ２で、予め設定済みの作業座標系Ｃ１において、ハンド４の位置・姿勢を修正する。次に、ステップＳＣ３で、修正されたハンド４の位置・姿勢に基づいて、作業座標系Ｃ２を新たに算出する。ステップＳＣ４及びＳＣ５で予め定めた繰返し回数（例えば３〜５回程度）を判断し、ステップＳＣ６で前回の作業座標系Ｃ１を今回の作業座標系Ｃ２に更新する。予め定めた繰返し回数、作業座標系を算出するステップを実行後、ステップＳＣ７で最後に算出された座標系を最終の更新された作業座標系として設定する。
【００４７】
図９には、本実施形態のロボット１を使用して作業座標系Ｃを更新する他の手順（フローチャート）が示されている。この方法は、作業座標系Ｃを更新していく過程で、更新された作業座標系Ｃが所定の条件を満たした場合に繰り返しを終了する方法である。
【００４８】
先ず、ステップＳＤ１で、設定済みの作業座標系Ｃ１において、ハンド４の位置・姿勢を修正する。次に、ステップＳＤ２で、修正されたハンド４の位置・姿勢に基づいて、作業座標系Ｃ２を新たに算出する。ステップＳＤ３で、前回算出された設定済みの作業座標系Ｃ１と今回新たに算出された作業座業系Ｃ２の位置又は姿勢を比較し、例えば、前回算出された作業座標系Ｃ１の原点位置と今回算出された作業座業系Ｃ２の原点位置との差が所定の閾値以下であるかを判断し、閾値以下である場合にはステップＳＤ５で算出された座標系Ｃ２を最終の更新された作業座標系として設定を終了し、閾値より大きい場合にはステップＳＤ４で作業座標系を更新し、処理を繰り返す。このようにして、設定する作業座標系Ｃの精度を高めることができる。
【００４９】
次に、図１２を参照して設定した作業座標系Ｃの異常を検出する方法について説明する。対象ワーク９に対して、任意に作業座標系Ｃが設定されているものとする。ハンドを＋Ｘ方向へ移動させ、対象ワーク９に接触させ（Ｙ方向は任意の値とする）、座標系Ｃにおける接触位置（Ｘ１，Ｙ１）求める（いずれも正数）。設定した座標系Ｃが理想的に対象ワーク９のコーナを原点とし、Ｘ−Ｙ軸方向が座標対象物の各辺に一致している場合、接触位置は理想的には（０、Ｙ２）(Ｙ２>０)となるはずである。しかし、実際に設定された座標系Ｃは、Ｘ方向のずれ量がＸ１−０となり、設定された作業座標系Ｃと理想とする座標系との間でずれが生じていることが分かる（Ｙ方向を同様にずれている）。このずれ量を許容できるかを否か判断することで、設定された座標系の異常を検出することができる。なお、ハンドを＋Ｙ方向へ移動させ、対象ワーク９に接触させて接触位置を求める場合も同様である。
【００５０】
作業座標系Ｃの異常を検出する方法の手順を図１０に示す。ステップＳＥ１で、設定済みの作業座標系Ｃを選択する。次いで、ステップＳＥ２で、対象ワーク９で設定された少なくとも１点の設定位置にハンド４を接触させ、ステップＳＥ３で実際の接触位置を記録する。続いて、ステップＳＥ４で、設定位置に対して実際の接触位置（ハンド４と対象ワーク９の接触位置）とのずれ量を算出し、ステップＳＥ５で、ずれ量が所定の閾値を超えたかどうかを判断する。ずれ量が所定の閾値を超えた場合、ステップＳＥ６で作業座標系Ｃが異常であると判断し、アラームを鳴らしたり、ディスプレイにアラームメッセージを表示したりする。ずれ量が所定の閾値を超えていない場合、作業座標系Ｃの異常を検出する処理を終了する。
【００５１】
以上のように本発明によれば、ロボット１と対象ワーク９との接触／非接触を判断するために力センサ６を使用することで、対象ワーク９にハンド４を接触させた位置で座標系Ｃを設定することができる。また、タッチセンサを使用した場合のように、座標系設定後に設定された座標系の位置や姿勢を補正する必要もない。従って、位置精度が高く、再現性に優れる作業座標系Ｃを設定することができる。対象ワーク９への接触を力検出情報により客観的に判定できるので操作者の主観によらない接触判定による座標系設定が可能となる。
【００５２】
また、設定された作業座標系Ｃの異常を精度良く判断することができ、ロボット１によるハンドリング作業や、加工作業などを精度良く行うことが可能となり、製造信頼性を高めることができる。
【００５３】
以上、本発明をその好適な実施形態に関連して説明したが、後述する請求の範囲の開示から逸脱することなく様々な修正及び変更を為し得ることは、当業者に理解されるであろう。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態に係るロボットシステムの構成図である。
【図２】対象ワークに設定する作業座標系を示す図である。
【図３】ロボットコントローラの構成図である。
【図４】図１に示すロボットで作業座標系を設定する方法を説明する説明図である。
【図５】水平多関節ロボットで作業座標系を設定する方法を説明する説明図である。
【図６】作業座標系の設定方法を説明するフローチャートである。
【図７】作業座標系の設定方法を説明する他の例のフローチャートである。
【図８】作業座標系を更新する方法を説明するフローチャートである。
【図９】作業座標系を更新する方法を説明するフローチャートである。
【図１０】作業座標系の異常検出方法を説明するフローチャートである。
【図１１】ハンドと対象ワークの接触状態を説明する説明図であり、（ａ）は対象ワークに対してハンドが傾いている状態を示し、（ｂ）はハンドの傾きが修正された状態を示す図である。
【図１２】作業座標系の異常検出方法を説明する説明図である。
【符号の説明】
【００５５】
１，２５    ロボット
３    アーム
４    ハンド
５    フィンガー
６    センサ
９    対象ワーク
【図１】
2010023184.tif 000003
【図２】
2010023184.tif 000004
【図３】
2010023184.tif 000005
【図４】
2010023184.tif 000006
【図５】
2010023184.tif 000007
【図６】
2010023184.tif 000008
【図７】
2010023184.tif 000009
【図８】
2010023184.tif 000010
【図９】
2010023184.tif 000011
【図１０】
2010023184.tif 000012
【図１１】
2010023184.tif 000013
【図１２】
2010023184.tif 000014