(57)【要約】【課題】治具を用いることなく、且つ、容易にツールセンターポイントを推定するための推定式を求めることができるツールセンターポイント推定方法、ツールセンターポイント推定装置を提供する。【解決手段】ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置を設定したワークに対してロボットをマニュアル操作により動作させた際のツールの位置を示す動作位置とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置と動作位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ツールの位置に対応したツールセンターポイントを推定する推定式を求める。【選択図】図６
2017074637.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに取り付けられているツールの制御上の中心位置を示すツールセンターポイントを推定するツールセンターポイント推定方法であって、
前記ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置に設定したワークに対して前記ロボットをマニュアル操作により動作させた際の前記ツールの位置を示す動作位置とを複数回取得し、
取得した複数回分の前記ワーク位置と前記動作位置とに基づいて、前記ワーク位置と前記動作位置とのずれの要因となる誤差成分を算出し、
算出した誤差成分に基づいて、前記ツールの位置に対応したツールセンターポイントを推定する推定式を求めることを特徴とするツールセンターポイント推定方法。
【請求項２】
前記誤差成分は、前記ツールの回転に依存する回転成分を含み、
前記ワーク位置および前記動作位置は、前記ツールを回転させることによって当該ツールの向きが異なる状態で３回以上取得されることを特徴とする請求項１記載のツールセンターポイント推定方法。
【請求項３】
前記ワーク位置および前記動作位置は、取得する回数をｎ（ただし、ｎは３以上）とし、ワークの姿勢が変化することになる最大角度をαとした場合、α／ｎ°を基準角度として当該基準角度に対して予め設定されている許容範囲の向きで配置された前記ワークに対して取得されることを特徴とする請求項２記載のツールセンターポイント推定方法。
【請求項４】
前記誤差成分は、前記ツールの移動に依存する移動成分を含み、
前記ワーク位置および前記動作位置は、前記ツールの移動範囲内においてそれぞれ異なる位置に配置された前記ワークに対して取得されることを特徴とする請求項１から３のいずれか一項記載のツールセンターポイント推定方法。
【請求項５】
前記ワーク位置は、作業対象となる前記ワークを撮像した画像に対して画像処理を行うことにより設定されることを特徴とする請求項１から４のいずれか一項記載のツールセンターポイント推定方法。
【請求項６】
前記ワーク位置は、前記ワークを撮像する撮像部の視野内であって、当該視野の端部に配置された前記ワークに対して設定されることを特徴とする請求項１から５のいずれか一項記載のツールセンターポイント推定方法。
【請求項７】
前記撮像部の視野は、矩形であり、
前記ワークは、前記撮像部の視野の四隅に、それぞれ異なる向きで配置されることを特徴とする請求項６記載のツールセンターポイント推定方法。
【請求項８】
前記ワーク位置は、前記ツールの移動範囲内の位置を直接的に指定することにより設定されることを特徴とする請求項１から５のいずれか一項記載のツールセンターポイント推定方法。
【請求項９】
前記ツールは、ワークを把持し、把持したワークを所定の位置まで移送し、移送したワークを所定の位置に載置するピックアンドプレース作業に用いられるものであり、
前記ワーク位置および前記動作位置は、ワークを把持するために前記ツールをワークに接近させる際の接近方向に直交する平面の２次元座標として設定されることを特徴とする請求項１から８のいずれか一項記載のツールセンターポイント推定方法。
【請求項１０】
ロボットに取り付けられたツールの制御上の中心位置を示すツールセンターポイントを推定する推定式を求めるツールセンターポイント推定装置であって、
前記ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置に設定したワークに対して前記ロボットをマニュアル操作により動作させた際の前記ツールの位置を示す動作位置とを複数回取得する処理と、
取得した複数回分の前記ワーク位置と前記動作位置とに基づいて、前記ワーク位置と前記動作位置とのずれの要因となる誤差成分を算出する処理と、
算出した誤差成分に基づいて、前記ツールの位置に対応したツールセンターポイントを推定する推定式を求める処理と、を実行する制御部を備えることを特徴とするツールセンターポイント推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに取り付けられたツールの制御上の中心位置を示すツールセンターポイントを推定するツールセンターポイント推定方法、ツールセンターポイント推定装置に関する。
【背景技術】
【０００２】
産業用のロボットは、一般に、アームの先端のフランジにツールを装着した状態で使用される。このとき、装着されるツールは、作業対象となるワークの種類に応じて様々な構造のものが存在している。そして、実際にワークに接するのはこのツールであることから、ロボットを制御するときには、ツールの位置を正確に目標位置に制御することが必要とされる。そのため、従来では、例えば特許文献１のように、高精度に加工された専用の治具を用いて、ロボットを制御する上でのツールの中心位置を示すツールセンターポイントを設定していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８２０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ツールセンターポイントを正確に設定するためには、治具そのものを高精度に加工する必要がある。また、作業対象となるワークの大きさや形状が異なる場合には、それに応じて治具の大きさや形状を変更する必要がある。このため、従来では、ツールセンターポイントを設定するという実作業以外にも、ワークの種類に応じた治具を用意するために時間的および費用的に多大な労力を必要としていた。
【０００５】
また、治具をロボットに装着してツールセンターポイントを設定する方法の場合、実際のツールに取り替える際の装着ミスによってツールの位置がずれてしまうと、当然のことながらツールセンターポイントもずれてしまう。また、仮にツールを正確な位置に装着できたとしても、ツールそのものの工作精度等によってツールセンターポイントがずれる可能性もある。つまり、治具を取り付けてツールセンターポイントを設定するという方法の場合には、本質的に、ツールセンターポイントがずれてしまう可能性を排除することが困難であった。
本発明は上記事情に鑑みてなされたものであり、その目的は、治具を用いることなく、且つ、容易にツールセンターポイントを推定するための推定式を求めることができるツールセンターポイント推定方法、ツールセンターポイント推定装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明では、ツールの移動範囲内に存在するワークの位置（ロボットの制御上の目標となる位置）を示すワーク位置と、当該ワーク位置に設定したワークに対してロボットをマニュアル操作により動作させた際のツールの位置を示す動作位置（ロボットの実際の手先位置）とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置と動作位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ツールの位置に対応したツールセンターポイントを推定するための推定式を求める。
【０００７】
この場合、推定式を求める際にユーザ側で必要とされる作業は、実質的に、ワークを数回把持する作業となる。これにより、推定式を求める作業を簡素化することができる。
また、実際のロボットを用い、さらに、実際に作業対象とするワークを用いているので、取得されたワーク位置および動作位置には、例えばロボットを設置する際に生じる可能性のあるロボットや周辺装置の位置ずれ等による誤差が含まれている。そして、推定式は、そのような誤差も加味した状態で求められている。このため、ツールセンターポイントは、これらの誤差成分を吸収した状態で推定される。したがって、ロボットや周辺装置等に起因する誤差をも補正され、より実可動に適したツールセンターポイントを推定する推定式を求めることができる。
【０００８】
また、ユーザがマニュアル操作した際の実際の動作位置に基づいて推定式を求めるため、推定式には、ユーザが適切と考える位置が反映されることになる。これにより、ロボットの動作に、ユーザが適切であると考える状態を反映させることができる。また、実際の動作位置に基づいて推定式求めるため、推定式は、実際の作業状態に収束することになり、実際の作業に適した推定式を求めることができる。
【０００９】
このように、治具を用いることなく、且つ、容易に推定式求めることができ、ツールセンターポイントを推定するための推定式を求めることができる。
また、従来ではロボットに対するツールセンターポイントを高精度に設定していたが、ロボットとツールとの位置関係以外にも、ワーク自体の精度や例えばワークを撮像するカメラの位置ずれ等、実際の現場において誤差が生じる要因が複数存在していると考えられる。そのため、ツールセンターポイントを高精度に設定したり、ツールの中心軸を厳密にロボットの動作軸（フランジの回転軸）に軸合わせするために微調整を繰り返したりしても、つまりは、ロボットとツールとの位置関係を高精度に設定するために多大な労力を掛けたとしても、上記したように実際の現場においては、さらなる調整が必要となる可能性がある。
【００１０】
これに対して、請求項１に記載した発明では、実際のロボットを動作させたときの実測値に基づいて推定式を求めているので、動作環境に依存する誤差をも加味した状態で推定式を求めることができる。すなわち、ロボットの実際の動作環境に依存する誤差をも補償された推定式を求めることができる。したがって、現場での調整が不要あるいは大幅に軽減することができ、効率よく作業を行うことができる。
【００１１】
請求項２に記載した発明では、誤差成分は、ツールの回転に依存する回転成分を含み、ワーク位置および動作位置は、ツールを回転させることによって当該ツールの向きが異なる状態で３回以上取得される。
これにより、ツールセンターポイントを推定する推定式は、ツールの回転に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置から供給されるワークを対象として作業を行う場合等、ワークの向きがそれぞれ異なることが想定される場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
【００１２】
請求項３に記載した発明では、ワーク位置および動作位置は、取得する回数をｎ（ただし、ｎは３以上）とし、ワークの姿勢が変化することになる最大角度をαとした場合、α／ｎ°を基準角度として当該基準角度に対して予め設定されている許容範囲の向きで配置されたワークに対して取得される。これにより、ツールの回転角度に対して概ね均等にワーク位置および動作位置を取得するので、誤差成分の偏りの影響を低減することができる。また、ワークの向きは、概ね基準位置を向いていればよいことから、ワークの向きを厳密に設定するための作業や治具が不要となり、ユーザの負荷を低減することができる。
【００１３】
また、各動作位置のデータに大きな差を持たせることができる。例えば同じワークの向き（ワーク姿勢）の場合、ロボットの軸のうち回転する軸が限られてしまうことがあり、ロボット全体の誤差が現れにくいため、得られた補正値（ツールセンターポイントを推定するための補正値）の精度が低くなる。そのため、なるべく互いが離間したワーク姿勢とすると、ある位置では回転しなかった軸も動くことになり、あるワーク姿勢では現れなかった軸の誤差をも、動作位置のデータとして得ることができる。そして、そのようなデータを反映して推定式を求めるため、当然のことながら、精度を向上させることができる。
【００１４】
また、カメラ（撮像部）に起因する誤差の面から考えてみると、カメラキャリブレーションを行ってあったとしても、実際の砂上状況によってはカメラキャリブレーションが不十分となり、誤差（ロボット軸の誤差、人の作業分解能の限界による誤差）が現れる場合もある。そのため、ワーク姿勢を変えて把持動作を行わせることで、更にカメラキャリブレーション用のデータの積み上げとすることもでき、誤差改善に役立足せることができる。
【００１５】
請求項４に記載した発明では、誤差成分は、ツールの移動に依存する移動成分を含み、ワーク位置および動作位置は、ツールの移動範囲内においてそれぞれ異なる位置に配置されたワークに対して取得される。
これにより、ツールセンターポイントを推定する推定式は、ツールの移動に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置から供給されるワークを対象として作業を行う場合等、ワークの位置がそれぞれ異なることが想定される場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。すなわち、ワークの位置が異なれば、ツールも必然的に移動する。そのため、移動に起因する誤差として、ロボットの手先軸（後述するＪ４〜Ｊ６）だけでなく、根本軸(後述するＪ１〜Ｊ３）からの誤差をも反映させることができる。
【００１６】
請求項５に記載した発明では、ワーク位置は、作業対象となるワークを撮像した画像に対して画像処理を行うことにより設定される。これにより、ワーク位置の設定を自動化することができる。したがって、ワーク位置を設定する作業のために労力を要することがない。また、ワークを実際に撮像した画像に基づいてワーク位置を設定するので、撮像部の位置ずれ等があったとしても、それに依存する誤差を補償した状態で推定式を求めることができる。したがって、より実際の動作環境に適した推定式を用いることができる。
【００１７】
請求項６に記載した発明では、ワーク位置は、ワークを撮像する撮像部の視野内であって、当該視野の端部に配置されたワークに対して設定される。カメラ等の撮像部を用いてワークを撮像する場合、レンズ性能や撮像部を設置する時の位置ずれ等の影響により、視野内において画像が歪むことがある。また、光源の位置等によっては、視野内におけるワークの位置によってはワークの見え方（つまり、画像上でのワークの大きさ等）に差異が生じる可能性もある。
そこで、視野の端部に配置されたワークを対象とすることにより、推定式を算出する際の誤差要因として、画像の歪みやワークの見え方の差異の影響が加味されることになる。そして、それらを加味した上で推定式が導出されるため、より実際の作業に適した実用性の高いツールセンターポイントを推定することができる。
【００１８】
請求項７に記載した発明では、撮像部の視野は、矩形であり、ワークは、撮像部の視野の四隅に、それぞれ異なる向きで配置される。撮像部で撮像される画像は、一般的に、中央部から周辺側（つまり、端部側）に向かうにつれて歪みが大きくなる。そのため、画像処理によりワーク位置（例えば、ワークの画像の重心位置）を求める場合には、撮像部のキャリブレーションを行っていたとしても、配置されている位置によって求まるワーク位置が異なることがあり、また、周辺側にどの向きに配置されているかによっても、求まるワーク位置が異なることがある。そのため、四隅にそれぞれ異なる向きとなるようにワークを配置することにより、視野内の位置の違いとその位置における向きの違いとを補償した状態で、つまりは、画像処理に起因する誤差をも補償した状態で、推定式を求めることができる。なお、４つのワークを配置するのではなく、１つのワークを用いて４回ワーク位置と把持位置との取得を繰り返してもよい。
【００１９】
請求項８に記載した発明では、ワーク位置は、ツールの移動範囲内の位置を直接的に指定することにより設定される。例えば、ワークに対して作業を行う位置が予め定まっており、ワークの向きが一定である（ツールを回転させる必要がない場合も含む）には、ワーク位置は常に一定であると考えることができる。そのような場合には、ロボットの制御座標系（後述する基準座標系やフランジ座標系）における座標値を用いて直接的に設定してもよい。その場合、ロボットを設置する現場のＣＡＤデータ等から設定してもよいし、ロボットを設置するファインキャリブレーション作業時に設定してもよい。
【００２０】
請求項９に記載した発明では、ツールは、ワークを把持し、把持したワークを所定の位置まで移送し、移送したワークを所定の位置に載置するピックアンドプレース作業に用いられるものであり、ワーク位置および動作位置は、ワークを把持するためにツールがワークに接近する際の接近方向に直交する平面の２次元座標として設定される。これにより、推定式を求める際のパラメータの数を削減でき、実際にツールセンターポイントを推定する際の演算負荷を低減することができる。
【００２１】
請求項１０に記載したツールセンターポイント推定装置の発明では、ワーク位置と動作位置とを複数回取得する処理と、取得した複数回分のワーク位置と動作位置とに基づいてずれの要因となる誤差成分を算出する処理と、算出した誤差成分に基づいてツールの位置に対応したツールセンターポイントを推定する推定式を求める処理と、を実行する制御部を備える。これにより、請求項１に記載した発明と同様に、治具を用いることなく、且つ、容易に推定式求めることができ、ツールセンターポイントを推定するための推定式を求めることができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態におけるロボットシステムの構成を模式的に示す図
【図２】ロボットシステムの電気的構成を模式的に示す図
【図３】ハンドの構成、および、ツールセンターポイントがずれている状態の一例を模式的に示す図
【図４】ワークの向きとツールセンターポイントのずれとの関係を模式的に示す図
【図５】実施形態のワークの形状、およびワーク位置の設定例を模式的に示す図
【図６】ツールセンターポイントを推定する推定式を求める手順を示す図
【図７】カメラの視野内に配置されたワークを模式的に示す図
【図８】ワーク位置の他の設定手法を模式的に示す図
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について図１から図８を参照しながら説明する。
図１に示すように、ロボットシステム１は、ロボット２、コントローラ３、ペンダント４、パソコン５、およびカメラ６等から構成されている。本実施形態の場合、ロボット２は、部品供給装置７から供給されるワーク８を把持した上げた後に搬送ライン９上の所定の位置まで移送して載置するピックアンドプレース作業を行うことを想定している。
【００２４】
ロボット２は、いわゆる６軸の垂直多関節型ロボットとしての周知の構成を備えており、ベース１０を基準とする基準座標系ΣＢにおいて、ベース１０上に、Ｚ軸方向の軸心を持つ第１軸（Ｊ１）を介してショルダ１１が水平方向に回転可能に連結されている。ショルダ１１には、Ｙ方向の軸心を持つ第２軸（Ｊ２）を介して上方に延びる下アーム１２の下端部が垂直方向に回転可能に連結されている。下アーム１２の先端部には、Ｙ方向の軸心を持つ第３軸（Ｊ３）を介して第一上アーム１３が垂直方向に回転可能に連結されている。第一上アーム１３の先端部には、Ｘ方向の軸心を持つ第４軸（Ｊ４）を介して第二上アーム１４が捻り回転可能に連結されている。第二上アーム１４の先端部には、Ｙ方向の軸心を持つ第５軸（Ｊ５）を介して手首１５が垂直方向に回転可能に連結されている。手首１５には、Ｘ方向の軸心を持つ第６軸（Ｊ６）を介してフランジ１６が捻り回転可能に連結されている。このフランジ１６には、ハンド２０（図３参照。ツールに相当する）が装着される。
【００２５】
ロボット２には、ロボット２を制御する際の基準となる座標系が設定されている。具体的には、上記したベース１０を基準とする基準座標系ΣＢと、第６軸（Ｊ６）に対応するフランジ座標系ΣＦとが設定されている。基準座標系ΣＢは、ロボット２がどのような姿勢を取ったとしても変化することがない座標系であり、互いに直交するＸＢ軸、ＹＢ軸およびＺＢ軸が設定されている。なお、ＺＢ軸は設置面に垂直な軸となっている。一方、フランジ座標系ΣＦは、フランジ１６の向きを第６軸の原点を基準として示す座標系であり、互いに直交するＸＦ軸、ＹＦ軸およびＺＦ軸が設定されている。このうち、ＺＦ軸は、第６軸と同軸に設定されており、ＺＦ軸の向きがフランジ１６の向き、つまり、手先の向きを示している。
【００２６】
コントローラ３（ツールセンターポイント推定装置を構成する）は、ロボット２の主たる制御装置であり、図２に示すように、マイクロコンピュータで構成された制御部３ａおよび画像処理部３ｂ等を備えている。この画像処理部３ｂは、詳細は後述するが、制御上の中心位置となるツールセンターポイントの推定式を求めるときに、カメラ６で撮像した画像に対して画像処理を行うことによりワーク位置を設定する。なお、ワーク位置とは、詳細は後述するが、ワーク８に対して実際に作業を行う際の基準となる位置である。
【００２７】
ペンダント４（ツールセンターポイント推定装置を構成する）は、制御部４ａおよび表示部４ｂ等を備えており、接続ケーブルを介してコントローラ３に接続されている。このペンダント４は、ティーチングペンダントとも称され、ロボット２の動作軌跡の設定や各種のパラメータの設定等を行うことができる。また、ペンダント４は、マニュアル操作によりロボット２の姿勢を制御すること（つまり、ロボット２を動作させること）もできる。また、表示部４ｂには図示しないタッチパネルが設けられており、ユーザによるタッチ操作が入力可能となっている。なお、詳細は後述するが、本実施形態では、主としてこのペンダント４を用いてツールセンターポイントを推定する推定式を求めている。
【００２８】
パソコン５（ツールセンターポイント推定装置を構成する）は、制御部５ａおよび表示部５ｂ等を備えており、コントローラ３に接続されている。このパソコン５は、ペンダント４と同様に、ロボット２の動作軌跡の設定や各種のパラメータの設定、およびマニュアル操作によるロボット２の姿勢制御等を行うことができる。なお、パソコン５は、入力作業を容易にするために用いているのであって、本発明を実現するにあたって必須の構成ではない。つまり、パソコン５で行う作業は、コントローラ３やペンダント４で代用することができる。また、逆に、本発明を実現するにあたっては、ペンダント４の代わりにパソコン５を用いてもよい。
【００２９】
カメラ６（撮像部に相当する）は、コントローラ３に接続されており、作業対象となるワーク８を撮像する。より詳細には、カメラ６は、ロボット２を実際に可動させたときのアームの移動範囲に存在するワーク８を撮像する。カメラ６で撮像された画像は、本実施形態ではコントローラ３に送られて、ワーク位置を設定するための画像処理が行われる。
【００３０】
さて、本実施形態では、上記したようにロボット２にてピックアンドプレース作業を行うことを想定している。そのため、ワーク８を把持するためのツールは、図３（ａ）に示すように、フランジ１６に取り付けられる本体部２０ａと、ワーク８を把持するための２本の爪部材２０ｂ、２０ｃと有するハンド２０を用いている。このハンド２０は、コントローラ３に接続されており（図２参照）、コントローラ３からの指示に基づいて、爪部材２０ｂ、２０ｃが互いに接近してワーク８を把持する把持動作と、爪部材２０ｂ、２０ｃが互いに離間してワーク８を開放する開放動作とを行う。なお、ワーク８に対するハンド２０の向きは、フランジ１６を回転させることによって変更される。以下、爪部材２０ｂ、２０ｃが互いに接近または離間する方向を、便宜的にハンド２０の動作方向と称する。
【００３１】
爪部材２０ｂ、２０ｃは、把持動作および開放動作において、ある軸を中心として対象となるように互いに接近または離間する。そして、この中心となる軸上に、ハンド２０の位置を制御する際の中心位置を示すツールセンターポイントが存在する。本実施形態では、ツールセンターポイントは、爪部材２０ｂ、２０ｃの中間点であって、爪部材２０ｂ、２０ｃの中心線（ＣＬ。図５（ｂ）参照）上に存在している。以下、把持動作時および開放動作時に中心となり、ツールセンターポイントが存在する軸を、便宜的にＴＣＰ軸と称する。
【００３２】
このような構成のハンド２０は、一般的に、ＴＣＰ軸と第６軸（Ｊ６）とが同軸となるように装着されることが多い。これは、ＴＣＰ軸と第６軸（Ｊ６）とが同軸であればＴＣＰ軸がフランジ座標系ΣＦの原点を通ることになるため、フランジ１６を回転させてハンド２０の向きを変えたとしても、第６軸（Ｊ６）に対する爪部材２０ｂ、２０ｃの対称性が崩れないためである。
【００３３】
このツールセンターポイントは、ロボット２を制御する上で非常に重要な値である。例えば図３（ａ）に示したようにＴＣＰ軸と第６軸（Ｊ６）とが同軸となるようにハンド２０を装着した場合、ロボット２は、ツールセンターポイントが第６軸（Ｊ６）上に位置しているという前提の下で動作することになる。このとき、図３（ｂ）に示すように、例えば装着ミス等によってＴＣＰ軸と第６軸（Ｊ６）とがずれている場合には、ワーク８を把持する際の基準となるワーク位置（Ｐ０）にＴＣＰ軸が来るように第６軸（Ｊ６）の位置を制御したとしても、領域Ｋに示すようにハンド２０とワーク８とが接触してしまうおそれがある。
【００３４】
また、ツールセンターポイントがずれている場合には、ハンド２０の向きが変わると、ワーク位置（Ｐ０）からのずれ量も変化する。具体的には、例えば図４（ａ）に示すように、図示左右方向をＸ方向とし、図示上下方向をＹ方向とした場合において、ワーク８をＹ方向から把持するときのずれ量がＸ方向で−ｘ１、Ｙ方向で−ｙ１であったとする。なお、爪部材２０ｂ、２０ｃの間隔（Ｗ１）は、ワーク８との間に所定のクリアランス（例えば、各１ｍｍ程度）を持つように設定されている。この場合、ワーク位置に対して−ｘ１、−ｙ１だけずれた位置を目標としてロボット２を動作させれば、ＴＣＰ軸がワーク位置（Ｐ０）を通るようになると考えられる。
【００３５】
これに対して、例えば図４（ｂ）に示すようにワーク８の向きが変化した場合には、ワーク８を図示斜め方向から把持するためにハンド２０を回転させる必要がある。このとき、ＴＣＰ軸と第６軸（Ｊ６）とがずれていると、ハンド２０が回転することによって、ワーク位置に対するＴＣＰ軸のずれ量が変化する。そのため、図４（ａ）と同じずれ量を用いてワーク位置に対して−ｘ１、−ｙ１の位置を目標としてロボット２を動作させると、爪部材２０ｂ、２０ｃの間隔（Ｗ１）が同じであったとしても、図４（ｂ）の状態では例えば爪部材２０ｃがワーク８に接触してしまうおそれがある。
【００３６】
このように、想定上のツールセンターポイントと実際のツールポイントとがずれている場合には、ロボット２による作業に支障をきたすおそれがある。そのため、従来では、高精度に加工した専用の治具を用いること等により、ツールセンターポイントを正確に規定するための作業、例えばＴＣＰ軸が第６軸（Ｊ６）に完全に一致するように厳密に調整したり、仮にＴＣＰ軸が第６軸（Ｊ６）からずれている場合にはそのずれ量を正確に計測したりする作業等が必須となっていた。
【００３７】
しかし、ツールセンターポイントを正確に規定するためには、治具そのものを高精度に加工する必要があり、また、作業対象となるワーク８の大きさや形状が異なる場合にはそれに応じて治具の大きさや形状も変更する必要がある。そのため、従来では、ツールセンターポイントを規定するという作業以外に、ワーク８の種類に応じた治具を用意するために時間的および費用的に多大な労力が必要となっていた。また、治具をロボット２に装着してツールセンターポイントを規定する場合には、実際のツールに取り替える際の装着ミスやツールそのものの工作精度等によってツールセンターポイントがずれる可能性があり、本質的に、ツールセンターポイントがずれてしまう可能性を排除することが困難であった。
【００３８】
また、ツールセンターポイントのずれを吸収してワーク８との接触を回避するためにクリアランス（つまりは、爪部材２０ｂ、２０ｃの幅）を大きく設定することも考えられるが、クリアランスを大きくすると把持動作時に爪部材２０ｂ、２０ｃが移動する距離が長くなり、その結果、動作時間が長くなる。そして、通常、ロボット２が同じ動作を繰り返す目的で使用されることに鑑みると、１回の動作時間の増加は僅かであったとしても、数日あるいは月単位でみた場合には、作業効率が大きく低下してしまうおそれがある。そのため、ツールセンターポイントのずれを吸収するためにクリアランスを大きくすることは望ましくない。
【００３９】
そこで、本実施形態では、以下のようにして、ツールセンターポイントを推定している。なお、本実施形態のハンド２０は、概ねＴＣＰ軸と第６軸（Ｊ６）とが同軸となるように装着されているものの、その厳密な位置の調整や第６軸（Ｊ６）からのずれ量の計測等は行われていない。そのため、ＴＣＰ軸は、ハンド２０の工作精度と同等程度で第６軸（Ｊ６）と同軸になっている。
【００４０】
さて、まず、本実施形態で対象とするワーク８ついて説明する。図５（ａ）に示すように、本実施形態で対象とするワーク８は、長手部８１ａと短手部８１ｂとを有し、平面視にて概ねＬ字状に形成されている。このワーク８には、ハンド２０で把持する際の基準となるワーク位置（Ｐ０）が、設定されている。このワーク位置（Ｐ０）は、ワーク８の形状や重量バランス等を考慮して設定される。つまり、ワーク位置（Ｐ０）は、ハンド２０でワーク８を把持することができる位置が設定されている。本実施形態では、ワーク位置（Ｐ０）は、ワーク８をカメラ６で撮像し、撮像した画像をコントローラ３の画像処理部３ｂで画像処理することにより設定される。
【００４１】
このワーク８は、図５（ｂ）に示すように、爪部材２０ｂ、２０ｃによって長手部８１ａが挟み込まれるように把持される。このとき、ＴＣＰ軸がワーク位置（Ｐ０）を通るような位置関係であれば、ワーク８を確実に把持することができることになる。そのため、ロボット２は、ハンド２０の位置を、ＴＣＰ軸がワーク位置（Ｐ０）を通るような位置に制御することになる。また、ＴＣＰ軸が正確にワーク位置（Ｐ０）を通るように制御すれば、必要以上に大きなクリアランスを設定する必要が無く、把持動作における動作時間の短縮を図ることができる。
【００４２】
本実施形態の場合、後述するようにワーク８をカメラ６で撮像した画像を画像処理することにより、ワーク位置（Ｐ０）を設定する。このとき、ワーク８の向きも検出される。本実施形態の場合、ワーク８の長手部８１ａが延びる方向をワーク８の向きとしており、ペンダント４の画面には、図５（ｃ）に示すようにワーク位置（Ｐ０）を示す位置マークＭ１とワーク８の向きを示す向きマークＭ２とで構成されたワーク位置マーク（ＰＭ）が表示される。そして、ロボット２が実際に可動する際には、ワーク位置マーク（ＰＭ）で示されたワーク８の向きと直交する方向からワーク８を挟み込むことができるようにハンド２０の位置が制御されることになる。
【００４３】
次に、ツールセンターポイントを推定する推定式を求める手順について図６を参照しながら説明する。
本実施形態の手順では、対象となるワーク８を選択する（Ｓ１）。具体的には、カメラ６で撮像されたワーク８の画像は、図７に示すように、例えばペンダント４の表示部４ｂに表示される。このとき、表示部４ｂに表示されている範囲が、本実施形態におけるカメラ６の視野に相当する。また、この表示部４ｂに表示されている範囲は、ハンド２０の移動範囲、より厳密には、ワーク８を把持する把持動作時におけるハンド２０の移動範囲に相当する。
【００４４】
本実施形態の場合、カメラ６の視野内に予め４つのワーク８を配置している。そのため、表示部４ｂには４つのワーク８が表示される。この場合、ステップＳ１では、いずれか１つのワーク８が、例えばユーザによって指定されることで選択される。なお、ペンダント４により自動的に選択するようにしてもよい。ここでは、カメラ６の視野を図示上下左右に区切った４つの領域Ｒ１〜Ｒ４のうち、１つの端部である領域Ｒ１に配置されているワーク８がまず選択されたものとする。つまり、視野内の四隅の付近に配置されているワーク８の１つが選択されたものとする。
【００４５】
以下、表示部４ｂの左右方向（図示左右方向）をＸ方向、表示部４ｂの上下方向（図示上下方向）をＹ方向として説明する。また、本実施形態では、Ｘ方向（図示右方向）が、フランジ１６の回転角度における０°の位置に対応し、Ｙ方向（図示上方向）が、フランジ１６の回転角度における２７０°の位置に対応する。また、表示部４ｂに表示されている平面を、便宜的に表示部４ｂのＸ−Ｙ平面と称する。
【００４６】
続いて、選択したワーク８に対して、ワーク位置（Ｐ０）を設定する（Ｓ２）。このワーク位置（Ｐ０）は、上記したように画像処理によって設定される。また、ワーク８の向きも検出される。そのため、表示部４ｂには、ワーク８の画像に重なってワーク位置マーク（ＰＭ）が表示される。なお、今回選択した領域Ｒ１のワーク８の場合、図示右向きであると検出されている。
【００４７】
続いて、選択したワーク８を実際に把持する（Ｓ３）。このとき、ワーク８は、ユーザによってマニュアル操作された状態で把持される。つまり、ステップＳ３では、ワーク８を把持することができるとユーザが認識している位置に、ハンド２０が位置していることになる。そして、ワーク８を実際に把持したときのハンド２０の位置が、動作位置（以下、把持位置と称する）に相当する。
【００４８】
本実施形態の場合、把持動作時にはロボット２の手先が真下を向いていることから、また、上記したようにＴＣＰ軸と第６軸（Ｊ６）とが概ね同軸であることから、表示部４ｂのＸ−Ｙ平面に対するフランジ座標（ΣＦ）の原点の投影位置（二次元座標）として表される。なお、フランジ座標（ΣＦ）の原点の位置はロボット２を制御するコントローラ３によって把握されているため、コントローラ３から取得することができる。
続いて、設定したワーク位置（Ｐ０）と、そのワーク位置（Ｐ０）に対する把持位置（Ｔ１。本実施形態では、第６軸（Ｊ６）の位置）とを取得する（Ｓ４）。より具体的に言えば、ワーク位置および把持位置は、互いに関連付けた状態で記憶される。
【００４９】
続いて、ワーク位置と把持位置とをｎ回以上取得したかを判定する（Ｓ５）。本実施形態では、ワーク位置と把持位置とを４回取得する手順としており、ｎ＝４である。なお、本発明を実現するためには、ワーク位置と把持位置とを取得する回数は３回以上であればよい。このとき、ワーク位置と把持位置とを取得する回数が多くなるほど、ツールセンターポイントを高精度に推定できることになる。
【００５０】
この時点ではワーク位置と把持位置とを取得した回数が１回であるため（Ｓ５：ＮＯ）、異なる位置、異なる向きのワーク８を選択する（Ｓ６）。ここでは、表示部４ｂの領域Ｒ２のワーク８を選択したとする。そして、選択したワーク８に対してワーク位置（Ｐ０）を設定し（Ｓ２）、ワーク８を実際に把持し（Ｓ３）、ワーク位置と把持位置とを取得する（Ｓ４）。その後、設定した回数以上となるまで、ワーク位置と把持位置との取得を繰り返す。本実施形態では、ｎ＝４であるため、３回目には例えば表示部４ｂの領域Ｒ３のワーク８に対してワーク位置と把持位置とが取得され、４回目には例えば表示部４ｂの領域Ｒ４のワーク８に対してワーク位置と把持位置とが取得されることになる。
【００５１】
つまり、ワーク位置および動作位置は、ツールを回転させることによって当該ツールの向きが異なる状態で３回以上取得されている。そして、本実施形態の場合、ワークの姿勢が変化することになる最大角度をαとすると、αは、表示部４ｂのＸ−Ｙ平面内における回転角度、つまりは、３６０°となる。そのため、このため、ワーク位置および把持位置は、取得する回数をｎ（本実施形態ではｎ＝４）とした場合では、また、領域Ｒ１〜Ｒ４に配置されているワーク８は、それぞれ、概ね０°、９０°、１８０°、２７０°の向きになっている。つまり、α／ｎ°＝３６０／４°＝９０°を基準角度として、当該基準角度に対して予め設定されている許容範囲（例えば±２０°）の範囲の向きで配置されたワーク８に対して取得されている。換言すると、ワーク８の向きは、例えば０°に正確に一致している必要はない。そのため、ワーク８を正確に例えば０°に向けるような精密な作業は必要なく、また、ワーク８を正確に例えば０°に向けるための治具等を用いる必要もない。
【００５２】
続いて、ワーク位置と把持位置とを取得した回数がｎ回以上となると（Ｓ５：ＹＥＳ）、誤差成分を算出する（Ｓ７）。ここで、誤差成分とは、ワーク位置と把持位置とのずれを生じさせる要因である。なお、把持位置（Ｔ１〜Ｔ４）を取得する回数は予め設定した回数以上であればよく、５回以上取得してもよい。すなわち、ｎ回以上となったからといって、そのまま直ぐにステップＳ６に移行しなくてもよく、例えば、ステップＳ５を、取得を終了する旨の操作を受け付けたか否かの判定ステップとしてもよい。
【００５３】
さて、本実施形態の構成においてピックアンドプレース作業を行う場合には、ハンド２０をワーク８の上方から近づけてワーク８を把持することになる。つまり、ワーク位置（Ｐ０）は、ワーク８の表面（上面）に設定されており、ロボット２は、ワーク位置（Ｐ０）が設定された二次元平面内を移動するように動作した後、ワーク８に向かってハンド２０を接近させる。
【００５４】
そのため、基本的には、ハンド２０をワーク８に接近させる際の接近方向（本実施形態では、フランジ座標系ΣＦのＺＦ軸方向）からワーク８をみた平面視において、ＴＣＰ軸とワーク位置（Ｐ０）とが一致すれば、ツールセンターポイントがワーク８を把持するのに適した位置に到達したと考えられる。このため、ハンド２０の接近方向からみた平面視（本実施形態では表示部４ｂのＸ−Ｙ平面）におけるＸ方向およびＹ方向の二次元方向のずれを補正することができれば、ＴＣＰ軸をワーク位置（Ｐ０）に一致させることができると考えられる。
【００５５】
そこで、まず、把持位置を、ワーク位置からの二次元方向のずれとして表すこととする。このとき、把持位置とワーク位置とのずれには、表示部４ｂのＸ−Ｙ平面においてハンド２０が回転したことに起因して生じるずれと、表示部４ｂのＸ−Ｙ平面においてハンド２０が平行移動したことに起因して生じるずれと、が含まれることになる（上記した図４参照）。そのため、以下の変数を設定する。
・ｘｔ：ワーク位置（Ｐ０）に対するＸ方向のずれ。実測値。
・ｙｔ：ワーク位置（Ｐ０）に対するＹ方向のずれ。実測値。
・ｘｒ：ハンド２０の回転に依存するＸ方向の誤差。回転成分に相当する。
・ｙｒ：ハンド２０の回転に依存するＹ方向の誤差。回転成分に相当する。
・ｘｏ：ハンド２０の移動に依存するＸ方向の誤差。移動成分に相当する。
・ｙｏ：ハンド２０の移動に依存するＹ方向の誤差。移動成分に相当する。
・θ  ：ハンド２０の回転角度。本実施形態ではフランジ１６の回転角度の実測値。
【００５６】
このうち、ｘｒ、ｙｒは、主としてツールセンターポイントのずれに起因して生じる誤差成分である。また、ｘｏ、ｙｏは、主としてキャリブレーション（ロボット２の座標系の調整）時のずれに起因して生じる誤差成分である。なお、この時点では、ｘｒ，ｙｒ，ｘｏ，ｙｏは、未知の値である。
このとき、ワーク位置に対する把持位置のずれを表すｘｔ、ｙｔは、以下の（１）式に示すように、各誤差成分を含んだ誤差行列として定義することができる。なお、この（１）式は、ステップＳ１よりも前に予め定義しておいてもよい。
【００５７】
【数１】
2017074637.tif 000003
【００５８】
そして、把持位置とワーク位置とをｎ回取得した場合には、（１）式は、以下の（２）式のようにまとめることができる。
【００５９】
【数２】
2017074637.tif 000004
【００６０】
このうち、ｘｔｎ、ｙｔｎ、θｎはそれぞれ実測されていることから、この（２）式を解くことにより、ｘｒ、ｙｒ、ｘｏ、ｙｏを求めることができる。
具体的には、（２）式は、各項を以下の（３）式〜（５）式のようにＹ、Ａ、Ｘで表した場合、以下の（６）式のように表される。
【００６１】
【数３】
2017074637.tif 000005
【００６２】
【数４】
2017074637.tif 000006
【００６３】
【数５】
2017074637.tif 000007
【００６４】
【数６】
2017074637.tif 000008
【００６５】
この（６）式は、行列の公式により、Ｘの転地行列をＸＴとすると以下の（７）式のように解くことができる。
【００６６】
【数７】
2017074637.tif 000009
【００６７】
この（７）式は、（４）式で示したＡを求めることができることを示している。すなわち、ハンド２０の回転に起因して生じる誤差成分とハンド２０の移動に起因して生じる誤差成分とを、先に取得したワーク位置と把持位置とから算出することができる。つまり、（１）式の各数値（ｘｒ，ｙｒ，ｘｏ，ｙｏ）が既知の値となる。
【００６８】
そして、この（１）式を、ツールセンターポイントを推定するための推定式として設定する（Ｓ８）。これにより、（１）式を用いて、ハンド２０の位置およびハンド２０の回転角度に応じたｘｔ、ｙｔを得ることができるようになる。換言すると、ＴＣＰ軸がワーク位置（Ｐ０）を通るようにするための補正値を、ハンド２０の移動範囲内におけるハンド２０の位置とハンド２０の回転角度とに対応した値として推定することができるようになる。これにより、ツールセンターポイントを推定する推定式を求めることができる。
【００６９】
なお、このようにして設定した推定式を用いて実地テストを行った結果、今までは概ね３ｍｍ程度のずれが生じていた状態が、概ね０．５ｍｍ程度以下のずれにまで改善することができた。これにより、爪部材２０ｂ、２０ｃの間隔（Ｗ１）つまりはクリアランスを小さくすることができ、作業効率が大きく改善された。
【００７０】
以上説明した実施形態によれば、次のような効果を得ることができる。
ハンド２０（ツール）の移動範囲内に存在するワーク８の位置を示すワーク位置（Ｐ０）と、当該ワーク位置（Ｐ０）が設定されたワーク８に対してロボット２をマニュアル操作により動作させた際のハンド２０の位置を示す把持位置（動作位置）とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置（Ｐ０）と把持位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ハンド２０の位置に対応したツールセンターポイントを推定する。
【００７１】
これにより、ツールセンターポイントを推定するためにユーザ側で必要となる作業は、実質的に、ワーク８を数回把持する作業だけとなり、容易にツールセンターポイントを推定することができる。すなわち、治具を用いることなく、且つ、容易にツールセンターポイントを推定する推定式、換言すると、ＴＣＰ軸をワーク位置（Ｐ０）に一致させるための推定式を求めることができる。
【００７２】
つまり、多大な労力を掛けてロボット２のフランジ１６に対するツールセンターポイントを高精度に設定したりＴＣＰ軸を第６軸（Ｊ６）に厳密に合わせ込んだりする等の作業が必要だった従来の手法とは異なり、本実施形態の手順であれば、実際の現場における調整等が不要あるいは大きく削減することができるようになる。
このとき、必要となる主な作業はワーク８を数回把持することであるため作業者の練度が問われる状態を避けることができ、また、ワーク８の種類が変更されてツールが変わった場合であっても、容易にツールセンターポイントを推定することができる。
【００７３】
また、実際のロボット２を用い、さらには、実際に作業対象となるワーク８を用いているので、誤差成分には、ロボット２を設置する際に生じる可能性のある位置ずれや、搬送ライン９の傾き等に起因するずれが含まれているが、推定式はそのずれを含んだ状態で設定されるため、実際の作業に適したツールセンターポイントを推定することができる。
【００７４】
また、ユーザがマニュアル操作した際の実際の把持位置に基づいて推定式求めるため、推定式には、ユーザが適切と考える位置が反映されることになる。これにより、ロボット２の動作に、ユーザが適切であると考える状態を反映させることができる。
また、実際のロボット２を動作させたときの実測値に基づいて推定式を求めているので、動作環境に依存する誤差をも加味した状態で推定式を求めることができる。すなわち、ロボット２の実際の動作環境に依存する誤差をも補償された推定式を求めることができる。
【００７５】
また、実際の把持位置に基づいて推定式求めるため、推定式は、実際の作業に適した値に収束する。したがって、実際の作業に適した推定式求めることができる。
誤差成分は、ハンド２０の回転に依存する回転成分（ｘｒ、ｙｒ）を含み、ワーク位置（Ｐ０）および把持位置は、ハンド２０を回転させることによって当該ハンド２０の向きが異なる状態で３回以上取得される。これにより、ツールセンターポイントを推定する推定式は、ハンド２０の回転に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置７から供給されるワーク８を把持する場合等、ワーク８の向きがそれぞれ異なる場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
【００７６】
この場合、ワーク位置（Ｐ０）および把持位置は、取得する回数をｎ（ただし、ｎは３以上）とした場合、３６０／ｎ°を基準角度として当該基準角度に対して予め設定されている許容範囲の向きで配置されたワーク８に対して取得される。これにより、ワーク位置（Ｐ０）および把持位置を取得する際、ワーク８の向きを厳密に設定する必要が無くなり、作業負荷を低減することができる。また、ハンド２０の回転角度に対して概ね均等にワーク位置（Ｐ０）および把持位置を取得するので、誤差成分の偏りの影響を低減することができる。
【００７７】
誤差成分は、ハンド２０の移動に依存する移動成分（ｘｏ、ｙｏ）を含み、ワーク位置（Ｐ０）および把持位置は、ハンド２０の移動範囲内においてそれぞれ異なる位置に配置されたワーク８に対して取得される。これにより、ツールセンターポイントを推定する推定式は、ハンド２０の移動に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置７から供給されるワーク８を把持する場合等、ワーク８の位置がそれぞれ異なる場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
【００７８】
ワーク位置（Ｐ０）は、作業対象となるワーク８を撮像した画像に対して画像処理を行うことにより設定される。これにより、ワーク位置（Ｐ０）の設定を自動化することができる。したがって、ワーク位置（Ｐ０）を設定する作業のために労力を要することがない。また、画像処理をコントローラ３の画像処理部３ｂで行っているため、推定式求める作業と実可動とで同じ状態でワーク位置（Ｐ０）が設定されることになり、実稼働時にずれが大きくなる等のおそれを低減することができる。
また、ワーク８を実際に撮像した画像に基づいてワーク位置（Ｐ０）を設定するので、カメラ６の設置時に位置ずれ等があったとしても、それに依存する誤差を補償した状態で推定式を求めることができる。したがって、より実際の動作環境に適した推定式を用いることができる。
【００７９】
ワーク位置（Ｐ０）は、ワーク８を撮像するカメラ６の矩形状の視野内であって、当該視野の端部（実施形態では、視野内の四隅の付近）にそれぞれ異なる向きで配置されたワーク８に対して設定される。これにより、ワーク８をカメラ６で撮像する場合、レンズ性能やカメラ６を設置する時の位置ずれ等の影響により、視野内において画像が歪むことがある。また、光源の位置等によっては、ワーク８の位置によってその見え方（つまり、画像上のワーク８の大きさ）等に差異が生じる可能性もある。その結果、画像処理によりワーク位置（例えば、ワークの画像の重心位置）を求める場合、配置されている位置によって求まるワーク位置が異なることがあり、また、周辺側にどの向きに配置されているかによっても、求まるワーク位置が異なることがある。
【００８０】
そこで、視野の端部に配置されたワーク８を対象とすることにより、推定式を算出する際の誤差要因として、画像の歪みやワーク８の見え方の差異の影響が加味されることになる。そして、それらを加味した上で推定式が導出されるため、つまりは、視野内の位置の違いとその位置における向きの違いとを含めて補償した状態で推定式を導出できるため、より実際の作業に適したツールセンターポイントを推定することができる。なお、４つのワーク８を配置するのではなく、１つのワーク８を用いてワーク位置と把持位置との取得を４回以上繰り返してもよい。
【００８１】
ハンド２０は、ワーク８を把持し、把持したワーク８を所定の位置まで移送し、移送したワーク８を所定の位置に載置するピックアンドプレース作業に用いられるものであり、ワーク位置（Ｐ０）および把持位置は、ワーク８を把持するためにハンド２０がワーク８に接近する際の接近方向に直交する平面の２次元座標として設定される。これにより、推定式を用いてツールセンターポイントを推定する際の演算負荷を低減することができる。
【００８２】
実施形態のペンダント４は、ワーク位置（Ｐ０）と把持位置とを複数回取得する処理と、複数回分のワーク位置（Ｐ０）と動作位置とのずれの要因となる誤差成分を算出する処理と、算出した誤差成分を用いてハンド２０の位置に対応したツールセンターポイントを推定する推定式求める処理と、を実行する制御部４ａを備える。これにより、上記したツールセンターポイント推定方法を実施することができ、治具を用いることなく、且つ、容易にツールセンターポイントを推定することができる。なお、コントローラ３の制御部３ａやパソコン５の制御部５ａであってもよい。
【００８３】
本発明は、上記し且つ図面に記載した態様に限定されるものではなく、その要旨を逸脱しない範囲で種々の変形や拡張をすることができる。
実施形態ではワーク位置（Ｐ０）を画像処理により求めたが、ワーク位置（Ｐ０）は、ツールの移動範囲内の位置を直接的に指定することにより設定してもよい。例えば、図８に示すように、搬送ライン３０上をワーク８が流れてきており、それを載置台３１に移送する作業を想定する。このとき、ワーク８が搬送ライン３０の所定の直線Ｌｙ上に位置した状態で搬送され、そのワーク８が所定の直線Ｌｘ上に到達したときに把持するものとする。このように、ワーク８に対して作業を行う位置が予め定まっており、ワーク８の向きが一定である（ツールを回転させる必要がない場合も含む）には、直線Ｌｘと直線Ｌｙとの交点となる作業位置Ｐ１０の座標（Ｘｓ、Ｙｓ）を直接的にワーク位置（Ｐ０）として設定してもよい。この場合、作業位置Ｐ１０の座標（Ｘｓ、Ｙｓ）は、ロボット２を設置する現場のＣＡＤデータ等から設定してもよいし、ロボット２を設置するファインキャリブレーション作業時に設定してもよい。
【００８４】
実施形態で示した数値は一例であり、これに限定されない。
実施形態ではワーク位置を設定するための画像処理をコントローラ３の画像処理部３ｂで行う例を示したが、画像処理をペンダント４やパソコン５で行ってもよい。つまり、ツールセンターポイント推定装置は、ロボット２を駆動するためのコントローラ３と、ロボット２をマニュアル操作するためのペンダント４またはパソコン５の少なくともいずれか一方と、により構成することができる。
【００８５】
実施形態で示したワーク８の形状や大きさ等は一例であり、これに限定されるものではない。
実施形態ではカメラ６の視野内に予め複数のワーク８を配置したが、１つのワーク８を用意して、ステップＳ６においてそのワーク８の位置や向きを変更するようにしてもよい。その場合、ワーク８が１つであることから、ワーク８を選択する処理（Ｓ１）を自動化することができる。
【００８６】
実施形態で示したツールとしてのハンド２０の構造や形状は一例であり、これに限定されるものではない。例えば、吸着式のツールや３箇所以上でワーク８を把持するツールであってもよい。また、実施形態ではＴＣＰ軸と爪部材２０ｂ、２０ｃの先端を通る仮想的な線との交点をツールセンターポイントとしたが、本体部２０ａの下面等、ＴＣＰ軸上の他の位置がツールセンターポイントであってもよい。これは、フランジ座標系ΣＦにおけるツールセンターポイントの位置が分かっていれば、正確に制御することができるためである。
【００８７】
実施形態ではロボット２として６軸の垂直多関節型ロボットを例示したが、それ以外にも、例えば４軸の水平多関節型ロボットや直動式ロボット等、他の構成であっても本発明を適用することができる。
実施形態では表示部４ｂのＸ−Ｙ平面上の２次元座標においてＴＣＰ軸とワーク位置（Ｐ０）とを一致させる例を示したが、Ｚ方向についても、複数回取得した把持位置に基づいて設定してもよい。この場合も、マニュアル操作でワーク８を把持した際のＺ方向の値を用いることで、実際の作業に適したＺ方向の位置を設定することができる。
【符号の説明】
【００８８】
図面中、２はロボット、３はコントローラ（ツールセンターポイント推定装置）、３ａ、４ａ、５ａは制御部、４はペンダント（ツールセンターポイント推定装置）、５はパソコン（ツールセンターポイント推定装置）、６はカメラ（撮像部）、８はワーク、２０はハンド（ツール）、Ｐ０はワーク位置を示す。
【図１】
2017074637.tif 000010
【図２】
2017074637.tif 000011
【図３】
2017074637.tif 000012
【図４】
2017074637.tif 000013
【図５】
2017074637.tif 000014
【図６】
2017074637.tif 000015
【図７】
2017074637.tif 000016
【図８】
2017074637.tif 000017