Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4588367B2 - 位置制御装置 - Google Patents
[go: Go Back, main page]

JP4588367B2 - 位置制御装置 - Google Patents

位置制御装置 Download PDF

Info

Publication number
JP4588367B2
JP4588367B2 JP2004170013A JP2004170013A JP4588367B2 JP 4588367 B2 JP4588367 B2 JP 4588367B2 JP 2004170013 A JP2004170013 A JP 2004170013A JP 2004170013 A JP2004170013 A JP 2004170013A JP 4588367 B2 JP4588367 B2 JP 4588367B2
Authority
JP
Japan
Prior art keywords
torque
value
target position
sub cpu
torque value
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 - Fee Related
Application number
JP2004170013A
Other languages
English (en)
Other versions
JP2005349494A (ja
Inventor
直哉 猿橋
勝範 松澤
雅史 後藤
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2004170013A priority Critical patent/JP4588367B2/ja
Publication of JP2005349494A publication Critical patent/JP2005349494A/ja
Application granted granted Critical
Publication of JP4588367B2 publication Critical patent/JP4588367B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Description

本発明は、モータを駆動源とする移動体の実位置を目標位置に追従させる位置制御装置に関し、特に複数のCPUを用いた分散処理により、該モータの出力トルクの指令値を算出して位置制御を行う位置制御装置に関する。
例えば、加工ツールを予め設定された軌跡で移動させて切削加工等を行う工作機械においては、PID制御を適用した位置制御が広く採用されている。かかるPID制御によれば、微分補償やゲイン設定等の各種パラメータを工作機械の特性に応じて適切に設定することで、位置制御の性能を向上させることができる。
しかし、PID制御における各種パラメータの設定は、実際の工作機械を使用した現物調整により行われており、適切にパラメータを設定する作業は容易ではない。また、工作機械の動作特性は、機械振動や摩擦等の外乱、バックラッシュの大きさ等の工作機械の個体差、経年変化、等の種々の要因によって変化する。そのため、一旦適切なパラメータを設定しても、これらの要因によりパラメータが不適切なものとなり、正確な位置制御が困難になる場合や、加工ツールを移動させる際に工作機械の励振が生じる場合がある。
そこで、上述した種々の要因の変化が生じた場合であっても、高精度の位置制御性能を確保するために、適応制御やロバスト制御等のいわゆる現代制御理論による制御手法を用いて位置制御を行うことが考えられる。しかし、これらの現代制御理論による制御手法を用いる場合、PID制御による場合に比べて、位置制御における演算処理が複雑になると共に演算量も飛躍的に増加する。
そのため、高速に位置制御を行うためには、高速な演算処理能力をもった演算ユニットを用意する必要がある。そして、かかる演算ユニットとして、2個のCPUによりNCデータについて分散処理を行うようにした工作機械が提案されている(例えば、特許文献1参照)。
特開2003−316408号公報
上述した2個のCPUにより分散処理を行う工作機械によれば、位置制御の演算処理の高速化を図ることができる。しかし、現代制御理論による制御手法を適用した場合のように位置制御処理における演算量が増加したときには、目標位置が与えられてから該目標位置に応じた電圧が実際にモータに出力されるまでに要する時間が長くなる。そのため、位置制御における制御周期が長くなって、位置制御の応答性が悪化するという不都合が生じる。
そこで、本発明は、複数のCPUを用いた分散処理により位置制御の演算処理を実行する場合に、制御周期を短縮することができる位置制御装置を提供することを目的とする。
本発明は上記目的を達成するためになされたものであり、モータを駆動源として該モータから伝達機構を介して伝達される駆動力によって移動する移動体の目標位置を取得する目標位置取得手段と、該移動体の実位置を把握する実位置把握手段と、該移動体の実位置が目標位置に追従するように、所定の制御周期ごとに所定のトルク指令算出処理を実行して前記モータの出力トルクの目標値であるトルク指令値を算出するトルク指令算出手段とを備えた位置制御装置の改良に関する。
そして、本発明の位置制御装置の第1の態様では、前記トルク指令算出手段は、記憶手段と、前記制御周期ごとに、前記移動体の位置を入力して前記モータのトルクを出力する所定のシステム逆伝達関数に、前記目標位置取得手段により取得された前記移動体の目標位置を入力したときの該システム逆伝達関数の出力値を、前記伝達機構の応答特性に応じた応答モデルに入力したときに該応答モデルから出力される第1のトルク値を算出すると共に、該目標位置を該応答モデルに入力したときに該応答モデルから出力される第1の目標位置を算出して、該第1のトルク値及び該第1の目標位置を前記記憶手段に記憶する第1のサブCPUと、前記制御周期ごとに、前記実位置把握手段により把握された前記移動体の実位置を前記システム逆伝達関数に入力したときに該システム逆伝達関数から出力されるトルク値と前記トルク指令値との差に応じた第2のトルク値を算出して、該第2のトルク値を前記記憶手段に記憶する第2のサブCPUと、前記制御周期ごとに、前記第1のサブCPUによる前記第1のトルク値及び前記第1の目標位置の算出と前記第2のサブCPUによる前記第2のトルク値の算出とに先行して、前記実位置把握手段により把握された前回の制御周期における前記移動体の実位置と前回の制御周期における前記移動体の目標位置との差分値にPID制御を適用して算出した第3のトルク値と、前記記憶手段に記憶された前回以前の制御周期における前記第1のトルク値及び前記第2のトルク値とに基づいて、前記トルク指令値を算出するメインCPUとを備えたことを特徴とする。
かかる本発明によれば、前記メインCPUは、各制御周期において、前記第1のサブCPUによる前記第1のトルク値及び前記第1の目標位置の算出と、前記第2のサブCPUによる前記第2のトルク値の算出とに先行して、前記記憶手段に記憶された前回以前の制御周期における前記第1のトルク値及び前記第1の目標位置と前記第2のトルク値とを用いて前記トルク指令値を算出する。そのため、前記トルク指令値を前記モータの駆動装置に出力して、前記モータにより前記移動体が目標位置まで移動する間に、前記第1のサブCPUは前記第1のトルク値及び前記第1の目標位置の算出処理を実行することができ、前記第2のサブCPUは前記第2のトルク値の算出処理を実行することができる。そして、この場合には、前記移動体の移動時間と、前記第1のトルク値及び前記第1の目標値と前記第2のトルク値の算出時間をオーバーラップさせることができる。これにより、前記制御周期を短縮して、前記移動体の位置制御の応答性を高めることができる。
さらに本発明によれば、前記第1のサブCPUにより算出される前記第1のトルク値は、前記伝達機構を含めた被制御対象における応答特性を、前記システム逆伝達関数に対応したシステム伝達関数の応答特性に一致させるためのトルク値となり、また、前記第2のサブCPUにより算出される前記第2のトルク値は、該被制御対象に加わる外乱を反映したものとなる。そのため、前記メインCPUによって、PID制御による前記第3のトルク値と前記第1のトルク値と前記第2のトルク値とに基づいて前記トルク指令値を算出することにより、前記移動体の位置制御における応答特性を前記システム逆伝達関数により要求される応答特性にマッチングさせると共に外乱の影響を抑制して、前記移動体の位置制御を安定化させることができる。
また、本発明の位置制御装置の第2の態様では、前記トルク指令算出手段は、記憶手段と、前記制御周期ごとに、前記移動体の位置を入力して前記モータのトルクを出力する所定のシステム逆伝達関数に、前記目標位置取得手段により取得された前記移動体の目標位置を入力したときの該システム逆伝達関数の出力値を、前記伝達機構の応答特性に応じた応答モデルに入力したときに該応答モデルから出力される第1のトルク値を算出すると共に、該目標位置を該応答モデルに入力したときに該応答モデルから出力される第1の目標位置を算出する第1のサブCPUと、前記制御周期ごとに、前記実位置把握手段により把握された前記移動体の実位置を前記システム逆伝達関数に入力したときに該システム逆伝達関数から出力されるトルク値と前記トルク指令値との差に応じた第2のトルク値を算出する第2のサブCPUと、前記制御周期ごとに、前記伝達機構の制御対象モデルに対して、前記移動体の実位置と前記第1の目標位置との偏差を観測量として入力し前記モータのトルクを操作量として出力するH制御器に、前記実位置把握手段により把握された前記移動体の実位置と前記第1の目標位置との偏差を入力したときに、該H制御器から出力される第3のトルク値を算出する第3のサブCPUと、前記制御周期ごとに、前記第1のサブCPUによる前記第1のトルク値及び前記第1の目標位置の算出と、前記第2のサブCPUによる前記第2のトルク値の算出と、前記第3のCPUによる前記第3のトルク値の算出とに先行して、前記記憶手段に記憶された2周期前の制御周期における前記第1のトルク値と、1周期前の制御周期において前記第2のサブCPUにより算出された前記第2のトルク値と、1周期前の制御周期において前記第3のサブCPUにより算出された前記第3のトルク値とに基づいて、前記トルク指令値を算出するメインCPUとを備えたことを特徴とする。
かかる本発明によれば、前記メインCPUは、各制御周期において、前記第1のサブCPUによる前記第1のトルク値及び前記第1の目標位置の算出と、前記第2のサブCPUによる前記第2のトルク値の算出と、前記第3のサブCPUによる前記第3のトルク値の算出とに先行して、前記記憶手段に記憶された前回以前の制御周期における前記第1のトルク値及び前記第1の目標位置と前記第2のトルク値と前記第3のトルク値とを用いて前記トルク指令値を算出する。
そのため、前記トルク指令値を前記モータの駆動装置に出力して、前記モータにより前記移動体が目標位置まで移動する間に、前記第1のサブCPUは前記第1のトルク値及び前記第1の目標位置の算出処理を実行することができ、前記第2のサブCPUは前記第2のトルク値の算出処理を実行することができ、前記第3のサブCPUは前記第3のトルク値の算出処理を実行することができる。
そして、この場合には、前記移動体の移動時間と、前記第1のトルク値及び前記第1の目標値と前記第2のトルク値と前記第3のトルク値の算出時間をオーバーラップさせることができる。これにより、前記制御周期を短縮して、前記移動体の位置制御の応答性を高めることができる。
さらに本発明によれば、前記第1のサブCPUにより算出される前記第1のトルク値は、前記伝達機構を含めた被制御対象における応答特性を、前記システム逆伝達関数に対応したシステム伝達関数の応答特性に一致させるためのトルク値となり、前記第2のサブCPUにより算出される前記第2のトルク値は、該被制御対象に加わる外乱を反映したものとなる。また、前記第3のサブCPUにより算出される前記第3のトルク値は、前記第1の目標位置と前記移動体の実位置との偏差の変動に対して、前記移動体の位置制御を安定化させるものとなる。そのため、前記メインCPUによって、前記第1のトルク値と前記第2のトルク値と前記第3のトルク値とに基づいて前記トルク指令値を算出することにより、前記移動体の位置制御における応答特性を前記システム逆伝達関数により要求される応答特性にマッチングさせると共に外乱の影響を抑制し、ロバスト性を高めて前記移動体の位置制御を安定化させることができる。
さらに、各制御周期における前記トルク指令値の算出を、2周期前の制御周期において算出された前記第1のトルク値と、1周期前の制御周期において算出された前記第2のトルク値と、1周期前の制御周期において算出された前記第3のトルク値とを用いて算出することにより、前記第1のトルク値と前記第2のトルク値と前記第3のトルク値の算出時点から、前記トルク指令値を算出時点までの遅れ時間を短くして、精度良く前記移動体の位置制御を行うことができる。
本発明の実施の形態について、図1〜図5を参照して説明する。図1は本発明の位置制御装置の全体構成図、図2は図1に示したサブCPUの演算ブロック図、図3はPID制御を用いてトルク指令値を算出する場合のフローチャート、図4はメインCPU及びサブCPUのタイミングチャート、図5はH制御を用いてトルク指令値を算出する場合のフローチャートである。
図1を参照して、本発明の位置制御装置1は、工作機械20にチャッキングされる加工ツール(図示しない,本発明の移動体に相当する)の実位置Fb_Posを、NC制御装置2から送信される目標位置Pln_Posに追従させる位置制御を行うものであり、サーボ制御ユニット1aと演算ユニット1bとにより構成される。
サーボ制御ユニット1aは、メインCPU10、NCインターフェース11、及びサーボインターフェース12を備え、NCインターフェース11を介してNC制御装置2と通信可能に接続されると共に、サーボインターフェース12を介してサーボドライバ3と通信可能に接続されている。
サーボドライバ3は、伝達機構を介して加工ツールを移動させるサーボモータ21及びサーボモータ21の回転軸に装着されたエンコーダ22と接続され、サーボモータ21の出力トルクが制御ユニット1aから送信されるトルク指令値Cmd_Trqと一致するように、サーボモータ21に供給する電力を制御する。また、サーボドライバ3は、サーボモータ21の回転に応じてエンコーダ22から出力されるパルス信号に基づいて、加工ツールの実位置Fb_Posを把握し、該実位置Fb_Posのデータをサーボユニット1aに送信する。
そして、メインCPU10は、サーボインターフェース12を介してサーボドライバ3から受信した加工ツールの実位置Fb_Posが、NCインターフェース11を介してNC制御装置2から受信した目標位置Pln_Posに追従するように、トルク指令値Cmd_Trqを決定する。
なお、メインCPU10がNCインターフェース11を介して加工ツールの目標位置Pln_Posを取得する構成が本発明の目標位置取得手段に相当する。また、メインCPU10がサーボインターフェース12を介して加工ツールの実位置Fb_Posを把握する構成が本発明の実位置把握手段に相当する。
次に、演算ユニット1bに備えられた第1のサブCPU13、第2のサブCPU14、及び第3のサブCPU15は、メインCPU10におけるトルク指令値Cmd_Trqの算出に使用されるパラメータを分散処理により算出するものであり、QP−RAMを介してメインCPU10と共有するデータの書込みと読出しを行う。
図2(a)は第1のサブCPU13におけるモデルマッチング計算の処理を示したものである。第1のサブCPU13は、QP−RAM16から読み出した目標位置Pln_Posを、工作機械20に対して設定された応答特性に応じたシステム逆伝達関数40に入力し、システム逆伝達関数40の出力を工作機械20の機械的特性に応じて設定された応答モデル41に入力したときの該応答モデル41の出力を、モデルマッチングトルクM_Trq(本発明の第1のトルク値に相当する)として算出する。さらに、第1のサブCPU13は、目標位置Pln_Posを応答モデルに入力したときの出力を、モデルマッチング位置M_Pos(本発明の第1の目標位置に相当する)として算出する。そして、第1のサブCPU13は、算出したモデルマッチングトルクM_Trqとモデルマッチング位置M_Posとを、QP−RAM16に書き込む。
また、図2(b)は第2のサブCPU14における外乱オブザーバ計算の処理を示したものである。第2のサブCPU14は、減算器42により、QP−RAM16から読み出したトルク指令値Cmd_Trqから、QP−RAM16から読み出した実位置Fb_Posをシステム逆伝達関数40に入力したときの該システム逆伝達関数40の出力を減じて、偏差ΔTrqを算出する。そして、第2のサブCPU14は、該偏差ΔTrqに対してフィルタ43によるフィルタリング処理を施し、工作機械20に加わる外乱の影響を抑制するための外乱オブザーバトルクOb_Trq(本発明の第2のトルク値に相当する)を算出し、該外乱オブザーバトルクOb_TrqをQP−RAM16に書き込む。
また、図2(c)は第3のサブCPU15におけるH制御計算の処理を示したものであり、第3のサブCPU15は、減算器50により、QP−RAM16から読み出したモデルマッチング位置M_Posから、QP−RAM16から読み出した実位置Fb_Posを減じて、位置偏差ΔPosを算出する。そして、第3のサブCPU15は、該位置偏差ΔPosを、加工ツールの実位置と目標位置との偏差を観測量として入力しサーボモータ21のトルクを操作量として出力するH制御器51に入力して、該H制御器51の出力をHトルクH_Trq(本発明の第3のトルク値に相当する)として算出する。また、第3のサブCPU15は、算出したHトルクH_TrqをQP−RAM16に書き込む。
次に、位置制御装置1における第1の実施の形態について、図3に示したフローチャートに従って説明する。第1の実施の形態では、位置制御装置1はPID制御を用いてトルク指令値Cmd_Trqを算出する。メインCPU10は、所定の制御周期ごとに図3(a)に示した処理を実行する。また、第1のサブCPU13は、該制御周期ごとに図3(b)に示した処理を実行し、第2のサブCPU14は、該制御周期ごとに図3(c)に示した処理を実行する。
なお、本第1の実施の形態においては、メインCPU10、第1のサブCPU13、及び第2のサブCPU14により本発明のトルク指令算出手段が構成され、第3のサブCPU15は使用されない。
また、図3(a)、図3(b)、図3(c)に示したフローチャートにおける(N-1)、(N)は、それぞれN−1番目、N番目の制御周期において取得又は算出された変数値を示すものである。そして、図3(a)、図3(b)、図3(c)に示したフローチャートは、N番目の制御周期における処理を示している。
先ず、メインCPU10は、図3(a)のSTEP1で、1回前の制御周期(N−1番目の制御周期)において、第1のサブCPU13により算出されてQP−RAM16に書き込まれたマデルマッチング位置M_Pos(N-1)及びモデルマッチングトルクM_Trq(N-1)と、第2のサブCPU14により算出されてQP−RAM16に書き込まれた外乱オブザーバトルクOb_Trq(N-1)と、メインCPU10により算出されてQP−RAM16に書き込まれたPID指令トルクPID_Trq(N-1)を、QP−RAM16から読み出す。
そして、メインCPU10は、次のSTEP2で、以下の式(1)により、今回の制御周期(N番目の制御周期)におけるトルク指令値Cmd_Trq(N)を算出する
Cmd_Trq(N) = M_Trq(N-1)+Ob_Trq(N-1)+PID_Trq(N-1) ・・・・・(1)
続くSTEP3で、メインCPU10は、サーボインターフェース12を介してサーボドライバ3にトルク指令値Cmd_Trq(N)を送信する。そして、トルク指令値Cmd_Trq(N)を受信したサーボドライバ3は、該トルク指令値Cmd_Trq(N)に応じたトルクが得られるようにサーボモータ21に対する供給電力を制御する。
次のSTEP4で、メインCPU10は、NCインターフェース11を介してNC制御装置2から目標位置Pln_Pos(N)を受信し、STEP5で、サーボインターフェース12を介してサーボドライバ3から実位置Fb_Pos(N)を受信する。そして、続くSTEP6で、メインCPU10は、今回の制御周期における目標位置Pln_Pos(N)と実位置Fb_Pos(N)とトルク指令値Cmd_Trq(N)とを、QP−RAM16に書き込む。
次のSTEP7で、メインCPU10は、目標位置Pln_Pos(N)と実位置Fb_Pos(N)との偏差に対するPID制御処理を行って、PID指令トルクPID_Trq(N)を算出し、STEP8で該PID指令トルクPID_Trq(N)をQP−RAM16に書き込む。続くSTEP9で、メインCPU10は、システム処理(ウォッチドッグタイマによるプラグラムの暴走検知、停電検知等を実行する)を行って今回の制御周期を終了する。
次に、図3(b)を参照して、第1のサブCPU13は、N番目の制御周期が開始されると、STEP10で、メインCPU10により目標位置Pln_Pos(N)がQP−RAM16に書き込まれるのを待つ。そして、目標位置Pln_Pos(N)がQP−RAM16に書き込まれたとき(図3(a)のSTEP6の処理が終了したとき)にSTEP11に進み、第1のサブCPU13は、図2(a)に示したモデルマッチング計算を行って、モデルマッチングトルクM_Trq(N)とモデルマッチング位置M_Pos(N)を算出する。また、続くSTEP13で、第1のサブCPU13は、算出したモデルマッチングトルクM_Trq(N)とモデルマッチング位置M_Pos(N)をQP−RAM16に書き込む。
次に、図3(c)を参照して、第2のサブCPU14は、N番目の制御周期が開始されると、STEP20で、メインCPU10により実位置Fb_Pos(N)とトルク指令値Cmd_Trq(N)がQP−RAM16に書き込まれるのを待つ。そして、実位置Fb_Pos(N)とトルク指令値Cmd_Trq(N)がQP−RAM16に書き込まれたとき(図3(a)のSTEP6の処理が終了したとき)にSTEP21に進み、第2のサブCPU14は、図2(b)に示した外乱オブザーバ演算を行って、外乱オブザーバトルクOb_Trq(N)を算出する。また、続くSTEP23で、第2のサブCPU14は、算出した外乱オブザーバトルクOb_Trq(N)をQP−RAM16に書き込む。
図4は、以上説明した図3(a)、図3(b)、図3(c)のフローチャートを実行したときのメインCPU10と、第1のサブCPU13及び第2のサブCPU14の作動タイミングを示したタイミングチャートであり、横軸が時間tに設定されている。図中t10〜t13及びt13〜t16が1制御周期となる。
10で制御周期が開始されると、メインCPU10は、トルク指令値Cmd_Trqを算出し(STEP2)、t11でサーボドライバ3への該トルク指令値Cmd_Trqの送信を終了する(STEP3)。これにより、サーボドライバ3によるサーボモータ21の駆動が開始される。
そして、その後のt12で、メインCPU10によるQP−RAM16へのデータ(目標位置Pln_Pos,実位置Fb_Pos,トルク指令値Cmd_Trqのデータ)の書き込みが終了したときに、第1のサブCPU13はQP−RAM16からデータ(目標位置Pln_Pos)を読出し(STEP11)、第2のサブCPU14はQP−RAM16からデータ(実位置Fb_Pos,トルク指令値Cmd_Trq)を読み出す(STEP21)。
そして、第1のサブCPU13はモデルマッチング位置M_PosとモデルマッチングトルクM_Trqを算出し(STEP12)、第2のサブCPU14は外乱オブザーバトルクOb_Trqを算出する(STEP22)。この場合、t11でサーボドライバ3にトルク指令値Cmd_Trqが送信されてサーボモータ21が作動している間に、t12から第1のサブCPU13による計算処理(STEP12)と第2のサブCPU14による計算処理(STEP22)を開始することができる。そのため、制御周期を短縮させて位置制御の応答性を高めることができる。
次に、第2の実施の形態について、図5に示したフローチャートに従って説明する。第2の実施の形態においては、位置制御装置1はH制御を用いてサーボモータ21に対するトルク指令値Cmd_Trqを算出する。そして、演算ユニット1bに備えられた第3のサブCPU15によりH制御の演算処理が実行される。
なお、本第2の実施の形態においては、メインCPU10、第1のサブCPU13、第2のサブCPU14、及び第3のサブCPU15により本発明のトルク指令算出手段が構成される。
また、図5(a)、図5(b)に示したフローチャートにおける(N-2)、(N-1)、(N)は、それぞれ、N−2番目、N−1番目、N番目の制御周期において取得又は算出された変数値を示すものである。そして、図5(a)、図5(b)に示したフローチャートは、N番目の制御周期における処理を示している。また、第1のサブCPU13と第2のサブCPU14は、上述した第1の実施の形態と同様に、図3(a)と図3(b)のフローチャートで示した処理をそれぞれ実行する。
先ず、メインCPU10は、図5(a)のSTEP1で、1回前の制御周期(N−1番目の制御周期)において、第1のサブCPU13により算出されてQP−RAM16に書き込まれたモデルマッチング位置M_Pos(N-1)と、2回前の制御周期(N−2番目の制御周期)において、第1のサブCPU13により算出されてQP−RAM16に書き込まれたモデルマッチングトルクM_Trq(N-2)と、1回前の制御周期(N−1番目の制御周期)において、第2のサブCPU14により算出されてQP−RAM16に書き込まれた外乱オブザーバトルクOb_Trq(N-1)と、1回前の制御周期(N−1番目の制御周期)において、第3のサブCPU15により算出されてQP−RAM16に書き込まれたHトルクH_Trq(N)とを、QP−RAM16から読み出す。
そして、メインCPU10は、次のSTEP51で、以下の式(2)により、今回の制御周期(N番目の制御周期)におけるトルク指令値Cmd_Trq(N)を算出する。
Cmd_Trq(N) = M_Trq(N-2)+Ob_Trq(N-1)+H_Trq(N-1) ・・・・・(2)
続くSTEP52で、メインCPU10は、サーボインターフェース12を介してサーボドライバ3にトルク指令値Cmd_Trq(N)を送信する。そして、トルク指令値Cmd_Trq(N)を受信したサーボドライバ3は、該トルク指令値Cmd_Trq(N)に応じたトルクが得られるようにサーボモータ21に対する供給電力を制御する。
次のSTEP53で、メインCPU10は、NCインターフェース11を介してNC制御装置2から目標位置Pln(N)を受信し、STEP54で、サーボインターフェース12を介してサーボドライバ3から実位置Fb_Pos(N)を受信する。そして、続くSTEP55で、メインCPU10は、目標位置Pln_Pos(N)と実位置Fb_Pos(N)とトルク指令値Cmd_Trq(N)とモデルマッチング位置M_Pos(N-1)とを、QP−RAM16に書き、STEP56でシステム処理(ウォッチドッグタイマによるプラグラムの暴走検知、停電検知等を実行する)を行って今回の制御周期を終了する。
次に、図5(b)を参照して、第3のサブCPU15は、N番目の制御周期が開始されると、STEP60で、メインCPU10により実位置Fb_Pos(N)とモデルマッチング位置M_Pos(N-1)とがQP−RAM16に書き込まれるのを待つ。そして、実位置Fb_Pos(N) とモデルマッチング位置M_Pos(N-1)とがQP−RAM16に書き込まれたとき(図5(a)のSTEP55の処理が終了したとき)にSTEP61に進んで、これらを読み出す。そしてSTEP62で、第3のサブCPU15は、図2(c)に示したH∞制御計算を行って、H∞トルクH∞_Trq(N)を算出する。また、続くSTEP63で、第3のサブCPU15は、算出したH∞トルクH∞_Trq(N)をQP−RAM16に書き込む。
本第2の実施の形態による場合には、第3のサブCPU15によりHトルクH_Trqを算出し、メインCPU10により、上記式(2)によって該HトルクH_Trqを用いてトルク指令値Cmd_Trq(N)を算出することによって、位置制御装置1のロバスト性を高めて精度の良い位置制御を実現することができる。
また、本第2の実施の形態においても、上述した第1の実施の形態と同様に、図5(a)のSTEP52でメインCPU10がトルク指令値Cmd_Trq(N)を送信し、サーボモータ21が作動を開始した後に、第1のサブCPU13と第2のサブCPU14と第3のサブCPU15による計算処理(図3(b)のSTEP12,図3(c)のSTEP22,図5(b)のSTEP62)を開始することができる。そのため、位置制御装置1の制御周期を短縮することができる。
なお、本実施の形態では、本発明の移動体として工作機械にチャッキングされた加工ツールの位置を制御するものを示したが、複数のCPUを用いて位置制御における変数値を分散処理により算出する位置制御装置であれば、本発明の適用が可能である。
また、本実施の形態では、サブCPUによる分散処理として、モデルマッチング計算、外乱オブザーバ計算、及びH制御計算を実行する例を示したが、分散処理の対象となる計算はこれらに限らず、他の種類の計算処理をサブCPUによって実行する場合にも本発明の適用が可能である。
位置制御装置の全体構成図。 図1に示したサブCPUの演算ブロック図。 PID制御を用いてトルク指令値を算出する場合のフローチャート。 メインCPU及びサブCPUのタイミングチャート。 制御を用いてトルク指定値を算出する場合のフローチャート。
符号の説明
1…位置制御装置、1a…サーボユニット、1b…演算ユニット、2…NC制御装置、3…サーボドライバ、10…メインCPU、11…NCインターフェース、12…サーボインターフェース、13…第1のサブCPU、14…第2のサブCPU、15…第3のサブCPU、21…サーボモータ、22…エンコーダ

Claims (2)

  1. モータを駆動源として該モータから伝達機構を介して伝達される駆動力によって移動する移動体の目標位置を取得する目標位置取得手段と、該移動体の実位置を把握する実位置把握手段と、該移動体の実位置が目標位置に追従するように、所定の制御周期ごとに所定のトルク指令算出処理を実行して前記モータの出力トルクの目標値であるトルク指令値を算出するトルク指令算出手段とを備えた位置制御装置において、
    前記トルク指令算出手段は、
    記憶手段と、
    前記制御周期ごとに、前記移動体の位置を入力して前記モータのトルクを出力する所定のシステム逆伝達関数に、前記目標位置取得手段により取得された前記移動体の目標位置を入力したときの該システム逆伝達関数の出力値を、前記伝達機構の応答特性に応じた応答モデルに入力したときに該応答モデルから出力される第1のトルク値を算出すると共に、該目標位置を該応答モデルに入力したときに該応答モデルから出力される第1の目標位置を算出して、該第1のトルク値及び該第1の目標位置を前記記憶手段に記憶する第1のサブCPUと、
    前記制御周期ごとに、前記実位置把握手段により把握された前記移動体の実位置を前記システム逆伝達関数に入力したときに該システム逆伝達関数から出力されるトルク値と前記トルク指令値との差に応じた第2のトルク値を算出して、該第2のトルク値を前記記憶手段に記憶する第2のサブCPUと、
    前記制御周期ごとに、前記第1のサブCPUによる前記第1のトルク値及び前記第1の目標位置の算出と前記第2のサブCPUによる前記第2のトルク値の算出とに先行して、前記実位置把握手段により把握された前回の制御周期における前記移動体の実位置と前回の制御周期における前記移動体の目標位置との差分値にPID制御を適用して算出した第3のトルク値と、前記記憶手段に記憶された前回以前の制御周期における前記第1のトルク値及び前記第2のトルク値とに基づいて、前記トルク指令値を算出するメインCPUとを備えたことを特徴とする位置制御装置。
  2. モータを駆動源として該モータから伝達機構を介して伝達される駆動力によって移動する移動体の目標位置を取得する目標位置取得手段と、該移動体の実位置を把握する実位置把握手段と、該移動体の実位置が目標位置に追従するように、所定の制御周期ごとに所定のトルク指令算出処理を実行して前記モータの出力トルクの目標値であるトルク指令値を算出するトルク指令算出手段とを備えた位置制御装置において、
    前記トルク指令算出手段は、
    記憶手段と、
    前記制御周期ごとに、前記移動体の位置を入力して前記モータのトルクを出力する所定のシステム逆伝達関数に、前記目標位置取得手段により取得された前記移動体の目標位置を入力したときの該システム逆伝達関数の出力値を、前記伝達機構の応答特性に応じた応答モデルに入力したときに該応答モデルから出力される第1のトルク値を算出すると共に、該目標位置を該応答モデルに入力したときに該応答モデルから出力される第1の目標位置を算出して、該第1のトルク値と該第1の目標位置を前記記憶手段に記憶する第1のサブCPUと、
    前記制御周期ごとに、前記実位置把握手段により把握された前記移動体の実位置を前記システム逆伝達関数に入力したときに該システム逆伝達関数から出力されるトルク値と前記トルク指令値との差に応じた第2のトルク値を算出して、該第2のトルク値を前記記憶手段に記憶する第2のサブCPUと、
    前記制御周期ごとに、前記伝達機構の制御対象モデルに対して、前記移動体の実位置と前記第1の目標位置との偏差を観測量として入力し前記モータのトルクを操作量として出力するH制御器に、前記実位置把握手段により把握された前記移動体の実位置と前記第1の目標位置との偏差を入力したときに、該H制御器から出力される第3のトルク値を算出して、該第3のトルク値を前記記憶手段に記憶する第3のサブCPUと、
    前記制御周期ごとに、前記第1のサブCPUによる前記第1のトルク値及び前記第1の目標位置の算出と、前記第2のサブCPUによる前記第2のトルク値の算出と、前記第3のCPUによる前記第3のトルク値の算出とに先行して、前記記憶手段に記憶された2周期前の制御周期における前記第1のトルク値と、1周期前の制御周期において前記第2のサブCPUにより算出された前記第2のトルク値と、1周期前の制御周期において前記第3のサブCPUにより算出された前記第3のトルク値とに基づいて、前記トルク指令値を算出するメインCPUとを備えたことを特徴とする位置制御装置。
JP2004170013A 2004-06-08 2004-06-08 位置制御装置 Expired - Fee Related JP4588367B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004170013A JP4588367B2 (ja) 2004-06-08 2004-06-08 位置制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004170013A JP4588367B2 (ja) 2004-06-08 2004-06-08 位置制御装置

Publications (2)

Publication Number Publication Date
JP2005349494A JP2005349494A (ja) 2005-12-22
JP4588367B2 true JP4588367B2 (ja) 2010-12-01

Family

ID=35584368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004170013A Expired - Fee Related JP4588367B2 (ja) 2004-06-08 2004-06-08 位置制御装置

Country Status (1)

Country Link
JP (1) JP4588367B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102417134B1 (ko) * 2019-12-27 2022-07-06 알에스오토메이션주식회사 서보 모터 시스템의 트리거 모듈 제어 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191707A (ja) * 1993-12-27 1995-07-28 Kobe Steel Ltd 制御装置
JP3309559B2 (ja) * 1994-03-28 2002-07-29 株式会社デンソー サーボ制御装置

Also Published As

Publication number Publication date
JP2005349494A (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
JP4283214B2 (ja) 機械先端点の制御装置
JP6648913B2 (ja) 制御方法、ロボット装置、プログラム、記録媒体、物品の製造方法、及び駆動装置
JP4813618B2 (ja) イナーシャと摩擦を同時に推定する機能を有する電動機の制御装置
CN106873506B (zh) 校正装置、校正装置的控制方法、信息处理程序及记录介质
US11000949B2 (en) Robot for controlling learning in view of operation in production line, and method of controlling the same
CN109799701B (zh) 一种工业机器人振动抑制方法
KR100914349B1 (ko) 서보모터의 제어방법
JP6392825B2 (ja) 学習制御機能を備えたロボット制御装置
CN100465824C (zh) 伺服电动机控制器
US20180373223A1 (en) Machine learning apparatus, servo control apparatus, servo control system, and machine learning method
JP5302639B2 (ja) サーボ制御装置
US10656616B2 (en) Control device, control system, and recording medium
WO1998043139A1 (en) Shift command correction method and servo control system in which shift command is corrected
JP2016140956A (ja) ロボットハンド制御方法及びロボット装置
JP2019181610A (ja) モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム
JP6386516B2 (ja) 学習機能を備えたロボット装置
CN112236729B (zh) 数控装置
JP6370866B2 (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
CN113965140B (zh) 一种伺服电机控制方法、装置、设备及介质
JP4588367B2 (ja) 位置制御装置
JP2022177607A (ja) マニピュレータ
JPH0392911A (ja) スライディングモード制御によるロボット制御方法
JP6333495B1 (ja) サーボ制御装置
JP3226413B2 (ja) 数値制御装置
US20200174436A1 (en) Automatic optimization of the parameterization of a movement controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

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: 20100908

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140917

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees