(57)【要約】【課題】  ハードウェアの制約で電流指令を補正できない場合でも２つのモータ間相互のずれを抑えることができ、また、２つのモータ間の補償を行なう位相進みの調整を誤っても、振動が誘発し難く、調整を容易にすることができるモータ制御装置を提供する。【解決手段】  ２つのモータで1つの可動部材を駆動するモータ制御装置において、第１速度指令および第２速度指令を入力し、第１モータおよび第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、第１速度指令および前記第２速度指令を補償する軸ずれ補償部３１を備える。【選択図】    図１
2005269758.tif 000002
【特許請求の範囲】
【請求項１】
上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
前記第１速度指令および前記第２速度指令を入力し、第１モータおよび第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、前記第１速度指令および前記第２速度指令を補償する軸ずれ補償部を備えることを特徴とするモータ制御装置。
【請求項２】
前記軸ずれ補償部は、前記第１速度指令から前記第２速度指令を差引いて軸間速度指令差を算出する減算器と、前記軸間速度指令差を時間積分した値に定数を乗じた軸間速度指令差積分値と前記軸間速度指令差に定数を乗じた軸間速度指令差比例値と前記軸間速度指令差を時間微分した値に定数を乗じた軸間速度指令差微分値とを加え合せた値を前記軸ずれ補償速度指令として出力する補償演算器と、前記第１速度指令に前記軸ずれ補償速度指令を加える加算器と、前記第２速度指令から前記軸ずれ補償速度指令を減じる減算器とを備えることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
前記第１モータ速度と前記第２モータ速度とを入力し、第１モータおよび第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、前記第１速度指令および前記第２速度指令を補償する軸ずれ補償部を備えることを特徴とするモータ制御装置。
【請求項４】
前記軸ずれ補償部は、前記第２モータ速度から前記第１モータ速度を差引いて軸間速度差を算出する減算器と、前記軸間速度差を時間積分した値に定数を乗じた軸間速度差積分値と前記軸間速度差に定数を乗じた軸間速度差比例値と前記軸間速度差を時間微分した値に定数を乗じた軸間速度差微分値とを加え合せた値を前記軸ずれ補償速度指令として出力する補償演算器と、前記第１速度指令に前記軸ずれ補償速度指令を加える加算器と、前記第２速度指令から前記軸ずれ補償速度指令を減じる減算器とを備えることを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
前記第１モータ位置と前記第２モータ位置を入力し、第１モータと第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、前記第１速度指令および前記第２速度指令を補償する軸ずれ補償部を備えることを特徴とするモータ制御装置。
【請求項６】
上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
第1の入力信号対として前記第１トルクまたは推力指令と前記第２トルクまたは推力指令、もしくは前記第１モータ速度指令と前記第２モータ速度指令、もしくは前記第１位置指令と前記第２位置指令を入力し、第２の入力信号対として前記第１モータ位置と前記第２モータ位置を入力し、前記第1の入力信号対から前記第２の入力信号対までの動特性モデルを用いて第１予測速度ΔPfb1pおよび第２予測速度ΔPfb2pを算出し、前記第１予測速度ΔPfb1pおよび前記第２予測速度ΔPfb2pを用いて軸ずれ補償する軸ずれ補償部を備えることを特徴とするモータ制御装置。
【請求項７】
前記軸ずれ補償部は、前記第２予測速度から前記第１予測速度を差し引いて軸間予測速度差を算出する減算器と、前記軸間予測速度差を時間積分した値に定数を乗じた軸間予測速度差積分値と前記軸間予測速度差に定数を乗じた軸間予測速度差比例値と前記軸間予測速度差を時間微分した値に定数を乗じた軸間予測速度差微分値とを加え合せた値を前記軸ずれ補償速度指令として出力する補償演算器と、この軸ずれ補償速度指令を、前記速度指令１に加える加算器と、前記速度指令２から減じる減算器と、を備えることを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
前記軸ずれ補償部において、サンプリング周期をTs、△Pfb1＊(i+m)を、第１トルクまたは推力指令、第１速度指令、第１位置指令のいずれかを入力ｕとしてこの入力ｕまたはその増分値Δｕから第１モータ位置Pfb1またはその増分値ΔPfb1までの離散時間伝達関数モデルを用いて予測した時刻i・Tsよりもmサンプリング先の時刻(i+m)・Tsにおける第１モータ予測速度とし、Δはサンプリング周期Ts間の増分値を表し、Mは予測区間であるとしたとき、前記第１予測速度ΔPfb1pを、
△Pfb1p＝△Pfb1＊(i+M)、または、△Pfb1p＝△Pfb1＊(i+M−1)
として与えることを特徴とする請求項６に記載のモータ制御装置。
【請求項９】
s1、s2を補間係数としたとき、請求項８のΔPfb1pを求める式に代えて、前記第１予測速度ΔPfb1pを
ΔPfb1p＝{s1・ΔPfb1＊(i+M−1)+s2・ΔPfb1＊(i+M)}／(s1+s2)
特にM＝1で、かつサンプリング時刻i・Tsにおいて第１モータ速度ΔPfb1(i)が得られる場合は、
ΔPfb1p＝{s1・ΔPfb1(i)+s2・ΔPfb1＊(i+1)}／(s1+s2)
として与えることを特徴とする請求項８に記載のモータ制御装置。
【請求項１０】
Ａｍｎ、Bmnを入力ｕから第１モータ位置Pfb1までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i−K)を入力するとしたとき、前記mサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)を、
【数１】
2005269758.tif 000019
ΔPfb1＊(i+m)＝Pfb1＊(i+m)−Pfb1＊(i+m−1)
として与えることを特徴とする請求項８または９に記載のモータ制御装置。
【請求項１１】
Ａｍｎ、Bmnを入力の増分値Δｕから第１モータ速度ΔPfb1までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i−K)を入力するとしたとき、前記mサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)を、
【数２】
2005269758.tif 000020
として与えることを特徴とする請求項８または９に記載のモータ制御装置。
【請求項１２】
Ａｍｎ、Bmnを入力ｕから第１モータ速度ΔPfb1までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i−K)を入力するとしたとき、前記mサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)を、
【数３】
2005269758.tif 000021
として与えることを特徴とする請求項８または９に記載のモータ制御装置。
【請求項１３】
前記軸ずれ補償部において、サンプリング周期をTs、△Pfb２＊(i+m)を、第２トルクまたは推力指令、第２速度指令、第２位置指令のいずれかを入力ｕとしてこの入力ｕまたはその増分値Δｕから第２モータ位置Pfb2またはその増分値ΔPfb2までの離散時間伝達関数モデルを用いて予測した時刻i・Tsよりもmサンプリング先の時刻(i+m)・Tsにおける第２モータ予測速度とし、Δはサンプリング周期Ts間の増分値を表し、Mは予測区間であるとしたとき、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を用いて、前記第２予測速度ΔPfb2pを、
△Pfb2p＝△Pfb2＊(i+M)、または、△Pfb2p＝△Pfb2＊(i+M−1)
として与えることを特徴とする請求項６に記載のモータ制御装置。
【請求項１４】
s1、s2を補間係数としたとき、請求項１３のΔPfb2pを求める式に代えて、前記第２予測速度ΔPfb2pを、
ΔPfb2p＝{s1・ΔPfb2＊(i+M−1)+s2・ΔPfb2＊(i+M)}／(s1+s2)
特にM＝1で、かつサンプリング時刻i・Tsにおいて第２モータ速度ΔPfb2(i)が得られる場合は、
ΔPfb2p＝{s1・ΔPfb2(i)+s2・ΔPfb2＊(i+1)}／(s1+s2)
として与えることを特徴とする請求項１３に記載のモータ制御装置。
【請求項１５】
Ａｍｎ、Bmnを入力ｕから第２モータ位置Pfb2までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を入力するとしたとき、前記mサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)を、
【数４】
2005269758.tif 000022
ΔPfb2＊(i+m)＝Pfb2＊(i+m)−Pfb2＊(i+m−1)
として与えることを特徴とする請求項１３または１４に記載のモータ制御装置。
【請求項１６】
Ａｍｎ、Bmnを入力の増分値Δｕから第２モータ速度ΔPfb2までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を入力するとしたとき、前記mサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)を、
【数５】
2005269758.tif 000023
として与えることを特徴とする請求項１３または１４に記載のモータ制御装置。
【請求項１７】
Ａｍｎ、Bmnを入力ｕから第２モータ速度ΔPfb2までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を入力するとしたとき、前記mサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)を、
【数６】
2005269758.tif 000024
として与えることを特徴とする請求項１３または１４に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子部品実装装置、工作機械や産業用ロボットなどを駆動するモータ制御装置に関し、特に１つの可動部を２つのモータで同期駆動して高い応答性能を得るためのタンデム駆動技術に関する。
【背景技術】
【０００２】
従来のモータ制御装置としては、第１および第２の2つのモータ制御装置と、制振制御装置とを備え、2つのモータ制御装置は同一の位置指令を上位の制御装置から受け取り、制振制御装置は第１のモータ制御装置の速度フィードバックと第２のモータ制御装置の速度フィードバックとの偏差に基づいて、該偏差を定数倍した値と該偏差を積分した値を定数倍した値とを加えた値に位相進め補償をした電流指令補正値を算出し、この電流指令補正値を第１のモータ制御装置の電流指令に加算し、また、この電流指令補正値を第２のモータ制御装置の電流指令から差し引くことで補正し、２つのモータ間相互のずれを抑え、高い応答性を得たものがある（例えば、特許文献１参照）。
【特許文献１】特開２００１−２７３０３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかるに、従来のモータ制御装置では、２つのモータのそれぞれの電流指令値のみを補正していたので、ハードウェアの制約で電流指令を補正できない場合には利用できず、また、補正できる場合であっても、電流指令は高い感度でモータの動きに影響を与えるため、調整がし難いという問題があった。また、２つのモータ間の補償を行なうために、補償する信号の位相を進めているが、この位相進みの調整を誤ると振動を誘発するという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、ハードウェアの制約で電流指令を補正できない場合でも２つのモータ間相互の同期ずれを抑えることができ、また、２つのモータ間の補償を行なう位相進みの調整を誤っても、２つのモータ間相互の位相ずれを抑えて、振動が誘発し難く調整を容易にすることができる、同期制御の応答性を高めたモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のように構成した。
請求項１に記載の発明は、上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
前記第１速度指令および前記第２速度指令を入力し、第１モータおよび第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、前記第１速度指令および前記第２速度指令を補償する軸ずれ補償部を備えることを特徴とするものである。
【０００５】
また、請求項２に記載の発明は、前記軸ずれ補償部は、前記第１速度指令から前記第２速度指令を差引いて軸間速度指令差を算出する減算器と、前記軸間速度指令差を時間積分した値に定数を乗じた軸間速度指令差積分値と前記軸間速度指令差に定数を乗じた軸間速度指令差比例値と前記軸間速度指令差を時間微分した値に定数を乗じた軸間速度指令差微分値とを加え合せた値を前記軸ずれ補償速度指令として出力する補償演算器と、前記第１速度指令に前記軸ずれ補償速度指令を加える加算器と、前記第２速度指令から前記軸ずれ補償速度指令を減じる減算器とを備えることを特徴とするものである。
【０００６】
また、請求項３に記載の発明は、上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
前記第１モータ速度と前記第２モータ速度とを入力し、第１モータおよび第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、前記第１速度指令および前記第２速度指令を補償する軸ずれ補償部を備えることを特徴とするものである。
【０００７】
また、請求項４に記載の発明は、前記軸ずれ補償部は、前記第２モータ速度から前記第１モータ速度を差引いて軸間速度差を算出する減算器と、前記軸間速度差を時間積分した値に定数を乗じた軸間速度差積分値と前記軸間速度差に定数を乗じた軸間速度差比例値と前記軸間速度差を時間微分した値に定数を乗じた軸間速度差微分値とを加え合せた値を前記軸ずれ補償速度指令として出力する補償演算器と、前記第１速度指令に前記軸ずれ補償速度指令を加える加算器と、前記第２速度指令から前記軸ずれ補償速度指令を減じる減算器とを備えることを特徴とするものである。
【０００８】
また、請求項５に記載の発明は、上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
前記第１モータ位置と前記第２モータ位置を入力し、第１モータと第２モータ間の動作ずれを補償する軸ずれ補償速度指令を作成して、前記第１速度指令および前記第２速度指令を補償する軸ずれ補償部を備えることを特徴とするものである。
【０００９】
また、請求項６に記載の発明は、上位コントローラから出力された位置指令を２つのモータの目標位置とし、前記位置指令に第１モータ位置が一致するように第１速度指令を算出する第１位置制御部と、前記第１速度指令に第１モータ速度が一致するように速度制御を行い第１トルクまたは推力指令を算出する第１速度制御部と、前記第１トルクまたは推力指令を入力しトルクまたは推力制御を行い第１モータを駆動する第１トルク制御部と、前記第１モータの位置を検出する第１位置検出器と、前記第１モータ位置から前記第１モータ速度を算出する第１差分器と、前記位置指令に第２モータ位置が一致するように第２速度指令を算出する第２位置制御部と、前記第２速度指令に第２モータ速度が一致するように速度制御を行い第２トルクまたは推力指令を算出する第２速度制御部と、前記第２トルクまたは推力指令を入力しトルクまたは推力制御を行い第２モータを駆動する第２トルク制御部と、前記第２モータの位置を検出する第２位置検出器と、前記第２モータ位置から前記第２モータ速度を算出する第２差分器とを備え、２つのモータで1つの可動部材を駆動するモータ制御装置において、
第1の入力信号対として前記第１トルクまたは推力指令と前記第２トルクまたは推力指令、もしくは前記第１モータ速度指令と前記第２モータ速度指令、もしくは前記第１位置指令と前記第２位置指令を入力し、第２の入力信号対として前記第１モータ位置と前記第２モータ位置を入力し、前記第1の入力信号対から前記第２の入力信号対までの動特性モデルを用いて第１予測速度ΔPfb1pおよび第２予測速度ΔPfb2pを算出し、前記第１予測速度ΔPfb1pおよび前記第２予測速度ΔPfb2pを用いて軸ずれ補償する軸ずれ補償部を備えることを特徴とするものである。
【００１０】
また、請求項７に記載の発明は、前記軸ずれ補償部は、前記第２予測速度から前記第１予測速度を差し引いて軸間予測速度差を算出する減算器と、前記軸間予測速度差を時間積分した値に定数を乗じた軸間予測速度差積分値と前記軸間予測速度差に定数を乗じた軸間予測速度差比例値と前記軸間予測速度差を時間微分した値に定数を乗じた軸間予測速度差微分値とを加え合せた値を前記軸ずれ補償速度指令として出力する補償演算器と、この軸ずれ補償速度指令を、前記速度指令１に加える加算器と、前記速度指令２から減じる減算器と、を備えることを特徴とするものである。
【００１１】
また、請求項８に記載の発明は、前記軸ずれ補償部において、サンプリング周期をTs、△Pfb1＊(i+m)を、第１トルクまたは推力指令、第１速度指令、第１位置指令のいずれかを入力ｕとしてこの入力ｕまたはその増分値Δｕから第１モータ位置Pfb1またはその増分値ΔPfb1までの離散時間伝達関数モデルを用いて予測した時刻i・Tsよりもmサンプリング先の時刻(i+m)・Tsにおける第１モータ予測速度とし、Δはサンプリング周期Ts間の増分値を表し、Mは予測区間であるとしたとき、前記第１予測速度ΔPfb1pを、
△Pfb1p＝△Pfb1＊(i+M)、または、△Pfb1p＝△Pfb1＊(i+M−1)
として与えることを特徴とするものである。
【００１２】
また、請求項９に記載の発明は、s1、s2を補間係数としたとき、請求項８のΔPfb1pを求める式に代えて、前記第１予測速度ΔPfb1pを
ΔPfb1p＝{s1・ΔPfb1＊(i+M−1)+s2・ΔPfb1＊(i+M)}／(s1+s2)
特にM＝1で、かつサンプリング時刻i・Tsにおいて第１モータ速度ΔPfb1(i)が得られる場合は、
ΔPfb1p＝{s1・ΔPfb1(i)+s2・ΔPfb1＊(i+1)}／(s1+s2)
として与えることを特徴とするものである。
【００１３】
また、請求項１０に記載の発明は、Ａｍｎ、Bmnを入力ｕから第１モータ位置Pfb1までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i−K)を入力するとしたとき、前記mサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)を、
【００１４】
【数７】
2005269758.tif 000003
【００１５】
ΔPfb1＊(i+m)＝Pfb1＊(i+m)−Pfb1＊(i+m−1)
として与えることを特徴とするものである。
【００１６】
また、請求項１１に記載の発明は、Ａｍｎ、Bmnを入力の増分値Δｕから第１モータ速度ΔPfb1までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i−K)を入力するとしたとき、前記mサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)を、
【００１７】
【数８】
2005269758.tif 000004
【００１８】
として与えることを特徴とするものである。
【００１９】
また、請求項１２に記載の発明は、Ａｍｎ、Bmnを入力ｕから第１モータ速度ΔPfb1までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i−K)を入力するとしたとき、前記mサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)を、
【００２０】
【数９】
2005269758.tif 000005
【００２１】
として与えることを特徴とするものである。
【００２２】
また、請求項１３に記載の発明は、前記軸ずれ補償部において、サンプリング周期をTs、△Pfb２＊(i+m)を、第２トルクまたは推力指令、第２速度指令、第２位置指令のいずれかを入力ｕとしてこの入力ｕまたはその増分値Δｕから第２モータ位置Pfb2またはその増分値ΔPfb2までの離散時間伝達関数モデルを用いて予測した時刻i・Tsよりもmサンプリング先の時刻(i+m)・Tsにおける第２モータ予測速度とし、Δはサンプリング周期Ts間の増分値を表し、Mは予測区間であるとしたとき、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を用いて、前記第２予測速度ΔPfb2pを、
△Pfb2p＝△Pfb2＊(i+M)、または、△Pfb2p＝△Pfb2＊(i+M−1)
として与えることを特徴とするものである。
【００２３】
また、請求項１４に記載の発明は、s1、s2を補間係数としたとき、請求項１３のΔPfb2pを求める式に代えて、前記第２予測速度ΔPfb2pを、
ΔPfb2p＝{s1・ΔPfb2＊(i+M−1)+s2・ΔPfb2＊(i+M)}／(s1+s2)
特にM＝1で、かつサンプリング時刻i・Tsにおいて第２モータ速度ΔPfb2(i)が得られる場合は、
ΔPfb2p＝{s1・ΔPfb2(i)+s2・ΔPfb2＊(i+1)}／(s1+s2)
として与えることを特徴とするものである。
【００２４】
また、請求項１５に記載の発明は、Ａｍｎ、Bmnを入力ｕから第２モータ位置Pfb2までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を入力するとしたとき、前記mサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)を、
【００２５】
【数１０】
2005269758.tif 000006
【００２６】
ΔPfb2＊(i+m)＝Pfb2＊(i+m)−Pfb2＊(i+m−1)
として与えることを特徴とするものである。
【００２７】
また、請求項１６に記載の発明は、Ａｍｎ、Bmnを入力の増分値Δｕから第２モータ速度ΔPfb2までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を入力するとしたとき、前記mサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)を、
【００２８】
【数１１】
2005269758.tif 000007
【００２９】
として与えることを特徴とするものである。
【００３０】
また、請求項１７に記載の発明は、Ａｍｎ、Bmnを入力ｕから第２モータ速度ΔPfb2までの離散時間伝達関数モデルにより定まる係数、Na, Nbを該離散時間伝達関数モデルの次数とし、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i−K)を入力するとしたとき、前記mサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)を、
【００３１】
【数１２】
2005269758.tif 000008
【００３２】
として与えることを特徴とするものである。
【発明の効果】
【００３３】
本発明は、速度指令を補正するので、ハードウェアの制約で電流指令を補正できない場合でも２つのモータ間相互の同期ずれを抑えることができる。また、請求項６によれば、信号の位相を単純に進めるのではなく、制御対象の動特性モデルを用いた予測によって位相を進めているため、２つのモータ間相互の位相ずれを抑えて、振動が誘発し難く調整を容易にすることができ、同期制御の応答性を高めることができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態について図を参照して説明する。
実際のモータ制御装置には様々な機能や手段が内蔵されているが、図には本発明に関係する機能や手段のみを記載し説明することとする。また、以下同一名称には極力同一符号を付け重複説明を省略する。
【実施例１】
【００３５】
図１は本発明を適用する第１の実施例を説明するモータ制御装置のブロック図である。図１において、１１は指令発生部、１２は第１位置制御部、１３は第１速度制御部、１４は第１トルク制御部、１５は第１差分器、１６は第１モータ、１７は第１位置検出器、１８はテーブル、２２は第２位置制御部、２３は第２速度制御部、２４は第２トルク制御部、２５は第２差分器、２６は第２モータ、２７は第２位置検出器、３１は軸ずれ補償部、３２は減算器、３３は補償演算器、３４は加算器、３５は減算器である。
指令発生部１１は第１位置制御部１２および第２位置制御部２２へ位置指令Prefを出力する。第１位置制御部１２は前記位置指令Prefおよび第１モータ位置Pfb1を入力し、第１速度指令Vref1を減算器３２および加算器３４へ出力する。加算器３４は前記第１速度指令Vref1および軸ずれ補償速度指令Cvrefを入力し、入力した２つの指令をたし合わせた信号を新たな速度指令として第１速度制御部１３へ出力する。第１速度制御部１３は前記加算器３４からの信号および第１モータ速度Vfb1を入力し、第１トルク指令Tref1を第１トルク制御部１４へ出力する。第１トルク制御部１４は前記第１トルク指令Tref1を入力し第１モータ駆動電流を第１モータ１６へ出力する。第１モータ１６は前記第１モータ駆動電流を入力しトルクを発生し、テーブル１８を駆動する。また、第１モータ１６には第１位置検出器１７が取付けられており、第１モータの位置を検出して前記第１モータ位置Pfb1を第１位置制御部１２および第１差分器１５へ出力する。第１差分器１５は前記第１モータ位置Pfb1を入力し、前記第１モータ速度Vfb1を第１速度制御部１３へ出力する。
【００３６】
第２位置制御部２２は前記位置指令Prefおよび第２モータ位置Pfb２を入力し、第２速度指令Vref２を減算器３２および減算器３５へ出力する。減算器３５は前記第２速度指令Vref2および前期軸ずれ補償速度指令Cvrefを入力し、前記第２速度指令Vref2から前記軸ずれ補償速度指令Cvrefを差し引いた信号を新たな速度指令として第２速度制御部２３へ出力する。第２速度制御部２３は前記減算器３５からの信号および第２モータ速度Vfb2を入力し、第２トルク指令Tref2を第２トルク制御部２４へ出力する。第２トルク制御部２４は前記第２トルク指令Tref2を入力し第２モータ駆動電流を第２モータ２６へ出力する。第２モータ２６は前記第２モータ駆動電流を入力しトルクを発生し、テーブル１８を駆動する。また、第２モータ２６には第２位置検出器２７が取付けられており、第２モータの位置を検出して前記第２モータ位置Pfb2を第２位置制御部２２および第２差分器２５へ出力する。第２差分器２５は前記第２モータ位置Pfb2を入力し、前記第２モータ速度Vfb2を第２速度制御部２３へ出力する。
減算器３２は前記第１速度指令Vref1および前記第２速度指令Vref２を入力し、前記第１速度指令Vref1から前記第２速度指令Vref2を差し引いた軸間速度指令差を補償演算器３３へ出力する。補償演算器３３は前記第１速度指令Vref1から前記第２速度指令Vref2を差し引いた軸間速度指令差を入力し、前記軸ずれ補償速度指令Cvrefを加算器３４および減算器３５へ出力する。
テーブル１８は、第１モータで駆動される可動部と第２モータで駆動される可動部がこのテーブルで結合されて、第１モータ１６と第２モータ２６とで駆動される。なお、モータで駆動される可動部とは、モータが回転型の場合はボールネジ等で駆動されるテーブルであり、モータがリニア型の場合は可動子に結合されているテーブルを意味する。
【００３７】
指令発生部１１はテーブル１８の目標位置となる位置指令Prefを発生する。
第１位置制御部１２は前記位置指令Prefに前記第１モータ位置Pfb1が一致するように位置制御演算を行い、前記第１速度指令Vref1を算出する。第１速度制御部１３は前記第１速度指令Vref1と前記補償値Cvrefとをたし合わせた信号に前記第１モータ速度Vfb1が一致するように速度制御演算を行い、前記第１トルク指令Tref1を算出する。第１トルク制御部１４は前記第１トルク指令Tref1に基づいてトルク制御演算を行ない、前記第１モータ駆動電流を算出する。第１差分器１５は前記第１モータ位置Pfb1から前記第１モータ速度Vfb1を算出する。
第２位置制御部２２は前記位置指令Prefに前記第２モータ位置Pfb2が一致するように位置制御演算を行い、前記第２速度指令Vref2を算出する。第２速度制御部２３は前記第２モータ速度指令Vref2から前記補償値Cvrefを差し引いた信号に前記第２モータ速度Vfb2が一致するように速度制御演算を行い、前記第２トルク指令Tref2を算出する。第２トルク制御部２４は前記第２トルク指令Tref2に基づいてトルク制御演算を行ない、前記第２モータ駆動電流を算出する。第２差分器２５は前記第２モータ位置Pfb2から前記第２モータ速度Vfb2を算出する。
補償演算器３３は前記第１速度指令Vref1から前記第２速度指令Vref2を差し引いた軸間速度指令差が零になるように補償演算を行い、前記軸ずれ補償速度指令Cvrefを算出する。
軸ずれ補償部３１は、減算器３２と加算器３４と減算器３５と補償演算器３３とで構成する。すなわち、図１において、破線で囲んだ部分が軸ずれ補償部３１である。
このように、第１モータ１６と第２モータ２６とが軸ずれしないようにして、テーブル１８を第１モータ１６と第２モータ２６とで駆動する。
本実施例では速度制御部の出力を回転型モータを想定してトルク指令としたが、リニアモータの場合は速度制御部の出力を推力指令として同様な構成で実現すればよい。
【００３８】
図２は補償演算器３３の詳細を説明するブロック図である。図２において、４１は微分器、４２は乗算器、４３は積分器、４４は乗算器、４５は乗算器、４６は加算器である。
減算器３２は前記第１速度指令Vref1および前記第２速度指令Vref２を入力し、前記軸間速度指令差を微分器４１と積分器４３と乗算器４５とへ出力する。微分器４１は前記軸間速度指令差を入力し、時間微分して、前記軸間速度指令差を時間微分した値を乗算器４２へ出力する。乗算器４２は前記軸間速度指令差を時間微分した値を入力し、予め設定された定数Gdを乗算した値を加算器４６へ出力する。積分器４３は前記軸間速度指令差を入力し、時間積分して、前記軸間速度指令差を時間積分した値を乗算器４４へ出力する。乗算器４４は前記軸間速度指令差を時間積分した値を入力し、予め設定された定数Giを乗算した値を加算器４６へ出力する。乗算器４５は前記軸間速度指令差を入力し、予め設定された定数Gpを乗算した値を加算器４６へ出力する。加算器４６は前記軸間速度指令差微分値と前記軸間速度指令差積分値と前記軸間速度指令差比例値とを入力し、前記軸間速度指令差微分値と前記軸間速度指令差積分値と前記軸間速度指令差比例値とをたし合わせて軸ずれ補償速度指令Cvrefとして出力する。
図中、破線で囲った部分が補償演算器３３である。
【００３９】
次に、シミュレーションを用いて、実施例１の効果を検証した結果を図７および図８を用いて説明する。図７は軸ずれの補償を行わない場合の応答例で、図８は実施例１の応答例である。図７（ａ）は１軸目の位置指令増分値Vr1、モータ速度Vfb1、および速度偏差Ve1を表しており、図７（ｂ）は２軸目の位置指令増分値Vr2、モータ速度Vfb2、および速度偏差Ve2を表しており、図７（ｃ）は両軸間の同期位置誤差Seを表している。
同様に、図８（ａ）は１軸目の位置指令増分値Vr1、モータ速度Vfb1、および速度偏差Ve1を表しており、図８（ｂ）は２軸目の位置指令増分値Vr2、モータ速度Vfb2、および速度偏差Ve2を表しており、図８（ｃ）は両軸間の同期位置誤差Seを表している。図７（ｃ）と図８（ｃ）に表した両軸間の同期位置誤差を比べると、軸間の補償を行わない場合は２００パルス程度の誤差が出ており、実施例１を用いた場合は８０パルス程度であり、同期誤差が１／２以下に小さくなっている。
このように以上の構成とすることで、１軸目と2軸目の応答差をなくし、第１モータと第２モータとの応答性のずれによって生じる軸ずれを抑えることができ、可動部材であるテーブルを高速・高精度で駆動することができる。また、振動も抑制することができる。
【実施例２】
【００４０】
実施例２が実施例１と異なる点は、補償演算器３３が、実施例１では第１速度指令Vref1から第２速度指令Vref2を差し引いた軸間速度指令差を用いて軸ずれ補償速度指令Cvrefを算出するのに対し、実施例２では第２モータ速度Vfb2から第１モータ速度Vfb1を差し引いた軸間速度差を用いて軸ずれ補償速度指令Cvrefを算出する点である。
図３は本発明を適用する第２の実施例を説明するモータ制御装置のブロック図である。ここでは、重複した説明を避けるため、図３が図１と異なる点についてのみ説明する。
図３において、第１位置制御部１２は第１速度指令Vref1を加算器３４のみへ出力する。また、第２位置制御部２２は第２速度指令Vref２を減算器３５のみへ出力する。
第１差分器１５は第１モータ速度Vfb1を第１速度制御部１３および減算器３２へ出力する。また、第２差分器２５は第２モータ速度Vfb2を第２速度制御部２３および減算器３２へ出力する。
減算器３２は第１モータ速度Vfb1および第２モータ速度Vfb2を入力し、前記第２モータ速度Vfb2から前記第１モータ速度Vfb1を差し引いた軸間速度差を補償演算器３３へ出力する。補償演算器３３は前記軸間速度差を入力し、この軸間速度差に基づいて軸ずれ補償速度指令Cvrefを算出する。
【００４１】
なお、軸ずれ補償部３１は、第１モータ位置Pfb1および第２モータ位置Pfb2を入力し、第１モータ位置Pfb1から第１モータ速度Vfb1を算出し、第２モータ位置Pfb2から第２モータ速度Vfb2を算出して前記第２モータ速度Vfb2から前記第１モータ速度Vfb1を差し引いた軸間速度差を補償演算器３３へ出力してもよい。
また、補償演算器３３は、第２モータ位置Pfb2から第１モータ位置Pfb1を差し引いた軸間位置差に基づいて軸ずれ補償速度指令Cvrefを算出してもよい。
また、この軸間位置差の差分から軸間速度差を算出し、この軸間速度差に基づいて軸ずれ補償速度指令Cvrefを算出してもよい。
【００４２】
図４は実施例２における補償演算器３３の詳細を説明するブロック図である。
実施例２の補償演算器３３が実施例１の補償演算器３３と異なる点は、補償演算器３３が、実施例１では軸間速度指令差に基づいて軸ずれ補償速度指令Cvrefを算出するが、実施例２では軸間速度差に基づいて軸ずれ補償速度指令Cvrefを算出する点である。
図中、破線で囲った部分が補償演算器３３である。
【実施例３】
【００４３】
実施例３が実施例１と異なる点は、実施例１では補償演算器３３が第１速度指令Vref1から第２速度指令Vref2を差し引いた軸間速度指令差を用いて軸ずれ補償速度指令Cvrefを算出するのに対し、実施例３では軸ずれ補償部３１に第１速度指令Vref1および第１モータ位置Pfb1に基づいて第１予測速度ΔPfb1pを算出する第１予測器３６と、第２速度指令Vref2および第２モータ位置Pfb2に基づいて第２予測速度ΔPfb2pを算出する第２予測器３７とを備え、補償演算器３３が前記第１予測速度ΔPfb1pおよび前記第２予測速度ΔPfb2pを用いて軸ずれ補償速度指令Cvrefを算出する点である。
【００４４】
図５は本発明を適用する第３の実施例を説明するモータ制御装置のブロック図である。ここでは、重複した説明を避けるため、図５が図１と異なる点についてのみ説明する。
図５において、３６は第１予測器、３７は第２予測器である。第１位置制御部１２は第１速度指令Vref1を加算器３４および第１予測器３６へ出力する。また、第２位置制御部２２は第２速度指令Vref２を減算器３５および第２予測器３７へ出力する。
第１位置検出器１７は第１モータ位置Pfb1を第１位置制御部１２、第１差分器１５および第１予測器３６へ出力する。また、第２位置検出器２７は第２モータ位置Pfb2を第２位置制御部２２、第２差分器２５および第２予測器３７へ出力する。
第１予測器３６は前記第１速度指令Vref1および第１モータ位置Pfb1を入力し、第１予測速度ΔPfb1pを減算器３２へ出力する。また、第２予測器３７は前記第２速度指令Vref2および第２モータ位置Pfb2を入力し、第２予測速度ΔPfb2pを減算器３２へ出力する。
減算器３２は第１予測速度ΔPfb1pおよび第２予測速度ΔPfb2pを入力し、前記第２予測速度ΔPfb2pから前記第１予測速度ΔPfb1pを差し引いた軸間予測速度差を補償演算器３３へ出力する。補償演算器３３は前記軸間予測速度差を入力し、この軸間予測速度差に基づいて軸ずれ補償速度指令Cvrefを算出する。
第１予測器３６は第１速度指令Vref1および第１モータ位置Pfb1に基づいて第１予測速度ΔPfb1pを算出する。また、第２予測器３７は第２速度指令Vref2および第２モータ位置Pfb2に基づいて第２予測速度ΔPfb2pを算出する。
図５の第１予測器へ入力している第１モータ速度指令Vref1の代わりに第１トルク指令Tref1あるいは位置指令Prefを第１予測器へ入力しても良い。同様に、第２予測器へ入力している第２モータ速度指令Vref2の代わりに第２トルク指令Tref2あるいは位置指令Prefを第２予測器へ入力しても良い。
【００４５】
つぎに、第１予測速度ΔPfb1pの算出方法について説明する。
本制御装置においてサンプリング周期がTsであり、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第１モータ位置Pfb1(i-K)を前記第１位置検出器より入力する場合、時刻i・Tsよりもｍサンプリング先の時刻(i+m)・Tsにおける第１モータ速度の予測値ΔPfb1＊(i+m)を用いて、前記予測値ΔPfb1pを式（１）
【００４６】
ΔPfb1p =ΔPfb1＊(i+M)、または、ΔPfb1p =ΔPfb1＊(i+M−1)            （１）
【００４７】
または、補間して式（２）
【００４８】
ΔPfb1p = {s1・ΔPfb1＊(i+M−1)+s2・ΔPfb1＊(i+M)}／(s1+s2)              （２）
【００４９】
で与えることもできる。ここでMは予測区間であり、s1、s2は補間係数である。
特にK=0かつM=1である時は式（３）
【００５０】
ΔPfb1p = {s1・ΔPfb1(i)+s2・ΔPfb1＊(i+1)}／(s1+s2)                    （３）
【００５１】
で与えられる。ただし、Δはサンプリング周期Ts間の増分値を表す。
ここで、ｍサンプリング先の第１モータ予測速度ΔPfb1＊(i+m)は、以下の式（４）、式（５）
【００５２】
【数１３】
2005269758.tif 000009
【００５３】
ΔPfb1＊(i+m) = Pfb1＊(i+m)−Pfb1＊(i+m−1)                           （５）
【００５４】
または、以下の２式の何れか１つの式で与える。
【００５５】
【数１４】
2005269758.tif 000010
【００５６】
【数１５】
2005269758.tif 000011
【００５７】
以下、式（４）〜式（７）について説明する。まず、式（４）を説明する。いま第１モータ１６の第１トルク指令Tref1、第１速度指令Vref1、または、位置指令Prefのいずれかを入力ｕと考え、この入力ｕ(i)から第１モータ位置Pfb1(i)までの伝達関数モデルが、
【００５８】
Gry(z)＝(b1z−１＋・・・＋bNbz−Nb)／（１−a1z−１−・・・−aNaz−Na）              （８）
【００５９】
の離散時間系で得られているとする。時刻i・Ts（以下便宜上時刻ｉと呼ぶ）において、未来の入力をｕ(j)=ｕ(i) (j>i)として、時刻i−K以降の第１モータ位置を予測すると前記式（４）となり、係数Amn、Bmnは次式で与えられる。
【００６０】
【数１６】
2005269758.tif 000012
【００６１】
【数１７】
2005269758.tif 000013
【００６２】
ただし、an=0(n>Na)、bn=0(n<1およびn>Nb)、a'm(Na+K)=0、b'm(Nb+K)=0
次に式（６）を説明する。いま入力増分値Δｕ(i)から第１モータ速度ΔPfb1(i)までの離散時間伝達関数モデル、
【００６３】
Gdd(z) = (b1z−1 + … + bNbz−Nb) / (1 - a1z−1 - … - aNaz−Na)               （１１）
【００６４】
を用い、時刻iにおいて、未来の入力をｕ(j)=ｕ(i) (j>i)として、時刻i‐K以降の第１モータ速度を予測すると前記（６）式となる。ここで、係数Amn、Bmnは次式で与えられる。
【００６５】
【数１８】
2005269758.tif 000014
【００６６】
ただし、an=0 (n>Na)、bn=0 (n<1およびn>Nb)
さらに、式（７）を説明する。いま入力ｕ(i)から第１モータ速度ΔPfb1(i)までの離散時間伝達関数モデル、
【００６７】
Grd(z) = (b1z−1 + … + bNbz―Nb) / (1 - a1z−1 - … - aNaz−Na)               （１３）
【００６８】
を用い、時刻iにおいて、 未来の入力をｕ(j)=ｕ(i) (j>i)として、時刻i−K以降の第１モータ速度を予測すると前記式（７）となる。ここで、係数Amn、Bmn は次式で与えられる。
【００６９】
【数１９】
2005269758.tif 000015
【００７０】
ただし、an=0 (n>Na)、bn=0 (n<1およびn>Nb)
【００７１】
つぎに、第２予測速度ΔPfb2pの算出方法について説明する。
本制御装置においてサンプリング周期がTsであり、サンプリング時刻i・TsにおいてK（≧0）サンプリング過去の第２モータ位置Pfb2(i-K)を前記第２位置検出器より入力する場合、時刻i・Tsよりもｍサンプリング先の時刻(i+m)・Tsにおける第２モータ速度の予測値ΔPfb2＊(i+m)を用いて、前記予測値ΔPfb2pを式（１５）
【００７２】
ΔPfb2p =ΔPfb2＊(i+M)、または、ΔPfb2p =ΔPfb2＊(i+M−1)          （１５）
【００７３】
または、補間して式（１６）
【００７４】
ΔPfb2p = {s1・ΔPfb2＊(i+M−1)+s2・ΔPfb2＊(i+M)}／(s1+s2)            （１６）
【００７５】
で与えることもできる。ここでMは予測区間であり、s1、s2は補間係数である。
特にK=0かつM=1である時は式（１７）
【００７６】
ΔPfb2p = {s1・ΔPfb2(i)+s2・ΔPfb2＊(i+1)}／(s1+s2)                    （１７）
【００７７】
で与えられる。ただし、Δはサンプリング周期Ts間の増分値を表す。
ここで、ｍサンプリング先の第２モータ予測速度ΔPfb2＊(i+m)は、以下の式（１８）、式（１９）
【００７８】
【数２０】
2005269758.tif 000016
【００７９】
ΔPfb2＊(i+m) = Pfb2＊(i+m)−Pfb2＊(i+m−1)                         （１９）
【００８０】
または、以下の２式の何れか１つの式で与える。
【００８１】
【数２１】
2005269758.tif 000017
【００８２】
【数２２】
2005269758.tif 000018
【００８３】
以下、式（１８）〜式（２１）について説明する。まず、式（１８）を説明する。いま第２モータ２６の第２トルク指令Tref2、第２速度指令Vref2、または、位置指令Prefのいずれかを入力ｕと考え、この入力ｕ(i)から第２モータ位置Pfb2(i)までの伝達関数モデルが、式（８）の離散時間系で得られているとする。時刻i・Ts（以下便宜上時刻ｉと呼ぶ）において、未来の入力をｕ(j)=ｕ(i) (j>i)として、時刻i−K以降の第２モータ位置を予測すると前記式（１８）となり、係数Amn、Bmnは式（９）および式（１０）で与えられる。
【００８４】
次に式（２０）を説明する。いま入力増分値Δｕ(i)から第２モータ速度ΔPfb2(i)までの離散時間伝達関数モデル、式（１１）を用い、時刻iにおいて、未来の入力をｕ(j)=ｕ(i) (j>i)として、時刻i‐K以降の第２モータ速度を予測すると前記（２０）式となる。ここで、係数Amn、Bmnは式（１２）で与えられる。
さらに、式（２１）を説明する。いま入力ｕ(i)から第２モータ速度ΔPfb2(i)までの離散時間伝達関数モデル、式（１３）を用い、時刻iにおいて、 未来の入力をｕ(j)=ｕ(i) (j>i)として、時刻i−K以降の第２モータ速度を予測すると前記式（２１）となる。ここで、係数Amn、Bmn は式（１４）で与えられる。
【００８５】
図６は実施例３における補償演算器３３の詳細を説明するブロック図である。
実施例３の補償演算器３３が実施例１の補償演算器３３と異なる点は、補償演算器３３が、実施例１では軸間速度指令差に基づいて軸ずれ補償速度指令Cvrefを算出するが、実施例３では軸間予測速度差に基づいて軸ずれ補償速度指令Cvrefを算出する点である。
図中、破線で囲った部分が補償演算器３３である。
【００８６】
以上に説明したように、両軸の速度指令が得られる場合は請求項１に記載の方法を適用し、両軸のモータ速度が得られる場合は請求項２に記載の方法、両軸の位置が得られる場合は請求項５または６に記載の方法を用いることで、軸間の相互ずれを抑え、高い応答性を備えた制御装置が提供できる。
【産業上の利用可能性】
【００８７】
本発明は、電子部品実装装置や半導体製造装置の位置決め駆動用サーボ制御装置、工作機械や産業用ロボットを駆動するモータ制御装置において、１つの可動部を２つのモータで同期駆動するタンデム駆動制御に利用できる。
【図面の簡単な説明】
【００８８】
【図１】本発明を適用する第１の実施例を説明するモータ制御装置のブロック図
【図２】本発明を適用する第１の実施例の補償演算器を説明するブロック図
【図３】本発明を適用する第２の実施例を説明するモータ制御装置のブロック図
【図４】本発明を適用する第２の実施例の補償演算器を説明するブロック図
【図５】本発明を適用する第３の実施例を説明するモータ制御装置のブロック図
【図６】本発明を適用する第３の実施例の補償演算器を説明するブロック図
【図７】軸ずれの補償を行わない場合の応答例
【図８】本発明の実施例１の応答例
【符号の説明】
【００８９】
１１  指令発生部
１２  第１位置制御部
１３  第１速度制御部
１４  第１トルク制御部
１５  第１差分器
１６  第１モータ
１７  第１位置検出器
１８  テーブル
２２  第２位置制御部
２３  第２速度制御部
２４  第２トルク制御部
２５  第２差分器
２６  第２モータ
２７  第２位置検出器
３１  軸ずれ補償部
３２、３５  減算器
３３  補償演算器
３４、４６  加算器
３６  第１予測器
３７  第２予測器
４１  微分器
４２、４４、４５  乗算器
４３  積分器
【図１】
2005269758.tif 000025
【図２】
2005269758.tif 000026
【図３】
2005269758.tif 000027
【図４】
2005269758.tif 000028
【図５】
2005269758.tif 000029
【図６】
2005269758.tif 000030
【図７】
2005269758.tif 000031
【図８】
2005269758.tif 000032