JP4170564B2 - ロボット制御装置 - Google Patents
ロボット制御装置 Download PDFInfo
- Publication number
- JP4170564B2 JP4170564B2 JP2000181186A JP2000181186A JP4170564B2 JP 4170564 B2 JP4170564 B2 JP 4170564B2 JP 2000181186 A JP2000181186 A JP 2000181186A JP 2000181186 A JP2000181186 A JP 2000181186A JP 4170564 B2 JP4170564 B2 JP 4170564B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- movement amount
- follow
- control
- unit
- 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 - Lifetime
Links
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Control Of Position Or Direction (AREA)
Description
【発明の属する技術分野】
この発明は、搬送装置により移動中の作業対象物(以下、対象物)に対し、追従しながら作業を行う産業用ロボット(以下、ロボットという)のロボット制御装置に関するものである。
【0002】
【従来の技術】
図8は、例えば特開平3−154103号公報に示された従来のロボット制御装置を示すブロック図である。図において、101は動作制御部、102は動作軌跡作成部、103は制御サイクル周期後到達位置作成部、104は制御サイクル周期後到達位置修正部、105は逆変換部、106は制御サイクル周期後指令パルス作成部、107はサーボ制御部、108は同期開始リミットスイッチ、109はコンベアエンコーダ、110は積算カウンタ、111は制御サイクル周期内コンベア移動パルス計測部、112は制御サイクル周期内コンベア移動量作成部、113は追従遅れ量加速補正処理部、114はコンベア移動量平均部、115は位置修正量演算部、116,117は経路、118はロボットである。
【0003】
次に、動作について説明する。同期開始リミットスイッチ108をロボット118が作業を行う対象物が横切ると、カウンタ110がリセットされるとともに動作制御部101に対象物の同期開始点到達を知らせる。カウンタ110は、コンベアエンコーダ109から出力されるパルスにより、コンベアの移動に従ってパルスを積算し、制御サイクル周期コンベア移動パルス計測部111では、カウンタ110の値より、1制御サイクル周期の移動パルス数ΔCnを計測する。制御サイクル周期内コンベア移動作成部112では移動パルス数より、コンベア移動量ΔLnを求める。追従遅れ量加速補正処理部113では、追従遅れを補正するため、ロボット118遅れ時間分補正量をΔLnに加え、対象物に追いつくようにΔLnを補正する。コンベア移動量平均化部では、指令値の速度波形が滑らかになるように過去数回分のΔLnを平均し、平均化移動量ΔLaを求める。位置修正量演算部115では移動量ΔLaをコンベア方向に分解する。分解された平均化コンベア移動量は、制御サイクル周期後到達位置修正部104において、動作プログラムによって実行されるロボット118の指令値に加えられる。このようにして、ロボット118は、平均化移動量分コンベアの移動方向に動作しながら、対象物に対して作業を行う。
【0004】
【発明が解決しようとする課題】
従来のロボット制御装置は、コンベアの移動量に変動があった場合に、追従遅れ量加速補正処理部において1制御サイクル周期内で全遅れ量を加え、その後平均化を行っているので、平均化後の移動量の変化が滑らかでなく、追従開始時やコンベアの速度が急激に変化した場合、ロボットの動作が振動的になるという問題があった。
【0005】
また、コンベア移動量を過去数回分の移動量で平均化するため、平均化による遅れが生じるという問題があった。
【0006】
この発明は、上記のような問題点を解決するためになされたものであり、コンベア等の搬送装置における移動量の変化が大きくても高速高精度な追従作業を実行可能なロボット制御装置を得ることを目的とするものである。
【0007】
【課題を解決するための手段】
この発明の第1の構成によるロボット制御装置は、搬送装置によって搬送される作業対象物に対して追従しながらロボットに作業を行なわせるロボット制御装置において、
前記搬送装置の位置を検出する搬送装置位置検出部と、
該搬送装置位置検出部で得られる位置を変換し、仮想搬送装置位置を生成する搬送装置位置生成部と、
該搬送装置位置生成部で得られたロボットの指令値を生成する仮想搬送装置位置であって、1制御周期間隔毎に順に付される整数 i で特定される現在の時刻tiの仮想搬送装置位置と、前記時刻tiの1制御周期前の時刻ti-1における仮想搬送装置位置との差から1制御周期間に搬送装置が移動した移動量dCiを生成する搬送装置移動量生成部と、
前記ロボットの前記搬送装置に対する追従誤差を記憶しておく追従誤差記憶部と、
前記搬送装置移動量生成部で生成された移動量dCi、1制御周期前に求めた移動量dCi-1と修正係数aから次制御周期推定移動量をVc=dCi+a×(dCi−dCi-1)により求め、該次制御周期推定移動量Vcと追従遅れ補正係数bの積によりロボットの追従遅れを補正する追従遅れ補正量を求め、前記追従遅れ補正量と前記追従誤差記憶部に記憶された追従誤差との和により追従目標移動量を生成する追従遅れ補正部と、
前記追従遅れ補正部で生成された前記追従目標移動量、ロボットの1制御周期前に生成した追従移動量、前記次制御周期推定移動量、ロボットの1制御周期追従加速量または減速量から3次元データである次制御周期の追従移動量Vnを求め、該次制御周期の追従移動量Vnの各座標軸の成分が次制御周期最大追従移動量と次制御周期最小追従移動量との範囲内になるように次回のロボットの追従移動量Vnを生成する追従移動量生成部と、
前記ロボットの動作プログラムに従った動作指令値を生成する動作制御部と、
該動作制御部で生成された動作指令値に前記追従移動量生成部で生成された追従移動量を加え、ロボットへの指令値を生成する指令パルス生成部と、
前記指令パルス生成部で生成した指令値からサーボモータを制御しロボットを動作させるサーボ制御部と、
を備えたことを特徴とするロボット制御装置。
【0008】
また、この発明の第2の構成によるロボット制御装置においては、追従遅れ補正部の追従遅れ補正係数bは、サーボモータの位置ループの制御ゲインK、ロボットの制御周期Tから求まる値1/(KT)と、指令パルス生成部からサーボ制御部へ指令値が入力されるまでの制御周期数cと、次制御周期での搬送装置の移動量を反映するための制御周期数との和により求めるものである。
【0010】
また、この発明の第3の構成によるロボット制御装置は、搬送装置又はロボットの状態ごとの補正データを記憶する記憶領域を備え、ロボットの追従遅れ補正量は、上記搬送装置又はロボットの状態ごとの補正データにより決定する構成にしたものである。
【0013】
【発明の実施の形態】
実施の形態1.
図1は、この発明を実施するための実施の形態1によるロボット制御装置を説明するための構成図である。図において、1はロボット、2はロボット制御装置、3は作業対象物(以下、ワーク)Wを搬送する搬送装置であるコンベア、4はコンベアの移動量を検知するコンベアエンコーダである。20は動作制御部であり、ロボットの動作プログラムによって記述された動きを実現するための指令値を制御周期ごとに生成し、指令パルス生成部21に出力する。指令パルス生成部21では動作制御部で生成された指令値を逆変換など行い、サーボ制御部22に指令パルスを出力する。サーボ制御部22では指令パルスに従ってロボットのサーボモータを制御し、ロボットを動作させる。23はエンコーダ値検出部で、コンベアエンコーダ4から出力されたパルスを受信し、パルスを積算してコンベアの位置を管理する。24は仮想エンコーダ値生成部で、エンコーダ値検出部23で管理しているエンコーダ値を仮想エンコーダ値に変換する。25はコンベア移動量生成部で仮想エンコーダ値を元にコンベアの移動量を生成する。26はサーボ制御の遅れなどを補正する追従遅れ補正部、27はロボットの追従移動量を生成する追従移動量生成部、28は追従誤差を記憶しておく追従誤差データ記憶部である。
【0014】
次に動作について説明する。ワークWがコンベア3によって運ばれ、光電センサや画像センサなどのセンサ(記載せず)により、ロボットの動作範囲に入ったことを検出すると、以下のようにして追従動作を開始する。コンベア3が動作すると同時にコンベアエンコーダ4も回転し、パルスを発生する。発生したパルスはエンコーダ値検出部23でカウントされ、コンベアの位置が検出される。エンコーダ値検出部は例えば16bitの積算カウンタで構成され、0〜65535の値をとる。仮想エンコーダ値生成部24では、1制御周期ごとにエンコーダ値をエンコーダ値検出部23から読み出し、仮想エンコーダ値を生成する。
【0015】
仮想エンコーダ値は次ぎのようにして求める。現在の時刻をti、1制御周期前の時刻をti-1、1制御周期後の時刻をti+1とし、時刻ti-1、tiのエンコーダ値をそれぞれEi-1、Ei、仮想エンコーダ値をFi-1、Fiとする。また、仮想エンコーダ値の最大値、最小値をFmax、Fminとすると、Fiの値は、
Fi=F i-1 +f(Ei−Ei-1)
【0016】
ここで、f(xi)はフィルタ関数であり、コンベアの速度変動の状態によって選択する。例えば、コンベアの速度変動があまりなく、ロボットに振動が発生しない場合は、フィルタなしとし、
f(xi)=xi
【0017】
コンベアの変動の頻度が高く、ロボットの動作が振動的になる場合は、例えば、次に示すような平均化関数の式(1)を用いる。
【0018】
【数1】
【0019】
ここで、mは正の整数である。振動が少ない場合は、mの値を小さく設定し、振動が大きい場合は、mの値を大きく設定する。
【0020】
上記のように求めたFiに対し、Fiが最大値Fmaxを越えた場合は、
Fi=Fi−Fmax+Fmin
また、Fiが最小値Fmin以下になった場合は、
Fi=Fi+Fmax−Fmin
とする。Fmax,Fminは自由に設定可能である。16bitのカウンタではワークの搬送中にエンコーダが65535パルス分以上回ってしまうと、桁あふれが発生し、位置が管理できなくなるが、Fmax,Fminを大きく設定することにより、長いコンベアにも対応が可能となる。
【0021】
コンベア移動量生成部25では、まず仮想エンコーダ値生成部24で生成された仮想エンコーダ値Fi,Fi-1から1制御周期でのエンコーダ値変化量dFiを求める。次に、あらかじめ求めておいた3次元空間における1パルスあたりの移動量[dx,dy,dz]を使って、1制御周期あたりのコンベアの3次元空間における移動量dCi=[dx×dFi,dy×dFi,dz×dFi]を求める。
【0022】
追従遅れ補正部26では、まず、コンベア移動量生成部25で得られたコンベアの移動量dCiから、次の1制御周期間のコンベア移動量Vcを推定する。コンベア次制御周期推定移動量Vcは例えば次式で求める。
Vc=dCi+a×(dCi−dCi-1)
ここで、aは修正係数、dCi-1は時刻ti-2からti-1におけるコンベアの移動量である。aの値はコンベアの速度変動に応じて決定する。コンベアの速度変動がほとんどない場合は、a=0とし、現在の速度と同一の速度で動作したものとしてコンベア推定移動量Vcを求める。また、速度変動が大きく、ずれが大きくなる場合、a=1.0とすることにより、速度変動によるずれを補正することが可能である。速度変動により、ロボットの動作が振動的になる場合は、aに負の値、例えば、a=−0.5とすることにより、振動を抑制する効果がある。
【0023】
次に追従遅れ補正量dDi+1を次式により求める。
dDi+1=b×Vc
bは追従遅れ補正係数であり、次式で求める。
b=1/(KT)+c+1
ここで、Kはサーボモータの位置ループの制御ゲイン、Tはロボットの制御周期、cは指令パルス生成部21で指令値を生成してからサーボ制御部22に指令値が入力されるまでの制御周期数である。右辺第3項の1は次制御周期中のコンベアの移動量を反映するためのものである。位置ループゲインKはコンベアの進行方向にロボットを動作させたときに最も動作量の大きい関節のサーボモータのゲインを用いれば良い。
【0024】
上記の補正後、コンベアの速度が変化しても追従誤差が発生しない場合は、上記のbの値で良いが、追従誤差が変化する場合は次のようにして補正できる。コンベア速度v1[mm/s]のとき、x1[mm]、v2[mm/s]のときx2[mm]の遅れが発生する場合、上記のbの代わりに次式を用いるとよい。
b=1/(KT)+c+(x2−x1)/((v2−v1)T)+1
【0025】
次に、生成された追従遅れ補正量dDi+1を元にロボット追従目標移動量Di+1を求める。まず、前回追従誤差Riを追従誤差データ記憶部28から読み出す。追従遅れ補正量dDi+1と追従誤差Riより、追従目標移動量Di+1を次式により求める。
Di+1=dDi+1+Ri
【0026】
追従移動量生成部27では、追従遅れ補正部26で生成された追従目標移動量Di+1とロボットの前制御周期での追従移動量Vr、コンベアの次制御周期での推定移動量Vcより、次制御周期でのロボットの追従移動量Vnを求める。次制御周期におけるロボットの追従移動量Vnの求め方について図2を用いて示す。なお、Vr,Vc,Di+1などは3次元データであり、x,y,z方向の3要素を持つが、図2の処理をそれぞれの要素について行うことによりVnを求める。以下では、Vr、Vc、Di+1の各要素をそれぞれvr、vc、dとする。なお、各移動量の符号はコンベアの進行方向を正とする。
【0027】
まず、ST1ではロボットの前制御周期追従移動量vrの正負を判断し、正の場合は図2に示すフローに従いステップST2に、また負の場合はST30へ進む。ST30の詳細な手順は図3に示す。ステップST2では、次制御周期でロボットが加速した場合、減速した場合の次制御周期最大追従移動量va,次制御周期最小追従移動量vdを次式により求める。
va=vr+acc
vd=vr−dec
ここで、acc,decはそれぞれ1制御周期追従加速量、減速量であり、共に正の値である。これらの値はロボットの特性を考慮して決定される。このようにして求めた次制御周期最大追従移動量vaとロボットの1制御周期最大移動量vmaxを比較し、vaがvmaxより大きい場合はva=vmaxとする。
【0028】
ステップST3では、コンベアの推定移動量vcとロボットの前制御周期追従移動量vrを比較し、vcの方が大きい場合はロボットを加速しなければならないので、ステップST4で加減速度adにaccをセットし、vrの方が大きい場合は、ロボットは減速しなければならないので加減速度adに−decをセットする。
【0029】
ステップST5ではコンベアとロボットが等速度になるまでに要する制御周期数nを次式により求める。
n=int((vc−vr)/ad)
ここで、int(x)はxを超えない最大の整数を求める関数である。ステップST16で、nが0でない正の整数の場合、ステップST7に進み、n制御周期後にロボットが追従目標移動量d移動するために必要な次制御周期でのロボット追従移動量vnを次式で求める。
vn=(d+vc×(n−1))/n−(n−1)×ad/2
【0030】
ステップST16においてnが0の場合、ロボットとコンベアは等速度であるので、ステップST11で次制御周期のロボット追従移動量vnをvn=dとする。
【0031】
ステップST8では、ステップST7,ST11で求めたvnと、ステップST2で求めた次制御周期最大追従移動量vaの大小を比較し、vnがvaより大きい場合は、あらかじめ設定した加速度以上に加速しないようにvn=vaに修正する。小さい場合はステップST12に進み、vnと次制御周期最小追従移動量vdと大小を比較する。vnがvdより小さい場合はあらかじめ設定した減速度以上に減速しないように、vn=vdに修正する。vnの方が大きい場合は修正せずにそのままの値を次制御周期の追従移動量とする。
【0032】
一方、ステップST1でvrが0以下に場合は、コンベアとロボットが反対方向に動作、またはロボットが停止している場合であり、ST30へ進む。図3はST30における処理手順を示す。
【0033】
ステップST14では、ロボットの次制御周期最大追従移動量vaと次制御周期最小追従移動量vdを次式により求める
va=vr−acc
vd=vr+dec
ただし、vaがロボット最大追従移動量vmaxより大きい場合は、va=−vmaxとする。
【0034】
次にステップST15では、次式によりコンベアとロボットが等速度になるまでに要する制御周期数nを求める。
na=int(abs(vc/acc))+1
nd=int(abs(vr/dec))
n=na+nd
ここで、abs(x)はxの絶対値を求める関数であり、naはロボットが速度0からコンベアの速度に達するまでの制御周期数、ndはロボットが現在速度から速度0に減速するまでの制御周期数である。
【0035】
ステップST16では、ndが0でない正の整数であるか否かを判断し、0でない正の整数の場合はステップST17へ進み、0の場合はステップST20へ進む。
【0036】
ステップST17では、制御周期nでロボットがワークに追いつくために必要な次制御周期ロボット追従移動量vnを次式から求める。
xc=d+vc×(n−1)
xr=na×(na−1)×acc/2
vn=(xc−xr)/nd−(nd−1)×dec/2
ここで、xc,xrはそれぞれn制御周期後までのワーク、ロボットの移動量である。
【0037】
ステップST16でndが0の場合はステップST20に進み、vcと次制御周期最小追従移動量vdの比較を行い、vcの方が大きい場合はステップST21に進み、そうでない場合はステップST22に進む。
【0038】
ステップST21では次式により、vnを求める。
n=int((vc−vd)/acc)+1
xc=d+vc×(n−1)
vn=xc/n−acc×(n−1)/2
ここで、xcはロボットがワークに追いつくまでにワークが移動する量である。
【0039】
一方、ステップST20でvcがvdと等しいか、またはvdより小さい場合、ロボットとコンベアは等速度と考えられるので、vn=dとする。
【0040】
ステップST18では、vnとvaを比較し、vnがvaより小さい場合はステップST19に進み、vnの値をvaに修正する。また、ステップST18でvnがvaより小さくない場合は、ステップST23に進み、vnとvdを比較する。ステップST23で、vnがvdより大きい場合はステップST24でvnの値をvdに修正する。vnがvdより大きくない場合は、ステップST17,ST21,ST22で求めたvnの値をそのまま用いる。
【0041】
以上のようにして求めたロボット追従移動量Vnは指令パルス生成部21に出力される。また、次式で追従誤差Ri+1を次式により求め、追従誤差データ記憶部28に保存される。
Ri+1=Ri+dCi−Vn
【0042】
動作制御部20では、ロボットプログラムに従った動作指令値を生成し、指令パルス生成部21に出力する。指令パルス生成部21では、動作制御部20で生成された指令値と、追従移動量生成部27で生成された追従移動量を合成し、得られた指令データを逆変換してサーボモータのパルスデータをサーボ制御部22に出力する。サーボ制御部22では、指令パルス生成部21で生成されたパルスデータに従ってロボットのサーボモータを制御することにより、ロボットに所望の動作をさせる。
【0043】
図4はコンベア速度とロボットの追従速度の変化を表す説明図である。図において、vcはコンベア速度、vrはロボットの追従速度を表す。時刻t0にロボットはコンベアに対し追従作業を開始し、追従後れを取り戻すため、時刻t1まで制御周期ごとに次制御周期の追従速度を図2、図3の手順によって求め、加速する。時刻t1において次制御周期の追従速度を計算すると、このまま加速するとコンベア上の目的位置を追い越してしまうため減速に入る。時刻t2ではコンベアの速度がv1からv2に高速に変化したため、再びロボットの追従速度も加速し、時刻t3で、目的位置を追い越さないように減速をはじめ、時刻t4でコンベアに追いつく。
【0044】
実施の形態1では、ロボットの動作可能な最大速度、最大加減速度(加速パターン、減速パターン)を考慮して、追従移動量を決定するようにしたので、コンベアの速度に変動があっても高速にワークに追従することが可能となる。実施の形態1では加速パターン、減速パターンとして1制御周期追従加速量及び減速量を用いた例を示したが、加速時間、減速時間を用いてもよい。なお、コンベア速度に対し、ロボットの最高速度が十分速い場合、ロボットの最大速度を考慮せずに追従移動量を決定してもよい。
【0045】
また、滑らかに加減速を行うので、振動を起こさずに追従でき、高精度に追従作業が可能となる。
【0046】
また、コンベアエンコーダの最大値、最小値を自由に決定できるので、長いコンベアでの追従作業が可能である。さらに、エンコーダ値に対してフィルタをかけることができるので、コンベアが振動的であっても滑らかに追従することが可能である。
【0047】
上記実施の形態1では、追従遅れ補正部26において、b=1/KT+c+1という式を用いて追従遅れ補正量を求めたが、あらかじめコンベアの移動量ごとやロボットの位置、姿勢ごとに補正量を求め、テーブルとして記憶し、動作時にはロボットの現在の位置や速度から補正量をテーブルのデータから補間して求めてもよい。また、補正量の代わりにbの値をテーブルに記憶しておいてもよい。図5は補正係数bの値をロボットの位置xの値ごとに記憶したテーブルである。追従遅れ補正部26で追従遅れ補正量を計算するときにロボットの現在位置を示すxの値がx1<x<x2であったとすると次式で補正係数bを求める。
b=(b2−b1)(x−x1)/(x2−x1)+b1
このbの値を用いて補正量を求めることにより、ロボットの位置による追従誤差をなくすことが可能である。上記実施の形態1では、ロボットの位置、姿勢ごとに補正量を求めているが、このほか、ロボットの状態を表す量、またはコンベアの速度等の状態を表す量を用いてもよい。
【0048】
また、上記実施の形態1では、追従遅れ補正部26において、補正係数bをロボットの位置姿勢から動的に計算して求めても同様な効果が得られることはいうまでもない。
【0049】
上記実施の形態1では、過渡追従遅れ補正量生成部27で生成したロボット追従移動量を直接指令パルス生成部に渡したが、指令値を滑らかにするため、最近のm制御周期分追従移動量を平均してもよい。その場合、追従遅れ補正部26のbにmを加える、例えば、bをb=1/KT+c+1と言う式を用いて求めている場合、b=1/KT+c+m+1とすることによって、平均することによる遅れを補正することができる。
【0050】
上記実施の形態1では、仮想エンコーダ値生成部24において、コンベアのエンコーダ値を仮想エンコーダ値に変換していたが、エンコーダ値検出部23のカウンタのビット数が追従作業領域に対し、十分大きい場合や、コンベアの動作が振動的でない場合は図6に示すように、図1に示す仮想エンコーダ値生成部24がない構成でも同様の効果があることは言うまでもない。図6の構成では、エンコータ値検出部23により検出されたエンコーダ値が直接コンベア移動量生成部25へ送られ、このエンコータ値に基づきコンベア移動量が演算される。
【0051】
上記実施の形態1では、コンベアエンコーダによってコンベアの位置を把握し、コンベアに追従しながら作業を行う場合について述べたが、コンベア以外の搬送装置、例えば、xyテーブルや他のロボットによって搬送される場合でも、それらの現在位置を直接コントローラに入力することによって同様に追従作業が可能である。
【0052】
実施の形態2.
図7は、この発明を実施するための実施の形態2によるロボット制御装置を説明するための図である。図において、図1と同一の符号を付したものは、同一またはこれに相当するものである。また、図7において、29は関節追従遅れ補正部であり、指令パルス生成部21で生成された各関節ごとの指令パルスに対し、追従遅れを補正する。
【0053】
次に動作について説明する。コンベアエンコーダ4、エンコーダ値検出部23、コンベア移動量生成部25は実施の形態1と同様の動作を行う。追従移動量生成部27では、実施の形態1では追従遅れ補正部で生成された次の1制御周期における推定コンベア移動量の代わりに、コンベア移動量生成部25で生成されたコンベア移動量を用いてロボットの追従移動量を生成する。生成方法は、実施の形態1と同様である。
【0054】
動作制御部20では、ロボットプログラムに従った動作指令値を生成し、指令パルス生成部21に出力する。指令パルス生成部21では、動作制御部20で生成された指令値と、追従移動量生成部27で生成された追従移動量を合成し、得られた指令データを逆変換してサーボモータのパルスデータを関節追従遅れ補正部29に出力する。
【0055】
関節追従遅れ補正部29では、各関節ごとに遅れ量を補正する。実施の形態1では、追従遅れ補正部でコンベアの移動量から次制御周期のコンベア推定移動量を求めたが、関節追従遅れ補正部29では、コンベア移動量の代わりにロボット関節移動量を用いて追従遅れ分補正した関節移動量を生成する。
【0056】
サーボ制御部22に出力する。サーボ制御部22では、関節追従遅れ補正部29で生成されたパルスデータに従ってロボットのサーボモータを制御することにより、ロボットに所望の動作をさせる。
【0057】
上記実施の形態2では、各関節ごとに遅れ量を補正するように構成したので、より高精度な追従作業が可能となる。
【0058】
また、上記実施の形態2では、コンベアエンコーダによってコンベアの位置を把握し、コンベアに追従しながら作業を行う場合について述べたが、コンベア以外の搬送装置、例えば、xyテーブルや他のロボットによって搬送される場合でも、それらの現在位置を直接コントローラに入力することによって同様に追従作業が可能である。
【0059】
この発明の第1の構成であるロボット制御装置によれば、ロボットの動作可能な最大速度、最大加減速度を考慮して、追従移動量を決定するようにしたので、高速に追従作業が可能となるという効果がある。また、滑らかに加減速を行うので、振動を起こさずに追従でき、高精度に追従作業が可能となるという効果がある。
【0061】
また、この発明の第2の構成であるロボット制御装置によれば、定常的な追従誤差を補正する時に、サーボモータの制御ゲインから補正係数を決めるようにしたので、容易に高精度な追従作業を実現できるという効果がある。
【0062】
また、この発明の第3の構成であるロボット制御装置によれば、追従遅れ補正部であらかじめ記憶領域に記憶された搬送装置の速度やロボットの位置姿勢ごとの補正データを用いて追従補正を行うため、搬送装置の速度変動、ロボットの位置姿勢によらず高精度な追従作業が可能となるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるロボット制御装置を説明するための構成図である。
【図2】 この発明の実施の形態1による追従移動量の生成手順を説明するためのフロー図である。
【図3】 この発明の実施の形態1による追従移動量の生成手順を説明するためのフロー図である。
【図4】 この発明の実施の形態1によるロボットと搬送装置の速度と時間の関係を説明するための図である。
【図5】 この発明の実施の形態1による追従補正データの記憶領域を説明するための図である。
【図6】 この発明の実施の形態1によるロボット制御装置を説明するための構成図である。
【図7】 この発明の実施の形態2によるロボット制御装置を説明するための構成図である。
【図8】 従来のロボット制御装置を説明するための構成図である。
【符号の説明】
1 ロボット、2 ロボット制御装置、3 搬送装置、4 コンベアエンコーダ、20 動作制御部、21 指令パルス生成部、22 サーボ制御部、23 搬送装置位置検出部、24 仮想搬送装置位置生成部、25 搬送装置移動量生成部、26 追従遅れ補正部、27 追従移動量生成部、28 追従誤差記憶部、29 関節追従遅れ補正部。
Claims (3)
- 搬送装置によって搬送される作業対象物に対して追従しながらロボットに作業を行なわせるロボット制御装置において、
前記搬送装置の位置を検出する搬送装置位置検出部と、
該搬送装置位置検出部で得られる位置を変換し、仮想搬送装置位置を生成する搬送装置位置生成部と、
該搬送装置位置生成部で得られたロボットの指令値を生成する仮想搬送装置位置であって、1制御周期間隔毎に順に付される整数 i で特定される現在の時刻tiの仮想搬送装置位置と、前記時刻tiの1制御周期前の時刻ti-1における仮想搬送装置位置との差から1制御周期間に搬送装置が移動した移動量dCiを生成する搬送装置移動量生成部と、
前記ロボットの前記搬送装置に対する追従誤差を記憶しておく追従誤差記憶部と、
前記搬送装置移動量生成部で生成された移動量dCi、1制御周期前に求めた移動量dCi-1と修正係数aから次制御周期推定移動量をVc=dCi+a×(dCi−dCi-1)により求め、該次制御周期推定移動量Vcと追従遅れ補正係数bの積によりロボットの追従遅れを補正する追従遅れ補正量を求め、前記追従遅れ補正量と前記追従誤差記憶部に記憶された追従誤差との和により追従目標移動量を生成する追従遅れ補正部と、
前記追従遅れ補正部で生成された前記追従目標移動量、ロボットの1制御周期前に生成した追従移動量、前記次制御周期推定移動量、ロボットの1制御周期追従加速量または減速量から3次元データである次制御周期の追従移動量Vnを求め、該次制御周期の追従移動量Vnの各座標軸の成分が次制御周期最大追従移動量と次制御周期最小追従移動量との範囲内になるように次回のロボットの追従移動量Vnを生成する追従移動量生成部と、
前記ロボットの動作プログラムに従った動作指令値を生成する動作制御部と、
該動作制御部で生成された動作指令値に前記追従移動量生成部で生成された追従移動量を加え、ロボットへの指令値を生成する指令パルス生成部と、
前記指令パルス生成部で生成した指令値からサーボモータを制御しロボットを動作させるサーボ制御部と、
を備えたことを特徴とするロボット制御装置。 - 追従遅れ補正係数bは、サーボモータの位置ループの制御ゲインK、ロボットの制御周期Tから求まる値1/(KT)と、指令パルス生成部からサーボ制御部へ指令値が入力されるまでの制御周期数cと、次制御周期での搬送装置の移動量を反映するための制御周期数との和により求めることを特徴とする請求項1に記載のロボット制御装置。
- 搬送装置又はロボットの状態ごとの補正データを記憶する記憶領域を備え、ロボットの追従遅れ補正量は、上記搬送装置又はロボットの状態ごとの補正データにより決定することを特徴とする請求項1に記載のロボット制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000181186A JP4170564B2 (ja) | 2000-06-16 | 2000-06-16 | ロボット制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000181186A JP4170564B2 (ja) | 2000-06-16 | 2000-06-16 | ロボット制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007193120A Division JP2007290128A (ja) | 2007-07-25 | 2007-07-25 | ロボット制御装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001353677A JP2001353677A (ja) | 2001-12-25 |
JP2001353677A5 JP2001353677A5 (ja) | 2004-10-28 |
JP4170564B2 true JP4170564B2 (ja) | 2008-10-22 |
Family
ID=18682159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000181186A Expired - Lifetime JP4170564B2 (ja) | 2000-06-16 | 2000-06-16 | ロボット制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4170564B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4258262B2 (ja) | 2003-04-22 | 2009-04-30 | 株式会社安川電機 | ツイン同期制御方法及び装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62277289A (ja) * | 1986-05-26 | 1987-12-02 | 株式会社東芝 | 追従制御装置 |
JPH10105217A (ja) * | 1996-09-27 | 1998-04-24 | Mitsubishi Electric Corp | ロボットのトラッキング制御方法およびロボット制御システム |
-
2000
- 2000-06-16 JP JP2000181186A patent/JP4170564B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001353677A (ja) | 2001-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9724825B2 (en) | Robot controller for robot which sets two objects in combined state | |
JPH0866893A (ja) | 衝突検出方法 | |
JP2902205B2 (ja) | 空間誤差補正装置 | |
US11577399B2 (en) | Robot system, method for controlling robot, robot controller, and non-transitory computer-readable storage medium | |
JPH10105217A (ja) | ロボットのトラッキング制御方法およびロボット制御システム | |
JP2007290128A (ja) | ロボット制御装置 | |
JP4170564B2 (ja) | ロボット制御装置 | |
CN110262291B (zh) | 控制装置、控制方法以及存储介质 | |
CN116909263A (zh) | 路径生成方法以及机器人控制*** | |
JP3599849B2 (ja) | サーボ制御における移動指令の分配方法 | |
JP2830205B2 (ja) | ロボットの制御装置 | |
JPS6246003B2 (ja) | ||
JP5206212B2 (ja) | 位置制御装置 | |
JPH07244519A (ja) | 画像による可動物体の運動制御方法 | |
JP2552266B2 (ja) | ロボツトの適応制御方法 | |
JPH0732277A (ja) | ロボットの制御装置 | |
JP3388426B2 (ja) | 任意補間を可能としたモータのパルス列制御方式 | |
JPH11198072A (ja) | ロボットの最短時間速度制御装置 | |
JPS59195714A (ja) | 可動体の位置決め制御装置 | |
US20230138649A1 (en) | Following robot | |
JPS61114304A (ja) | デイジタル制御装置 | |
Pagilla et al. | Mechatronic design and control of a robot system interacting with an external environment | |
JP2523138B2 (ja) | ワ―ク追従装置の制御方法 | |
JPH05143106A (ja) | ステージ制御装置 | |
JP2740691B2 (ja) | 制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040707 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060823 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070404 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20071214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080807 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4170564 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |