JPH0519861A - サーボモータのフイードフオワード制御方式 - Google Patents
サーボモータのフイードフオワード制御方式Info
- Publication number
- JPH0519861A JPH0519861A JP3255977A JP25597791A JPH0519861A JP H0519861 A JPH0519861 A JP H0519861A JP 3255977 A JP3255977 A JP 3255977A JP 25597791 A JP25597791 A JP 25597791A JP H0519861 A JPH0519861 A JP H0519861A
- Authority
- JP
- Japan
- Prior art keywords
- cycle
- speed
- command
- feedforward
- loop processing
- 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.)
- Granted
Links
Landscapes
- Feedback Control In General (AREA)
- Control Of Position Or Direction (AREA)
Abstract
(57)【要約】
【目的】 フィードフォワード制御を行なうサーボ系に
おいて、サーボ系の指令追従性を向上させる。 【構成】 当該位置・速度ループ処理における周期を中
心に分配周期を位置・速度ループ処理周期で割った数N
に等しい数の各位置・速度ループ処理周期における移動
指令の平均値を求める。この平均値に位置フィードフォ
ワード係数を乗じて位置のフィードフォワード量FFを
求め(S13)、このフィードフォワード量FFを通常
の位置ループ処理で得られる速度指令に加算し、補正さ
れた速度指令Vc(j)とする(S14)。さらに速度
フィードフォワード処理も行い(S16)、トルク指令
Tc(j)を求め(S17)、モータを駆動する。フィ
ードフォワード制御を行っても位置偏差にうねりやモー
タ,機械にショック等が生じない。
おいて、サーボ系の指令追従性を向上させる。 【構成】 当該位置・速度ループ処理における周期を中
心に分配周期を位置・速度ループ処理周期で割った数N
に等しい数の各位置・速度ループ処理周期における移動
指令の平均値を求める。この平均値に位置フィードフォ
ワード係数を乗じて位置のフィードフォワード量FFを
求め(S13)、このフィードフォワード量FFを通常
の位置ループ処理で得られる速度指令に加算し、補正さ
れた速度指令Vc(j)とする(S14)。さらに速度
フィードフォワード処理も行い(S16)、トルク指令
Tc(j)を求め(S17)、モータを駆動する。フィ
ードフォワード制御を行っても位置偏差にうねりやモー
タ,機械にショック等が生じない。
Description
【0001】
【産業上の利用分野】本発明は、工作機械の送り軸やロ
ボットのアームを駆動するサーボモータの制御方式に関
し、特に、該サーボモータのフィードフォワード制御に
関する。
ボットのアームを駆動するサーボモータの制御方式に関
し、特に、該サーボモータのフィードフォワード制御に
関する。
【0002】
【従来の技術】サーボモータを用いて工作機械の送り軸
やロボットのアームなどを制御するとき、位置偏差量を
低減させるためにフィードフォワード制御が行われる。
特に、工作機械で高速切削を行う場合、サーボ系の追従
遅れによる形状誤差が生じる。そのため、この形状誤差
を少くするため位置ループにフィードフォワードをかけ
ることがある。すなわち、位置,速度処理周期毎、移動
指令を微分して、この微分値にフィードフォワード係数
を乗じた値を通常の位置ループ処理で得られた速度指令
に加算して、この加算値を速度指令とするフィードフォ
ワード制御を行い、位置偏差を低減させ、サーボ遅れを
補正している。
やロボットのアームなどを制御するとき、位置偏差量を
低減させるためにフィードフォワード制御が行われる。
特に、工作機械で高速切削を行う場合、サーボ系の追従
遅れによる形状誤差が生じる。そのため、この形状誤差
を少くするため位置ループにフィードフォワードをかけ
ることがある。すなわち、位置,速度処理周期毎、移動
指令を微分して、この微分値にフィードフォワード係数
を乗じた値を通常の位置ループ処理で得られた速度指令
に加算して、この加算値を速度指令とするフィードフォ
ワード制御を行い、位置偏差を低減させ、サーボ遅れを
補正している。
【0003】しかし、数値制御装置等からサーボ回路
側、即ち、位置ループに移動指令が受け渡しされる分配
周期(ITP周期)は8msec程度であり、サーボ回
路内部での位置ループ,速度ループの周期は2msec
或いは1msecである。そして、位置ループでは上記
数値制御装置から移動指令が受け渡されるITP周期を
位置ループ周期で分割し、分割した各位置ループ周期に
おける移動指令が均等になるように制御している。その
ため、数値制御装置から出力される移動指令に加減速時
定数を与えて出力されるようにしても、位置ループでは
各ITP周期内における位置ループ処理周期TP 毎の各
位置ループ処理での移動指令が均等になるように制御さ
れるから、ITP周期が変る位置ループ処理の移動指令
間にのみ移動指令に大きな段差が生じ、これがフィード
フォワード項で微分されて大きな値となり、速度指令は
高周波成分を含むこととなり、速度ループで追従できな
くなり、位置偏差にうねりが生じ、モータや機械の動き
に大きなショックを発生させる原因となる。そこでこの
欠点を解消するために、位置の制御,さらには速度の制
御のフィードフォワードの項に加減速処理を挿入し、上
記うねりを解消させるスムージング操作(平滑処理)を
行うサーボモータの制御方式を本願発明の発明者は特願
平1−150481号で提案した。
側、即ち、位置ループに移動指令が受け渡しされる分配
周期(ITP周期)は8msec程度であり、サーボ回
路内部での位置ループ,速度ループの周期は2msec
或いは1msecである。そして、位置ループでは上記
数値制御装置から移動指令が受け渡されるITP周期を
位置ループ周期で分割し、分割した各位置ループ周期に
おける移動指令が均等になるように制御している。その
ため、数値制御装置から出力される移動指令に加減速時
定数を与えて出力されるようにしても、位置ループでは
各ITP周期内における位置ループ処理周期TP 毎の各
位置ループ処理での移動指令が均等になるように制御さ
れるから、ITP周期が変る位置ループ処理の移動指令
間にのみ移動指令に大きな段差が生じ、これがフィード
フォワード項で微分されて大きな値となり、速度指令は
高周波成分を含むこととなり、速度ループで追従できな
くなり、位置偏差にうねりが生じ、モータや機械の動き
に大きなショックを発生させる原因となる。そこでこの
欠点を解消するために、位置の制御,さらには速度の制
御のフィードフォワードの項に加減速処理を挿入し、上
記うねりを解消させるスムージング操作(平滑処理)を
行うサーボモータの制御方式を本願発明の発明者は特願
平1−150481号で提案した。
【0004】
【発明が解決しようとする課題】しかし、上記スムージ
ング操作は、時間的に過去のデータを平均化するもので
あり、フィードフォワードの項に時間的な遅れを等価的
に生じさせるため、位置ループ制御系では加減速時に位
置偏差のうねり等を生じてしまう。
ング操作は、時間的に過去のデータを平均化するもので
あり、フィードフォワードの項に時間的な遅れを等価的
に生じさせるため、位置ループ制御系では加減速時に位
置偏差のうねり等を生じてしまう。
【0005】そこで、本発明は、上記不具合を解決する
ことを目的とし、サーボ系の指令追従性を向上させるサ
ーボモータの制御方式を提供することを目的とするもの
である。
ことを目的とし、サーボ系の指令追従性を向上させるサ
ーボモータの制御方式を提供することを目的とするもの
である。
【0006】
【課題を解決するための手段】本発明は、ITP周期を
位置・速度ループ処理周期で分割した分割数をNとする
と、当該位置・速度ループ処理における周期を中心にN
個の各位置・速度ループ処理周期における移動指令の平
均値を求め、この平均値に位置フィードフォワード係数
を乗じて得られる位置のフィードフォワード量を位置ル
ープ処理で得られる速度指令に加算して速度ループ処理
に対する速度指令とする。さらに、当該位置・速度ルー
プ周期より設定された数の周期だけ進めた上記位置・速
度ループ処理における上記平均値の微分値を求め、該微
分値に速度フィードフォワード係数を乗じて得られる速
度フィードフォワード量を速度ループ処理で得られたト
ルク指令値に加算してサーボモータへのトルク指令とす
ることによって上記課題を解決した。
位置・速度ループ処理周期で分割した分割数をNとする
と、当該位置・速度ループ処理における周期を中心にN
個の各位置・速度ループ処理周期における移動指令の平
均値を求め、この平均値に位置フィードフォワード係数
を乗じて得られる位置のフィードフォワード量を位置ル
ープ処理で得られる速度指令に加算して速度ループ処理
に対する速度指令とする。さらに、当該位置・速度ルー
プ周期より設定された数の周期だけ進めた上記位置・速
度ループ処理における上記平均値の微分値を求め、該微
分値に速度フィードフォワード係数を乗じて得られる速
度フィードフォワード量を速度ループ処理で得られたト
ルク指令値に加算してサーボモータへのトルク指令とす
ることによって上記課題を解決した。
【0007】
【作用】当該ITP周期より1つ先のITP周期の移動
指令を読み込んでおき、位置・速度ループ処理周期の移
動指令を求めておく。そして、P周期を位置・速度ルー
プ処理周期で割った数をN、位置のフィードフォワード
係数をα1、移動指令のパルスの単位を速度指令の単位
に変換する係数をP、位置・速度ループ処理周期jにお
ける移動指令をa(j)とすると、j周期における位置
のフィードフォワード量FFはj周期を中心にN個の周
期の移動指令の平均値b(j)より求める。しかし、通
常、ITP周期は8msec、位置・速度ループ周期は
1msecか2msecが通常採用されているので、上
記分割数Nは偶数となるので、(−N/2)+1〜N/
2若しくは−N/2〜(N/2)−1の平均値b(j)
によって求める。例えば、(−N/2)〜N/2−1の
周期の平均値は次の数1となる。
指令を読み込んでおき、位置・速度ループ処理周期の移
動指令を求めておく。そして、P周期を位置・速度ルー
プ処理周期で割った数をN、位置のフィードフォワード
係数をα1、移動指令のパルスの単位を速度指令の単位
に変換する係数をP、位置・速度ループ処理周期jにお
ける移動指令をa(j)とすると、j周期における位置
のフィードフォワード量FFはj周期を中心にN個の周
期の移動指令の平均値b(j)より求める。しかし、通
常、ITP周期は8msec、位置・速度ループ周期は
1msecか2msecが通常採用されているので、上
記分割数Nは偶数となるので、(−N/2)+1〜N/
2若しくは−N/2〜(N/2)−1の平均値b(j)
によって求める。例えば、(−N/2)〜N/2−1の
周期の平均値は次の数1となる。
【0008】
【数1】また、(−N/2)+1〜(N/2)の周期の
平均値は次の数2となる。
平均値は次の数2となる。
【0009】
【数2】そしてこの平均値b(j)に係数をP,α1を
乗じて位置のフィードォワード量FFを次の数3によっ
て求める。
乗じて位置のフィードォワード量FFを次の数3によっ
て求める。
【0010】
【数3】さらには上記数1、数2の演算により求めた値
の加重平均を求めて、平均値b(j)としこれに係数を
P,α1を乗じて位置のフィードォワード量FFとして
もよい。上記数1若しくは数2の演算、さらには数1、
数2の演算で求めた値の加重平均により求めた位置のフ
ィードォワード量FFを当該周期jの位置ループ処理で
求めた速度指令に加算して、この加算値を速度ループ処
理に対する速度指令とする。さらには、L 周期進めた周
期における上記数1等で求めた平均値b(j+L)の微
分値に移動指令のパルスの単位を速度指令の単位に変換
する係数をP、速度フィードフォワード係数α2および
移動指令のパルスの単位を電流の単位に変換する係数P
´を乗じて速度フィードフォワード量FFvを次の数4
により求める。
の加重平均を求めて、平均値b(j)としこれに係数を
P,α1を乗じて位置のフィードォワード量FFとして
もよい。上記数1若しくは数2の演算、さらには数1、
数2の演算で求めた値の加重平均により求めた位置のフ
ィードォワード量FFを当該周期jの位置ループ処理で
求めた速度指令に加算して、この加算値を速度ループ処
理に対する速度指令とする。さらには、L 周期進めた周
期における上記数1等で求めた平均値b(j+L)の微
分値に移動指令のパルスの単位を速度指令の単位に変換
する係数をP、速度フィードフォワード係数α2および
移動指令のパルスの単位を電流の単位に変換する係数P
´を乗じて速度フィードフォワード量FFvを次の数4
により求める。
【0011】
【数4】上記数4で求められた速度フィードフォワード
量FFvを速度ループ処理で求めたトルク指令(電流指
令)に加算してサーボモータへのトルク指令とする。
量FFvを速度ループ処理で求めたトルク指令(電流指
令)に加算してサーボモータへのトルク指令とする。
【0012】
【実施例】図1は本発明の一実施例のサーボ系のブロッ
ク線図である。図1中、伝達関数1のKP は位置ループ
におけるポジションゲイン、伝達関数2は速度ループの
積分項で、Tsは位置・速度ループ処理の周期、k1は
速度ループにおける積分ゲインである。伝達関数3のk
2は速度ループにおける比例ゲイン、4はサーボモータ
の機械部で、Ktはトルク定数、Jmはイナーシャ、5
はサーボモータの回転速度を積分し、位置を算出する伝
達関数である。また、6,7は位置のフィードフォワー
ド項であり、6はスムージング回路、7は位置のフィー
ドフォワード係数α1を乗じる項である。
ク線図である。図1中、伝達関数1のKP は位置ループ
におけるポジションゲイン、伝達関数2は速度ループの
積分項で、Tsは位置・速度ループ処理の周期、k1は
速度ループにおける積分ゲインである。伝達関数3のk
2は速度ループにおける比例ゲイン、4はサーボモータ
の機械部で、Ktはトルク定数、Jmはイナーシャ、5
はサーボモータの回転速度を積分し、位置を算出する伝
達関数である。また、6,7は位置のフィードフォワー
ド項であり、6はスムージング回路、7は位置のフィー
ドフォワード係数α1を乗じる項である。
【0013】また、8はスムージング回路6の出力を設
定された数の位置・速度ループ処理周期だけ遅らせる伝
達関数で、9は微分を行う伝達関数、10は速度フィー
ドフォワード係数α2を乗じる項で、この要素8,9,
10で速度フィードフォワード制御を行うものである。
また、11はCNC(コンピュータ内蔵の数値制御装
置)から分配周期(ITP周期)毎送られてくる移動指
令MCMDを位置・速度ループ処理周期毎の移動指令に
分割するDDA(Digital Different
ial Analyzer)である。
定された数の位置・速度ループ処理周期だけ遅らせる伝
達関数で、9は微分を行う伝達関数、10は速度フィー
ドフォワード係数α2を乗じる項で、この要素8,9,
10で速度フィードフォワード制御を行うものである。
また、11はCNC(コンピュータ内蔵の数値制御装
置)から分配周期(ITP周期)毎送られてくる移動指
令MCMDを位置・速度ループ処理周期毎の移動指令に
分割するDDA(Digital Different
ial Analyzer)である。
【0014】なお、上記伝達関数の内伝達関数2,8,
9は離散値制御系で表している。上位制御装置であるC
Nより、ITP周期ごとの移動指令MCMDが出力さ
れ、DDA11によって位置・速度ループ周期における
移動指令aを求める。また、上記要素6,8によりフィ
ードォワード量FFを求めるには、1つ先のITP周期
の移動指令を求めておく必要があり、DDA11によっ
て1つ先のITP周期の移動指令を求めておく。そし
て、当該位置・速度ループ処理における移動指令aを求
め、当該位置・速度ループ周期の移動指令aよりサーボ
モータの実際の移動量のフィードバック量Pfを減じて
位置偏差を求めこの位置偏差にポジションゲインKpを
乗じた値に、要素6,7により数1若しくは数2の演算
を行って、若しくはもしくは数1,数2の演算で得られ
る値の加重平均により得られる位置フィードフォワード
量FFを加算し速度指令を求め、この速度指令からサー
ボモータの実速度のフィードバック量Vfを減じて速度
偏差をもとめて、この速度偏差に対して要素2で積分処
理を行った値から、サーボモータの実速度Vfに比例定
数k2を乗じた値を減じて従来と同様な積分、比例の速
度ループ処理を行いトルク指令をもとめ、さらに要素
8,9,10によって数4の演算を行って速度フィード
フォワード量FFvを求めて、この速度フィードフォワ
ード量FFvを従来と同様な処理によって求めたトルク
指令に加算してフィードフォワード制御されたトルク指
令を求め、サーボモータを駆動する。
9は離散値制御系で表している。上位制御装置であるC
Nより、ITP周期ごとの移動指令MCMDが出力さ
れ、DDA11によって位置・速度ループ周期における
移動指令aを求める。また、上記要素6,8によりフィ
ードォワード量FFを求めるには、1つ先のITP周期
の移動指令を求めておく必要があり、DDA11によっ
て1つ先のITP周期の移動指令を求めておく。そし
て、当該位置・速度ループ処理における移動指令aを求
め、当該位置・速度ループ周期の移動指令aよりサーボ
モータの実際の移動量のフィードバック量Pfを減じて
位置偏差を求めこの位置偏差にポジションゲインKpを
乗じた値に、要素6,7により数1若しくは数2の演算
を行って、若しくはもしくは数1,数2の演算で得られ
る値の加重平均により得られる位置フィードフォワード
量FFを加算し速度指令を求め、この速度指令からサー
ボモータの実速度のフィードバック量Vfを減じて速度
偏差をもとめて、この速度偏差に対して要素2で積分処
理を行った値から、サーボモータの実速度Vfに比例定
数k2を乗じた値を減じて従来と同様な積分、比例の速
度ループ処理を行いトルク指令をもとめ、さらに要素
8,9,10によって数4の演算を行って速度フィード
フォワード量FFvを求めて、この速度フィードフォワ
ード量FFvを従来と同様な処理によって求めたトルク
指令に加算してフィードフォワード制御されたトルク指
令を求め、サーボモータを駆動する。
【0015】図2は、本発明の1実施例を実施するデジ
タルサーボ制御装置のブロック図であり、構成は従来の
デジタルサーボ制御を行う装置と同一構成であるので、
概略的に示している。図2において、20は数値制御装
置(NC)、21は共有RAM、22はプロセッサ(C
PU),ROM,RAM等を有するデジタルサーボ回
路、23はトランジスタインバータ等のサーボアンプ、
24はサーボモータ、25はサーボモータ24の回転と
共にパルスを発生するパルスコーダである。
タルサーボ制御装置のブロック図であり、構成は従来の
デジタルサーボ制御を行う装置と同一構成であるので、
概略的に示している。図2において、20は数値制御装
置(NC)、21は共有RAM、22はプロセッサ(C
PU),ROM,RAM等を有するデジタルサーボ回
路、23はトランジスタインバータ等のサーボアンプ、
24はサーボモータ、25はサーボモータ24の回転と
共にパルスを発生するパルスコーダである。
【0016】NC20はIPT周期(分配周期)毎に移
動指令MCMDを共有RAM21に書込み、デジタルサ
ーボ回路22のCPUはこの移動指令MCMDを共有R
AM21から読取り、上記ITP周期をN個に分割した
周期Ts(ITP=Ts×N)で、位置・速度ループ処
理を行う。ITP周期毎、NC20から出力される移動
指令MCMDがITP周期中均等に分配されるように位
置・速度ループ処理Tsにおける移動指令a(j)を求
め、この移動指令a(j)とパルスコーダ25からのフ
ィードバックパルスによって得られるサーボモータ24
の現在位置との差より位置ループ処理を行うと共に、後
述する位置のフィードフォワード制御処理を行って速度
指令を求め、次に、該速度指令とパルスコーダ25から
のフィードバックパルスによって得られるサーボモータ
24の実速度より速度ループ処理、さらには速度のフィ
ードフォワード処理を行い、トルク指令(電流指令)を
求める。そして、電流ループ処理、さらには電流フィー
ドフォワード処理を行い、PWM指令を作成し、サーボ
アンプ23を介してサーボモータ24を駆動する。
動指令MCMDを共有RAM21に書込み、デジタルサ
ーボ回路22のCPUはこの移動指令MCMDを共有R
AM21から読取り、上記ITP周期をN個に分割した
周期Ts(ITP=Ts×N)で、位置・速度ループ処
理を行う。ITP周期毎、NC20から出力される移動
指令MCMDがITP周期中均等に分配されるように位
置・速度ループ処理Tsにおける移動指令a(j)を求
め、この移動指令a(j)とパルスコーダ25からのフ
ィードバックパルスによって得られるサーボモータ24
の現在位置との差より位置ループ処理を行うと共に、後
述する位置のフィードフォワード制御処理を行って速度
指令を求め、次に、該速度指令とパルスコーダ25から
のフィードバックパルスによって得られるサーボモータ
24の実速度より速度ループ処理、さらには速度のフィ
ードフォワード処理を行い、トルク指令(電流指令)を
求める。そして、電流ループ処理、さらには電流フィー
ドフォワード処理を行い、PWM指令を作成し、サーボ
アンプ23を介してサーボモータ24を駆動する。
【0017】図3,図4はディジタルサーボ回路22の
CPUが実施するITP周期ごとの移動指令読み取り処
理、および位置・速度ループ処理周期ごとの位置ループ
処理、速度ループ処理のフローチャートである。本実施
例においては、IPT周期を4分割(N=4)して位置
・速度ループ処理を行なうものとしている。また、位置
フィードフォワード量FFを求めるために、当該周期を
中心にN個の周期の移動指令の平均値b(j)を上記数
式1で求めるものを使用して求めるとし、速度フィード
フォワード処理では2周期(L =2)進めた例で以下説
明する。そのため、移動指令の平均値b(j)は次の数
5となり、フィードフォワード量FFは数6となる。
CPUが実施するITP周期ごとの移動指令読み取り処
理、および位置・速度ループ処理周期ごとの位置ループ
処理、速度ループ処理のフローチャートである。本実施
例においては、IPT周期を4分割(N=4)して位置
・速度ループ処理を行なうものとしている。また、位置
フィードフォワード量FFを求めるために、当該周期を
中心にN個の周期の移動指令の平均値b(j)を上記数
式1で求めるものを使用して求めるとし、速度フィード
フォワード処理では2周期(L =2)進めた例で以下説
明する。そのため、移動指令の平均値b(j)は次の数
5となり、フィードフォワード量FFは数6となる。
【0018】
【数5】
【0019】
【数6】また、速度のフィードフォワード量FFvは数
4より、次の数7となる。
4より、次の数7となる。
【0020】
【数7】上記ケースの場合を例に取ってディジタルサー
ボ回路32のCPUが実施する位置・速度ループ処理に
ついて、図3および図4のフローチャートと共に説明す
る。まず、CPUはITP周期ごとNC20から出力さ
れた1つ次の移動指令MCMDを共有RAM21を介し
て読む(ステップS1)。なお、実際は後述する位置・
速度ループ処理で1周期遅れた位置・速度ループ処理周
期の移動指令で位置・速度ループ処理が行われるので、
ITP周期ごとNC20より出力される移動指令MCM
Dを読み出すことになる。
ボ回路32のCPUが実施する位置・速度ループ処理に
ついて、図3および図4のフローチャートと共に説明す
る。まず、CPUはITP周期ごとNC20から出力さ
れた1つ次の移動指令MCMDを共有RAM21を介し
て読む(ステップS1)。なお、実際は後述する位置・
速度ループ処理で1周期遅れた位置・速度ループ処理周
期の移動指令で位置・速度ループ処理が行われるので、
ITP周期ごとNC20より出力される移動指令MCM
Dを読み出すことになる。
【0021】そして、位置・速度ループ処理周期ごとC
PUは図4に示す処理を開始し、ITP周期ごと読み取
った分配移動指令MCMDより、位置・速度ループ毎の
移動指令a(j+4)を計算する(ステップS10)。
そして、レジスタR(j−2)〜R(j+4)のの記憶
内容を1つシフトし、レイスタR(j+4)にステップ
S10で算出した移動指令a(j+4)を格納する。な
お、分配移動指令MCMDが出力されてない時点では、
該各レジスタの記憶内容は「0」である。すなわち、レ
ジスタR(j−1)の記憶内容をレジスタR(j−2)
に格納し、同様に、R(j−1)にR(j)の記憶内
容、R(j)にR(j+1)の記憶内容、R(j+1)
にR(j+2)の記憶内容、R(j+2)にR(j+
3)の記憶内容、R(j+3)にR(j+4)の記憶内
容を記憶させ、レジスタR(j+4)に移動指令a(j
+4)を格納する(ステップS11−1〜S11−
7)。そして、レジスタに記憶する前回の位置・速度ル
ープ周期の位置偏差e(j−1)にレジスタR(j)に
記憶する当該周期の移動指令a(j)を加算しパルスコ
ーダ25で検出されるサーボモータの移動量の位置のフ
ィードバック量Pf(j)を減じて当該周期の位置偏差
を求める(ステップS12)。
PUは図4に示す処理を開始し、ITP周期ごと読み取
った分配移動指令MCMDより、位置・速度ループ毎の
移動指令a(j+4)を計算する(ステップS10)。
そして、レジスタR(j−2)〜R(j+4)のの記憶
内容を1つシフトし、レイスタR(j+4)にステップ
S10で算出した移動指令a(j+4)を格納する。な
お、分配移動指令MCMDが出力されてない時点では、
該各レジスタの記憶内容は「0」である。すなわち、レ
ジスタR(j−1)の記憶内容をレジスタR(j−2)
に格納し、同様に、R(j−1)にR(j)の記憶内
容、R(j)にR(j+1)の記憶内容、R(j+1)
にR(j+2)の記憶内容、R(j+2)にR(j+
3)の記憶内容、R(j+3)にR(j+4)の記憶内
容を記憶させ、レジスタR(j+4)に移動指令a(j
+4)を格納する(ステップS11−1〜S11−
7)。そして、レジスタに記憶する前回の位置・速度ル
ープ周期の位置偏差e(j−1)にレジスタR(j)に
記憶する当該周期の移動指令a(j)を加算しパルスコ
ーダ25で検出されるサーボモータの移動量の位置のフ
ィードバック量Pf(j)を減じて当該周期の位置偏差
を求める(ステップS12)。
【0022】なお、分配移動指令MCMDをITP周期
1つ早読みすることになっているから、当該位置・速度
ループ周期の移動指令a(j)は現在の周期で算出した
移動指令a(j+4)を格納したレジスタR(j+4)
より4個前のレジスタR(j)に格納されている。次に
レジスタR(j+1),R(j),R(j−1),R
(j−2)に格納された移動指令a(j+1),a
(j),a(j−1),a(j−2)によって数5の演
算を行い平均値b(j)を求め、この値に係数α1,P
を乗じて位置フィードフォワード量FFを求める(ステ
ップS13)次に、上記ステップS12で求めた位置偏
差e(j)に位置ループゲインKpを乗じた値にステッ
プS13で求めた位置フィードフォワード量FFを加算
した速度指令Vc(j)を求め(ステップS14)、こ
の速度指令Vc(j)によって従来と同様の速度ループ
処理を行い速度フィードフォワードによる補正前のトル
ク指令Tc´(j)を求める(ステップS15)。次
に、レジスタR(j+3),R(j−1)に記憶された
移動指令a(j+3),a(j−1),によって数7の
演算を行うことによって速度フィードフォワード量FF
vを求める(ステップS16)。そして、ステップS1
5で求めた補正前のトルク指令Tc´(j)にステップ
S15で算出した速度フィードフォワード量FFvを加
算してトルク指令Tc(j)を求め(ステップS1
7)、このトルク指令Tc(j)を電流ループ処理に引
き渡し(ステップS18)、位置・速度ループの処理を
終了する。
1つ早読みすることになっているから、当該位置・速度
ループ周期の移動指令a(j)は現在の周期で算出した
移動指令a(j+4)を格納したレジスタR(j+4)
より4個前のレジスタR(j)に格納されている。次に
レジスタR(j+1),R(j),R(j−1),R
(j−2)に格納された移動指令a(j+1),a
(j),a(j−1),a(j−2)によって数5の演
算を行い平均値b(j)を求め、この値に係数α1,P
を乗じて位置フィードフォワード量FFを求める(ステ
ップS13)次に、上記ステップS12で求めた位置偏
差e(j)に位置ループゲインKpを乗じた値にステッ
プS13で求めた位置フィードフォワード量FFを加算
した速度指令Vc(j)を求め(ステップS14)、こ
の速度指令Vc(j)によって従来と同様の速度ループ
処理を行い速度フィードフォワードによる補正前のトル
ク指令Tc´(j)を求める(ステップS15)。次
に、レジスタR(j+3),R(j−1)に記憶された
移動指令a(j+3),a(j−1),によって数7の
演算を行うことによって速度フィードフォワード量FF
vを求める(ステップS16)。そして、ステップS1
5で求めた補正前のトルク指令Tc´(j)にステップ
S15で算出した速度フィードフォワード量FFvを加
算してトルク指令Tc(j)を求め(ステップS1
7)、このトルク指令Tc(j)を電流ループ処理に引
き渡し(ステップS18)、位置・速度ループの処理を
終了する。
【0023】表1,図5、図6は、本実施例における一
例を記載したもので、図5(イ)に示すようにITP周
期ごとの移動指令MCMD(n)が入力されこれより位
置・速度ループ処理周期毎の移動指令a(j)を求め、
この移動指令a(j)より平均値b(j)(この平均値
に係数α1,Pを乗じて位置フィードフォワード量が求
められる)を求めると、図5(ロ)に示すようになる。
なお、表1にこの時の各レジスタR(j+4)〜R(j
−2)に記憶される値a(j+4)〜a(j−2)、お
よび平均値b(j)の値を示している。また、参考とし
て数2で求められる平均値b(j)をb(j)´数1,
数2で算出される平均の加重平均値をb(j)”として
示している。また、この表1で+4はレジスタR(j+
4)に記憶するa(j+4)の値、+3はレジスタR
(j+3)に記憶するa(j+3)の値、…jはレジス
タR(j)に記憶するa(j)の値、…−2はレジスタ
R(j−2)に記憶するa(j−2)の値を示してい
る。
例を記載したもので、図5(イ)に示すようにITP周
期ごとの移動指令MCMD(n)が入力されこれより位
置・速度ループ処理周期毎の移動指令a(j)を求め、
この移動指令a(j)より平均値b(j)(この平均値
に係数α1,Pを乗じて位置フィードフォワード量が求
められる)を求めると、図5(ロ)に示すようになる。
なお、表1にこの時の各レジスタR(j+4)〜R(j
−2)に記憶される値a(j+4)〜a(j−2)、お
よび平均値b(j)の値を示している。また、参考とし
て数2で求められる平均値b(j)をb(j)´数1,
数2で算出される平均の加重平均値をb(j)”として
示している。また、この表1で+4はレジスタR(j+
4)に記憶するa(j+4)の値、+3はレジスタR
(j+3)に記憶するa(j+3)の値、…jはレジス
タR(j)に記憶するa(j)の値、…−2はレジスタ
R(j−2)に記憶するa(j−2)の値を示してい
る。
【0024】
【表1】
図5および表1から分かるように、位置のフィードフォ
ワード量FF(平均値b(j))はITP周期毎に移動
指令a(j)が急激に変化しても、急激な変化は生じな
く、従来のフィードフォワード制御のように移動指令を
微分したものに係数を乗じてフィードフォワード量とし
た時のように急激な変化がなくそのため位置偏差のうね
りも解消することを意味する。図6は、従来の移動指令
を微分したものに係数を乗じてフィードフォワード量と
したフィードフォワード制御において、移動指令にラン
プ入力を行ったときの位置偏差を検出したときのグラフ
で、図7は、本発明において速度のフィードフォワード
制御でデータを進めないときの(L =0)、移動指令が
ランプ入力における位置偏差を測定してグラフ化したも
のであり、図8は、本発明においてデータを2周期(L
=2)進めた時の位置偏差の測定結果をグラフ化したも
のである。この第6〜8図から明らかのように、位置偏
差のうねりは従来のフィードフォワード制御と比較して
本発明のフィードフォワード制御の方が改善されている
ことが分かる。
ワード量FF(平均値b(j))はITP周期毎に移動
指令a(j)が急激に変化しても、急激な変化は生じな
く、従来のフィードフォワード制御のように移動指令を
微分したものに係数を乗じてフィードフォワード量とし
た時のように急激な変化がなくそのため位置偏差のうね
りも解消することを意味する。図6は、従来の移動指令
を微分したものに係数を乗じてフィードフォワード量と
したフィードフォワード制御において、移動指令にラン
プ入力を行ったときの位置偏差を検出したときのグラフ
で、図7は、本発明において速度のフィードフォワード
制御でデータを進めないときの(L =0)、移動指令が
ランプ入力における位置偏差を測定してグラフ化したも
のであり、図8は、本発明においてデータを2周期(L
=2)進めた時の位置偏差の測定結果をグラフ化したも
のである。この第6〜8図から明らかのように、位置偏
差のうねりは従来のフィードフォワード制御と比較して
本発明のフィードフォワード制御の方が改善されている
ことが分かる。
【0025】なお、上記実施例では、当該位置・速度ル
ープ処理周期jの1つ先(未来)の周期j+1,当該周
期j,1つおよび2つ前(過去)の周期j−1,j−2
の移動指令を平均化する実施例を説明したが、数2によ
り周期j+2,j+1,j,j−1の移動指令を平均化
する方法でもよい。この場合の平均値は表1でb(j)
´で示す値となり図5(ロ)において、1周期Ts左に
シフトした状態となる。
ープ処理周期jの1つ先(未来)の周期j+1,当該周
期j,1つおよび2つ前(過去)の周期j−1,j−2
の移動指令を平均化する実施例を説明したが、数2によ
り周期j+2,j+1,j,j−1の移動指令を平均化
する方法でもよい。この場合の平均値は表1でb(j)
´で示す値となり図5(ロ)において、1周期Ts左に
シフトした状態となる。
【0026】このように、ITP周期を位置・速度ルー
プ周期で分割した数Nが偶数の場合には、平均化の中心
となる位置・速度ループ周期がN個の位置・速度ループ
周期の完全に中心とならない。そのため、位置フィード
フォワード量FFは位置・速度ループ周期の半周期遅れ
るか進む状態になる。この点は、表1及び図5から見て
も明らかであるが、さらに分かり安く説明すると、図9
(a)に示すようにITP周期の移動指令MCMDが1
周期だけ4×4の移動指令がだされたとする。このと
き、数式1で平均値を求めてフィードフォワード量を求
めるとすると、当該ITP周期における位置・速度ルー
プ周期をj=0として各周期の移動指令aを求めると平
均値は図9(b)に示すように周期j=−1から順にj
=5まで、1,2,3,4,3,2,1となる。一方平
均値を数式2で求めると図9(c)に示すように、周期
j=−2から順にj=4まで1,2,3,4,3,2,
1となり、図9(b)では半周期遅れ、図9(c)では
半周期進んでいる。そこで、数式1及び数2で求められ
る平均値の加重平均を取ると、図9(d)に示すように
周期j=−2から順にj=6まで、(1/2),(3/
2),(5/2),(7/2),(7/2),(5/
2),(3/2),(1/2)となり、等価的に時間遅
れ及び進みはなくなる。
プ周期で分割した数Nが偶数の場合には、平均化の中心
となる位置・速度ループ周期がN個の位置・速度ループ
周期の完全に中心とならない。そのため、位置フィード
フォワード量FFは位置・速度ループ周期の半周期遅れ
るか進む状態になる。この点は、表1及び図5から見て
も明らかであるが、さらに分かり安く説明すると、図9
(a)に示すようにITP周期の移動指令MCMDが1
周期だけ4×4の移動指令がだされたとする。このと
き、数式1で平均値を求めてフィードフォワード量を求
めるとすると、当該ITP周期における位置・速度ルー
プ周期をj=0として各周期の移動指令aを求めると平
均値は図9(b)に示すように周期j=−1から順にj
=5まで、1,2,3,4,3,2,1となる。一方平
均値を数式2で求めると図9(c)に示すように、周期
j=−2から順にj=4まで1,2,3,4,3,2,
1となり、図9(b)では半周期遅れ、図9(c)では
半周期進んでいる。そこで、数式1及び数2で求められ
る平均値の加重平均を取ると、図9(d)に示すように
周期j=−2から順にj=6まで、(1/2),(3/
2),(5/2),(7/2),(7/2),(5/
2),(3/2),(1/2)となり、等価的に時間遅
れ及び進みはなくなる。
【0027】そこで、この加重平均によって位置のフィ
ードフォワード量FFを求めて制御する場合の処理につ
いて図10,図11と共に説明する。この実施例は上述
した実施例とは異なり、平均値をDDA11により求め
られる位置・速度ループ周期の移動指令aから求めるの
ではなく、ITP周期毎指令される移動指令MCMDよ
り求めるようにしている。
ードフォワード量FFを求めて制御する場合の処理につ
いて図10,図11と共に説明する。この実施例は上述
した実施例とは異なり、平均値をDDA11により求め
られる位置・速度ループ周期の移動指令aから求めるの
ではなく、ITP周期毎指令される移動指令MCMDよ
り求めるようにしている。
【0028】ディジタルサーボ回路22のCPUは分配
周期毎、図10の処理を実行し、まず、レジスタR3に
レジスタR2に記憶する値、レジスタR2にレジスタR
1に記憶する値を格納し、、レジスタR1に共有RAM
21から読み取った1回先の移動指令MCMDを格納す
る(ステップT1,T2)。そしてカウンタCを「0」
にクリアする(ステップT3)。すなわち、レジスタR
3には当該ITP周期によ1回前(過去)の移動指令M
CMDが記憶され、レジスタR2には当該周期の移動指
令MCDMが、また、レジスタR1には1回先(未来)
の移動指令MCDMが記憶されることになる。なお実際
には、単にレジスタR3にレジスタR2に記憶する値、
レジスタR2にレジスタR1に記憶する値を格納し、、
レジスタR1に分配された移動指令MCDMを格納すれ
ばよく、後述するように位置・速度ループ処理において
1ITP周期遅れて処理が実施されることになる。な
お、レジスタR1〜R3は初期設定で始めは「0」が格
納されている。
周期毎、図10の処理を実行し、まず、レジスタR3に
レジスタR2に記憶する値、レジスタR2にレジスタR
1に記憶する値を格納し、、レジスタR1に共有RAM
21から読み取った1回先の移動指令MCMDを格納す
る(ステップT1,T2)。そしてカウンタCを「0」
にクリアする(ステップT3)。すなわち、レジスタR
3には当該ITP周期によ1回前(過去)の移動指令M
CMDが記憶され、レジスタR2には当該周期の移動指
令MCDMが、また、レジスタR1には1回先(未来)
の移動指令MCDMが記憶されることになる。なお実際
には、単にレジスタR3にレジスタR2に記憶する値、
レジスタR2にレジスタR1に記憶する値を格納し、、
レジスタR1に分配された移動指令MCDMを格納すれ
ばよく、後述するように位置・速度ループ処理において
1ITP周期遅れて処理が実施されることになる。な
お、レジスタR1〜R3は初期設定で始めは「0」が格
納されている。
【0029】一方、位置・速度ループ処理周期毎ディジ
タルサーボ回路22のCPUは、位置偏差の算出処理
(図4のステップS12の処理)を実行した後、次に、
図11に示す処理を実行し(なお、図11には位置フィ
ードフォワード量を求める処理のみを示し他の処理は省
略している)、まず、カウンタCの値が、分配周期を位
置・速度ループ処理周期で除した値N(=分配周期/位
置・速度ループ処理周期)の1/2より小さいか否か判
断し(ステップT10)、小さいならばアキュムレータ
SUNにレジスタR2の値からレジスタR3の値を減じ
た値を加算し(ステップT11)、また、カウンタCの
値がN/2以上ならば、アキュムレータSUNにレジス
タR1の値からレジスタR2の値を減じた値を加算し
(ステップT12)、ステップS13に移行する。な
お、アキュムレータSUNは初期設定で始めは「0」に
されている。
タルサーボ回路22のCPUは、位置偏差の算出処理
(図4のステップS12の処理)を実行した後、次に、
図11に示す処理を実行し(なお、図11には位置フィ
ードフォワード量を求める処理のみを示し他の処理は省
略している)、まず、カウンタCの値が、分配周期を位
置・速度ループ処理周期で除した値N(=分配周期/位
置・速度ループ処理周期)の1/2より小さいか否か判
断し(ステップT10)、小さいならばアキュムレータ
SUNにレジスタR2の値からレジスタR3の値を減じ
た値を加算し(ステップT11)、また、カウンタCの
値がN/2以上ならば、アキュムレータSUNにレジス
タR1の値からレジスタR2の値を減じた値を加算し
(ステップT12)、ステップS13に移行する。な
お、アキュムレータSUNは初期設定で始めは「0」に
されている。
【0030】ステップT13では上記アキュムレータS
UNの値を上記分割数Nの2乗で除算し平均値b(j)
を求める。そして、カウンタCに「1」加算し、レジス
タR(b)に記憶する1周期前の平均値とステップT1
3で求められた平均値b(j)を加算し「2」で除算し
て加重平均b(j)”を求める(ステップT15)。次
に、ステップT13で求めた平均値b(j)をレジスタ
R(b)に格納し(ステップT16)、ステップT15
で求めた加重平均b(j)”に、位置のフィードフォワ
ード係数をα1、移動指令のパルスの単位を速度指令の
単位に変換する係数をPを乗じてフィードフォワード量
FFを求め(ステップT17)、以下図4のステップS
14以下の処理を実行する。なお、この場合、ステップ
S16で求める速度フィードフォワード量FFvはステ
ップS15で求めた加重平均b(j)”を記憶しておき
数4の演算を行うことによって求める。
UNの値を上記分割数Nの2乗で除算し平均値b(j)
を求める。そして、カウンタCに「1」加算し、レジス
タR(b)に記憶する1周期前の平均値とステップT1
3で求められた平均値b(j)を加算し「2」で除算し
て加重平均b(j)”を求める(ステップT15)。次
に、ステップT13で求めた平均値b(j)をレジスタ
R(b)に格納し(ステップT16)、ステップT15
で求めた加重平均b(j)”に、位置のフィードフォワ
ード係数をα1、移動指令のパルスの単位を速度指令の
単位に変換する係数をPを乗じてフィードフォワード量
FFを求め(ステップT17)、以下図4のステップS
14以下の処理を実行する。なお、この場合、ステップ
S16で求める速度フィードフォワード量FFvはステ
ップS15で求めた加重平均b(j)”を記憶しておき
数4の演算を行うことによって求める。
【0031】上記処理において、ステップST10〜T
13が平均値b(j)を求める処理であるが、この処理
が上述した当該位置・速度ループ周期を中心にN個の位
置・速度ループ周期の移動指令aの平均値になることを
以下説明する。例えば、図12に示すようにITP周期
毎の移動指令MCNDがA0,A1,A2,A3,A4
…と出力されA0=A1=0とし、A2,A3を位置・
速度ループ周期毎に分割した移動指令をa20,a21,a
22,a23,a30,a31,a32,a33とすると(なお分割
数Nを「4」としている)、平均値は以下のようにな
る。
13が平均値b(j)を求める処理であるが、この処理
が上述した当該位置・速度ループ周期を中心にN個の位
置・速度ループ周期の移動指令aの平均値になることを
以下説明する。例えば、図12に示すようにITP周期
毎の移動指令MCNDがA0,A1,A2,A3,A4
…と出力されA0=A1=0とし、A2,A3を位置・
速度ループ周期毎に分割した移動指令をa20,a21,a
22,a23,a30,a31,a32,a33とすると(なお分割
数Nを「4」としている)、平均値は以下のようにな
る。
【0032】
n MCMD C SUM b(j)
1 A1 0 0+A0-A1=0 0
2 0+A2-A1=A2 A2/16=a20/4
3 A2+A2-A1=2A2 2A2/16=(a20+a21)/4
2 A2 0 2A2+A2-A1=3A2 3A2/16=(a20+a21+a22)/4
1 3A2+A2-A1=4A2 4A2/16=(a20+a21+a22+a23)/4
2 4A2+A3-A2=3A2+A3 (3A2+A3)/16=(a21+a22+a23+a30)/4
3 3A2+A3+A3-A2=2A2+2A3 (2A2+2A3)/16=(a22+a23+a30+a31)/4
3 A3 0 2A2+2A3+A3-A2=A2+3A3 (A2+3A3)/16=(a23+a30+a31+a32)/4
1 A2+3A3+A3-A2=4A3 4A3/16=(a30+a31+a32+a33)/4
… …
以上のように、ステップST10〜T13の処理によっ
ても平均値b(j)を求めることができる。そして、当
該位置・速度ループ周期で求められた平均値b(j)と
1位置・速度ループ周期前に求めた平均値との加重平均
を求めれば、遅れ及び進みのないフィードフォワード量
FFを求めることができる。これは、上記例で、例え
ば、ITP周期n=3で最初の位置・速度ループ周期
(カウンタC=0)で求められる平均値b(j)は当該
位置・速度ループ周期の移動指令a30と1つ過去の周期
の移動指令a23及び1つ先,2つ先の周期の移動指令a
31,a32を加算している。すなわち数式2の演算を行っ
ている。一方、1つ前の位置・速度ループ周期で求めた
平均値b(j)は(n=2,C=3のとき)当該位置・
速度ループ周期の移動指令a30と1つ及び2つ過去の周
期の移動指令a23,a22及び1つ先の周期の移動指令a
31を加算しており、数式1の演算により平均値を求めて
いる。よって、加重平均b(j)”を求めるには、当該
周期で算出された平均値と1前の周期で算出された平均
値を加算し2で除算することにより求めればよい。
ても平均値b(j)を求めることができる。そして、当
該位置・速度ループ周期で求められた平均値b(j)と
1位置・速度ループ周期前に求めた平均値との加重平均
を求めれば、遅れ及び進みのないフィードフォワード量
FFを求めることができる。これは、上記例で、例え
ば、ITP周期n=3で最初の位置・速度ループ周期
(カウンタC=0)で求められる平均値b(j)は当該
位置・速度ループ周期の移動指令a30と1つ過去の周期
の移動指令a23及び1つ先,2つ先の周期の移動指令a
31,a32を加算している。すなわち数式2の演算を行っ
ている。一方、1つ前の位置・速度ループ周期で求めた
平均値b(j)は(n=2,C=3のとき)当該位置・
速度ループ周期の移動指令a30と1つ及び2つ過去の周
期の移動指令a23,a22及び1つ先の周期の移動指令a
31を加算しており、数式1の演算により平均値を求めて
いる。よって、加重平均b(j)”を求めるには、当該
周期で算出された平均値と1前の周期で算出された平均
値を加算し2で除算することにより求めればよい。
【0033】なお、上記実施例ではITP周期を4分割
する場合について説明したが、4分割する場合以外にお
いても、当該位置・速度ループ周期を中心に前後の分割
数N個の各周期の移動指令aを平均化するようにすれば
よい。
する場合について説明したが、4分割する場合以外にお
いても、当該位置・速度ループ周期を中心に前後の分割
数N個の各周期の移動指令aを平均化するようにすれば
よい。
【0034】
【発明の効果】本発明は、位置・速度ループ処理におけ
る当該移動指令よりも後に指令される移動指令をも取り
込んでフィードフォワード量を求めてフィードフォワー
制御を行うようにしたから、数値制御装置等の上位制御
装置からの分配移動指令が段階的に変動しても、位置偏
差のうねりを減少させ、モータや機械の動きに与えるシ
ョックを小さなものにした。また、分配周期を位置・速
度ループ処理の周期で分割した数が偶数の場合には、当
該周期を入れて前後の分割数の数の周期の移動指令の平
均をとる際に、当該周期より先(未来)に後(過去)よ
り1周期多く取ったときと、少なく取ったときの平均値
の加重平均を求めることによって、等価的に時間遅れの
及び進みのない位置フィードフォワード量を得ることが
でき、より正確な制御ができる。
る当該移動指令よりも後に指令される移動指令をも取り
込んでフィードフォワード量を求めてフィードフォワー
制御を行うようにしたから、数値制御装置等の上位制御
装置からの分配移動指令が段階的に変動しても、位置偏
差のうねりを減少させ、モータや機械の動きに与えるシ
ョックを小さなものにした。また、分配周期を位置・速
度ループ処理の周期で分割した数が偶数の場合には、当
該周期を入れて前後の分割数の数の周期の移動指令の平
均をとる際に、当該周期より先(未来)に後(過去)よ
り1周期多く取ったときと、少なく取ったときの平均値
の加重平均を求めることによって、等価的に時間遅れの
及び進みのない位置フィードフォワード量を得ることが
でき、より正確な制御ができる。
【図1】本発明の一実施例のサーボ系のブロック図であ
る。
る。
【図2】同実施例を実施するデジタルサーボ制御装置の
ブロック図である。
ブロック図である。
【図3】同実施例におけるITP周期ごとのディジタル
サーボ回路のプロセッサが実施する処理のフローチャー
トである。
サーボ回路のプロセッサが実施する処理のフローチャー
トである。
【図4】同実施例における位置・速度ループ処理のフロ
ーチャートである。
ーチャートである。
【図5】同実施例におれる一例の位置フィードフォワー
ド量(平均値)の説明図である。
ド量(平均値)の説明図である。
【図6】従来のフィードフォワード制御を行うサーボ系
において、移動指令にランプ入力をしたときの位置偏差
の推移をみた図である。
において、移動指令にランプ入力をしたときの位置偏差
の推移をみた図である。
【図7】本発明の一実施例において速度フィードフォワ
ード制御の進み量L を0として移動指令にランプ入力を
したときの位置偏差の推移をみた図である。
ード制御の進み量L を0として移動指令にランプ入力を
したときの位置偏差の推移をみた図である。
【図8】本発明の一実施例において速度フィードフォワ
ード制御の進み量L を2として移動指令にランプ入力を
したときの位置偏差の推移をみた図である。
ード制御の進み量L を2として移動指令にランプ入力を
したときの位置偏差の推移をみた図である。
【図9】スムージング処理による平均値の説明図であ
る。
る。
【図10】本発明の他の実施例におけるITP周期ごと
にディジタルサーボ回路のプロセッサが実施する処理の
フローチャートである。
にディジタルサーボ回路のプロセッサが実施する処理の
フローチャートである。
【図11】同他の実施例における位置・速度ループ処理
中の位置フィードフォワードを求める処理のフローチャ
ートである。
中の位置フィードフォワードを求める処理のフローチャ
ートである。
【図12】平均値を求める処理の説明図である。
1 位置ループ処理の伝達関数の項
2 速度ループ処理の積分の伝達関数の項
3 速度ループの比例の伝達関数の項
4 モータの伝達関数の項
5 速度から位置に変換する伝達関数の項
6 位置フィードフォワードのスムージング回路
7 位置フィードフォワードの位置フィードフォワード
係数の項 8 速度フィードフォワードの進み要素の項 9 速度フィードフォワードの微分の項 10 速度フィードフォワードの速度フィードフォワー
ド係数の項 11 DDA(Digital Differential Analyze) 20 数値制御装置 21 共有RAM 22 ディジタルサーボ回路 23 サーボアンプ 24 サーボモータ 25 パルスコーダ
係数の項 8 速度フィードフォワードの進み要素の項 9 速度フィードフォワードの微分の項 10 速度フィードフォワードの速度フィードフォワー
ド係数の項 11 DDA(Digital Differential Analyze) 20 数値制御装置 21 共有RAM 22 ディジタルサーボ回路 23 サーボアンプ 24 サーボモータ 25 パルスコーダ
【数式1】
【数式2】
【数式3】
【数式4】
【数式5】
【数式6】
【数式7】
Claims (4)
- 【請求項1】 移動指令の分配周期をN分割した周期ご
と実施する位置・速度ループ処理における移動指令を上
記分配周期の移動指令より求め、位置・速度ループ制御
を行うサーボモータの制御方式において、当該分配周期
より1つ先の分配周期の移動指令を読み込んで、各位置
・速度ループ処理における移動指令を計算しておき、当
該位置・速度ループ処理における周期を中心にN個の各
位置・速度ループ処理周期における移動指令の平均値を
求め、この平均値に位置フィードフォワード係数を乗じ
て得られる位置のフィードフォワード量を位置ループ処
理で得られる速度指令に加算して速度ループ処理に対す
る速度指令としたことを特徴とするサーボモータのフィ
ードフォワード制御方式。 - 【請求項2】 移動指令の分配周期をN分割した周期ご
と実施する位置・速度ループ処理における移動指令を上
記分配周期の移動指令より求め、位置・速度ループ制御
を行うサーボモータの制御方式において、当該分配周期
より1つ先の分配周期の移動指令を読み込んで記憶して
おくと共に、当該分配周期より1つ過去の分配周期の移
動指令をも記憶しておき、当該分配周期の移動指令と記
憶した上記当該分配周期より1つ先の分配周期の移動指
令及び1つ過去の分配周期の移動指令より、当該位置・
速度ループ処理における周期を中心にN個の各位置・速
度ループ処理周期における移動指令の平均値を求め、こ
の平均値に位置フィードフォワード係数を乗じて得られ
る位置のフィードフォワード量を位置ループ処理で得ら
れる速度指令に加算して速度ループ処理に対する速度指
令としたことを特徴とするサーボモータのフィードフォ
ワード制御方式。 - 【請求項3】 上記分割数Nが偶数のとき、上記平均値
は、当該位置・速度ループ処理における周期と該周期よ
り過去の(N/2)−1個及び先のN/2個の各位置・
速度ループ処理周期における合計N個の移動指令の平均
値と、当該位置・速度ループ処理における周期と該周期
より過去のN/2個及び先の(N/2)−1個の各位置
・速度ループ処理周期における合計N個の移動指令の平
均値との加重平均とする請求項1若しくは請求項2記載
のサーボモータのフィードフォワード制御方式。 - 【請求項4】 当該位置・速度ループ周期より設定され
た数の周期だけ進めた上記位置・速度ループ処理におけ
る上記平均値の微分値を求め、該微分値に速度フィード
フォワード係数を乗じて得られる速度フィードフォワー
ド量を速度ループ処理で得られたトルク指令値に加算し
てサーボモータへのトルク指令とした請求項1,請求項
2または請求項3記載のサーボモータのフィードフォワ
ード制御方式。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25597791A JP2709766B2 (ja) | 1990-11-08 | 1991-09-09 | サーボモータのフィードフォワード制御方式 |
PCT/JP1992/001150 WO1993005455A1 (en) | 1991-09-09 | 1992-09-09 | Method of controlling feed-forward of servo motor |
KR1019930701143A KR970003877B1 (ko) | 1991-09-09 | 1992-09-09 | 서보 모터의 피드 포워드 제어방법 |
DE69223236T DE69223236T2 (de) | 1991-09-09 | 1992-09-09 | Verfahren zur steuerung eines servomotors mit vorwärtskopplung |
EP92919540A EP0556412B1 (en) | 1991-09-09 | 1992-09-09 | Method of controlling feed-forward of servo motor |
US08/292,762 US5448145A (en) | 1991-09-09 | 1994-08-19 | Feedforward control method for a servomotor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2-301154 | 1990-11-08 | ||
JP30115490 | 1990-11-08 | ||
JP25597791A JP2709766B2 (ja) | 1990-11-08 | 1991-09-09 | サーボモータのフィードフォワード制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0519861A true JPH0519861A (ja) | 1993-01-29 |
JP2709766B2 JP2709766B2 (ja) | 1998-02-04 |
Family
ID=26542501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25597791A Expired - Fee Related JP2709766B2 (ja) | 1990-11-08 | 1991-09-09 | サーボモータのフィードフォワード制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2709766B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011135633A1 (ja) * | 2010-04-30 | 2011-11-03 | パナソニック株式会社 | モータ駆動装置 |
CN112051726A (zh) * | 2020-07-27 | 2020-12-08 | 北京控制工程研究所 | 一种基于线性跟踪微分器的位置前馈控制方法 |
-
1991
- 1991-09-09 JP JP25597791A patent/JP2709766B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011135633A1 (ja) * | 2010-04-30 | 2011-11-03 | パナソニック株式会社 | モータ駆動装置 |
CN112051726A (zh) * | 2020-07-27 | 2020-12-08 | 北京控制工程研究所 | 一种基于线性跟踪微分器的位置前馈控制方法 |
CN112051726B (zh) * | 2020-07-27 | 2023-08-11 | 北京控制工程研究所 | 一种基于线性跟踪微分器的位置前馈控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2709766B2 (ja) | 1998-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5598077A (en) | Control apparatus and a control method for a servomotor | |
JP2762364B2 (ja) | サーボモータのフィードフォワード制御方法 | |
JP3129622B2 (ja) | フルクローズド・ループ方式における象限突起補正方法 | |
JPH04323706A (ja) | 予見繰り返し制御装置 | |
US5248921A (en) | Servo motor control device | |
JPH0895643A (ja) | サーボモータのフィードフォワード制御方法 | |
JP2875646B2 (ja) | バックラッシ加速補正装置 | |
US5311110A (en) | Feedforward control method for servomotors | |
US4214192A (en) | Path control apparatus for the computer directed control of a numerically controlled machine tool | |
US5448145A (en) | Feedforward control method for a servomotor | |
KR970002259B1 (ko) | 서보모터의 제어방법 | |
JP2709766B2 (ja) | サーボモータのフィードフォワード制御方式 | |
JP2826391B2 (ja) | バックラッシ加速制御方法 | |
JPH0392911A (ja) | スライディングモード制御によるロボット制御方法 | |
JP2733881B2 (ja) | Pi制御ループをベースにした適応スライディングモード制御方式 | |
JPH1039932A (ja) | サーボモータの制御方法 | |
JP3253022B2 (ja) | サーボモータのバックラッシュ補正制御方法 | |
EP0556412A1 (en) | Method of controlling feed-forward of servo motor | |
EP0596141A1 (en) | Control method for servomotor | |
JPH04276802A (ja) | サーボモータの制御方法 | |
JP3019192B2 (ja) | バックラッシ補正方式 | |
JP2653130B2 (ja) | 加減速制御装置 | |
JP3199769B2 (ja) | サーボ制御装置 | |
JPH03246708A (ja) | サーボモータの加速度フィードバック制御方式 | |
JPH05324086A (ja) | サーボモータの制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081024 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081024 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091024 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |