JP4170564B2 - Robot controller - Google Patents
Robot controller 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
【0001】
【発明の属する技術分野】
この発明は、搬送装置により移動中の作業対象物(以下、対象物)に対し、追従しながら作業を行う産業用ロボット(以下、ロボットという)のロボット制御装置に関するものである。
【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 関節追従遅れ補正部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot control device for an industrial robot (hereinafter referred to as a robot) that performs an operation while following a work target (hereinafter referred to as an object) that is being moved by a transfer device.
[0002]
[Prior art]
FIG. 8 is a block diagram showing a conventional robot control device disclosed in, for example, Japanese Patent Laid-Open No. 3-154103. In the figure, 101 is an operation control unit, 102 is an operation trajectory creation unit, 103 is an arrival position creation unit after a control cycle period, 104 is an arrival position modification unit after a control cycle period, 105 is an inverse conversion unit, and 106 is after a control cycle cycle. Command
[0003]
Next, the operation will be described. When the object on which the
[0004]
[Problems to be solved by the invention]
In the conventional robot control device, when the movement amount of the conveyor is changed, the follow-up delay amount acceleration correction processing unit adds the total delay amount within one control cycle period, and then performs averaging. There is a problem in that the movement of the robot becomes vibrational when the subsequent change in the amount of movement is not smooth, and when the follow-up starts or the speed of the conveyor changes abruptly.
[0005]
In addition, since the conveyor movement amount is averaged by the movement amount of the past several times, there is a problem that a delay due to the averaging occurs.
[0006]
The present invention has been made to solve the above-described problems, and provides a robot control device capable of performing high-speed and high-accuracy follow-up work even if the amount of movement in a transfer device such as a conveyor is large. It is for the purpose.
[0007]
[Means for Solving the Problems]
A robot control apparatus according to a first configuration of the present invention is a robot control apparatus that causes a robot to perform an operation while following a work object transferred by a transfer device.
A transport device position detector for detecting the position of the transport device;
A transfer device position generation unit that converts a position obtained by the transfer device position detection unit and generates a virtual transfer device position;
Generates a robot command value obtained by the transfer device position generation unitVirtual transport device position, an integer that is added in order at every control cycle interval i Identified byThe position of the virtual transfer device at the current time ti,Virtual transfer device position at time ti-1 one control cycle before time tiWhenThe amount of movement dC that the transport device has moved in one control cycle from the difference betweeniA transfer device movement amount generation unit for generating
A tracking error storage unit that stores a tracking error of the robot with respect to the transfer device;
Movement amount dC generated by the transfer device movement amount generation unitiThe amount of movement dC obtained before one control cyclei-1And the next control cycle estimated movement amount from the correction coefficient a and Vc = dCi+ A × (dCi-DCi-1), The tracking delay correction amount for correcting the tracking delay of the robot is obtained by the product of the estimated movement amount Vc of the next control cycle and the tracking delay correction coefficient b, and is stored in the tracking delay correction amount and the tracking error storage unit. A tracking delay correction unit that generates a tracking target movement amount by the sum of the tracking error, and
Three-dimensional from the following target movement amount generated by the following delay correction unit, the following movement amount generated one control period before the robot, the next control period estimated movement amount, the one control period following acceleration amount or the deceleration amount of the robot The follow-up movement amount Vn of the next control cycle, which is data, is obtained, and the component of each coordinate axis of the follow-up movement amount Vn of the next control cycle falls within the range of the next control cycle maximum follow-up movement amount and the next control cycle minimum follow-up movement amount. A follow-up movement amount generation unit for generating a follow-up movement amount Vn of the next robot,
An operation control unit that generates an operation command value according to the operation program of the robot;
A command pulse generator for adding a follow-up movement amount generated by the follow-up movement amount generator to a motion command value generated by the operation controller, and generating a command value for the robot;
A servo control unit for controlling the servo motor from the command value generated by the command pulse generation unit and operating the robot;
A robot control device comprising:
[0008]
In the robot control apparatus according to the second configuration of the present invention, the tracking delay correction coefficient of the tracking delay correction unitb is a
[0010]
In addition, the present invention3The robot control device having the configuration includes a storage area for storing correction data for each state of the transfer device or the robot, and the follow-up delay correction amount of the robot isthe aboveIt is configured to be determined by correction data for each state of the transfer device or the robot.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram for explaining a robot control apparatus according to Embodiment 1 for carrying out the present invention. In the figure, 1 is a robot, 2 is a robot control device, 3 is a conveyor which is a transfer device for transferring a work object (hereinafter referred to as a workpiece) W, and 4 is a conveyor encoder which detects the amount of movement of the conveyor. An
[0014]
Next, the operation will be described. When it is detected that the workpiece W is carried by the conveyor 3 and has entered the movement range of the robot by a sensor (not shown) such as a photoelectric sensor or an image sensor, the following operation is started as follows. Simultaneously with the operation of the conveyor 3, the conveyor encoder 4 also rotates to generate pulses. The generated pulses are counted by the encoder
[0015]
The virtual encoder value is obtained as follows. The current time is ti, The time before one control cycle is ti-1, The time after one control cycle is ti + 1And time ti-1, TiEncoder values of Ei-1, Ei, F is the virtual encoder valuei-1, FiAnd If the maximum and minimum values of the virtual encoder value are Fmax and Fmin, FiThe value of
Fi=F i-1 + F (Ei-Ei-1)
[0016]
Where f (xi) Is a filter function, which is selected according to the state of speed fluctuation of the conveyor. For example, if there is not much fluctuation in the speed of the conveyor and the robot does not vibrate, there is no filter.
f (xi) = Xi
[0017]
When the frequency of change of the conveyor is high and the robot operation becomes oscillating, for example, the following equation (1) of the averaging function is used.
[0018]
[Expression 1]
[0019]
Here, m is a positive integer. When the vibration is small, the value of m is set small, and when the vibration is large, the value of m is set large.
[0020]
F calculated as aboveiOn the other hand, FiExceeds the maximum value Fmax,
Fi= Fi-Fmax + Fmin
FiIs less than the minimum value Fmin,
Fi= Fi+ Fmax-Fmin
And Fmax and Fmin can be set freely. With the 16-bit counter, if the encoder rotates more than 65535 pulses during workpiece transfer, overflow will occur and the position will not be manageable, but by setting Fmax and Fmin large, it is possible to handle long conveyors. It becomes.
[0021]
In the conveyor movement
[0022]
In the follow-up
Vc = dCi+ A × (dCi-DCi-1)
Where a is a correction coefficient and dCi-1Is the time ti-2To ti-1Is the amount of movement of the conveyor. The value of a is determined according to the speed fluctuation of the conveyor. When there is almost no change in the speed of the conveyor, a = 0 is set, and the estimated conveyor movement amount Vc is obtained assuming that the conveyor operates at the same speed as the current speed. When the speed fluctuation is large and the deviation becomes large, it is possible to correct the deviation due to the speed fluctuation by setting a = 1.0. When the movement of the robot is vibrated due to speed fluctuation, setting a to a negative value, for example, a = −0.5, has an effect of suppressing vibration.
[0023]
Next, follow-up delay correction amount dDi + 1Is obtained by the following equation.
dDi + 1= B x Vc
b is a follow-up delay correction coefficient, and is calculated by the following equation.
b = 1 / (KT) + c + 1
Here, K is the control gain of the position loop of the servo motor, T is the control cycle of the robot, c is the control from when the command value is generated by the command
[0024]
If the tracking error does not occur even if the conveyor speed changes after the above correction, the value b may be used, but if the tracking error changes, it can be corrected as follows. When a delay of x1 [mm] occurs when the conveyor speed is v1 [mm / s] and x2 [mm] occurs when v2 [mm / s], the following equation may be used instead of the above b.
b = 1 / (KT) + c + (x2-x1) / ((v2-v1) T) +1
[0025]
Next, the generated tracking delay correction amount dDi + 1Based on the robot movement target movement amount Di + 1Ask for. First, the previous tracking error RiIs read from the tracking error
Di + 1= DDi + 1+ Ri
[0026]
In the follow-up movement
[0027]
First, in ST1, it is determined whether the previous control period follow-up movement amount vr of the robot is positive or negative. If positive, the process proceeds to step ST2 according to the flow shown in FIG. The detailed procedure of ST30 is shown in FIG. In step ST2, when the robot accelerates or decelerates in the next control cycle,Maximum follow-up movement amount for the next control cycleva,Next control cycle minimum follow-up travelvd is obtained by the following equation.
va = vr + acc
vd = vr-dec
Here, acc and dec are a control period tracking acceleration amount and a deceleration amount, respectively, and both are positive values. These values are determined in consideration of the characteristics of the robot. Next control cycle maximum obtained in this wayFollowingThe movement amount va is compared with the maximum movement amount vmax in one control cycle of the robot. When va is larger than vmax, va = vmax is set.
[0028]
In step ST3, the estimated movement amount vc of the conveyor and the previous control period tracking movement amount vr of the robot are compared. If vc is larger, the robot must be accelerated, so in step ST4, acc is set to the acceleration / deceleration speed ad. If vr is larger, the robot must decelerate, so -dec is set to the acceleration / deceleration ad.
[0029]
In step ST5, the control cycle number n required for the conveyor and the robot to reach the same speed is obtained by the following equation.
n = int ((vc-vr) / ad)
Here, int (x) is a function for obtaining the maximum integer not exceeding x. If n is a positive integer other than 0 in step ST16, the process proceeds to step ST7, where the robot follow-up movement amount vn in the next control cycle necessary for the robot to move the follow-up target movement amount d after n control cycles is expressed by the following equation. Ask.
vn = (d + vc × (n−1)) / n− (n−1) × ad / 2
[0030]
If n is 0 in step ST16, the robot and the conveyor are at the same speed, so the robot follow-up movement amount vn in the next control cycle is set to vn = d in step ST11.
[0031]
In step ST8, vn obtained in steps ST7 and ST11 is compared with the next control cycle maximum follow-up movement amount va obtained in step ST2. When vn is larger than va, acceleration is not accelerated beyond a preset acceleration. To vn = va. If it is smaller, the process proceeds to step ST12, where vn is compared with the next control cycle minimum follow-up movement amount vd. When vn is smaller than vd, it is corrected to vn = vd so as not to decelerate more than a preset deceleration. If vn is larger, the value without modification is used as the follow-up movement amount of the next control cycle.
[0032]
On the other hand, if vr is 0 or less in step ST1, the conveyor and the robot are operating in opposite directions, or the robot is stopped, and the process proceeds to ST30. FIG. 3 shows a processing procedure in ST30.
[0033]
In step ST14, the next control cycle maximum follow-up movement amount va and the next control cycle minimum follow-up movement amount vd of the robot are obtained by the following equations.
va = vr-acc
vd = vr + dec
However, when va is larger than the robot maximum follow-up movement amount vmax, va = −vmax.
[0034]
Next, in step ST15, the number n of control cycles required until the conveyor and the robot reach the same speed is obtained by the following equation.
na = int (abs (vc / acc)) + 1
nd = int (abs (vr / dec))
n = na + nd
Here, abs (x) is a function for obtaining the absolute value of x, na is the number of control cycles until the robot reaches the speed of the conveyor from the
[0035]
In step ST16, it is determined whether or not nd is a positive integer that is not 0. If it is a positive integer that is not 0, the process proceeds to step ST17, and if it is 0, the process proceeds to step ST20.
[0036]
In step ST17, the following control cycle robot follow-up movement amount vn necessary for the robot to catch up with the workpiece in the control cycle n is obtained from the following equation.
xc = d + vc × (n−1)
xr = na * (na-1) * acc / 2
vn = (xc−xr) / nd− (nd−1) × dec / 2
Here, xc and xr are the movement amounts of the workpiece and the robot until n control cycles, respectively.
[0037]
If nd is 0 in step ST16, the process proceeds to step ST20, where vc and the next control cycle minimum follow-up movement amount vd are compared. If vc is larger, the process proceeds to step ST21, and if not, the process proceeds to step ST22.
[0038]
In step ST21, vn is obtained by the following equation.
n = int ((vc−vd) / acc) +1
xc = d + vc × (n−1)
vn = xc / n-acc.times. (n-1) / 2
Here, xc is the amount that the work moves before the robot catches up with the work.
[0039]
On the other hand, if vc is equal to or smaller than vd in step ST20, the robot and the conveyor are considered to be at the same speed, so vn = d.
[0040]
In step ST18, vn and va are compared. If vn is smaller than va, the process proceeds to step ST19, and the value of vn is corrected to va. If vn is not smaller than va in step ST18, the process proceeds to step ST23 where vn and vd are compared. In step ST23, if vn is larger than vd, the value of vn is modified to vd in step ST24. When vn is not larger than vd, the value of vn obtained in steps ST17, ST21, ST22 is used as it is.
[0041]
The robot follow-up movement amount Vn obtained as described above is output to the
Ri + 1= Ri+ DCi-Vn
[0042]
The
[0043]
FIG. 4 is an explanatory diagram showing changes in the conveyor speed and the follow-up speed of the robot. In the figure, vc represents the conveyor speed, and vr represents the follow-up speed of the robot. At time t0, the robot starts following work on the conveyor, and in order to recover the follow-up delay, the following speed in the next control cycle is obtained for each control cycle until time t1 and accelerated. When the follow-up speed of the next control cycle is calculated at time t1, if acceleration is continued as it is, the target position on the conveyor is overtaken, so deceleration is started. At time t2, since the speed of the conveyor has changed from v1 to v2, the robot follow-up speed is accelerated again. At time t3, the speed starts to decelerate so as not to overtake the target position, and catches up with the conveyor at time t4.
[0044]
In the first embodiment, the follow-up movement amount is determined in consideration of the maximum speed at which the robot can operate and the maximum acceleration / deceleration (acceleration pattern, deceleration pattern). It is possible to follow the workpiece. In the first embodiment, an example in which one control cycle follow acceleration amount and deceleration amount are used as the acceleration pattern and deceleration pattern has been shown, but acceleration time and deceleration time may be used. If the maximum robot speed is sufficiently higher than the conveyor speed, the follow-up movement amount may be determined without considering the maximum robot speed.
[0045]
In addition, since the acceleration / deceleration is smoothly performed, it is possible to follow without causing vibration, and the follow-up work can be performed with high accuracy.
[0046]
Moreover, since the maximum value and the minimum value of the conveyor encoder can be determined freely, it is possible to follow the work on a long conveyor. Furthermore, since the encoder value can be filtered, it is possible to smoothly follow even if the conveyor is vibrating.
[0047]
In the first embodiment, the follow-up
b = (b2-b1) (x-x1) / (x2-x1) + b1
By obtaining the correction amount using the value of b, it is possible to eliminate the tracking error due to the position of the robot. In the first embodiment, the correction amount is obtained for each position and posture of the robot. However, an amount representing the state of the robot or an amount representing the state such as the speed of the conveyor may be used.
[0048]
Further, in the first embodiment, it is needless to say that the same effect can be obtained even when the tracking
[0049]
In the first embodiment, the robot follow-up movement amount generated by the transient follow-up delay correction
[0050]
In the first embodiment, the virtual encoder
[0051]
In the first embodiment, the case where the position of the conveyor is grasped by the conveyor encoder and the work is performed while following the conveyor has been described. However, when the work is carried by a transfer device other than the conveyor, for example, an xy table or another robot. However, the follow-up operation can be performed in the same manner by directly inputting those current positions to the controller.
[0052]
FIG. 7 is a diagram for explaining a robot control apparatus according to
[0053]
Next, the operation will be described. The conveyor encoder 4, the encoder
[0054]
The
[0055]
The joint tracking
[0056]
Output to the
[0057]
In the second embodiment, since the delay amount is corrected for each joint, a more accurate follow-up operation is possible.
[0058]
In the second embodiment, the position of the conveyor is grasped by the conveyor encoder and the work is performed while following the conveyor. However, the conveyor is transported by a transport device other than the conveyor, for example, an xy table or another robot. Even when the current position is directly input to the controller, the following operation can be performed in the same manner.
[0059]
According to the robot controller of the first configuration of the present invention,Considering the maximum operating speed and maximum acceleration / deceleration of the robot,Determine the amount of follow-up movementI did soThere is an effect that the follow-up work can be performed at high speed.In addition, since the acceleration / deceleration is smoothly performed, it is possible to follow without causing vibration, and the following work can be performed with high accuracy.
[0061]
In addition, the present invention2According to the robot control apparatus having the above configuration, when the steady tracking error is corrected, the correction coefficient is determined from the control gain of the servo motor, so that it is possible to easily realize a highly accurate tracking work. .
[0062]
In addition, the present invention3According to the robot controller configured as described above, the correction data for each speed and position and orientation of the robot stored in the storage area in advance by the follow-up delay correction unit.ForSince the tracking correction is performed, there is an effect that the tracking operation with high accuracy can be performed regardless of the speed fluctuation of the transfer device and the position and orientation of the robot.
[Brief description of the drawings]
FIG. 1 is a configuration diagram for explaining a robot control apparatus according to
FIG. 2 is a flowchart for explaining a procedure for generating a follow-up movement amount according to
FIG. 3 is a flowchart for explaining a procedure for generating a follow-up movement amount according to
FIG. 4 is a diagram for explaining the relationship between the speed and time of a robot and a transfer device according to
FIG. 5 is a diagram for explaining a storage area for tracking correction data according to
FIG. 6 is a configuration diagram for explaining a robot control apparatus according to
FIG. 7 is a configuration diagram for explaining a robot control apparatus according to a second embodiment of the present invention.
FIG. 8 is a configuration diagram for explaining a conventional robot control device.
[Explanation of symbols]
DESCRIPTION OF
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を生成する追従移動量生成部と、
前記ロボットの動作プログラムに従った動作指令値を生成する動作制御部と、
該動作制御部で生成された動作指令値に前記追従移動量生成部で生成された追従移動量を加え、ロボットへの指令値を生成する指令パルス生成部と、
前記指令パルス生成部で生成した指令値からサーボモータを制御しロボットを動作させるサーボ制御部と、
を備えたことを特徴とするロボット制御装置。In a robot control apparatus that causes a robot to perform work while following a work object conveyed by a conveyance apparatus,
A transport device position detector for detecting the position of the transport device;
A transfer device position generation unit that converts a position obtained by the transfer device position detection unit and generates a virtual transfer device position;
A virtual transport device position to generate a command value obtained robot by said conveying device position determining unit, the virtual transport device the position of the current time ti identified by an integer i which is assigned in the order for each control period interval When a conveying device moving amount generating unit for generating a movement amount dC i where the conveyance device from the difference between the virtual transport device located on the first control peripheral period has moved at time ti-1 of one control period before the time ti,
A tracking error storage unit that stores a tracking error of the robot with respect to the transfer device;
From the movement amount dC i generated by the transfer device movement amount generation unit, the movement amount dC i-1 obtained one control period before, and the correction coefficient a, the next control period estimated movement amount is calculated as Vc = dC i + a × (dC i -DC i-1 ), a follow-up delay correction amount for correcting the follow-up delay of the robot is obtained by the product of the estimated movement amount Vc of the next control cycle and the follow-up delay correction coefficient b, and the follow-up delay correction amount and the follow-up error memory are obtained. A tracking delay correction unit that generates a tracking target movement amount by the sum of the tracking error stored in the unit,
Three-dimensional from the following target movement amount generated by the following delay correction unit, the following movement amount generated one control period before the robot, the next control period estimated movement amount, the one control period following acceleration amount or the deceleration amount of the robot The follow-up movement amount Vn of the next control cycle, which is data, is obtained, and the component of each coordinate axis of the follow-up movement amount Vn of the next control cycle falls within the range of the next control cycle maximum follow-up movement amount and the next control cycle minimum follow-up movement amount. A follow-up movement amount generation unit for generating a follow-up movement amount Vn of the next robot,
An operation control unit that generates an operation command value according to the operation program of the robot;
A command pulse generator for adding a follow-up movement amount generated by the follow-up movement amount generator to a motion command value generated by the operation controller, and generating a command value for the robot;
A servo control unit for controlling the servo motor from the command value generated by the command pulse generation unit and operating the robot;
A robot control device comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000181186A JP4170564B2 (en) | 2000-06-16 | 2000-06-16 | Robot controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000181186A JP4170564B2 (en) | 2000-06-16 | 2000-06-16 | Robot controller |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007193120A Division JP2007290128A (en) | 2007-07-25 | 2007-07-25 | Robot controller |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2001353677A JP2001353677A (en) | 2001-12-25 |
| JP2001353677A5 JP2001353677A5 (en) | 2004-10-28 |
| JP4170564B2 true JP4170564B2 (en) | 2008-10-22 |
Family
ID=18682159
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000181186A Expired - Lifetime JP4170564B2 (en) | 2000-06-16 | 2000-06-16 | Robot controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4170564B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4258262B2 (en) | 2003-04-22 | 2009-04-30 | 株式会社安川電機 | Twin synchronous control method and apparatus |
| JP6748126B2 (en) * | 2018-02-08 | 2020-08-26 | ファナック株式会社 | Work robot system |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62277289A (en) * | 1986-05-26 | 1987-12-02 | 株式会社東芝 | Follow-up controller |
| JPH10105217A (en) * | 1996-09-27 | 1998-04-24 | Mitsubishi Electric Corp | Robot tracking control method and robot control system |
-
2000
- 2000-06-16 JP JP2000181186A patent/JP4170564B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001353677A (en) | 2001-12-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9724825B2 (en) | Robot controller for robot which sets two objects in combined state | |
| EP0130570B1 (en) | Method and apparatus for controlling a robot hand along a predetermined path | |
| US20200238530A1 (en) | Robot system, method for controlling robot, robot controller, and non-transitory computer-readable storage medium | |
| JPH0866893A (en) | Collision detecting method | |
| JP3840429B2 (en) | Position control device | |
| JP2902205B2 (en) | Spatial error correction device | |
| JP2007290128A (en) | Robot controller | |
| US12515343B2 (en) | Following robot | |
| JPH10105217A (en) | Robot tracking control method and robot control system | |
| JP4170564B2 (en) | Robot controller | |
| CN116909263A (en) | Path generation method and robot control system | |
| JP3599849B2 (en) | Distribution method of movement command in servo control | |
| JPH11254353A (en) | Control system for remote operation | |
| CN110262291B (en) | Control device, control method, and storage medium | |
| JP2830205B2 (en) | Robot control device | |
| JPH0933369A (en) | Detecting method for external force and external torque of electric motor system, and device therefor | |
| JPH05324044A (en) | Robot trajectory control method | |
| JP2552266B2 (en) | Robot adaptive control method | |
| JP5206212B2 (en) | Position control device | |
| JPH0732277A (en) | Control device of robot | |
| JP3388426B2 (en) | Pulse train control method of motor that enables arbitrary interpolation | |
| JPS6246003B2 (en) | ||
| JPH11198072A (en) | Minimum time speed control device for robot | |
| JPS61114304A (en) | Digital controller | |
| JPH06556A (en) | Feeder controller for press |
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 |