JP3840973B2 - Robot teaching data correction method - Google Patents

Robot teaching data correction method Download PDF

Info

Publication number
JP3840973B2
JP3840973B2 JP2001392238A JP2001392238A JP3840973B2 JP 3840973 B2 JP3840973 B2 JP 3840973B2 JP 2001392238 A JP2001392238 A JP 2001392238A JP 2001392238 A JP2001392238 A JP 2001392238A JP 3840973 B2 JP3840973 B2 JP 3840973B2
Authority
JP
Japan
Prior art keywords
robot
teaching
axis
torque
points
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.)
Expired - Fee Related
Application number
JP2001392238A
Other languages
Japanese (ja)
Other versions
JP2003191186A (en
Inventor
大輔 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP2001392238A priority Critical patent/JP3840973B2/en
Publication of JP2003191186A publication Critical patent/JP2003191186A/en
Application granted granted Critical
Publication of JP3840973B2 publication Critical patent/JP3840973B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ロボット教示データの補正方法に関し、詳しくはシミュレーションによって作成されたロボット教示データの補正方法に関する。
【0002】
【従来の技術】
近年、ロボットを動作させるため教示データの作成にシミュレーション装置が使用されている。たとえば、シミュレーション装置上でロボットモデルを動かして、周辺設備との干渉がなく一連の動作が終了するように、教示位置の設定、修正、変更を行い、教示データを作成する。
【0003】
このような教示データを作成する際のシミュレーションは、周辺設備、ワーク、ロボットの設置位置、ロボットのエンドエフェクタに取り付けられているツール形状、ロボットモデル(機構モデル、制御モデル)はすべて設計値を用いてシミュレーションする。
【0004】
しかし、実際の生産設備においては、設計値どおりの位置へロボットを設置することができなかったり、ツールの取り付けが困難であったり、またエンコーダゼロ点のずれやアームのたわみなどによりシミュレーションで作成された教示データを再生すると教示位置に誤差が生じて、ロボットと周辺設備やワークが干渉したりしてしまうことがある。
【0005】
このような問題を回避するために、シミュレーションによって作成された教示データの補正が行われる。
【0006】
この教示データの補正は、設置位置については、実際のロボット、すなわち、教示データを作成する対象の実機を用いて、3点タッチアップ動作を行って、その際の教示データをシミュレーション装置内に取り込んでロボットモデルの位置を補正している。
【0007】
また、ロボットモデル自体の動作を補正する補正方法としては、実機ロボットにおいて発生するたわみなど実機ロボットの実際の動きをパラメータ化して、これをロボットモデル内の動きを規定するパラメータとして用いることで、ロボットモデルの動きが実機に合うようにしている。
【0008】
また、シミュレーションによる教示データを実機により再生する際に、ロボットコントローラが持っている機能により教示データをシフトさせたり、あるいは、実機ロボットを再生させつつ不具合のあるところを補正したりしている。
【0009】
【発明が解決しようとする課題】
このような従来のシミュレーションにおいて、位置補正については、実機とシミュレーションにおけるロボットモデルの位置を合わせるものであり、特に問題はない。
【0010】
しかしながら、ロボットモデルと実機のパラメータを合わせて、たわみなどによる誤差を補正する方は、たわみなどが非線形であるため、これパラメータ化してモデリングするのが非常に難しい。このため、従来は、たわみのように、完全なパラメータ化が困難なものについては、近似式を用いることになるが、近似式であるがゆえに、よく一致する部分とあまり一致せず、誤差の大きくなる部分が発生してしまうという問題があった。
【0011】
また、シミュレーションによる教示データの作成後、実機ロボットのコントローラを用いた補正方法では、教示データにおける教示点全体をシフト(X、Y、Z平行移動や軸回転位置をシフトする)させるだけであるため、エンコーダゼロ点のずれやロボットアームに発生するたわみなど、部分的な補正を行うことはできないといった問題がある。
【0012】
さらに、実機ロボットにより、教示点を一つひとつ補正することも可能であるが、教示点の数が多いと非常に多くの時間を要するといった問題がある。
【0013】
本発明の目的は、ロボットシミュレーションにより作成した教示データを補正する際に、効率よくすべての教示点において誤差を少なくすることができるロボット教示データの補正方法を提供することである。
【0014】
【課題を解決するための手段】
本発明の目的は、以下の構成により達成される。
【0015】
(1)ロボットの動作軌跡を決める複数の教示点からなる教示データにより実機ロボットを動作させる段階と、前記動作における実機ロボットの動作軌跡を計測する段階と、前記ロボットの軸のうち指定した軸のトルクを前記教示点ごとに求め、求めた軸ごとのトルクが同じトルク範囲に入っている教示点同士をグループ化する段階と、前記グループの中の教示点を前記計測された動作軌跡上の対応する点へ移動させる移動量を算出して、該移動量を前記グループ内における全教示点の補正量として前記教示データを補正する段階と、を有することを特徴とするロボット教示データの補正方法。
【0016】
(2)前記トルク範囲は、前記実機ロボットのたわみ量に対するトルクの特性から、トルクを複数の範囲に分割したものであることを特徴とする。
【0017】
(3)前記指定した軸は、前記ロボットが6軸ロボットの場合に、第2軸、第3軸、および第5軸であることを特徴とする。
【0018】
【発明の効果】
本発明は、請求項ごとに以下の効果を奏する。
【0019】
請求項1記載の本発明によれば、ロボットの軸のうち指定した軸のトルクが同じトルク範囲となっている教示点同士をグループ化して、このグループを単位にロボットの教示データを補正することとしたので、実機ロボットのたわみなどによって生じる部分的なずれを確実に補正することができ、しかもグループ化することで、一つひとつの教示点を補正する場合と比較して複数の教示点を一度に補正することができるため、補正にかかる時間も少なくてすむ。
【0020】
請求項2記載の本発明によれば、トルク範囲が、実機ロボットのたわみ量に対するトルクの特性から、トルクを複数の範囲に分割したものであるので、実機ロボットのたわみ量に対して、どのようなトルク特性を示しているかにより教示点をグループ化することができ、ロボットの姿勢や教示点位置によらず、たわみの発生具合から、複数の教示点をグループ化することが可能となる。
【0021】
請求項3記載の本発明によれば、グループ化において指定する軸として、ロボットが6軸ロボットの場合に、第2軸、第3軸、および第5軸とすることで、最もたわみに大きな影響を与える軸のみでグループ化することができるので、グループ化の処理を効率よく行うことができる。
【0022】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【0023】
図1は、本発明を実施するためのシステム構成を説明するための図面であり、図2は、本発明による補正方法の処理手順を示すメイルーチンフローチャートである。
【0024】
システム構成は、図1に示すように、教示データを作成するためのシミュレーション装置1、教示データにより動作させる実機ロボット2、および実機ロボットの手先の動きを計測する3次元位置計測器3である。
【0025】
シミュレーション装置1は、ハードウェアとしては一般的なコンピュータであり、このコンピュータによってロボットのシミュレーションを行うためのプログラムが実行される。そして、このシミュレーション装置1によりロボットを所定の経路で動作させるための教示データの作成およびその補正が行われる。
【0026】
実機ロボット2は、シミュレーションにより作成された教示データにより動作させるロボットである。図示する実機ロボット2は、ロボット全体を旋回させる第1軸21、ロボット全体を傾斜させる第2軸22、アーム27を傾斜させる第3軸23、アーム20を回転させる第4軸24、エンドエフェクタ28を傾斜させる第5軸25、エンドエフェクタ28を回転させる第6軸26よりなる6軸ロボットである。
【0027】
この実機ロボット2は、必ずしもシミュレーション装置1により作成した教示データにより実際に稼動させるロボットと完全に同じ物である必要はない。たとえば生産現場などで実際に使用されている実機ロボットに対して、それと同種、同形のロボットであればよい。
【0028】
3次元計測器3は、実機ロボット2の手先(エンドエフェクタに取り付けたツール先端)の動きを3次元計測するものである。このような3次元計測器としては、たとえばロボットの手先に赤外線発光ダイオード(赤外線マーカ)を取り付けて、この赤外線マーカを少なくとも3個のCCDラインセンサを用いて測距し、得られた3つの距離から赤外線マーカの3次元位置を計測し3次元座標値として出力する装置、また、音波や赤外線、レーザなどを放射してその反射音や反射光を受信することで、ロボットの手先の位置を計測する装置など、一般に市販されているものである。
【0029】
そして、シミュレーション装置1、実機ロボット2、および3次元計測器3は、互いにLAN回線などによって接続され、データのやり取りができるようになっている。なお、このようなデータのやり取りは、周知のコンピュータ技術であり説明を省略する。
【0030】
次に、図2を参照して、教示データの補正手順を説明する。
【0031】
まず、シミュレーション装置1により、あらかじめ作成された教示データを読み込む(S1)。教示データは、ロボットを所定の動作軌跡で動作させるためデータで、複数の教示点よりなる。教示データの作成自体は、シミュレーション装置1により設計データによって描かれたロボットモデルを動作させることにより行われたものである。
【0032】
この段階で読み込んだ教示データの教示点P1D〜P8Dを図3に示す。ここで最初に読み込んだ教示データは設計上の動作軌跡を示すデータ(これを設計動作軌跡データと称する)であり、実機ロボットがこの設計動作軌跡データに沿って動くように、最初に作った教示データを補正してゆくのである。
【0033】
次に、現時点での教示データ(このステップでは、後述するように補正後の教示データが来ることがある)を実機ロボット2のコントローラ(不図示)に転送して再生し、実機ロボット2を実際に動作させる(S2)。
【0034】
そして、図4に示すように、動作中のロボットの手先の位置を3次元計測器により計測する(S3)。
【0035】
続いて、計測されたデータをシミュレーション装置1に取り込む(S4)。取り込んだ計測データにおける教示点に対応する位置の点をP1m〜P8m(これを計測点と称する)とする。
【0036】
そして、設計動作軌跡データ(最初に取り込んだ教示データ)における各教示点の位置と測定点の位置を比較して、そのずれが許容範囲内であるか否かを判断し(S5)、許容範囲内であれば(S5:Yes)、補正処理は終了となる。なお、この判断に際して、シミュレーション装置1における座標系と計測座標系はあらかじめ合わせておく。ここでは計測基準の座標系に合わせている。
【0037】
最初の段階では、ロボットアームのたわみなどにより、図5に示すように、設計動作軌跡の教示点P1D〜P8Dに対して、実測された計測点P1m〜P8mはずれている。
【0038】
続いて、シミュレーション装置1により各教示点におけるロボット各軸のトルクを算出して、ロボットの任意に指定した軸のトルクが同じトルク範囲に入っている教示点同士をグループ化する(S6)。
【0039】
ここで、このグループ化の処理について、図6に示すグループ化処理のサブルーチンフローチャートを参照して説明する。
【0040】
まず、教示点番号変数iを初期化して0にする(S61)。
【0041】
続いて、i番目の教示点のときの各軸の関節角を算出する(S62)。算出した各軸関節角は、軸ごとにJV1〜JVnとして記憶する。なお、nは最大軸番号である。個々で、算出する関節角は、ある教示点(たとえば教示点P1D)から次の教示点(P2D)へ移る際の各軸の関節角である。
【0042】
続いて、関節角から各軸トルクを算出する(S63)。ここで算出する各軸のトルクは、上記で算出した関節各の関係からある教示点から次の教示点へ移る際の各軸のトルクであり、たとえば教示点P2Dのトルクとは、教示点P1Dから次の教示点P2Dへ移る際に出力された各軸のトルクである。算出された各軸のトルクはTR1〜TRnとして記憶する。
【0043】
続いて、軸番号変数jを1にして(S64)、j番目の軸のトルク特性分割数を設定する(S65)。
【0044】
このトルク特性分割数は、ロボットアームのたわみ量が、その長さや回転方向、アームやエンドエフェクタの重量などによって異なるため、このたわみ量の大きさに対するトルク出力の大きさを範囲分けするために、その分割数を設定するものである。
【0045】
図7は、たわみ量に対するトルクの特性をグラフ化し、トルクを範囲分けした例を示す図面である。
【0046】
たとえば、図7Aに示すように、比較的たわみ量の少ないアームを駆動している軸の場合は、トルク量を2分割、すなわち、トルク特性分割数を2とすればよい。また、図7Bに示すように、たわみ量の多いアームを駆動している軸の場合は、トルク量を4分割、すなわち、トルク特性分割数を4とするとよい。
【0047】
このトルク特性分割数は、ロボットの形態やアーム重量、また、エンドエフェクタにワークをつかんだり持ち上げたりするようなハンドを用いている場合には、ワークの重量などによってアームのたわみ量が異なるので、それらに応じて適宜設定することになる。
【0048】
j番目の軸のトルク特性分割数の設定後、続いて、j番目の軸のトルクが、分割したどのトルク範囲に入っているかを決定する(S66)。ここでトルク範囲とは、図7に示した分割した各領域のことで、図7Aにおける「a」または「b」、あるいは、図7Bにおける「a」、「b」、「c」、または「d」である。
【0049】
続いて軸番号変数jをインクリメントし(S67)、変数jが最大軸番号nを越えたか否かを判断し(S68)、越えていなければ(S68:No)、ステップS66へ戻り、インクリメントしたj番目の軸のトルクのトルク範囲を決定する。
【0050】
一方、変数jが最大軸番号nを越えた場合(S68:Yes)は、続いて、教示点番号変数iをインクリメントし(S69)、変数iが最大教示点番号m越えたか否かを判断し(S70)、越えていなければ(S70:No)、ステップS62へ戻り以降の処理を繰り返し実行する。
【0051】
そして、すべての教示点におけるすべての軸についてトルクによるグループ分けが終了したなら(S70:Yes)、教示点ごとにあらかじめ設定された軸がすべて同じトルク範囲に属する教示点同士を一つのグループとする(S71)。
【0052】
これは、たとえば、図8に示すように教示点ごとに各軸のトルクが属するトルク範囲を表形式にしてまとめると分かりやすい。なお、このグループ化は、シミュレーション装置1内、すなわちコンピュータ内において実施されるもので、実際のコンピュータ内の処理においてこのような図表を作成する必要はく、図8は、グループ化の概念を説明するための図表である。
【0053】
図8に示した例では、教示点1、3、4が、すべての軸のトルク範囲が同じであるのでこれらを一つのグループとする。
【0054】
このとき、グループ化においては、どの軸に着目するかをあらかじめ設定しておく。これは、たとえば、ロボット全体を旋回させる第1軸、アームを回転させる第4軸、エンドエフェクタを回転させる第6軸などは、その動きがアームのたわみに影響することが少ない。そこで、このようなアームのたわみに影響することが少ない軸については、教示点の位置の補正に影響しない軸としてこれらを除外し、逆にアームのたわみに対して大きく影響を与える第2軸、第3軸、および第5軸を補正が必要となる軸として、これらをグループ化する際に使用するようにしたものである。
【0055】
なお、このグループ化によって、いずれのグループにも属さない教示点がある場合には、グループ化する際に着目する軸数を減らしてもう一度それらいずれのグループにも属さない教示点のグループ化を試みる。最終的にはグループ化する際に着目する軸数を一つにしてグループ化を行ってもいずれのグループにも属さない教示点がある場合には、それらの教示点は一つで1グループとする。
【0056】
以上のようにして補正する教示点のグループ化を終了したなら、メインルーチンへ戻る。
【0057】
メイルーチンでは、続いて、グループごとに補正量を算出する(S7)。この補正量の算出について説明する。
【0058】
ここでは、たとえば、図9Aに示すような最初の教示点P1D〜P3Dに対して、グループ分けの結果、図9Bに示すように、教示点P1D、P3D、P5D、P7Dが第1グループ、P2D、P4D、P6Dが第2グループとなった場合について説明する。
【0059】
まず、第1グループについて、図9Cに示すように、第1グループ内の教示点から3点P1D、P3D、P7Dを選択し、これらを線で結び三角形を形作る。このとき選択する3点は、三角形の面積が最も大きくなるように選択する。
【0060】
そして、この三角形を作った教示点に対応する計測点P1m、P3m、P7mにより三角形を作り、教示点による三角形を計測点による三角形に重なるように移動する。このとき三角形の平行移動だけでは重ならない場合には、三角形全体を回転させてもよい。また、完全に三角形同士が重ならない場合には、そのずれが最小となるようにする。
【0061】
このようにして教示点による三角形を移動したときの移動量が第1グループ内における各教示点の補正量となる。
【0062】
同様に、第2グループに対しても補正量を求める。すなわち、図9Eに示すように、第2グループの各教示点P2D、P4D、P6Dを用いて三角形を作り、図9Fに示すように、この三角形が対応する計測点P2m、P4m、P6mによる三角形に重なるように移動して、その移動量を補正量とする。
【0063】
なお、以上の補正量の算出において、一つのグループ内に3点以上の教示点がない場合、すなわち三角形を形成することができない場合には、各教示点を結ぶ線分とし、この線分が、対応する計測点を結んだ線分に重なるように移動量(平行移動量と回転量)を求めて、この移動量をこのグループにおける各教示点の補正量とする。
【0064】
以上により各グループ内の各教示点の補正量が求まるので、この補正量分だけ元の各教示点の位置をずらして、教示データを補正する(S8)。この補正後の教示データにおける教示点P1c〜P8cを図10に示す。
【0065】
そして、ステップS2に戻り、この補正された教示データにより実機ロボットを再生して(S2)、再びその手先の動きを3次元計測器により計測し(S3)、シミュレーション装置1に計測データを取り込んで(S4)、図11に示すように、各計測点と設計動作軌跡の教示点とのすれが許容範囲か否かを確認して(S5)、許容範囲内でなければ、さらに各計測点と設計動作軌跡の教示点とのすれが許容範囲内になるまで、ステップ6以降の処理を繰り返して実行することになる。そして、許容範囲内であれば補正処理を終了する。
【0066】
補正処理終了後は、周辺設備やワークなどとの干渉チェックが行われて、実機ロボットに最終的な教示データとして投入される。
【0067】
以上のように、本実施の形態によれば、設計動作軌跡データと、教示データにより実機ロボットを動作させたとき動作軌跡のずれを、トルクを指標として教示点ごとにグループ化したことで、同じようなずれ方をしている複数の教示点を一度に補正することができるようになるため、従来、パラメータ化することが困難であったロボットアームのたわみなどによるずれを確実に補正することが可能となる。また、グループ化したことにより、複数の教示点を一度に補正することができるので、各教示点を一つひとつ手作業で補正することと比較して、より速く容易に補正することができる。これは、本実施の形態では教示点の数が8点の場合を示したので、一つひとつ補正してもさほど時間のかかるものではないが、実際の教示点の数は数十点から百点ほどになることもあり、教示点の数が多くなるほど本発明を適用した際の効果が大きい。
【0068】
以上本発明を適用した実施の形態を説明したが、本発明は、このような実施の形態に限定されるものではない。たとえば、上述した実施の形態では、6軸のロボット例に説明したが、これは、3軸ロボットやその他のロボットでも本発明を適用できることは言うまでもない。
【図面の簡単な説明】
【図1】 本発明を実施するためのシステム構成を説明するための図面である。
【図2】 本発明による補正方法の処理手順を示すメイルーチンフローチャートである。
【図3】 教示点を示す図面である。
【図4】 動作中のロボットの手先の位置を3次元計測器により計測する状態を示す図面である。
【図5】 設計動作軌跡データの教示点と実測された計測点を示す図面である。
【図6】 グループ化の手順を示すサブルーチンフローチャートである。
【図7】 たわみ量に対するトルク特性をグラフ化した例を示す図面である。
【図8】 教示点ごとに各軸のトルク範囲を表形式にしてまとめた例を示す図面である。
【図9】 教示点のグループ化を説明するための図面である。
【図10】 補正後の教示データにおける教示点を示す図面である。
【図11】 計測点と設計動作軌跡データの教示点とのずれを示す図面である。
【符号の説明】
1…シミュレーション装置
2…実機ロボット
3…3次元位置計測器
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for correcting robot teaching data, and more particularly to a method for correcting robot teaching data created by simulation.
[0002]
[Prior art]
In recent years, simulation apparatuses have been used to create teaching data for operating a robot. For example, the robot model is moved on the simulation apparatus, and the teaching position is set, corrected, and changed so as to complete a series of operations without interference with peripheral equipment, and teaching data is created.
[0003]
The simulation for creating such teaching data uses design values for all peripheral equipment, workpieces, robot installation positions, tool shapes attached to robot end effectors, and robot models (mechanism models, control models). And simulate.
[0004]
However, in actual production equipment, the robot cannot be installed at the position as designed, the tool is difficult to install, the encoder zero point is misaligned, or the arm is bent. When the teaching data is reproduced, an error occurs in the teaching position, and the robot may interfere with peripheral equipment or a workpiece.
[0005]
In order to avoid such a problem, the teaching data created by simulation is corrected.
[0006]
The teaching data is corrected by performing a three-point touch-up operation using an actual robot, that is, an actual machine for which teaching data is to be created, and taking the teaching data at that time into the simulation apparatus. Corrects the position of the robot model.
[0007]
In addition, as a correction method for correcting the motion of the robot model itself, the actual motion of the actual robot such as deflection generated in the actual robot is parameterized and used as a parameter for defining the motion in the robot model. The model moves so that it matches the actual machine.
[0008]
Further, when the teaching data by simulation is reproduced by the actual machine, the teaching data is shifted by the function of the robot controller, or the troubled part is corrected while reproducing the actual robot.
[0009]
[Problems to be solved by the invention]
In such a conventional simulation, there is no particular problem in position correction because the position of the actual machine and the robot model in the simulation are matched.
[0010]
However, the method of correcting the error due to deflection or the like by combining the parameters of the robot model and the actual machine is very difficult to model with this parameter because the deflection is nonlinear. For this reason, in the past, an approximate expression is used for those that are difficult to completely parameterize, such as deflection, but because it is an approximate expression, it does not agree well with the well-matched part, and the error There was a problem that a part to be enlarged occurred.
[0011]
In addition, after the teaching data is created by simulation, the correction method using the controller of the actual robot only shifts the entire teaching point in the teaching data (X, Y, Z translation and axial rotation position are shifted). There is a problem that partial correction cannot be performed, such as deviation of the encoder zero point and deflection generated in the robot arm.
[0012]
Furthermore, although it is possible to correct the teaching points one by one with an actual robot, there is a problem that it takes a very long time if the number of teaching points is large.
[0013]
An object of the present invention is to provide a robot teaching data correction method capable of efficiently reducing errors at all teaching points when correcting teaching data created by robot simulation.
[0014]
[Means for Solving the Problems]
The object of the present invention is achieved by the following configurations.
[0015]
(1) A step of operating an actual robot with teaching data comprising a plurality of teaching points for determining an operation trajectory of the robot, a step of measuring the operation trajectory of the actual robot in the operation, and a specified axis among the axes of the robot Obtaining torque for each teaching point, grouping the teaching points where the obtained torque for each axis is in the same torque range, and corresponding the teaching point in the group on the measured motion trajectory A method for correcting robot teaching data, comprising: calculating a moving amount to be moved to a point to be corrected, and correcting the teaching data using the moving amount as a correction amount for all teaching points in the group.
[0016]
(2) The torque range is obtained by dividing the torque into a plurality of ranges based on a torque characteristic with respect to a deflection amount of the actual robot.
[0017]
(3) pre-Symbol specified were axes, when the robot is a six-axis robot, and wherein the second axis, the third axis, and a fifth axis.
[0018]
【The invention's effect】
The present invention has the following effects for each claim.
[0019]
According to the first aspect of the present invention, teaching points in which the torque of the specified axis among the robot axes is within the same torque range are grouped, and the robot teaching data is corrected in units of this group. Therefore, it is possible to reliably correct the partial deviation caused by the deflection of the actual robot, and by grouping multiple teaching points at once compared to correcting each teaching point. Since correction can be performed, the time required for correction can be reduced.
[0020]
According to the second aspect of the present invention, the torque range is obtained by dividing the torque into a plurality of ranges from the characteristic of the torque with respect to the deflection amount of the actual robot. The teaching points can be grouped depending on whether or not the torque characteristics are exhibited, and a plurality of teaching points can be grouped according to the degree of deflection regardless of the posture of the robot and the teaching point position.
[0021]
According to the third aspect of the present invention, when the robot is a 6-axis robot, the second axis, the third axis, and the fifth axis are the axes that are designated in the grouping, so that the greatest influence is exerted on the deflection. Since the grouping can be performed only by the axis that gives the grouping, the grouping process can be performed efficiently.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0023]
FIG. 1 is a diagram for explaining a system configuration for carrying out the present invention, and FIG. 2 is a May routine flowchart showing a processing procedure of a correction method according to the present invention.
[0024]
As shown in FIG. 1, the system configuration includes a simulation apparatus 1 for creating teaching data, an actual robot 2 operated by the teaching data, and a three-dimensional position measuring device 3 for measuring the movement of the hand of the actual robot.
[0025]
The simulation apparatus 1 is a general computer as hardware, and a program for simulating a robot is executed by this computer. Then, the simulation apparatus 1 creates and corrects teaching data for operating the robot along a predetermined route.
[0026]
The actual robot 2 is a robot that is operated by teaching data created by simulation. The illustrated real robot 2 includes a first axis 21 for turning the entire robot, a second axis 22 for tilting the entire robot, a third axis 23 for tilting the arm 27, a fourth axis 24 for rotating the arm 20, and an end effector 28. Is a six-axis robot comprising a fifth axis 25 for inclining and a sixth axis 26 for rotating the end effector 28.
[0027]
The actual robot 2 is not necessarily the same as the robot that is actually operated by the teaching data created by the simulation apparatus 1. For example, a robot of the same type and shape as that of an actual robot actually used at a production site may be used.
[0028]
The three-dimensional measuring instrument 3 measures three-dimensionally the movement of the hand of the actual robot 2 (tip of the tool attached to the end effector). As such a three-dimensional measuring instrument, for example, an infrared light emitting diode (infrared marker) is attached to the hand of a robot, and the infrared marker is measured using at least three CCD line sensors, and the obtained three distances are measured. A device that measures the three-dimensional position of the infrared marker from the sensor and outputs it as a three-dimensional coordinate value. Also, it measures the position of the robot's hand by emitting sound waves, infrared rays, lasers, etc. and receiving the reflected sound and reflected light. Such devices are generally commercially available.
[0029]
The simulation apparatus 1, the actual robot 2, and the three-dimensional measuring instrument 3 are connected to each other via a LAN line or the like so that data can be exchanged. Such data exchange is a well-known computer technology and will not be described.
[0030]
Next, the procedure for correcting teaching data will be described with reference to FIG.
[0031]
First, teaching data prepared in advance is read by the simulation apparatus 1 (S1). The teaching data is data for operating the robot along a predetermined movement locus, and includes a plurality of teaching points. The teaching data itself is created by operating the robot model drawn by the design data by the simulation apparatus 1.
[0032]
The teaching points P1D to P8D of the teaching data read at this stage are shown in FIG. The teaching data that is read first is data indicating the design motion trajectory (this is referred to as design motion trajectory data). The teaching data that is first created so that the actual robot moves along the design motion trajectory data. The data is corrected.
[0033]
Next, the current teaching data (in this step, corrected teaching data may come as will be described later) is transferred to the controller (not shown) of the actual robot 2 and played back, and the actual robot 2 is actually (S2).
[0034]
Then, as shown in FIG. 4, the position of the hand of the operating robot is measured by a three-dimensional measuring instrument (S3).
[0035]
Subsequently, the measured data is taken into the simulation apparatus 1 (S4). Points at positions corresponding to teaching points in the acquired measurement data are P1m to P8m (this is referred to as measurement points).
[0036]
Then, the position of each teaching point is compared with the position of the measurement point in the design motion trajectory data (initially acquired teaching data) to determine whether or not the deviation is within the allowable range (S5). If it is within (S5: Yes), the correction process is terminated. In this determination, the coordinate system and the measurement coordinate system in the simulation apparatus 1 are matched in advance. Here, the coordinate system of the measurement reference is used.
[0037]
In the first stage, as shown in FIG. 5, the measured measurement points P1m to P8m are deviated from the teaching points P1D to P8D of the design motion trajectory due to the deflection of the robot arm or the like.
[0038]
Subsequently, the torque of each axis of the robot at each teaching point is calculated by the simulation apparatus 1, and the teaching points in which the torque of the arbitrarily designated axis of the robot is in the same torque range are grouped (S6).
[0039]
Here, the grouping process will be described with reference to a subroutine flowchart of the grouping process shown in FIG.
[0040]
First, the teaching point number variable i is initialized to 0 (S61).
[0041]
Subsequently, the joint angle of each axis at the i-th teaching point is calculated (S62). The calculated shaft joint angles are stored as JV1 to JVn for each axis. Note that n is the maximum axis number. Individually, the joint angle to be calculated is a joint angle of each axis when moving from a certain teaching point (for example, teaching point P1D) to the next teaching point (P2D).
[0042]
Subsequently, each axis torque is calculated from the joint angle (S63). The torque of each axis calculated here is the torque of each axis when moving from one teaching point to the next teaching point based on the relationship between the joints calculated above. For example, the torque of the teaching point P2D is the teaching point P1D. Is the torque of each axis output when moving from the teaching point to the next teaching point P2D. The calculated torque of each axis is stored as TR1 to TRn.
[0043]
Subsequently, the axis number variable j is set to 1 (S64), and the torque characteristic division number of the j-th axis is set (S65).
[0044]
The number of torque characteristic divisions depends on the length and rotation direction of the robot arm, the weight of the arm and end effector, etc., and in order to divide the magnitude of the torque output with respect to the amount of deflection, The number of divisions is set.
[0045]
FIG. 7 is a diagram illustrating an example in which the torque characteristics with respect to the deflection amount are graphed and the torque is divided into ranges.
[0046]
For example, as shown in FIG. 7A, in the case of an axis driving an arm with a relatively small amount of deflection, the torque amount may be divided into two, that is, the number of torque characteristic divisions may be two. Further, as shown in FIG. 7B, in the case of an axis driving an arm with a large amount of deflection, the torque amount may be divided into four, that is, the torque characteristic division number may be four.
[0047]
The number of divisions of this torque characteristic depends on the shape of the robot and the arm weight, and when using a hand that grabs or lifts the workpiece on the end effector, the amount of deflection of the arm varies depending on the weight of the workpiece. It is set appropriately according to them.
[0048]
After setting the number of torque characteristic divisions for the j-th axis, it is subsequently determined which torque range the j-th axis torque is in (S66). Here, the torque range refers to each of the divided areas shown in FIG. 7, and “a” or “b” in FIG. 7A, or “a”, “b”, “c”, or “ d ".
[0049]
Subsequently, the axis number variable j is incremented (S67), and it is determined whether or not the variable j exceeds the maximum axis number n (S68). If it does not exceed (S68: No), the process returns to step S66 and the incremented j Determine the torque range of the torque of the second axis.
[0050]
On the other hand, if the variable j exceeds the maximum axis number n (S68: Yes), then the teaching point number variable i is incremented (S69), and it is determined whether or not the variable i exceeds the maximum teaching point number m. (S70) If not exceeded (S70: No), the process returns to step S62 and the subsequent processing is repeated.
[0051]
When grouping by torque is completed for all axes at all teaching points (S70: Yes), teaching points in which all the axes set in advance for each teaching point belong to the same torque range are grouped together. (S71).
[0052]
For example, as shown in FIG. 8, it is easy to understand if the torque ranges to which the torques of the respective axes belong for each teaching point are tabulated. This grouping is performed in the simulation apparatus 1, that is, in the computer. It is not necessary to create such a chart in the actual processing in the computer, and FIG. 8 explains the concept of grouping. It is a chart for doing.
[0053]
In the example shown in FIG. 8, the teaching points 1, 3, and 4 have the same torque range for all the axes, so that these are grouped together.
[0054]
At this time, in grouping, an axis to be focused on is set in advance. This is because, for example, the movement of the first axis for rotating the entire robot, the fourth axis for rotating the arm, the sixth axis for rotating the end effector, and the like hardly affect the deflection of the arm. Therefore, for the axes that do not affect the deflection of the arm, these are excluded as axes that do not affect the correction of the teaching point position, and conversely, the second axis that greatly affects the deflection of the arm, The third axis and the fifth axis are the axes that need to be corrected, and are used when grouping these.
[0055]
If there are teaching points that do not belong to any group due to this grouping, the number of axes to be focused on when grouping is reduced and another attempt is made to group teaching points that do not belong to any of those groups. . Eventually, if there are teaching points that do not belong to any group even if grouping is performed with the number of axes focused on when grouping, one teaching point is one group. To do.
[0056]
When grouping of teaching points to be corrected is completed as described above, the process returns to the main routine.
[0057]
In the main routine, the correction amount is calculated for each group (S7). The calculation of the correction amount will be described.
[0058]
Here, for example, as shown in FIG. 9B, as a result of grouping for the first teaching points P1D to P3D as shown in FIG. 9A, the teaching points P1D, P3D, P5D, and P7D are the first group, P2D, A case where P4D and P6D are in the second group will be described.
[0059]
First, for the first group, as shown in FIG. 9C, three points P1D, P3D, and P7D are selected from the teaching points in the first group, and these are connected by lines to form a triangle. The three points selected at this time are selected so that the area of the triangle is the largest.
[0060]
Then, a triangle is created by the measurement points P1m, P3m, and P7m corresponding to the teaching point that created the triangle, and the triangle by the teaching point is moved so as to overlap the triangle by the measurement point. At this time, if the triangles do not overlap only by parallel movement, the entire triangles may be rotated. In addition, when the triangles do not completely overlap, the shift is minimized.
[0061]
Thus, the amount of movement when the triangle is moved by the teaching point becomes the correction amount of each teaching point in the first group.
[0062]
Similarly, the correction amount is obtained for the second group. That is, as shown in FIG. 9E, a triangle is formed using the teaching points P2D, P4D, and P6D of the second group, and as shown in FIG. 9F, the triangle is formed into a triangle by the corresponding measurement points P2m, P4m, and P6m. It moves so that it may overlap, and let that amount of movement be a correction amount.
[0063]
In the above calculation of the correction amount, when there are no more than three teaching points in one group, that is, when a triangle cannot be formed, the line segments connecting the teaching points are used. The movement amount (parallel movement amount and rotation amount) is obtained so as to overlap the line segment connecting the corresponding measurement points, and this movement amount is set as the correction amount of each teaching point in this group.
[0064]
As described above, the correction amount of each teaching point in each group is obtained. Therefore, the teaching data is corrected by shifting the position of each original teaching point by this correction amount (S8). FIG. 10 shows teaching points P1c to P8c in the corrected teaching data.
[0065]
Then, returning to step S2, the actual robot is replayed with the corrected teaching data (S2), the movement of the hand is again measured by the three-dimensional measuring instrument (S3), and the measurement data is taken into the simulation apparatus 1. (S4) As shown in FIG. 11, it is confirmed whether or not each measurement point and the teaching point of the design motion trajectory are within an allowable range (S5). The processes in and after step 6 are repeated until the deviation of the design movement locus from the teaching point is within the allowable range. If it is within the allowable range, the correction process is terminated.
[0066]
After the correction process is completed, an interference check with peripheral equipment and workpieces is performed, and the result is input to the actual robot as final teaching data.
[0067]
As described above, according to the present embodiment, when the actual robot is operated based on the design motion trajectory data and the teaching data, the deviation of the motion trajectory is grouped for each teaching point using the torque as an index. This makes it possible to correct a plurality of teaching points that are misaligned at the same time, so that it is possible to reliably correct misalignment caused by deflection of the robot arm, which has been difficult to parameterize. It becomes possible. In addition, since the plurality of teaching points can be corrected at one time by grouping, it is possible to correct the teaching points more quickly and easily than by manually correcting each teaching point one by one. This shows the case where the number of teaching points is 8 in the present embodiment, so that it does not take much time to correct each one, but the actual number of teaching points is from several tens to one hundred. As the number of teaching points increases, the effect of applying the present invention is greater.
[0068]
Although the embodiment to which the present invention is applied has been described above, the present invention is not limited to such an embodiment. For example, in the above-described embodiment, the example of the six-axis robot has been described, but it goes without saying that the present invention can also be applied to a three-axis robot and other robots.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a system configuration for carrying out the present invention.
FIG. 2 is a May routine flowchart showing a processing procedure of a correction method according to the present invention.
FIG. 3 is a diagram showing teaching points.
FIG. 4 is a diagram showing a state in which the position of the hand of a robot in operation is measured by a three-dimensional measuring instrument.
FIG. 5 is a drawing showing design operation locus data teaching points and actually measured measurement points;
FIG. 6 is a subroutine flowchart showing a grouping procedure;
FIG. 7 is a graph showing an example of torque characteristics with respect to a deflection amount.
FIG. 8 is a diagram showing an example in which torque ranges of respective axes are summarized in a tabular form for each teaching point.
FIG. 9 is a view for explaining grouping of teaching points;
FIG. 10 is a diagram showing teaching points in corrected teaching data.
FIG. 11 is a diagram showing a deviation between a measurement point and a teaching point of design operation trajectory data.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Simulation apparatus 2 ... Real robot 3 ... Three-dimensional position measuring device

Claims (3)

ロボットの動作軌跡を決める複数の教示点からなる教示データにより実機ロボットを動作させる段階と、
前記動作における実機ロボットの動作軌跡を計測する段階と、
前記ロボットの軸のうち指定した軸のトルクを前記教示点ごとに求め、求めた軸ごとのトルクが同じトルク範囲に入っている教示点同士をグループ化する段階と、
前記グループの中の教示点を前記計測された動作軌跡上の対応する点へ移動させる移動量を算出して、該移動量を前記グループ内における全教示点の補正量として前記教示データを補正する段階と、
を有することを特徴とするロボット教示データの補正方法。
A stage of operating the actual robot with teaching data consisting of a plurality of teaching points that determine the robot's movement trajectory;
Measuring the movement trajectory of the actual robot in the movement;
Obtaining the torque of the designated axis among the axes of the robot for each teaching point, and grouping the teaching points where the torque for each obtained axis is in the same torque range;
A movement amount for moving the teaching point in the group to a corresponding point on the measured motion locus is calculated, and the teaching data is corrected using the movement amount as a correction amount for all teaching points in the group. Stages,
A method for correcting robot teaching data, comprising:
前記トルク範囲は、
前記実機ロボットのたわみ量に対するトルクの特性から、トルクを複数の範囲に分割したものであることを特徴とする請求項1記載のロボット教示データの補正方法。
The torque range is
2. The robot teaching data correction method according to claim 1, wherein the torque is divided into a plurality of ranges based on a characteristic of torque with respect to a deflection amount of the actual robot.
記指定した軸は、前記ロボットが6軸ロボットの場合に、第2軸、第3軸、および第5軸であることを特徴とする請求項1または2記載のロボット教示データの補正方法。Before SL specified were axes, when the robot is a six-axis robot, the second axis, the third axis, and a method of correcting the robot teaching data according to claim 1 or 2, wherein the a fifth axis .
JP2001392238A 2001-12-25 2001-12-25 Robot teaching data correction method Expired - Fee Related JP3840973B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001392238A JP3840973B2 (en) 2001-12-25 2001-12-25 Robot teaching data correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001392238A JP3840973B2 (en) 2001-12-25 2001-12-25 Robot teaching data correction method

Publications (2)

Publication Number Publication Date
JP2003191186A JP2003191186A (en) 2003-07-08
JP3840973B2 true JP3840973B2 (en) 2006-11-01

Family

ID=27599622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001392238A Expired - Fee Related JP3840973B2 (en) 2001-12-25 2001-12-25 Robot teaching data correction method

Country Status (1)

Country Link
JP (1) JP3840973B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092034A (en) * 2004-09-21 2006-04-06 Nissan Motor Co Ltd Robot operation path data preparation method
JP2006099260A (en) * 2004-09-28 2006-04-13 Fanuc Ltd Robot program creating device
JP4779359B2 (en) * 2004-12-27 2011-09-28 日産自動車株式会社 Teaching method for welding robot
JP4829151B2 (en) * 2005-07-25 2011-12-07 ファナック株式会社 Robot program evaluation / correction method and robot program evaluation / correction device
JP3946753B2 (en) 2005-07-25 2007-07-18 ファナック株式会社 Robot program evaluation / correction method and robot program evaluation / correction device
CN102950596B (en) * 2011-08-23 2015-11-11 松下电器产业株式会社 Parallel link robot and action teaching method thereof
WO2015054599A2 (en) * 2013-10-11 2015-04-16 Rethink Robotics, Inc. Robotic placement and manipulation with enhanced accuracy
US10836038B2 (en) 2014-05-21 2020-11-17 Fanuc America Corporation Learning path control
CN112384340A (en) * 2018-07-10 2021-02-19 三菱电机株式会社 Robot control device
JP2020049633A (en) * 2018-09-28 2020-04-02 三菱重工業株式会社 Teaching work support system for robot and teaching work support method
CN115515761A (en) * 2020-05-11 2022-12-23 发那科株式会社 Program generation device and program generation method

Also Published As

Publication number Publication date
JP2003191186A (en) 2003-07-08

Similar Documents

Publication Publication Date Title
Dong et al. Development of a slender continuum robotic system for on-wing inspection/repair of gas turbine engines
US7904207B2 (en) Method of evaluating and correcting robot program and device for evaluating and correcting robot program
KR101126808B1 (en) Error estimation method and device for multi-axis controlled machines
US8560122B2 (en) Teaching and playback method based on control of redundancy resolution for robot and computer-readable medium controlling the same
CN105773609A (en) Robot kinematics calibration method based on vision measurement and distance error model
JP3840973B2 (en) Robot teaching data correction method
JP2016027951A (en) Robot device control method and robot device
CN110815206A (en) Stewart type parallel robot kinematics calibration method
CN109176488A (en) A kind of flexible robot's Kinematic Calibration method and system
US6332101B1 (en) Off-line teaching method for correcting robot model by revising teaching data on basis of difference between actual and target position
US20220105640A1 (en) Method Of Calibrating A Tool Of An Industrial Robot, Control System And Industrial Robot
CN107478183A (en) Tandem type robot kinematics' parameter calibration method based on the sampling of multiple spot posture
TW202124110A (en) Automated calibration system and method for workpiece coordinate frame of a robot
CN110450165B (en) Robot calibration method based on zero force control
Singh et al. DH parameters augmented with dummy frames for serial manipulators containing spatial links
JP4829151B2 (en) Robot program evaluation / correction method and robot program evaluation / correction device
Krishnan et al. Kinematic analysis and validation of an industrial robot manipulator
JP7436675B2 (en) robot control device
JP4970492B2 (en) Articulated robot
CN112847441B (en) Six-axis robot coordinate offset detection method and device based on gradient descent method
Zhao et al. A new calibration method and experimental study for kinematic parameters of industrial robot
JP4647919B2 (en) Control method and control apparatus
Hendriko et al. Analytical based inverse kinematics method for 5-axis delta robot
Lee et al. Simulation and control of a robotic arm using MATLAB, simulink and TwinCAT
Maťuga Control and positioning of robotic arm on CNC cutting machines and their applications in industry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060731

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees