Nothing Special   »   [go: up one dir, main page]

JPH05324086A - サーボモータの制御方式 - Google Patents

サーボモータの制御方式

Info

Publication number
JPH05324086A
JPH05324086A JP15408592A JP15408592A JPH05324086A JP H05324086 A JPH05324086 A JP H05324086A JP 15408592 A JP15408592 A JP 15408592A JP 15408592 A JP15408592 A JP 15408592A JP H05324086 A JPH05324086 A JP H05324086A
Authority
JP
Japan
Prior art keywords
value
cycle
command
feedforward
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP15408592A
Other languages
English (en)
Inventor
Heisuke Iwashita
平輔 岩下
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP15408592A priority Critical patent/JPH05324086A/ja
Priority to EP19930911992 priority patent/EP0596141A4/en
Priority to PCT/JP1993/000618 priority patent/WO1993024875A1/ja
Publication of JPH05324086A publication Critical patent/JPH05324086A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41428Feedforward of position and speed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41429Mean value of previous feedforward values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41433Advance feedforward as function of delay rising torque, for large acceleration changes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43048Step change in reference, soft start, smoothing reference

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position Or Direction (AREA)
  • Feedback Control In General (AREA)

Abstract

(57)【要約】 【目的】 指令の加速度変化が大きいときに、サーボ系
のトルクの立ち上がりの遅れを補償し位置誤差を小さく
する。 【構成】 位置・速度ループ処理周期毎、先行スムージ
ング処理(7)を行い先行スムージングデータSMDを
求める。先行スムージングデータSMDよりフィードォ
ワード量FFpを求める。位置ループで求められた速度
指令にフィードワード量FFpを加算しフィードフォワ
ード制御を行う。このフィードフォワード制御のとき、
指令の加速度変化が大きいとき、フィードフォワード量
を求めるときのパラメータkを大きくして、フィードフ
ォワード制御を時間的に進めた形として、トルクの立ち
上がりの遅れを補正する。これにより、位置誤差を小さ
くする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、工作機械の送り軸やロ
ボットのアームを駆動するサーボモータの制御方式に関
する。
【0002】
【従来の技術】サーボモータを用いて工作機械の送り軸
やロボットのアームなどを制御するとき、位置偏差量を
低減させるためにフィードフォワード制御が行われる。
特に、工作機械で高速切削を行う場合、サーボ系の追従
遅れによる形状誤差が生じる。そのため、この形状誤差
を少くするため位置ループにフィードフォワードをかけ
ることがある。すなわち、位置,速度処理周期毎、移動
指令を微分して、この微分値にフィードフォワード係数
を乗じた値を通常の位置ループ処理で得られた速度指令
に加算して、この加算値を速度指令とするフィードフォ
ワード制御を行い、位置偏差を低減させ、サーボ遅れを
補正している。
【0003】しかし、数値制御装置等からサーボ回路
側、即ち、位置ループに移動指令が受け渡しされる分配
周期(ITP周期)は8msec程度であり、サーボ回
路内部での位置ループ,速度ループの周期は2msec
或いは1msecである。そして、位置ループでは上記
数値制御装置から移動指令が受け渡されるITP周期を
位置ループ周期で分割し、分割した各位置ループ周期に
おける移動指令が均等になるように制御している。その
ため、数値制御装置から出力される移動指令に加減速時
定数を与えて出力されるようにしても、位置ループでは
各ITP周期内における位置・速度ループ処理周期Ts
毎の各位置ループ処理での移動指令が均等になるように
制御されるから、ITP周期が変る位置ループ処理の移
動指令間にのみ移動指令に大きな段差が生じる。これが
フィードフォワード項で微分されて大きな値となり、速
度指令は高周波成分を含むこととなり、速度ループで追
従できなくなって、位置偏差にうねりが生じ、モータや
機械の動きに大きなショックを発生させる原因となる。
そこでこの欠点を解消するために、位置の制御,さらに
は速度の制御のフィードフォワードの項に加減速処理を
挿入し、上記うねりを解消させるスムージング操作(平
滑処理)を行うサーボモータの制御方式を本願発明の発
明者は提案し、特開平3−15911号公報によって公
開されている。
【0004】しかし、上記スムージング操作は、時間的
に過去のデータを平均化するものであり、位置ループ制
御系では加減速時に位置偏差のうねり等を生じてしまう
という問題がある。そこで、本願発明者等はさらに改良
を重ね、当該ITP周期よりも後(未来)に出力される
移動指令をも利用して当該位置・速度ループ周期の移動
指令の前後の位置・速度ループ周期の移動指令を平均化
する先行スムージング方式を用い、この先行スムージン
グ方式で得られた値をフィードフォワード量として通常
の位置ループ処理で得られる速度指令に加算するように
した方式を開発し(特願平2−301154号,特願平
3−149614号,特願平3−255977号等参
照)、上記問題点を解決した。
【0005】すなわち、先行スムージング処理で次の1
式の演算を行い移動指令の平均値を求め、この平均値に
フィードフォワード係数αを乗じて位置のフィードフォ
ワード量としていた。
【0006】 平均値=Zd (1+Z-1+…+Z-(N-1))・(移動指令量)/N …(1) なお、NはITP周期を位置・速度ループの周期で割っ
た値、Z-1は1位置・速度ループ処理周期の遅れを示
し、Zd は進め要素であり、上記Nの約1/2の値がと
られ、N=8であるとdは「3」若しくは「4」の値に
される。またN=4の時にはd=1または2に設定され
る。
【0007】また、上記1式と同等なスムージングデー
タを得る先行スムージング処理として、当該ITP周期
と前後のITP周期の移動指令を利用するものも、上記
特願平3−149614号,特願平3−255977号
で提案している。
【0008】
【発明が解決しようとする課題】本発明は、詳述したフ
ィードフォワード制御の改良に関するもので、指令の加
速度が大きく変化した場合、すなわち、ITP周期毎に
出力されいる移動指令の差が大きく変化したとき(IT
P周期毎の移動指令は、所定時間(ITP周期)におけ
る移動指令であるから、速度を意味し、この速度の差が
変化が大きいということは、指令の加速度が大きく変化
したことを意味する)、サーボモータのトルクの立ち上
がりが遅れることから、位置誤差が生じる。そこで、本
願発明は、このような場合において、サーボ系のトルク
の立ち上がりの遅れを補償し位置誤差を小さくすること
を目的とするものである。
【0009】
【問題を解決するための手段】本発明は、位置のフィー
ドフォワード制御を行ってサーボモータを制御する制御
方式において、指令の加速度変化の大きさを検出し、該
加速度変化の大きさが設定値以上のとき、フィードフォ
ワード量を設定時間だけ時間的に進めてフィードフォワ
ード制御を行う。
【0010】特に、先行スムージング処理を行いスムー
ジングデータを求め、該先行スムージング処理によって
求められた当該位置・速度ループ処理周期のスムージン
グデータをSMD0 ,1位置・速度ループ処理周期前の
スムージングデータをSMD1 ,フィードフォワード係
数をαとし、上記加速度変化の大きさが設定値より小さ
いときには、パラメータkの値をk1とし、加速度変化
の大きさが設定値以上のときには、設定時間だけパラメ
ータkの値をk1より所定量大きいk2の値にして、次
の演算を行い、 FFp=α{k・SMD0 +(1−k)SMD1 } フィードフォワード量FFpを求め、速度指令を補正し
てサーボモータのフィードォワード制御を行い、指令の
加速度変化が大きいときに生じる指令に対する実際の移
動軌跡の誤差を小さくした。また、フィードォワード量
FFpを次の式で求めるときには、上記加速度変化の大
きさが設定値より小さいときには、パラメータkの値を
k1とし、加速度変化の大きさが設定値以上のときに
は、設定時間だけパラメータkの値をk1より所定量小
さいk3の値にして求める。
【0011】 FFp=α{(1−k)・SMD0 +k・SMD1 }
【0012】
【作用】指令の加速時変化が設定値以上の場合には、設
定所定時間フィードフォワード量は時間的に進められ、
フィードフォワード制御されるから、フィードフォワー
ド量によってサーボ系の遅れに対応する分先行して補償
され、応答が良くなるために、指令に対する実際の移動
軌跡の誤差は少なくなる。
【0013】
【実施例】図1は本発明の一実施例におけるフィードフ
ォワード制御を行なうサーボ系のブロック図で、1はC
NC(コンピュータ内蔵の数値制御装置)から分配周期
(ITP周期)毎送られてくる移動指令MCMDを位置
・速度ループ処理周期毎の移動指令に分割するDDA
(Digital Differential Ana
lyzer)、2は該DDA1から出力される移動指令
を加算し、各位置・速度ループ処理周期毎のサーボモー
タの移動量を減じて位置偏差を求めるエラーカウンタ、
3はエラーカウンタ2に記憶する位置偏差にポジション
ゲインKpを乗じて速度指令を求める項、4は速度ルー
プの項でk1は積分定数、k2は比例定数である。5,
6はサーボモータの伝達関数の項で、Ktはトルク定
数,Jmはモータイナーシャである。10,11はサー
ボモータに結合された機械の伝達関数の項で、Kmはバ
ネ定数,Cmは粘性項,JL は機械のイナーシャであ
る。さらに、12は速度を位置に変換する伝達関数の項
である。
【0014】また、7は上述した従来から行われている
先行スムージング手段の項、8は先行スムージング手段
によって得られた先行スムージングデータSMDより位
置のフィードフォワード量FFpを求める項で、kはサ
ーボモータに接続される機械の特性,後述する加速度変
化に応じて調整されるパラメータであり、αは位置のフ
ィードフォワード係数である。9は先行スムージングデ
ータSMDを微分して、すなわち、当該周期と1周期前
とのスムージングデータSMDの差を求め、速度のフィ
ードフォワード量FFvを求める項である。なお、Ts
は位置・速度ループの周期である。
【0015】ITP周期毎、CNC等の数値制御装置か
ら移動指令MCMDが出力され、DDA1によって位置
・速度ループ処理周期Ts毎の移動指令が求められる。
この移動指令と位置のフィードバック量よりエラーレジ
スタ2で位置偏差が求められ、この位置偏差にポジショ
ンゲインKpが乗じられて速度指令Vc1が従来と同様
に求められる。一方先行スムージング手段7によって上
記1式処理もしくは、当該ITP周期の移動指令MCM
Dと該ITP周期の前後のITP周期の移動指令MCM
Dによって従来と同様の方法によって先行スムージング
データSMDを求める。この先行スムージングデータS
MDに対して、指令の加速度変化がしきい値Aより小さ
いときには、次の2式の演算を行い、位置のフィードフ
ォワード量FFpが求め、指令の加速度変化がしきい値
A以上のときには設定所定時間のみ次の3式の演算を行
って位置のフィードフォワード量FFpを求め、以後は
2式により位置のフィードフォワード量FFpを求める
(項8の処理)。
【0016】指令の加速度変化が小さいとき、 FFp=α{ka+(1−ka)Z-1}・SMD =α{ka・SMD0 +(1−ka)SMD1 } …(2) 指令の加速度変化が大きいとき、 FFp=α{(ka+kb)+(1−ka−kb)Z-1}・SMD =α{(ka+kb)SMD0 +(1−ka−kb)SMD1 } …(3) なお、SMD0 は当該位置・速度ループ処理周期Tsで
算出された先行スムージングデータ、SMD1 は1周期
Ts前に算出された先行スムージングデータであり、指
令の加速度変化がしきい値A以上で大きいときには、指
令の加速度が小さいときと較べ、フィードフォワード量
FFpは、当該周期の先行スムージングデータSMD0
のkbだけ増加され、1周期Ts前に算出された先行ス
ムージングデータSMD1 のkbだけ減少され、結局フ
ィードフォワード量FFpは設定所定時間だけ、進めら
れることになる。
【0017】そして、上記位置ループ処理によって求め
られて速度指令Vc1に上記位置のフィードフォワード
量FFpを加算して位置のフィードフォワード制御が実
行された速度指令Vcを求める。この速度指令Vcから
サーボモータからの速度フィードバック量を減じて速度
偏差を求め従来と同様の速度ループ処理を実行しトルク
指令Tc1を求める。また、先行スムージングデータS
MDを微分(当該周期の先行スムージングデータから前
周期の先行スムージングデータを減じてこの微分値を得
る)して得られる値に、サーボモータのトルク定数K
t,イナーシャJm,該サーボモータに結合された機械
のイナーシャJL によって決まる定数(=(Jm+JL
)/Kt)及び速度フィードフォワード係数βを乗じ
て速度のフィードフォワード量FFvを求める。すなわ
ち、次の4式の演算を行って速度のフィードフォワード
量FFvを求める。 FFv={β(Jm+JL )/Kt}{(1−Z-1)/Ts}SMD ={β´(Jm+JL )/Kt}(SMD0 −SMD1 ) …(4) このフィードフォワード量FFvを上述した速度ループ
処理によって得られたトルク指令Tc1に加算し、速度
のフィードフォワード制御が行われたトルク指令Tcを
求め、該トルク指令Tcによってサーボモータを駆動す
るものである。
【0018】図2は、本発明を適用したサーボモータ制
御系のブロック図であり、構成は従来のデジタルサーボ
制御を行う装置と同一構成であるので、概略的に示して
いる。図2において、20はコンピュータを内蔵した数
値制御装置(CNC)、21は共有RAM、22はプロ
セッサ(CPU),ROM,RAM等を有するディジタ
ルサーボ回路、23はトランジスタインバータ等のサー
ボアンプ、Mはサーボモータ、24はサーボモータMの
回転と共にパルスを発生するパルスコーダである。な
お、図2には、1軸のサーボモータのみを示している。
【0019】CNC20はIPT周期(分配周期)毎に
移動指令MCMDを共有RAM21に書込み、ディジタ
ルサーボ回路22のCPUはこの移動指令MCMDを共
有RAM21から読取り、上記ITP周期をN個に分割
した周期Ts(ITP=Ts×N)で、位置・速度ルー
プ処理を行う。ITP周期毎、NC20から出力される
移動指令MCMDがITP周期中均等に分配されるよう
に位置・速度ループ処理Tsにおける移動指令を求め
(従来から公知のDDAの処理)、この移動指令とパル
スコーダ24からのフィードバックパルスによって得ら
れるサーボモータMの現在位置との差より位置ループ処
理を行うと共に、後述する位置のフィードフォワード制
御処理を行って速度指令を求め、次に、該速度指令とパ
ルスコーダ24からのフィードバックパルスによって得
られるサーボモータMの実速度より速度ループ処理、さ
らには速度のフィードフォワード処理を行い、トルク指
令(電流指令)を求める。そして、電流ループ処理を行
い、PWM指令を作成し、サーボアンプ23を介してサ
ーボモータMを駆動する。次に、本実施例の動作につい
て説明する。図3は、ディジタルサーボ回路22のCP
Uが実施するITP周期ごとの移動指令読み取り処理で
あり、図4は本発明の実施例における位置・速度ループ
処理周期Tsごとの位置ループ処理、速度ループ処理の
フローチャートである。
【0020】ディジタルサーボ回路22のCPUはIT
P周期毎、図3の処理を実行する。まず、CNC20か
ら指令された移動指令MCMDを共有メモリ21から読
み取り(ステップS1)、レジスタR3にレジスタR2
に記憶する値、レジスタR2にレジスタR1に記憶する
値、レジスタR1にステップS1で読み取った移動指令
MCMDを格納する(ステップS2)。後述するよう
に、通常の位置・速度ループの処理は上記レジスタR2
に記憶された移動指令MCMDの値によって実行される
ことになるため、移動指令MCMDは1つ先読みされる
ことになり、レジスタR1には、通常の位置・速度ルー
プの処理の1ITP周期先(未来)の移動指令MCMD
が記憶され、レジスタR2には、当該位置・速度ループ
の処理における移動指令MCMDが記憶され、レジスタ
R3には1ITP周期後(過去)の移動指令MCMDが
記憶されることになる。なお、レジスタR1〜R3は初
期設定で始めは「0」が格納されている。
【0021】次に、カウンタC1 を「0」にセットし
(ステップS3)、レジスタR1に記憶する値からレジ
スタR2に記憶する値を減じて、当該ITP周期の移動
指令MCMDと1ITP周期先(未来)の移動指令MC
MDの差を求め当該周期から次周期間における加速度を
求める。すなわち、ITP周期毎の移動指令は、所定時
間内の移動指令であるから速度を表すことになり、当該
周期と次周期の移動指令(速度)の差は、加速度を意味
する。同様にレジスタR2に記憶する値からレジスタR
3に記憶する値を減じて、1ITP周期前(過去)から
当該周期における加速度を求め、上記2つの加速度の差
の絶対値が設定されたしきい値A以上か否か判断し(ス
テップS4)、しきい値以上のときには、カウンタC2
に設定値Bを設定し当該ITP周期の処理を終了する。
また、しきい値Aより上記加速度の差が小さいときに
は、カウンタC2 をセットすることなくこの処理を終了
する。つまり、加速度変化がしきい値A以上で大きいと
きのみカウンタC2 はBの値にセットされる。以下各I
TP周期毎この処理を実行する。なお上記Bの値は、加
速度変化に対してサーボ系が遅れる時間(通常20〜3
0msec程度)に対応する値を設定する。
【0022】一方、位置・速度ループ処理周期毎ディジ
タルサーボ回路22のCPUは図4に示す処理を実行
し、まず、カウンタC1 の値が、ITP周期を位置・速
度ループ処理周期で除した値N(=ITP周期/位置・
速度ループ処理周期)の1/2より小さいか否か判断し
(ステップA1)、小さいならばアキュムレータSUM
にレジスタR2の値からレジスタR3の値を減じた値を
加算し(ステップA2)、また、カウンタCの値がN/
2以上であれば、アキュムレータSUMにレジスタR1
の値からレジスタR2の値を減じた値を加算し(ステッ
プA3)、ステップA4に移行する。なお、アキュムレ
ータSUMは初期設定で始めは「0」にされている。
【0023】ステップA4では上記アキュムレータSU
Mの値を上記分割数Nの2乗で除算し、先行スムージン
グデータSDM0 を求める。次に、カウンタC1 をイン
クリメントする(ステップA5)。このステップA1〜
A5までの処理が先行スムージングデータSDM0 を求
める処理である。この先行スムージング処理と上記1式
で示す先行スムージング処理は異なっている。すなわ
ち、1式で示す先行スムージング処理は位置・速度・ル
ープ毎の移動指令(DDA処理後の移動指令)に基づい
て先行スムージングデータSDM0 を求めるようになっ
ているが、この方法だと処理が複雑になることから(な
おこの処理で先行スムージングデータを求める処理は特
願平2−301154号,特願平3−255977号等
参照)、上述の処理によって求めるものである。なお、
上記1式で求める先行スムージングデータと上記ステッ
プSA1〜A5の処理で求める先行スムージングデータ
が実質的に同一であることは後述する。
【0024】次に、上記カウンタC2 が正であるか否か
判断し(ステップA6)、正でなければ、従来と同様
に、この当該周期で求められたスムージングデータSM
D0 とレジスタに記憶する位置・速度ループ処理の1周
期前のスムージングデータSMD1 より上記2式の演算
を行い、位置のフィードフォワード量FFpを求める
(ステップA7)。また、カウンタC2 の値が正のと
き、すなわつ、指令の加速度変化が大きく、しきい値A
以上でカウンタC2 が設定値Bに設定され、該カウンタ
C2 の値が正の場合には、該カウンタC2 から「1」を
減じ、上記3式の演算を行って位置のフィードフォワー
ド量FFpを求める(ステップA8,A9)。
【0025】次に、レジスタR2に格納された移動指令
MCMDに基づいてDDAの処理を行い位置・速度ルー
プ処理周期の移動指令を求める(ステップA10)。な
お、作動開始時の最初のITP1周期の期間は、レジス
タR2には移動指令MCMDが記憶されていないから、
位置・速度ループの移動指令は「0」である。すなわ
ち、スムージング処理及びフィードフォワード処理のみ
が1ITP周期先行して実行されることになる。このこ
とは、通常の位置・速度ループのの処理よりフィードフ
ォワー処理は1ITP周期先行していることを意味す
る。
【0026】ステップA10の処理で求められた位置・
速度ループ処理周期の移動指令及びパルスコーター24
からの位置のフィードバック量より、従来と同様の位置
ループ処理を行い速度指令Vc1を求め(ステップA1
1)、該速度指令にステップA7またはステップA9で
求めた位置のフィードフォワード量FFpを加算し、位
置のフィードフォワード処理をした速度指令Vcを求め
る(ステップA12)。この速度指令Vcと速度フィー
ドバック信号により従来と同様の速度ループ処理を行い
トルク指令Tc1を求める(ステップA10)。また、
当該周期で求めたスムージングデータSMD0 とレジス
タに記憶する前周期のスムージングデータSMD1 によ
り上記4式の演算を行い速度のフィードフォワード量F
Fvを求め(ステップA14)、この速度フィードフォ
ワード量FFvをステップA10で求めたトルク指令T
c1に加算し、速度フィードフォワード制御がされたト
ルク指令Tcを求め(ステップA15)、電流ループに
このトルク指令Tcを引き渡す(ステップA16)。そ
して、当該周期で求めたスムージングデータSMD0 を
次の周期で1周期Ts前のスムージングデータSMD1
として使用するためにレジスタに格納し(ステップA1
7)、当該位置・速度ループの処理を終了する。以下、
各位置・速度ループ処理周期Ts毎に図4に記載された
処理を実行する。
【0027】なお、上記各実施例においては、速度のフ
ィードフォワード制御も実施する例を述べたが、必ずし
も速度のフィードフォワード制御は実施しなくてもよ
い。
【0028】次に、先行スムージングデータを得る方法
として、上述した処理方法と1式によって求める方法が
実質的に同一であること1例をもって説明する。
【0029】ITP周期間に位置・速度ループが4回で
あるとし、すなわちN=4とし、1式の進め量、すなわ
ちdを2としたときの例で説明する。ITP周期のn周
期での移動指令MCMDが図5に示すようにQn で、n
=0までは、移動指令が「0」(Q0 =0)でn=1か
ら移動指令がQ1 ,Q2 …,Qn …であったとする。ま
た、DDAでの位置・速度ループでの移動指令は各周期
毎均等になるようにするものであるからQn /N=Qn
/4=qn であるとする。そうすると、上記(ステップ
SA1〜A5におけるカウンタC1 ,アキュムレータS
UM及び先行スムージングデータSMD0 は次のように
なる。 n MCMD C1 SUM SMD0 0 Q0 0 0+Q0-(Q-1)=0 SUM/42 =0 =0 1 0+Q0-(Q-1)=0 =0 2 0+Q1-Q0=Q1 4q1 /42 =q1/4 3 Q1+Q1-Q0=2Q1 2 ×4q1 /42 =2q1/4 1 Q1 0 2Q1+Q1-Q0=3Q1 3 ×4q1 /42 =3q1/4 1 3Q1+Q1-Q0=4Q1 4 ×4q1 /42 =q1 2 4Q1+Q2-Q1=3Q1+Q2 (3q1+q2)/4 3 3Q1+Q2+Q2-Q1=2Q1+2Q2 (2q1+2q2)/4 2 Q2 0 2Q1+2Q2+Q2-Q1=Q1+3Q2 (q1+3q2)/4 1 Q1+3Q2+Q2-Q1=4Q2 q2 2 4Q2+Q3-Q2=3Q2+Q3 (3q2+q3)/4 3 3Q2+Q3+Q3-Q2=2Q2+2Q3 (2q2+2q3)/4 3 Q3 0 2Q2+2Q3+Q3-Q2=Q2+3Q3 (q2+3q3)/4 1 Q2+3Q3+Q3-Q2=4Q3 q3 2 4Q3+Q4-Q3=3Q3+Q4 (3q3+q4)/4 3 3Q3+Q4+Q4-Q3=2Q3+2Q4 (2q3+2q4)/4 … n Qn 0 Qn-1+3Qn (qn-1+3qn)/4 1 4Qn qn 2 3Qn+Qn+1 (3qn+qn+1)/4 3 2Qn+2Qn+1 (2qn+2qn+1)/4 すなわち、ITP周期n周期の先行スムージングデータ
SMDは、1番目の位置・速度ループ周期では、 (qn-1 +3qn )/4 2番目の位置・速度ループ周期では、 qn 3番目の位置・速度ループ周期では、 (3qn +qn+1 )/4 4番目の位置・速度ループ周期では、 (2qn +2qn+1 )/4 となり、これは、当該位置・速度ループ周期の移動指令
に1つ前(過去)の移動指令,1つ及び2つ先(未来)
の移動指令を加算し4で除して先行スムージングデータ
SMDを求めていることを示している。
【0030】一方、1式で求められる先行スムージング
データSMDは次の5式となる。 SMD=Z2 (1+Z-1+Z-2+Z-3)qj /4 =(Z2 +Z1 +1+Z-1 )qj /4 ={q(j+2) +q(j+1) +qj +q(j-1) }/4 …(5) なお、上記5式でjは位置・速度ループの周期を示して
おり、5式からj番目の周期においては、当該周期jの
位置・速度ループの移動指令qj ,1つ前(過去)の移
動指令q(j-1) ,1つ及び2つ先(未来)の移動指令q
(j+1) ,q(j+2) を加算し4で除して先行スムージング
データSMDを求めていることを示しており、上記5式
で求める先行スムージングデータSMDと上記ステップ
A1〜A5で求める先行スムージングデータSMDは実
質的に同一であることを表している。
【0031】そこで、上記5式を用いて、位置のフィー
ドフォワード量FFpを表すとすると 位置・速度ルー
プ周期jの点での先行スムージングデータSDM0 は5
式より、 SMD0 ={q(j+2) +q(j+1) +qj +q(j-1) }/4 …(6) 該周期jより1周期前(j−1)の先行スムージングデ
ータSDM1 は次の7式となる。 SMD1 ={q(j+1) +q(j) +q(j-1) +q(j-2) }/4 …(7) よって位置のフィードフォワード量FFpは次のように
なる。 FFp=α{k・SMD0 +(1−k)SMD1 } =(α/4)[k{q(j+2) +q(j+1) +qj +q(j-1) } +(1−k){q(j+1) +q(j) +q(j-1) +q(j-2) }] =(α/4)[{q(j+1) +q(j) +q(j-1) +q(j-2) } +k{q(j+2) −q(j-2) }] …(8) そこで、図6に示すように、位置・速度ループがj周期
で、ITP周期の切換え直後の周期であるとすると、レ
ジスタR1には、1ITP周期先(未来)の移動指令Q
3が、レジスタR2には、当該位置・速度ループのに対
応するITP周期の移動指令Q2が、また、レジスタR
3には、1ITP周期後(過去)の移動指令Q1が格納
されていることになる。なお、Q1=Q2、ITP周期
を4分割(N=4)したときの位置・速度ループの移動
指令をそれぞれq1,q2,q3とする。ただしq1=
q2である。
【0032】j周期での位置・速度ループにおけるフィ
ードフォワード量FFpは上記8式より、 FFp=(α/4){q2+q2+q1+q1+k(q2−q1)} =α・q2 …(10) 同様に(j+1)の位置・速度ループ周期では、 FFp=(α/4){q2+q2+q2+q1+k(q2−q1)} =α・q2 (j+2)の位置・速度ループ周期では、 FFp=(α/4){q2+q2+q2+q2+k(q3−q2)} =(α/4){4q2+k(q3−q2)} (j+3)の位置・速度ループ周期では、 FFp=(α/4){q3+q2+q2+q2+k(q3−q2)} =(α/4){q3+3q2+k(q3−q2)} となる。
【0033】Q3の移動指令がQ1=Q2に対して小さ
く、指令の加速度変化がしきい値Aより小さいときには
上記kの値はkaである。しきい値A以上のときには、
k=ka+kbであり、指令の加速度変化が大きいか小
さいかによって、フィードフォワード量FFpは、周期
jと(j+1)のときには変わりはないが、周期(j+
2),(j+3)のとき変化が生じる。すなわち、指令
の加速度変化が大きいか小さいかによって、フィードフ
ォワード量FFpは、周期(j+2),(j+3)の
時、kb(q3−q2)だけの際が生じる。このこと
は、1ITP周期先(未来)の移動指令Q3が大きく、
加速された場合には、kb(q3−q2)だけ加速度変
化が大きくないときと比べフィードフォワード量が多く
なり、また、大きく減速されたときには、|kb(q3
−q2)|だけフィードフォワード量が減少させられる
ことを意味し、実質的にフィードフォワード制御が時間
的に進められたものに等しくなることを意味している。
【0034】また、フィードフォワード量FFpを次の
11式で求める方法もある。この場合には、指令の加速
度変化がしきい値Aより小さいときにはkの値をkaと
し、しきい値A以上のときには、k=ka−kcとして
フィードフォワード量FFpを求める。この場合も実質
的に上記実施例と同一の作用効果が得られる。
【0035】 FFp=α{(1−k)・SMD0 +k・SMD1 } …(11) なお、1ITP周期に対する位置・速度ループ処理周期
の数Nが4または8等と偶数の場合、先行スムージング
データSMDを求めるときに、N=4のときdの値が
「1」か「2」の値となり、N=8のときにはdの値が
「3」または「4」となり、ITP周期の中間点を取る
ことができず、先行スムージングデータSMDは時間的
に遅れたものか進んだものになる。そこで特願昭3−2
55977号に記載されているように、進んだ先行スム
ージングデータを求め(N=4のときd=2として求め
る)、該データと前位置・速度ループ周期で求めた先行
スムージングデータとの加重平均を求めることによって
等価的に時間遅れ及び進みがない先行スムージングデー
タを求めこれによりフィードフォワード量を求めるよう
にしてもよい。
【0036】図7と図8は本発明の効果をみるために実
験した実験結果データを表す図で、半径32mmの円弧を
切削する際に、移動速度は一定で点PまでY軸方向に沿
った直線指令を出し、点Pから円弧指令30を与えたと
きにおける切削軌跡を描画したものである。ただし、指
令に対し実際の軌跡との誤差をみるために実際の軌跡に
対しては半径方向に拡大している。そのため直線部の実
際の軌跡31はY軸方向と平行になっていない。図7は
従来のフィードフォワード制御によるもので、本願発明
のような指令の加速度変化が大きいときにフィードフォ
ワード指令を時間的に進めず、加速度変化に関係なくフ
ィードフォワード量を求めて制御する場合であり、図8
は本発明を実施したときの実験結果である。点Pから円
弧指令に変わると、X軸方向の速度は「0」から正弦波
的に増大し、また、Y軸方向はそれまでの速度(指令速
度)から正弦波的に減少する。すなわち、指令の加速度
変化は点Pにおいて急激に変化することになる。この加
速度変化が大きい点Pにおける実際の軌跡を図7と図8
を比較して分かるように、本願発明を実施した図8の方
が、指令に対する実際の軌跡の誤差は少なく、改善され
ていることが分かる。
【0037】
【発明の効果】本発明は、指令の加速度変化が大きいと
きには、フィードォワード量を時間的に進めてフィード
ォワード制御を行うから、位置・速度ループを制御して
いる分配周期(ITP周期)において、指令の加速度が
大きく変化したときに、その時点よりも進んだ指令によ
るフィードォワード量が加速度変化に応じて正,逆方向
に増大され、位置・速度ループ処理による指令トルクよ
りも先行してトルク指令を正,逆方向に増大させるか
ら、サーボ系の立ち上がりの遅れを補償する。その結
果、サーボモータで駆動される工作機械やロボットの移
動軌跡が急激に変化し各軸の加速度変化が大きいときに
生じていた位置誤差は少なくなる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるフィードフォワード
制御を行なうサーボ系のブロック図である。
【図2】本発明の方式を実施するサーボモータ制御系の
ブロック図である。
【図3】本発明の一実施例におけるITP(分配)周期
毎にディジタルサーボ回路のプロセッサが実施する処理
のフローチャートである。
【図4】本発明の実施例における位置・速度ループ処理
周期毎にディジタルサーボ回路のプロセッサが実施する
処理のフローチャートである。
【図5】本発明の実施例におけるスムージングデータを
求める処理における説明図である。
【図6】フィードフォワード量の説明図である。
【図7】従来のフィードフォワード制御によって直線切
削から円弧切削に変化したときの軌跡を求めた実験結果
を表す図である。
【図8】本発明によるフィードフォワード制御によって
直線切削から円弧切削に変化したときの軌跡を求めた実
験結果を表す図である。
【符号の説明】
FFp 位置のフィードフォワード量 FFv 速度のフィードフォワード量 k パラメータ Q ITP周期毎の移動指令 q 位置・速度ループ毎の移動指令 24 パルスコーダ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 位置のフィードフォワード制御を行って
    サーボモータを制御する制御方式において、指令の加速
    度変化の大きさを検出し、該加速度変化の大きさが設定
    値以上のとき、フィードフォワード量を設定時間だけ時
    間的に進めてフィードフォワード制御することを特徴と
    するサーボモータの制御方式。
  2. 【請求項2】 先行スムージング処理を行いスムージン
    グデータを求め、該先行スムージング処理によって求め
    られた当該位置・速度ループ処理周期のスムージングデ
    ータをSMD0 ,1位置・速度ループ処理周期前のスム
    ージングデータをSMD1 ,フィードフォワード係数を
    αとし、上記加速度変化の大きさが設定値より小さいと
    きには、パラメータkの値をk1とし、加速度変化の大
    きさが設定値以上のときには、設定時間だけパラメータ
    kの値をk1より大きいk2の値にして、次の演算を行
    い、 FFp=α{k・SMD0 +(1−k)SMD1 } フィードフォワード量FFpを求め、速度指令を補正し
    てサーボモータのフィードォワード制御を行う請求項1
    記載のサーボモータの制御方式。
  3. 【請求項3】 先行スムージング処理を行いスムージン
    グデータを求め、該先行スムージング処理によって求め
    られた当該位置・速度ループ処理周期のスムージングデ
    ータをSMD0 ,1位置・速度ループ処理周期前のスム
    ージングデータをSMD1 ,フィードフォワード係数を
    αとし、上記加速度変化の大きさが設定値より小さいと
    きには、パラメータkの値をk1とし、加速度変化の大
    きさが設定値以上のときには、設定時間だけパラメータ
    kの値をk1より小さいk3の値にして、次の演算を行
    い、 FFp=α{(1−k)・SMD0 +k・SMD1 } フィードフォワード量FFpを求め、速度指令を補正し
    てサーボモータのフィードォワード制御を行う請求項1
    記載のサーボモータの制御方式。
JP15408592A 1992-05-22 1992-05-22 サーボモータの制御方式 Pending JPH05324086A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP15408592A JPH05324086A (ja) 1992-05-22 1992-05-22 サーボモータの制御方式
EP19930911992 EP0596141A4 (en) 1992-05-22 1993-05-11 METHOD FOR CONTROLLING AN ACTUATOR.
PCT/JP1993/000618 WO1993024875A1 (en) 1992-05-22 1993-05-11 Control method for servomotor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15408592A JPH05324086A (ja) 1992-05-22 1992-05-22 サーボモータの制御方式

Publications (1)

Publication Number Publication Date
JPH05324086A true JPH05324086A (ja) 1993-12-07

Family

ID=15576567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15408592A Pending JPH05324086A (ja) 1992-05-22 1992-05-22 サーボモータの制御方式

Country Status (2)

Country Link
JP (1) JPH05324086A (ja)
WO (1) WO1993024875A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366576B2 (en) 2003-08-06 2008-04-29 Yamazaki Mazak Corporation Position control device and position control method for machine tools

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69939994D1 (de) * 1999-10-20 2009-01-08 Makino Milling Machine NC-Werkzeugmaschine und Steuerverfahren für eine NC-Werkzeugmaschine
CN114476864B (zh) * 2022-01-13 2024-05-10 北京精密机电控制设备研究所 一种机电伺服柔索驱动装置的控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157209A (ja) * 1986-12-20 1988-06-30 Mitsubishi Heavy Ind Ltd 数値制御工作機械の送り制御方法および送り制御装置
JPH01292405A (ja) * 1988-05-19 1989-11-24 Hitachi Ltd ディジタル位置サーボ装置
JP2762364B2 (ja) * 1989-03-20 1998-06-04 ファナック株式会社 サーボモータのフィードフォワード制御方法
JP2882863B2 (ja) * 1990-04-17 1999-04-12 三菱重工業株式会社 サーボ制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366576B2 (en) 2003-08-06 2008-04-29 Yamazaki Mazak Corporation Position control device and position control method for machine tools
CN100441374C (zh) * 2003-08-06 2008-12-10 山崎马扎克公司 用于机床的位置控制设备和位置控制方法

Also Published As

Publication number Publication date
WO1993024875A1 (en) 1993-12-09

Similar Documents

Publication Publication Date Title
US5107193A (en) Feedforward control apparatus for a servomotor
US5654619A (en) Method of feedforward control for servomotor
JP3129622B2 (ja) フルクローズド・ループ方式における象限突起補正方法
US5637969A (en) Vibration control method
US5986422A (en) Control mode changing over method for servo control system
JP2875646B2 (ja) バックラッシ加速補正装置
CN112180835B (zh) 轨迹信息确定方法及装置
JP3481004B2 (ja) 外乱オブザーバを使用したバックラッシュ補正方法
JP2709773B2 (ja) サーボモータの制御方式
KR20030036802A (ko) 서보 제어방법
JPH05324086A (ja) サーボモータの制御方式
JP3599849B2 (ja) サーボ制御における移動指令の分配方法
JP2826391B2 (ja) バックラッシ加速制御方法
JPH0392911A (ja) スライディングモード制御によるロボット制御方法
Van Willigenburg Computation and implementation of digital time-optimal feedback controllers for an industrial XY robot subjected to path, torque, and velocity constraints
JPH04142604A (ja) サーボモータの制御方式
JP3308656B2 (ja) サーボモータの制御方法
JP2709766B2 (ja) サーボモータのフィードフォワード制御方式
JP3121920B2 (ja) 加減速制御装置
JPH10149210A (ja) 位置決め制御系の指令作成方法
EP0596141A1 (en) Control method for servomotor
JP3019192B2 (ja) バックラッシ補正方式
JP3199769B2 (ja) サーボ制御装置
JP3197898B2 (ja) サーボモータの制御方式
JPH0655412A (ja) 工作機械におけるピッチ誤差補正方法