JP2017074637A - ツールセンターポイント推定方法、ツールセンターポイント推定装置 - Google Patents
ツールセンターポイント推定方法、ツールセンターポイント推定装置 Download PDFInfo
- Publication number
- JP2017074637A JP2017074637A JP2015202840A JP2015202840A JP2017074637A JP 2017074637 A JP2017074637 A JP 2017074637A JP 2015202840 A JP2015202840 A JP 2015202840A JP 2015202840 A JP2015202840 A JP 2015202840A JP 2017074637 A JP2017074637 A JP 2017074637A
- Authority
- JP
- Japan
- Prior art keywords
- workpiece
- tool
- center point
- work
- tool center
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】治具を用いることなく、且つ、容易にツールセンターポイントを推定するための推定式を求めることができるツールセンターポイント推定方法、ツールセンターポイント推定装置を提供する。
【解決手段】ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置を設定したワークに対してロボットをマニュアル操作により動作させた際のツールの位置を示す動作位置とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置と動作位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ツールの位置に対応したツールセンターポイントを推定する推定式を求める。
【選択図】図6
【解決手段】ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置を設定したワークに対してロボットをマニュアル操作により動作させた際のツールの位置を示す動作位置とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置と動作位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ツールの位置に対応したツールセンターポイントを推定する推定式を求める。
【選択図】図6
Description
本発明は、ロボットに取り付けられたツールの制御上の中心位置を示すツールセンターポイントを推定するツールセンターポイント推定方法、ツールセンターポイント推定装置に関する。
産業用のロボットは、一般に、アームの先端のフランジにツールを装着した状態で使用される。このとき、装着されるツールは、作業対象となるワークの種類に応じて様々な構造のものが存在している。そして、実際にワークに接するのはこのツールであることから、ロボットを制御するときには、ツールの位置を正確に目標位置に制御することが必要とされる。そのため、従来では、例えば特許文献1のように、高精度に加工された専用の治具を用いて、ロボットを制御する上でのツールの中心位置を示すツールセンターポイントを設定していた。
しかしながら、ツールセンターポイントを正確に設定するためには、治具そのものを高精度に加工する必要がある。また、作業対象となるワークの大きさや形状が異なる場合には、それに応じて治具の大きさや形状を変更する必要がある。このため、従来では、ツールセンターポイントを設定するという実作業以外にも、ワークの種類に応じた治具を用意するために時間的および費用的に多大な労力を必要としていた。
また、治具をロボットに装着してツールセンターポイントを設定する方法の場合、実際のツールに取り替える際の装着ミスによってツールの位置がずれてしまうと、当然のことながらツールセンターポイントもずれてしまう。また、仮にツールを正確な位置に装着できたとしても、ツールそのものの工作精度等によってツールセンターポイントがずれる可能性もある。つまり、治具を取り付けてツールセンターポイントを設定するという方法の場合には、本質的に、ツールセンターポイントがずれてしまう可能性を排除することが困難であった。
本発明は上記事情に鑑みてなされたものであり、その目的は、治具を用いることなく、且つ、容易にツールセンターポイントを推定するための推定式を求めることができるツールセンターポイント推定方法、ツールセンターポイント推定装置を提供することにある。
本発明は上記事情に鑑みてなされたものであり、その目的は、治具を用いることなく、且つ、容易にツールセンターポイントを推定するための推定式を求めることができるツールセンターポイント推定方法、ツールセンターポイント推定装置を提供することにある。
請求項1に記載した発明では、ツールの移動範囲内に存在するワークの位置(ロボットの制御上の目標となる位置)を示すワーク位置と、当該ワーク位置に設定したワークに対してロボットをマニュアル操作により動作させた際のツールの位置を示す動作位置(ロボットの実際の手先位置)とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置と動作位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ツールの位置に対応したツールセンターポイントを推定するための推定式を求める。
この場合、推定式を求める際にユーザ側で必要とされる作業は、実質的に、ワークを数回把持する作業となる。これにより、推定式を求める作業を簡素化することができる。
また、実際のロボットを用い、さらに、実際に作業対象とするワークを用いているので、取得されたワーク位置および動作位置には、例えばロボットを設置する際に生じる可能性のあるロボットや周辺装置の位置ずれ等による誤差が含まれている。そして、推定式は、そのような誤差も加味した状態で求められている。このため、ツールセンターポイントは、これらの誤差成分を吸収した状態で推定される。したがって、ロボットや周辺装置等に起因する誤差をも補正され、より実可動に適したツールセンターポイントを推定する推定式を求めることができる。
また、実際のロボットを用い、さらに、実際に作業対象とするワークを用いているので、取得されたワーク位置および動作位置には、例えばロボットを設置する際に生じる可能性のあるロボットや周辺装置の位置ずれ等による誤差が含まれている。そして、推定式は、そのような誤差も加味した状態で求められている。このため、ツールセンターポイントは、これらの誤差成分を吸収した状態で推定される。したがって、ロボットや周辺装置等に起因する誤差をも補正され、より実可動に適したツールセンターポイントを推定する推定式を求めることができる。
また、ユーザがマニュアル操作した際の実際の動作位置に基づいて推定式を求めるため、推定式には、ユーザが適切と考える位置が反映されることになる。これにより、ロボットの動作に、ユーザが適切であると考える状態を反映させることができる。また、実際の動作位置に基づいて推定式求めるため、推定式は、実際の作業状態に収束することになり、実際の作業に適した推定式を求めることができる。
このように、治具を用いることなく、且つ、容易に推定式求めることができ、ツールセンターポイントを推定するための推定式を求めることができる。
また、従来ではロボットに対するツールセンターポイントを高精度に設定していたが、ロボットとツールとの位置関係以外にも、ワーク自体の精度や例えばワークを撮像するカメラの位置ずれ等、実際の現場において誤差が生じる要因が複数存在していると考えられる。そのため、ツールセンターポイントを高精度に設定したり、ツールの中心軸を厳密にロボットの動作軸(フランジの回転軸)に軸合わせするために微調整を繰り返したりしても、つまりは、ロボットとツールとの位置関係を高精度に設定するために多大な労力を掛けたとしても、上記したように実際の現場においては、さらなる調整が必要となる可能性がある。
また、従来ではロボットに対するツールセンターポイントを高精度に設定していたが、ロボットとツールとの位置関係以外にも、ワーク自体の精度や例えばワークを撮像するカメラの位置ずれ等、実際の現場において誤差が生じる要因が複数存在していると考えられる。そのため、ツールセンターポイントを高精度に設定したり、ツールの中心軸を厳密にロボットの動作軸(フランジの回転軸)に軸合わせするために微調整を繰り返したりしても、つまりは、ロボットとツールとの位置関係を高精度に設定するために多大な労力を掛けたとしても、上記したように実際の現場においては、さらなる調整が必要となる可能性がある。
これに対して、請求項1に記載した発明では、実際のロボットを動作させたときの実測値に基づいて推定式を求めているので、動作環境に依存する誤差をも加味した状態で推定式を求めることができる。すなわち、ロボットの実際の動作環境に依存する誤差をも補償された推定式を求めることができる。したがって、現場での調整が不要あるいは大幅に軽減することができ、効率よく作業を行うことができる。
請求項2に記載した発明では、誤差成分は、ツールの回転に依存する回転成分を含み、ワーク位置および動作位置は、ツールを回転させることによって当該ツールの向きが異なる状態で3回以上取得される。
これにより、ツールセンターポイントを推定する推定式は、ツールの回転に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置から供給されるワークを対象として作業を行う場合等、ワークの向きがそれぞれ異なることが想定される場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
これにより、ツールセンターポイントを推定する推定式は、ツールの回転に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置から供給されるワークを対象として作業を行う場合等、ワークの向きがそれぞれ異なることが想定される場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
請求項3に記載した発明では、ワーク位置および動作位置は、取得する回数をn(ただし、nは3以上)とし、ワークの姿勢が変化することになる最大角度をαとした場合、α/n°を基準角度として当該基準角度に対して予め設定されている許容範囲の向きで配置されたワークに対して取得される。これにより、ツールの回転角度に対して概ね均等にワーク位置および動作位置を取得するので、誤差成分の偏りの影響を低減することができる。また、ワークの向きは、概ね基準位置を向いていればよいことから、ワークの向きを厳密に設定するための作業や治具が不要となり、ユーザの負荷を低減することができる。
また、各動作位置のデータに大きな差を持たせることができる。例えば同じワークの向き(ワーク姿勢)の場合、ロボットの軸のうち回転する軸が限られてしまうことがあり、ロボット全体の誤差が現れにくいため、得られた補正値(ツールセンターポイントを推定するための補正値)の精度が低くなる。そのため、なるべく互いが離間したワーク姿勢とすると、ある位置では回転しなかった軸も動くことになり、あるワーク姿勢では現れなかった軸の誤差をも、動作位置のデータとして得ることができる。そして、そのようなデータを反映して推定式を求めるため、当然のことながら、精度を向上させることができる。
また、カメラ(撮像部)に起因する誤差の面から考えてみると、カメラキャリブレーションを行ってあったとしても、実際の砂上状況によってはカメラキャリブレーションが不十分となり、誤差(ロボット軸の誤差、人の作業分解能の限界による誤差)が現れる場合もある。そのため、ワーク姿勢を変えて把持動作を行わせることで、更にカメラキャリブレーション用のデータの積み上げとすることもでき、誤差改善に役立足せることができる。
請求項4に記載した発明では、誤差成分は、ツールの移動に依存する移動成分を含み、ワーク位置および動作位置は、ツールの移動範囲内においてそれぞれ異なる位置に配置されたワークに対して取得される。
これにより、ツールセンターポイントを推定する推定式は、ツールの移動に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置から供給されるワークを対象として作業を行う場合等、ワークの位置がそれぞれ異なることが想定される場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。すなわち、ワークの位置が異なれば、ツールも必然的に移動する。そのため、移動に起因する誤差として、ロボットの手先軸(後述するJ4〜J6)だけでなく、根本軸(後述するJ1〜J3)からの誤差をも反映させることができる。
これにより、ツールセンターポイントを推定する推定式は、ツールの移動に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置から供給されるワークを対象として作業を行う場合等、ワークの位置がそれぞれ異なることが想定される場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。すなわち、ワークの位置が異なれば、ツールも必然的に移動する。そのため、移動に起因する誤差として、ロボットの手先軸(後述するJ4〜J6)だけでなく、根本軸(後述するJ1〜J3)からの誤差をも反映させることができる。
請求項5に記載した発明では、ワーク位置は、作業対象となるワークを撮像した画像に対して画像処理を行うことにより設定される。これにより、ワーク位置の設定を自動化することができる。したがって、ワーク位置を設定する作業のために労力を要することがない。また、ワークを実際に撮像した画像に基づいてワーク位置を設定するので、撮像部の位置ずれ等があったとしても、それに依存する誤差を補償した状態で推定式を求めることができる。したがって、より実際の動作環境に適した推定式を用いることができる。
請求項6に記載した発明では、ワーク位置は、ワークを撮像する撮像部の視野内であって、当該視野の端部に配置されたワークに対して設定される。カメラ等の撮像部を用いてワークを撮像する場合、レンズ性能や撮像部を設置する時の位置ずれ等の影響により、視野内において画像が歪むことがある。また、光源の位置等によっては、視野内におけるワークの位置によってはワークの見え方(つまり、画像上でのワークの大きさ等)に差異が生じる可能性もある。
そこで、視野の端部に配置されたワークを対象とすることにより、推定式を算出する際の誤差要因として、画像の歪みやワークの見え方の差異の影響が加味されることになる。そして、それらを加味した上で推定式が導出されるため、より実際の作業に適した実用性の高いツールセンターポイントを推定することができる。
そこで、視野の端部に配置されたワークを対象とすることにより、推定式を算出する際の誤差要因として、画像の歪みやワークの見え方の差異の影響が加味されることになる。そして、それらを加味した上で推定式が導出されるため、より実際の作業に適した実用性の高いツールセンターポイントを推定することができる。
請求項7に記載した発明では、撮像部の視野は、矩形であり、ワークは、撮像部の視野の四隅に、それぞれ異なる向きで配置される。撮像部で撮像される画像は、一般的に、中央部から周辺側(つまり、端部側)に向かうにつれて歪みが大きくなる。そのため、画像処理によりワーク位置(例えば、ワークの画像の重心位置)を求める場合には、撮像部のキャリブレーションを行っていたとしても、配置されている位置によって求まるワーク位置が異なることがあり、また、周辺側にどの向きに配置されているかによっても、求まるワーク位置が異なることがある。そのため、四隅にそれぞれ異なる向きとなるようにワークを配置することにより、視野内の位置の違いとその位置における向きの違いとを補償した状態で、つまりは、画像処理に起因する誤差をも補償した状態で、推定式を求めることができる。なお、4つのワークを配置するのではなく、1つのワークを用いて4回ワーク位置と把持位置との取得を繰り返してもよい。
請求項8に記載した発明では、ワーク位置は、ツールの移動範囲内の位置を直接的に指定することにより設定される。例えば、ワークに対して作業を行う位置が予め定まっており、ワークの向きが一定である(ツールを回転させる必要がない場合も含む)には、ワーク位置は常に一定であると考えることができる。そのような場合には、ロボットの制御座標系(後述する基準座標系やフランジ座標系)における座標値を用いて直接的に設定してもよい。その場合、ロボットを設置する現場のCADデータ等から設定してもよいし、ロボットを設置するファインキャリブレーション作業時に設定してもよい。
請求項9に記載した発明では、ツールは、ワークを把持し、把持したワークを所定の位置まで移送し、移送したワークを所定の位置に載置するピックアンドプレース作業に用いられるものであり、ワーク位置および動作位置は、ワークを把持するためにツールがワークに接近する際の接近方向に直交する平面の2次元座標として設定される。これにより、推定式を求める際のパラメータの数を削減でき、実際にツールセンターポイントを推定する際の演算負荷を低減することができる。
請求項10に記載したツールセンターポイント推定装置の発明では、ワーク位置と動作位置とを複数回取得する処理と、取得した複数回分のワーク位置と動作位置とに基づいてずれの要因となる誤差成分を算出する処理と、算出した誤差成分に基づいてツールの位置に対応したツールセンターポイントを推定する推定式を求める処理と、を実行する制御部を備える。これにより、請求項1に記載した発明と同様に、治具を用いることなく、且つ、容易に推定式求めることができ、ツールセンターポイントを推定するための推定式を求めることができる。
以下、本発明の実施形態について図1から図8を参照しながら説明する。
図1に示すように、ロボットシステム1は、ロボット2、コントローラ3、ペンダント4、パソコン5、およびカメラ6等から構成されている。本実施形態の場合、ロボット2は、部品供給装置7から供給されるワーク8を把持した上げた後に搬送ライン9上の所定の位置まで移送して載置するピックアンドプレース作業を行うことを想定している。
図1に示すように、ロボットシステム1は、ロボット2、コントローラ3、ペンダント4、パソコン5、およびカメラ6等から構成されている。本実施形態の場合、ロボット2は、部品供給装置7から供給されるワーク8を把持した上げた後に搬送ライン9上の所定の位置まで移送して載置するピックアンドプレース作業を行うことを想定している。
ロボット2は、いわゆる6軸の垂直多関節型ロボットとしての周知の構成を備えており、ベース10を基準とする基準座標系ΣBにおいて、ベース10上に、Z軸方向の軸心を持つ第1軸(J1)を介してショルダ11が水平方向に回転可能に連結されている。ショルダ11には、Y方向の軸心を持つ第2軸(J2)を介して上方に延びる下アーム12の下端部が垂直方向に回転可能に連結されている。下アーム12の先端部には、Y方向の軸心を持つ第3軸(J3)を介して第一上アーム13が垂直方向に回転可能に連結されている。第一上アーム13の先端部には、X方向の軸心を持つ第4軸(J4)を介して第二上アーム14が捻り回転可能に連結されている。第二上アーム14の先端部には、Y方向の軸心を持つ第5軸(J5)を介して手首15が垂直方向に回転可能に連結されている。手首15には、X方向の軸心を持つ第6軸(J6)を介してフランジ16が捻り回転可能に連結されている。このフランジ16には、ハンド20(図3参照。ツールに相当する)が装着される。
ロボット2には、ロボット2を制御する際の基準となる座標系が設定されている。具体的には、上記したベース10を基準とする基準座標系ΣBと、第6軸(J6)に対応するフランジ座標系ΣFとが設定されている。基準座標系ΣBは、ロボット2がどのような姿勢を取ったとしても変化することがない座標系であり、互いに直交するXB軸、YB軸およびZB軸が設定されている。なお、ZB軸は設置面に垂直な軸となっている。一方、フランジ座標系ΣFは、フランジ16の向きを第6軸の原点を基準として示す座標系であり、互いに直交するXF軸、YF軸およびZF軸が設定されている。このうち、ZF軸は、第6軸と同軸に設定されており、ZF軸の向きがフランジ16の向き、つまり、手先の向きを示している。
コントローラ3(ツールセンターポイント推定装置を構成する)は、ロボット2の主たる制御装置であり、図2に示すように、マイクロコンピュータで構成された制御部3aおよび画像処理部3b等を備えている。この画像処理部3bは、詳細は後述するが、制御上の中心位置となるツールセンターポイントの推定式を求めるときに、カメラ6で撮像した画像に対して画像処理を行うことによりワーク位置を設定する。なお、ワーク位置とは、詳細は後述するが、ワーク8に対して実際に作業を行う際の基準となる位置である。
ペンダント4(ツールセンターポイント推定装置を構成する)は、制御部4aおよび表示部4b等を備えており、接続ケーブルを介してコントローラ3に接続されている。このペンダント4は、ティーチングペンダントとも称され、ロボット2の動作軌跡の設定や各種のパラメータの設定等を行うことができる。また、ペンダント4は、マニュアル操作によりロボット2の姿勢を制御すること(つまり、ロボット2を動作させること)もできる。また、表示部4bには図示しないタッチパネルが設けられており、ユーザによるタッチ操作が入力可能となっている。なお、詳細は後述するが、本実施形態では、主としてこのペンダント4を用いてツールセンターポイントを推定する推定式を求めている。
パソコン5(ツールセンターポイント推定装置を構成する)は、制御部5aおよび表示部5b等を備えており、コントローラ3に接続されている。このパソコン5は、ペンダント4と同様に、ロボット2の動作軌跡の設定や各種のパラメータの設定、およびマニュアル操作によるロボット2の姿勢制御等を行うことができる。なお、パソコン5は、入力作業を容易にするために用いているのであって、本発明を実現するにあたって必須の構成ではない。つまり、パソコン5で行う作業は、コントローラ3やペンダント4で代用することができる。また、逆に、本発明を実現するにあたっては、ペンダント4の代わりにパソコン5を用いてもよい。
カメラ6(撮像部に相当する)は、コントローラ3に接続されており、作業対象となるワーク8を撮像する。より詳細には、カメラ6は、ロボット2を実際に可動させたときのアームの移動範囲に存在するワーク8を撮像する。カメラ6で撮像された画像は、本実施形態ではコントローラ3に送られて、ワーク位置を設定するための画像処理が行われる。
さて、本実施形態では、上記したようにロボット2にてピックアンドプレース作業を行うことを想定している。そのため、ワーク8を把持するためのツールは、図3(a)に示すように、フランジ16に取り付けられる本体部20aと、ワーク8を把持するための2本の爪部材20b、20cと有するハンド20を用いている。このハンド20は、コントローラ3に接続されており(図2参照)、コントローラ3からの指示に基づいて、爪部材20b、20cが互いに接近してワーク8を把持する把持動作と、爪部材20b、20cが互いに離間してワーク8を開放する開放動作とを行う。なお、ワーク8に対するハンド20の向きは、フランジ16を回転させることによって変更される。以下、爪部材20b、20cが互いに接近または離間する方向を、便宜的にハンド20の動作方向と称する。
爪部材20b、20cは、把持動作および開放動作において、ある軸を中心として対象となるように互いに接近または離間する。そして、この中心となる軸上に、ハンド20の位置を制御する際の中心位置を示すツールセンターポイントが存在する。本実施形態では、ツールセンターポイントは、爪部材20b、20cの中間点であって、爪部材20b、20cの中心線(CL。図5(b)参照)上に存在している。以下、把持動作時および開放動作時に中心となり、ツールセンターポイントが存在する軸を、便宜的にTCP軸と称する。
このような構成のハンド20は、一般的に、TCP軸と第6軸(J6)とが同軸となるように装着されることが多い。これは、TCP軸と第6軸(J6)とが同軸であればTCP軸がフランジ座標系ΣFの原点を通ることになるため、フランジ16を回転させてハンド20の向きを変えたとしても、第6軸(J6)に対する爪部材20b、20cの対称性が崩れないためである。
このツールセンターポイントは、ロボット2を制御する上で非常に重要な値である。例えば図3(a)に示したようにTCP軸と第6軸(J6)とが同軸となるようにハンド20を装着した場合、ロボット2は、ツールセンターポイントが第6軸(J6)上に位置しているという前提の下で動作することになる。このとき、図3(b)に示すように、例えば装着ミス等によってTCP軸と第6軸(J6)とがずれている場合には、ワーク8を把持する際の基準となるワーク位置(P0)にTCP軸が来るように第6軸(J6)の位置を制御したとしても、領域Kに示すようにハンド20とワーク8とが接触してしまうおそれがある。
また、ツールセンターポイントがずれている場合には、ハンド20の向きが変わると、ワーク位置(P0)からのずれ量も変化する。具体的には、例えば図4(a)に示すように、図示左右方向をX方向とし、図示上下方向をY方向とした場合において、ワーク8をY方向から把持するときのずれ量がX方向で−x1、Y方向で−y1であったとする。なお、爪部材20b、20cの間隔(W1)は、ワーク8との間に所定のクリアランス(例えば、各1mm程度)を持つように設定されている。この場合、ワーク位置に対して−x1、−y1だけずれた位置を目標としてロボット2を動作させれば、TCP軸がワーク位置(P0)を通るようになると考えられる。
これに対して、例えば図4(b)に示すようにワーク8の向きが変化した場合には、ワーク8を図示斜め方向から把持するためにハンド20を回転させる必要がある。このとき、TCP軸と第6軸(J6)とがずれていると、ハンド20が回転することによって、ワーク位置に対するTCP軸のずれ量が変化する。そのため、図4(a)と同じずれ量を用いてワーク位置に対して−x1、−y1の位置を目標としてロボット2を動作させると、爪部材20b、20cの間隔(W1)が同じであったとしても、図4(b)の状態では例えば爪部材20cがワーク8に接触してしまうおそれがある。
このように、想定上のツールセンターポイントと実際のツールポイントとがずれている場合には、ロボット2による作業に支障をきたすおそれがある。そのため、従来では、高精度に加工した専用の治具を用いること等により、ツールセンターポイントを正確に規定するための作業、例えばTCP軸が第6軸(J6)に完全に一致するように厳密に調整したり、仮にTCP軸が第6軸(J6)からずれている場合にはそのずれ量を正確に計測したりする作業等が必須となっていた。
しかし、ツールセンターポイントを正確に規定するためには、治具そのものを高精度に加工する必要があり、また、作業対象となるワーク8の大きさや形状が異なる場合にはそれに応じて治具の大きさや形状も変更する必要がある。そのため、従来では、ツールセンターポイントを規定するという作業以外に、ワーク8の種類に応じた治具を用意するために時間的および費用的に多大な労力が必要となっていた。また、治具をロボット2に装着してツールセンターポイントを規定する場合には、実際のツールに取り替える際の装着ミスやツールそのものの工作精度等によってツールセンターポイントがずれる可能性があり、本質的に、ツールセンターポイントがずれてしまう可能性を排除することが困難であった。
また、ツールセンターポイントのずれを吸収してワーク8との接触を回避するためにクリアランス(つまりは、爪部材20b、20cの幅)を大きく設定することも考えられるが、クリアランスを大きくすると把持動作時に爪部材20b、20cが移動する距離が長くなり、その結果、動作時間が長くなる。そして、通常、ロボット2が同じ動作を繰り返す目的で使用されることに鑑みると、1回の動作時間の増加は僅かであったとしても、数日あるいは月単位でみた場合には、作業効率が大きく低下してしまうおそれがある。そのため、ツールセンターポイントのずれを吸収するためにクリアランスを大きくすることは望ましくない。
そこで、本実施形態では、以下のようにして、ツールセンターポイントを推定している。なお、本実施形態のハンド20は、概ねTCP軸と第6軸(J6)とが同軸となるように装着されているものの、その厳密な位置の調整や第6軸(J6)からのずれ量の計測等は行われていない。そのため、TCP軸は、ハンド20の工作精度と同等程度で第6軸(J6)と同軸になっている。
さて、まず、本実施形態で対象とするワーク8ついて説明する。図5(a)に示すように、本実施形態で対象とするワーク8は、長手部81aと短手部81bとを有し、平面視にて概ねL字状に形成されている。このワーク8には、ハンド20で把持する際の基準となるワーク位置(P0)が、設定されている。このワーク位置(P0)は、ワーク8の形状や重量バランス等を考慮して設定される。つまり、ワーク位置(P0)は、ハンド20でワーク8を把持することができる位置が設定されている。本実施形態では、ワーク位置(P0)は、ワーク8をカメラ6で撮像し、撮像した画像をコントローラ3の画像処理部3bで画像処理することにより設定される。
このワーク8は、図5(b)に示すように、爪部材20b、20cによって長手部81aが挟み込まれるように把持される。このとき、TCP軸がワーク位置(P0)を通るような位置関係であれば、ワーク8を確実に把持することができることになる。そのため、ロボット2は、ハンド20の位置を、TCP軸がワーク位置(P0)を通るような位置に制御することになる。また、TCP軸が正確にワーク位置(P0)を通るように制御すれば、必要以上に大きなクリアランスを設定する必要が無く、把持動作における動作時間の短縮を図ることができる。
本実施形態の場合、後述するようにワーク8をカメラ6で撮像した画像を画像処理することにより、ワーク位置(P0)を設定する。このとき、ワーク8の向きも検出される。本実施形態の場合、ワーク8の長手部81aが延びる方向をワーク8の向きとしており、ペンダント4の画面には、図5(c)に示すようにワーク位置(P0)を示す位置マークM1とワーク8の向きを示す向きマークM2とで構成されたワーク位置マーク(PM)が表示される。そして、ロボット2が実際に可動する際には、ワーク位置マーク(PM)で示されたワーク8の向きと直交する方向からワーク8を挟み込むことができるようにハンド20の位置が制御されることになる。
次に、ツールセンターポイントを推定する推定式を求める手順について図6を参照しながら説明する。
本実施形態の手順では、対象となるワーク8を選択する(S1)。具体的には、カメラ6で撮像されたワーク8の画像は、図7に示すように、例えばペンダント4の表示部4bに表示される。このとき、表示部4bに表示されている範囲が、本実施形態におけるカメラ6の視野に相当する。また、この表示部4bに表示されている範囲は、ハンド20の移動範囲、より厳密には、ワーク8を把持する把持動作時におけるハンド20の移動範囲に相当する。
本実施形態の手順では、対象となるワーク8を選択する(S1)。具体的には、カメラ6で撮像されたワーク8の画像は、図7に示すように、例えばペンダント4の表示部4bに表示される。このとき、表示部4bに表示されている範囲が、本実施形態におけるカメラ6の視野に相当する。また、この表示部4bに表示されている範囲は、ハンド20の移動範囲、より厳密には、ワーク8を把持する把持動作時におけるハンド20の移動範囲に相当する。
本実施形態の場合、カメラ6の視野内に予め4つのワーク8を配置している。そのため、表示部4bには4つのワーク8が表示される。この場合、ステップS1では、いずれか1つのワーク8が、例えばユーザによって指定されることで選択される。なお、ペンダント4により自動的に選択するようにしてもよい。ここでは、カメラ6の視野を図示上下左右に区切った4つの領域R1〜R4のうち、1つの端部である領域R1に配置されているワーク8がまず選択されたものとする。つまり、視野内の四隅の付近に配置されているワーク8の1つが選択されたものとする。
以下、表示部4bの左右方向(図示左右方向)をX方向、表示部4bの上下方向(図示上下方向)をY方向として説明する。また、本実施形態では、X方向(図示右方向)が、フランジ16の回転角度における0°の位置に対応し、Y方向(図示上方向)が、フランジ16の回転角度における270°の位置に対応する。また、表示部4bに表示されている平面を、便宜的に表示部4bのX−Y平面と称する。
続いて、選択したワーク8に対して、ワーク位置(P0)を設定する(S2)。このワーク位置(P0)は、上記したように画像処理によって設定される。また、ワーク8の向きも検出される。そのため、表示部4bには、ワーク8の画像に重なってワーク位置マーク(PM)が表示される。なお、今回選択した領域R1のワーク8の場合、図示右向きであると検出されている。
続いて、選択したワーク8を実際に把持する(S3)。このとき、ワーク8は、ユーザによってマニュアル操作された状態で把持される。つまり、ステップS3では、ワーク8を把持することができるとユーザが認識している位置に、ハンド20が位置していることになる。そして、ワーク8を実際に把持したときのハンド20の位置が、動作位置(以下、把持位置と称する)に相当する。
本実施形態の場合、把持動作時にはロボット2の手先が真下を向いていることから、また、上記したようにTCP軸と第6軸(J6)とが概ね同軸であることから、表示部4bのX−Y平面に対するフランジ座標(ΣF)の原点の投影位置(二次元座標)として表される。なお、フランジ座標(ΣF)の原点の位置はロボット2を制御するコントローラ3によって把握されているため、コントローラ3から取得することができる。
続いて、設定したワーク位置(P0)と、そのワーク位置(P0)に対する把持位置(T1。本実施形態では、第6軸(J6)の位置)とを取得する(S4)。より具体的に言えば、ワーク位置および把持位置は、互いに関連付けた状態で記憶される。
続いて、設定したワーク位置(P0)と、そのワーク位置(P0)に対する把持位置(T1。本実施形態では、第6軸(J6)の位置)とを取得する(S4)。より具体的に言えば、ワーク位置および把持位置は、互いに関連付けた状態で記憶される。
続いて、ワーク位置と把持位置とをn回以上取得したかを判定する(S5)。本実施形態では、ワーク位置と把持位置とを4回取得する手順としており、n=4である。なお、本発明を実現するためには、ワーク位置と把持位置とを取得する回数は3回以上であればよい。このとき、ワーク位置と把持位置とを取得する回数が多くなるほど、ツールセンターポイントを高精度に推定できることになる。
この時点ではワーク位置と把持位置とを取得した回数が1回であるため(S5:NO)、異なる位置、異なる向きのワーク8を選択する(S6)。ここでは、表示部4bの領域R2のワーク8を選択したとする。そして、選択したワーク8に対してワーク位置(P0)を設定し(S2)、ワーク8を実際に把持し(S3)、ワーク位置と把持位置とを取得する(S4)。その後、設定した回数以上となるまで、ワーク位置と把持位置との取得を繰り返す。本実施形態では、n=4であるため、3回目には例えば表示部4bの領域R3のワーク8に対してワーク位置と把持位置とが取得され、4回目には例えば表示部4bの領域R4のワーク8に対してワーク位置と把持位置とが取得されることになる。
つまり、ワーク位置および動作位置は、ツールを回転させることによって当該ツールの向きが異なる状態で3回以上取得されている。そして、本実施形態の場合、ワークの姿勢が変化することになる最大角度をαとすると、αは、表示部4bのX−Y平面内における回転角度、つまりは、360°となる。そのため、このため、ワーク位置および把持位置は、取得する回数をn(本実施形態ではn=4)とした場合では、また、領域R1〜R4に配置されているワーク8は、それぞれ、概ね0°、90°、180°、270°の向きになっている。つまり、α/n°=360/4°=90°を基準角度として、当該基準角度に対して予め設定されている許容範囲(例えば±20°)の範囲の向きで配置されたワーク8に対して取得されている。換言すると、ワーク8の向きは、例えば0°に正確に一致している必要はない。そのため、ワーク8を正確に例えば0°に向けるような精密な作業は必要なく、また、ワーク8を正確に例えば0°に向けるための治具等を用いる必要もない。
続いて、ワーク位置と把持位置とを取得した回数がn回以上となると(S5:YES)、誤差成分を算出する(S7)。ここで、誤差成分とは、ワーク位置と把持位置とのずれを生じさせる要因である。なお、把持位置(T1〜T4)を取得する回数は予め設定した回数以上であればよく、5回以上取得してもよい。すなわち、n回以上となったからといって、そのまま直ぐにステップS6に移行しなくてもよく、例えば、ステップS5を、取得を終了する旨の操作を受け付けたか否かの判定ステップとしてもよい。
さて、本実施形態の構成においてピックアンドプレース作業を行う場合には、ハンド20をワーク8の上方から近づけてワーク8を把持することになる。つまり、ワーク位置(P0)は、ワーク8の表面(上面)に設定されており、ロボット2は、ワーク位置(P0)が設定された二次元平面内を移動するように動作した後、ワーク8に向かってハンド20を接近させる。
そのため、基本的には、ハンド20をワーク8に接近させる際の接近方向(本実施形態では、フランジ座標系ΣFのZF軸方向)からワーク8をみた平面視において、TCP軸とワーク位置(P0)とが一致すれば、ツールセンターポイントがワーク8を把持するのに適した位置に到達したと考えられる。このため、ハンド20の接近方向からみた平面視(本実施形態では表示部4bのX−Y平面)におけるX方向およびY方向の二次元方向のずれを補正することができれば、TCP軸をワーク位置(P0)に一致させることができると考えられる。
そこで、まず、把持位置を、ワーク位置からの二次元方向のずれとして表すこととする。このとき、把持位置とワーク位置とのずれには、表示部4bのX−Y平面においてハンド20が回転したことに起因して生じるずれと、表示部4bのX−Y平面においてハンド20が平行移動したことに起因して生じるずれと、が含まれることになる(上記した図4参照)。そのため、以下の変数を設定する。
・xt:ワーク位置(P0)に対するX方向のずれ。実測値。
・yt:ワーク位置(P0)に対するY方向のずれ。実測値。
・xr:ハンド20の回転に依存するX方向の誤差。回転成分に相当する。
・yr:ハンド20の回転に依存するY方向の誤差。回転成分に相当する。
・xo:ハンド20の移動に依存するX方向の誤差。移動成分に相当する。
・yo:ハンド20の移動に依存するY方向の誤差。移動成分に相当する。
・θ :ハンド20の回転角度。本実施形態ではフランジ16の回転角度の実測値。
・xt:ワーク位置(P0)に対するX方向のずれ。実測値。
・yt:ワーク位置(P0)に対するY方向のずれ。実測値。
・xr:ハンド20の回転に依存するX方向の誤差。回転成分に相当する。
・yr:ハンド20の回転に依存するY方向の誤差。回転成分に相当する。
・xo:ハンド20の移動に依存するX方向の誤差。移動成分に相当する。
・yo:ハンド20の移動に依存するY方向の誤差。移動成分に相当する。
・θ :ハンド20の回転角度。本実施形態ではフランジ16の回転角度の実測値。
このうち、xr、yrは、主としてツールセンターポイントのずれに起因して生じる誤差成分である。また、xo、yoは、主としてキャリブレーション(ロボット2の座標系の調整)時のずれに起因して生じる誤差成分である。なお、この時点では、xr,yr,xo,yoは、未知の値である。
このとき、ワーク位置に対する把持位置のずれを表すxt、ytは、以下の(1)式に示すように、各誤差成分を含んだ誤差行列として定義することができる。なお、この(1)式は、ステップS1よりも前に予め定義しておいてもよい。
このとき、ワーク位置に対する把持位置のずれを表すxt、ytは、以下の(1)式に示すように、各誤差成分を含んだ誤差行列として定義することができる。なお、この(1)式は、ステップS1よりも前に予め定義しておいてもよい。
そして、把持位置とワーク位置とをn回取得した場合には、(1)式は、以下の(2)式のようにまとめることができる。
このうち、xtn、ytn、θnはそれぞれ実測されていることから、この(2)式を解くことにより、xr、yr、xo、yoを求めることができる。
具体的には、(2)式は、各項を以下の(3)式〜(5)式のようにY、A、Xで表した場合、以下の(6)式のように表される。
具体的には、(2)式は、各項を以下の(3)式〜(5)式のようにY、A、Xで表した場合、以下の(6)式のように表される。
この(6)式は、行列の公式により、Xの転地行列をXTとすると以下の(7)式のように解くことができる。
この(7)式は、(4)式で示したAを求めることができることを示している。すなわち、ハンド20の回転に起因して生じる誤差成分とハンド20の移動に起因して生じる誤差成分とを、先に取得したワーク位置と把持位置とから算出することができる。つまり、(1)式の各数値(xr,yr,xo,yo)が既知の値となる。
そして、この(1)式を、ツールセンターポイントを推定するための推定式として設定する(S8)。これにより、(1)式を用いて、ハンド20の位置およびハンド20の回転角度に応じたxt、ytを得ることができるようになる。換言すると、TCP軸がワーク位置(P0)を通るようにするための補正値を、ハンド20の移動範囲内におけるハンド20の位置とハンド20の回転角度とに対応した値として推定することができるようになる。これにより、ツールセンターポイントを推定する推定式を求めることができる。
なお、このようにして設定した推定式を用いて実地テストを行った結果、今までは概ね3mm程度のずれが生じていた状態が、概ね0.5mm程度以下のずれにまで改善することができた。これにより、爪部材20b、20cの間隔(W1)つまりはクリアランスを小さくすることができ、作業効率が大きく改善された。
以上説明した実施形態によれば、次のような効果を得ることができる。
ハンド20(ツール)の移動範囲内に存在するワーク8の位置を示すワーク位置(P0)と、当該ワーク位置(P0)が設定されたワーク8に対してロボット2をマニュアル操作により動作させた際のハンド20の位置を示す把持位置(動作位置)とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置(P0)と把持位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ハンド20の位置に対応したツールセンターポイントを推定する。
ハンド20(ツール)の移動範囲内に存在するワーク8の位置を示すワーク位置(P0)と、当該ワーク位置(P0)が設定されたワーク8に対してロボット2をマニュアル操作により動作させた際のハンド20の位置を示す把持位置(動作位置)とを複数回取得し、取得した複数回分のワーク位置と動作位置とに基づいて、ワーク位置(P0)と把持位置とのずれの要因となる誤差成分を算出し、算出した誤差成分に基づいて、ハンド20の位置に対応したツールセンターポイントを推定する。
これにより、ツールセンターポイントを推定するためにユーザ側で必要となる作業は、実質的に、ワーク8を数回把持する作業だけとなり、容易にツールセンターポイントを推定することができる。すなわち、治具を用いることなく、且つ、容易にツールセンターポイントを推定する推定式、換言すると、TCP軸をワーク位置(P0)に一致させるための推定式を求めることができる。
つまり、多大な労力を掛けてロボット2のフランジ16に対するツールセンターポイントを高精度に設定したりTCP軸を第6軸(J6)に厳密に合わせ込んだりする等の作業が必要だった従来の手法とは異なり、本実施形態の手順であれば、実際の現場における調整等が不要あるいは大きく削減することができるようになる。
このとき、必要となる主な作業はワーク8を数回把持することであるため作業者の練度が問われる状態を避けることができ、また、ワーク8の種類が変更されてツールが変わった場合であっても、容易にツールセンターポイントを推定することができる。
このとき、必要となる主な作業はワーク8を数回把持することであるため作業者の練度が問われる状態を避けることができ、また、ワーク8の種類が変更されてツールが変わった場合であっても、容易にツールセンターポイントを推定することができる。
また、実際のロボット2を用い、さらには、実際に作業対象となるワーク8を用いているので、誤差成分には、ロボット2を設置する際に生じる可能性のある位置ずれや、搬送ライン9の傾き等に起因するずれが含まれているが、推定式はそのずれを含んだ状態で設定されるため、実際の作業に適したツールセンターポイントを推定することができる。
また、ユーザがマニュアル操作した際の実際の把持位置に基づいて推定式求めるため、推定式には、ユーザが適切と考える位置が反映されることになる。これにより、ロボット2の動作に、ユーザが適切であると考える状態を反映させることができる。
また、実際のロボット2を動作させたときの実測値に基づいて推定式を求めているので、動作環境に依存する誤差をも加味した状態で推定式を求めることができる。すなわち、ロボット2の実際の動作環境に依存する誤差をも補償された推定式を求めることができる。
また、実際のロボット2を動作させたときの実測値に基づいて推定式を求めているので、動作環境に依存する誤差をも加味した状態で推定式を求めることができる。すなわち、ロボット2の実際の動作環境に依存する誤差をも補償された推定式を求めることができる。
また、実際の把持位置に基づいて推定式求めるため、推定式は、実際の作業に適した値に収束する。したがって、実際の作業に適した推定式求めることができる。
誤差成分は、ハンド20の回転に依存する回転成分(xr、yr)を含み、ワーク位置(P0)および把持位置は、ハンド20を回転させることによって当該ハンド20の向きが異なる状態で3回以上取得される。これにより、ツールセンターポイントを推定する推定式は、ハンド20の回転に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置7から供給されるワーク8を把持する場合等、ワーク8の向きがそれぞれ異なる場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
誤差成分は、ハンド20の回転に依存する回転成分(xr、yr)を含み、ワーク位置(P0)および把持位置は、ハンド20を回転させることによって当該ハンド20の向きが異なる状態で3回以上取得される。これにより、ツールセンターポイントを推定する推定式は、ハンド20の回転に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置7から供給されるワーク8を把持する場合等、ワーク8の向きがそれぞれ異なる場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
この場合、ワーク位置(P0)および把持位置は、取得する回数をn(ただし、nは3以上)とした場合、360/n°を基準角度として当該基準角度に対して予め設定されている許容範囲の向きで配置されたワーク8に対して取得される。これにより、ワーク位置(P0)および把持位置を取得する際、ワーク8の向きを厳密に設定する必要が無くなり、作業負荷を低減することができる。また、ハンド20の回転角度に対して概ね均等にワーク位置(P0)および把持位置を取得するので、誤差成分の偏りの影響を低減することができる。
誤差成分は、ハンド20の移動に依存する移動成分(xo、yo)を含み、ワーク位置(P0)および把持位置は、ハンド20の移動範囲内においてそれぞれ異なる位置に配置されたワーク8に対して取得される。これにより、ツールセンターポイントを推定する推定式は、ハンド20の移動に依存する誤差成分を補正することができるようになる。したがって、例えば部品供給装置7から供給されるワーク8を把持する場合等、ワーク8の位置がそれぞれ異なる場合であっても、求めた推定式を用いてツールセンターポイントを推定することができるようになる。
ワーク位置(P0)は、作業対象となるワーク8を撮像した画像に対して画像処理を行うことにより設定される。これにより、ワーク位置(P0)の設定を自動化することができる。したがって、ワーク位置(P0)を設定する作業のために労力を要することがない。また、画像処理をコントローラ3の画像処理部3bで行っているため、推定式求める作業と実可動とで同じ状態でワーク位置(P0)が設定されることになり、実稼働時にずれが大きくなる等のおそれを低減することができる。
また、ワーク8を実際に撮像した画像に基づいてワーク位置(P0)を設定するので、カメラ6の設置時に位置ずれ等があったとしても、それに依存する誤差を補償した状態で推定式を求めることができる。したがって、より実際の動作環境に適した推定式を用いることができる。
また、ワーク8を実際に撮像した画像に基づいてワーク位置(P0)を設定するので、カメラ6の設置時に位置ずれ等があったとしても、それに依存する誤差を補償した状態で推定式を求めることができる。したがって、より実際の動作環境に適した推定式を用いることができる。
ワーク位置(P0)は、ワーク8を撮像するカメラ6の矩形状の視野内であって、当該視野の端部(実施形態では、視野内の四隅の付近)にそれぞれ異なる向きで配置されたワーク8に対して設定される。これにより、ワーク8をカメラ6で撮像する場合、レンズ性能やカメラ6を設置する時の位置ずれ等の影響により、視野内において画像が歪むことがある。また、光源の位置等によっては、ワーク8の位置によってその見え方(つまり、画像上のワーク8の大きさ)等に差異が生じる可能性もある。その結果、画像処理によりワーク位置(例えば、ワークの画像の重心位置)を求める場合、配置されている位置によって求まるワーク位置が異なることがあり、また、周辺側にどの向きに配置されているかによっても、求まるワーク位置が異なることがある。
そこで、視野の端部に配置されたワーク8を対象とすることにより、推定式を算出する際の誤差要因として、画像の歪みやワーク8の見え方の差異の影響が加味されることになる。そして、それらを加味した上で推定式が導出されるため、つまりは、視野内の位置の違いとその位置における向きの違いとを含めて補償した状態で推定式を導出できるため、より実際の作業に適したツールセンターポイントを推定することができる。なお、4つのワーク8を配置するのではなく、1つのワーク8を用いてワーク位置と把持位置との取得を4回以上繰り返してもよい。
ハンド20は、ワーク8を把持し、把持したワーク8を所定の位置まで移送し、移送したワーク8を所定の位置に載置するピックアンドプレース作業に用いられるものであり、ワーク位置(P0)および把持位置は、ワーク8を把持するためにハンド20がワーク8に接近する際の接近方向に直交する平面の2次元座標として設定される。これにより、推定式を用いてツールセンターポイントを推定する際の演算負荷を低減することができる。
実施形態のペンダント4は、ワーク位置(P0)と把持位置とを複数回取得する処理と、複数回分のワーク位置(P0)と動作位置とのずれの要因となる誤差成分を算出する処理と、算出した誤差成分を用いてハンド20の位置に対応したツールセンターポイントを推定する推定式求める処理と、を実行する制御部4aを備える。これにより、上記したツールセンターポイント推定方法を実施することができ、治具を用いることなく、且つ、容易にツールセンターポイントを推定することができる。なお、コントローラ3の制御部3aやパソコン5の制御部5aであってもよい。
本発明は、上記し且つ図面に記載した態様に限定されるものではなく、その要旨を逸脱しない範囲で種々の変形や拡張をすることができる。
実施形態ではワーク位置(P0)を画像処理により求めたが、ワーク位置(P0)は、ツールの移動範囲内の位置を直接的に指定することにより設定してもよい。例えば、図8に示すように、搬送ライン30上をワーク8が流れてきており、それを載置台31に移送する作業を想定する。このとき、ワーク8が搬送ライン30の所定の直線Ly上に位置した状態で搬送され、そのワーク8が所定の直線Lx上に到達したときに把持するものとする。このように、ワーク8に対して作業を行う位置が予め定まっており、ワーク8の向きが一定である(ツールを回転させる必要がない場合も含む)には、直線Lxと直線Lyとの交点となる作業位置P10の座標(Xs、Ys)を直接的にワーク位置(P0)として設定してもよい。この場合、作業位置P10の座標(Xs、Ys)は、ロボット2を設置する現場のCADデータ等から設定してもよいし、ロボット2を設置するファインキャリブレーション作業時に設定してもよい。
実施形態ではワーク位置(P0)を画像処理により求めたが、ワーク位置(P0)は、ツールの移動範囲内の位置を直接的に指定することにより設定してもよい。例えば、図8に示すように、搬送ライン30上をワーク8が流れてきており、それを載置台31に移送する作業を想定する。このとき、ワーク8が搬送ライン30の所定の直線Ly上に位置した状態で搬送され、そのワーク8が所定の直線Lx上に到達したときに把持するものとする。このように、ワーク8に対して作業を行う位置が予め定まっており、ワーク8の向きが一定である(ツールを回転させる必要がない場合も含む)には、直線Lxと直線Lyとの交点となる作業位置P10の座標(Xs、Ys)を直接的にワーク位置(P0)として設定してもよい。この場合、作業位置P10の座標(Xs、Ys)は、ロボット2を設置する現場のCADデータ等から設定してもよいし、ロボット2を設置するファインキャリブレーション作業時に設定してもよい。
実施形態で示した数値は一例であり、これに限定されない。
実施形態ではワーク位置を設定するための画像処理をコントローラ3の画像処理部3bで行う例を示したが、画像処理をペンダント4やパソコン5で行ってもよい。つまり、ツールセンターポイント推定装置は、ロボット2を駆動するためのコントローラ3と、ロボット2をマニュアル操作するためのペンダント4またはパソコン5の少なくともいずれか一方と、により構成することができる。
実施形態ではワーク位置を設定するための画像処理をコントローラ3の画像処理部3bで行う例を示したが、画像処理をペンダント4やパソコン5で行ってもよい。つまり、ツールセンターポイント推定装置は、ロボット2を駆動するためのコントローラ3と、ロボット2をマニュアル操作するためのペンダント4またはパソコン5の少なくともいずれか一方と、により構成することができる。
実施形態で示したワーク8の形状や大きさ等は一例であり、これに限定されるものではない。
実施形態ではカメラ6の視野内に予め複数のワーク8を配置したが、1つのワーク8を用意して、ステップS6においてそのワーク8の位置や向きを変更するようにしてもよい。その場合、ワーク8が1つであることから、ワーク8を選択する処理(S1)を自動化することができる。
実施形態ではカメラ6の視野内に予め複数のワーク8を配置したが、1つのワーク8を用意して、ステップS6においてそのワーク8の位置や向きを変更するようにしてもよい。その場合、ワーク8が1つであることから、ワーク8を選択する処理(S1)を自動化することができる。
実施形態で示したツールとしてのハンド20の構造や形状は一例であり、これに限定されるものではない。例えば、吸着式のツールや3箇所以上でワーク8を把持するツールであってもよい。また、実施形態ではTCP軸と爪部材20b、20cの先端を通る仮想的な線との交点をツールセンターポイントとしたが、本体部20aの下面等、TCP軸上の他の位置がツールセンターポイントであってもよい。これは、フランジ座標系ΣFにおけるツールセンターポイントの位置が分かっていれば、正確に制御することができるためである。
実施形態ではロボット2として6軸の垂直多関節型ロボットを例示したが、それ以外にも、例えば4軸の水平多関節型ロボットや直動式ロボット等、他の構成であっても本発明を適用することができる。
実施形態では表示部4bのX−Y平面上の2次元座標においてTCP軸とワーク位置(P0)とを一致させる例を示したが、Z方向についても、複数回取得した把持位置に基づいて設定してもよい。この場合も、マニュアル操作でワーク8を把持した際のZ方向の値を用いることで、実際の作業に適したZ方向の位置を設定することができる。
実施形態では表示部4bのX−Y平面上の2次元座標においてTCP軸とワーク位置(P0)とを一致させる例を示したが、Z方向についても、複数回取得した把持位置に基づいて設定してもよい。この場合も、マニュアル操作でワーク8を把持した際のZ方向の値を用いることで、実際の作業に適したZ方向の位置を設定することができる。
図面中、2はロボット、3はコントローラ(ツールセンターポイント推定装置)、3a、4a、5aは制御部、4はペンダント(ツールセンターポイント推定装置)、5はパソコン(ツールセンターポイント推定装置)、6はカメラ(撮像部)、8はワーク、20はハンド(ツール)、P0はワーク位置を示す。
Claims (10)
- ロボットに取り付けられているツールの制御上の中心位置を示すツールセンターポイントを推定するツールセンターポイント推定方法であって、
前記ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置に設定したワークに対して前記ロボットをマニュアル操作により動作させた際の前記ツールの位置を示す動作位置とを複数回取得し、
取得した複数回分の前記ワーク位置と前記動作位置とに基づいて、前記ワーク位置と前記動作位置とのずれの要因となる誤差成分を算出し、
算出した誤差成分に基づいて、前記ツールの位置に対応したツールセンターポイントを推定する推定式を求めることを特徴とするツールセンターポイント推定方法。 - 前記誤差成分は、前記ツールの回転に依存する回転成分を含み、
前記ワーク位置および前記動作位置は、前記ツールを回転させることによって当該ツールの向きが異なる状態で3回以上取得されることを特徴とする請求項1記載のツールセンターポイント推定方法。 - 前記ワーク位置および前記動作位置は、取得する回数をn(ただし、nは3以上)とし、ワークの姿勢が変化することになる最大角度をαとした場合、α/n°を基準角度として当該基準角度に対して予め設定されている許容範囲の向きで配置された前記ワークに対して取得されることを特徴とする請求項2記載のツールセンターポイント推定方法。
- 前記誤差成分は、前記ツールの移動に依存する移動成分を含み、
前記ワーク位置および前記動作位置は、前記ツールの移動範囲内においてそれぞれ異なる位置に配置された前記ワークに対して取得されることを特徴とする請求項1から3のいずれか一項記載のツールセンターポイント推定方法。 - 前記ワーク位置は、作業対象となる前記ワークを撮像した画像に対して画像処理を行うことにより設定されることを特徴とする請求項1から4のいずれか一項記載のツールセンターポイント推定方法。
- 前記ワーク位置は、前記ワークを撮像する撮像部の視野内であって、当該視野の端部に配置された前記ワークに対して設定されることを特徴とする請求項1から5のいずれか一項記載のツールセンターポイント推定方法。
- 前記撮像部の視野は、矩形であり、
前記ワークは、前記撮像部の視野の四隅に、それぞれ異なる向きで配置されることを特徴とする請求項6記載のツールセンターポイント推定方法。 - 前記ワーク位置は、前記ツールの移動範囲内の位置を直接的に指定することにより設定されることを特徴とする請求項1から5のいずれか一項記載のツールセンターポイント推定方法。
- 前記ツールは、ワークを把持し、把持したワークを所定の位置まで移送し、移送したワークを所定の位置に載置するピックアンドプレース作業に用いられるものであり、
前記ワーク位置および前記動作位置は、ワークを把持するために前記ツールをワークに接近させる際の接近方向に直交する平面の2次元座標として設定されることを特徴とする請求項1から8のいずれか一項記載のツールセンターポイント推定方法。 - ロボットに取り付けられたツールの制御上の中心位置を示すツールセンターポイントを推定する推定式を求めるツールセンターポイント推定装置であって、
前記ツールの移動範囲内に存在するワークの位置を示すワーク位置と、当該ワーク位置に設定したワークに対して前記ロボットをマニュアル操作により動作させた際の前記ツールの位置を示す動作位置とを複数回取得する処理と、
取得した複数回分の前記ワーク位置と前記動作位置とに基づいて、前記ワーク位置と前記動作位置とのずれの要因となる誤差成分を算出する処理と、
算出した誤差成分に基づいて、前記ツールの位置に対応したツールセンターポイントを推定する推定式を求める処理と、を実行する制御部を備えることを特徴とするツールセンターポイント推定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015202840A JP2017074637A (ja) | 2015-10-14 | 2015-10-14 | ツールセンターポイント推定方法、ツールセンターポイント推定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015202840A JP2017074637A (ja) | 2015-10-14 | 2015-10-14 | ツールセンターポイント推定方法、ツールセンターポイント推定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017074637A true JP2017074637A (ja) | 2017-04-20 |
Family
ID=58550767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015202840A Pending JP2017074637A (ja) | 2015-10-14 | 2015-10-14 | ツールセンターポイント推定方法、ツールセンターポイント推定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017074637A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019058979A (ja) * | 2017-09-27 | 2019-04-18 | ファナック株式会社 | ロボットシステム |
-
2015
- 2015-10-14 JP JP2015202840A patent/JP2017074637A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019058979A (ja) * | 2017-09-27 | 2019-04-18 | ファナック株式会社 | ロボットシステム |
US10870205B2 (en) | 2017-09-27 | 2020-12-22 | Fanuc Corporation | Robot system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6966582B2 (ja) | ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法 | |
JP7207851B2 (ja) | 制御方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体 | |
JP3946711B2 (ja) | ロボットシステム | |
EP3542969B1 (en) | Working-position correcting method and working robot | |
US9002516B2 (en) | Calibration method for tool center point of a robot manipulator | |
JP6415190B2 (ja) | ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法 | |
JP5664629B2 (ja) | ロボットシステムおよび加工品の製造方法 | |
US9043024B2 (en) | Vision correction method for tool center point of a robot manipulator | |
JP7153085B2 (ja) | ロボットキャリブレーションシステム及びロボットキャリブレーション方法 | |
US20200198145A1 (en) | Method and apparatus of non-contact tool center point calibration for a mechanical arm, and a mechanical arm system with said calibration function | |
JP5670416B2 (ja) | ロボットシステム表示装置 | |
US20150202776A1 (en) | Data generation device for vision sensor and detection simulation system | |
JP6611888B2 (ja) | ロボット装置、ロボット装置の制御方法、プログラムおよび記録媒体 | |
JP5618770B2 (ja) | ロボットの校正装置および校正方法 | |
CN109834710B (zh) | 机器人和机器人系统 | |
JP7214861B2 (ja) | ツールオフセットを有するカメラ-ロボットシステムの自動較正 | |
JP4289619B2 (ja) | 多関節ロボットのツール位置補正方法 | |
JP2018094648A (ja) | 制御装置、ロボットおよびロボットシステム | |
JP6869159B2 (ja) | ロボットシステム | |
US11173608B2 (en) | Work robot and work position correction method | |
JP4613955B2 (ja) | 回転軸線算出方法、プログラムの作成方法、動作方法およびロボット装置 | |
CN108942927B (zh) | 一种基于机器视觉的像素坐标与机械臂坐标统一的方法 | |
JP2020116717A (ja) | ロボット制御システム | |
JP2017074637A (ja) | ツールセンターポイント推定方法、ツールセンターポイント推定装置 | |
WO2020121399A1 (ja) | ロボット制御システム及びロボット制御方法 |