JP2004258700A - 位置決めシステムの同期曲線設定方法及びコンピュータプログラム - Google Patents
位置決めシステムの同期曲線設定方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2004258700A JP2004258700A JP2003045292A JP2003045292A JP2004258700A JP 2004258700 A JP2004258700 A JP 2004258700A JP 2003045292 A JP2003045292 A JP 2003045292A JP 2003045292 A JP2003045292 A JP 2003045292A JP 2004258700 A JP2004258700 A JP 2004258700A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- displacement
- synchronization
- axis
- control points
- 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
Links
Images
Landscapes
- Control Of Position Or Direction (AREA)
Abstract
【課題】複数の制御点を順次接続して得られる折れ線グラフで同期曲線を設定する際に、各制御点の近傍における出力軸の速度の急激な変化を無くして、同期曲線にほぼ忠実な出力軸の制御を可能にする。
【解決手段】入力軸の変位量をX軸にとり、出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定し、複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間APを設定し、X軸方向に沿って複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成し、複数の制御点のそれぞれにおける加速区間APについては、折れ線グラフを構成する直線L1,L2の一部を削除すると共に、両側の直線L1,L2の端点をそれぞれの直線L1,L2に接する曲線CLで接続することによって得られる滑らかな折れ線グラフを同期曲線とする。
【選択図】 図10
【解決手段】入力軸の変位量をX軸にとり、出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定し、複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間APを設定し、X軸方向に沿って複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成し、複数の制御点のそれぞれにおける加速区間APについては、折れ線グラフを構成する直線L1,L2の一部を削除すると共に、両側の直線L1,L2の端点をそれぞれの直線L1,L2に接する曲線CLで接続することによって得られる滑らかな折れ線グラフを同期曲線とする。
【選択図】 図10
Description
【0001】
【発明の属する技術分野】
本発明は、位置決めシステムにおいて、入力の変位量に対する出力の変位量を設定するための同期設定方法及びコンピュータプログラムに関する。
【0002】
【従来の技術】
位置決めシステムは、モータの制御によって物体をある位置から目的の位置まで正確に移動させるシステムをいう。クラッチ、ギア、カム等の機械的要素を使用せずに、例えばロータリーエンコーダで入力軸の位相を検出し、それに応じたパルス数の信号によって出力軸のモータの駆動を制御する(例えば特許文献1参照)。
【0003】
このような位置決めシステムにおける同期とは、入力の変位量(位相)に対する出力の変位量(位相)を所定の関係にしたがって制御することを意味する。入力軸を主軸と呼称し、出力軸を従軸と呼称することもある。
【0004】
図1は、位置決めシステムにおける同期機能の例を示す概念図である。図1に例示するように、主軸101の位相がロータリーエンコーダ102で検出され、その出力信号であるパルス列が位置決め装置(同期機能)103に入力される。位置決め装置103は、ユーザが設定した同期曲線で決まる駆動用パルス列を出力し、モータの駆動回路104に与える。モータの駆動回路104は、その駆動用パルス列にしたがってサーボモータ105を駆動し、その回転軸である従軸106が所定の位相まで回転する。
【0005】
図1の例では、位置決め装置(同期機能)の入力及び出力がいずれもパルス列の信号であるが、ユーザは実際の物理量である位相角(度)や、移動距離(mm)で同期曲線を設定することができる。位置決め装置に備えられた単位変換機能が実際の物理量(設定値)とパルス列信号との変換を行う。
【0006】
図2は、ユーザが設定する同期曲線の例を示す図である。同期曲線とは、主軸の位相に対する従軸の位相の変化を示す曲線である。この例では、原点及び複数の点P1〜P6を順番に結ぶ複数の直線で構成された折れ線グラフで同期曲線が構成されている。これら複数の点(折れ点)P1〜P6を制御点と呼称する。
【0007】
同期曲線を規定する別の方法として、例えば主軸の位相角を一定角度ずつ変化させたときに、主軸の各位相角に対応する従軸の位相角を規定し、それらの対応表(テーブル)を同期曲線のデータとして記憶しておく方法がある。しかし、この方法では記憶すべきデータ量が多くなり、ユーザが同期曲線を設定する作業も面倒なものになる。
【0008】
したがって、図2に例示したように、ユーザが複数の制御点を設定し、それらの制御点を順番に直線で結ぶことによって得られる折れ線グラフで同期曲線を規定する方法が一般的である。通常の位置決めシステムでは、制御点P2とP3を結ぶ直線L1又は制御点P4とP5を結ぶ直線L2のように、従軸の位相が変化しない(速度ゼロの)停止区間を正確に規定する必要があることが多い。
【0009】
図3は、図2の同期曲線に対応する従軸速度対主軸位相を示すグラフである。図2の同期曲線にしたがって制御するには、従軸の速度を図3に実線で示すように変化させる必要がある。しかしながら、実際の位置決めシステムでは、モータや機械系の慣性のために、従軸の速度が図3に示すように変化することは無理である。例えば制御点P1(時刻t1)でモータの速度が瞬時にゼロから一定速度に変化することは無理であり、所定の加速期間Δt1が必要である。同様に、制御点P2(時刻t2)でモータの速度が瞬時に一定速度からゼロに変化することは無理であり、所定の減速期間Δt2が必要である。したがって、図2に実線で示す折れ線の同期曲線で制御した場合のモータの速度変化は破線で例示するようになり、その結果、図2における従軸位相の変化は、実際には破線で例示するようなものとなる。
【0010】
前述のように、図2における直線L1又は直線L2の如く従軸の位相が変化しない停止区間を正確に規定する必要がある場合に、実際には破線で示すように従軸位相が変化したのでは不都合である。つまり、必要な加速期間の影響で、実際の停止区間が制御点を結ぶ区間からずれてしまう(制御点を結ぶ区間より短くなる)ことになる。
【0011】
上記のような問題を解決する一つの方法として、図4に例示するように、停止区間と停止区間の間(例えば制御点P1と制御点P2との間)を直線ではなくS字曲線で接続した同期曲線を使用する方法がある。図4は、図2の同期曲線において停止区間と停止区間の間を直線ではなくS字曲線で接続した場合を示している。また、図5は、図4の同期曲線に対応する従軸速度対主軸位相を示すグラフである。
【0012】
図4に示すような同期曲線を使用すれば、図5に示すように従軸の速度が急激に変化することがなくなるので、実際の位置決めシステムにおいて従軸位相の変化が同期曲線にほぼ従うものとなる。その結果、停止区間L1及びL2を同期曲線で正確に規定することが可能になる。
【0013】
【特許文献1】
特許第2697399号公報
【0014】
【発明が解決しようとする課題】
図4に示したように、停止区間と停止区間の間をS字曲線で接続した同期曲線を使用する場合は、上述のように停止区間を正確に規定することができる。他方、停止区間と停止区間の間における従軸の速度は一定ではなく、図5に示したように台形状に、あるいは三角形状に変化する。
【0015】
用途によっては、一定の速度で従軸位相が変化する区間(以下、定速度区間という)を正確に規定したい場合もある。このような用途では、図4に示した同期曲線よりも、図2に示した同期曲線のほうが定速度区間を規定しやすい。しかし、この場合は前述のように、実際の位置決めシステムにおいてモータや機械系の慣性のために同期曲線で規定した従軸位相と制御結果の従軸位相とがずれる問題がある。
【0016】
また、停止区間と定速度区間の両方を正確に規定したい用途もある。このような場合に、制御点を増やせば従来の同期曲線設定方法でもきめ細かい制御が可能になるが、制御点が増える分だけユーザの設定に要する手間が増えると共に、制御部が記憶すべきデータ量が増加することになる。
【0017】
本発明は、上記のような従来の課題に鑑み、複数の制御点を順番に結ぶ折れ線グラフで同期曲線を設定する際に、各制御点の近傍における出力軸の速度の急激な変化を無くして、同期曲線にほぼ忠実な出力軸の制御を可能にすることを目的とする。
【0018】
【課題を解決するための手段】
本発明による位置決めシステムの同期曲線設定方法は、入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、入力軸の変位量を検出し、その検出信号と同期曲線とにしたがって出力軸の変位量を制御する位置決めシステムにおいて、同期曲線を設定するための方法であって、入力軸の変位量をX軸にとり、出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定し、複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間を設定し、X軸方向に沿って複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成し、複数の制御点のそれぞれにおける加速区間については、折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続することによって得られる滑らかな折れ線グラフを同期曲線とすることを特徴とする。
【0019】
このような方法によれば、制御点の近傍における出力軸の速度の急激な変化が無くなり、実際の出力軸の変位が同期曲線にほぼ忠実に追従するようになる。また、制御点のX座標を中心とするX軸方向の加速期間を設定するので、例えば出力軸の停止区間や定速度期間は、制御点の間隔から加速期間を引いたものとして正確に規定することができる。したがって、複数の制御点と各制御点における加速区間を設定するだけで、出力軸の速度の急激な変化を伴わない出力軸の正確な制御が可能になる。なお、各制御点における加速区間の幅は通常は一定でよいが、制御点ごとに変えてもよい。
【0020】
好ましい実施形態において、上記の加速区間において両側の直線の端点を接続する曲線が、仮に生成された折れ線グラフから演算によって求められる二次曲線である。この演算の詳細については後述する。
【0021】
また、本発明によるコンピュータプログラムは、入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、入力軸の変位量を検出し、その検出信号と同期曲線とにしたがって出力軸の変位量を制御する位置決めシステムにおいて、同期曲線を設定するために、位置決めシステムに内蔵又は接続されたコンピュータに実行させるプログラムであって、入力軸の変位量をX軸にとり、出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定するためのステップと、複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間を設定するためのステップと、X軸方向に沿って複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成するステップと、複数の制御点のそれぞれにおける加速区間については、折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続することによって得られる滑らかな折れ線グラフを同期曲線とするステップとを有することを特徴とする。
【0022】
このようなコンピュータプログラムをインストールしたコンピュータを位置決めシステムの位置決め装置(制御ユニット)に接続することにより、コンピュータの画面上で容易に同期曲線を設定することができる。そして、この同期曲線によれば、前述のように、出力軸の速度の急激な変化を伴わない出力軸の正確な制御が可能になると共に、出力軸の停止区間や定速度期間を、制御点の間隔から加速区間を引いたものとして正確に規定することができる。
【0023】
好ましい実施形態において、コンピュータプログラムは、仮に生成された折れ線グラフから演算によって、加速区間において両側の直線の端点を接続する二次曲線を生成するステップを更に有する。この演算の詳細については後述する。
【0024】
また、本発明の記憶媒体は、上記のようなプログラムが記憶されたコンピュータ読み取り可能な記憶媒体である。このような記憶媒体を用いて当該コンピュータプログラムをコンピュータにインストールし、実行させることができる。
【0025】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
【0026】
図6は、本発明の実施形態に係る位置決めシステムの構成図である。このシステムは、工場の製造ラインや倉庫等の設備で使用され、X軸方向及びY軸方向のスライドテーブルを駆動するモータ4,6とそれぞれのドライバ5,7、そしてそれらの制御ユニットである位置決め/高速カウンタユニット2を備えている。
【0027】
位置決め/高速カウンタユニット2のコネクタ2aには、ティーチングユニットと呼称されるコンソール1がケーブル3で接続され、別のコネクタ2b,2cにX軸ドライバ5とY軸ドライバ7がそれぞれ接続されている。また、コネクタ2dには複数のリミットスイッチ又は原点センサーからなる位置センサー8が接続されている。位置決め/高速カウンタユニット2は、隣に配置されたCPUユニット9に接続され、CPUユニット9にはパーソナルコンピュータ10が接続されている。接続用インターフェイスとして、RS232C、イーサネット(登録商標)、USB等の通信インターフェイスが使用される。
【0028】
X軸駆動用モータ4及びY軸駆動用モータ6には、サーボモータ又はステッピングモータが使用される。サーボモータを使用するときはそのドライバ5,7としてパルス列入力タイプのサーボアンプが使用される。
【0029】
位置決め/高速カウンタユニット2は、内蔵メモリに記憶されている制御用パラメータにしたがってモータ4,6のドライバ5,7を制御する。制御用パラメータには、位置決めポイントごとに設定されるポイントパラメータ、移動速度を設定する速度パラメータ、位置決め/高速カウンタユニット2の全体動作に関するシステムパラメータが含まれる。
【0030】
制御用パラメータはティーチングコンソール1を用いて設定することができる。また、CPUユニット9には、メモリカードのリード・ライター9aが備えられており、メモリカードから読み込んだパラメータを位置決め/高速カウンタユニット2に転送することもできる。
【0031】
あるいは、パーソナルコンピュータ10を用いてCD−ROMやフレキシブルディスク等の記憶媒体から読み込んだ制御用パラメータをCPUユニット9経由で位置決め/高速カウンタユニット2に転送することもできる。パーソナルコンピュータ10にインストールした専用ソフトウェアを用いて設定した制御用パラメータをCPUユニット9経由で位置決め/高速カウンタユニット2に転送することもできる。このようにして設定された制御用パラメータの値は位置決め/高速カウンタユニット2の内蔵メモリに書き込まれる。
【0032】
位置決め/高速カウンタユニット2の動作状態、すなわち、パルス出力中、原点復帰中、エラー発生中のような動作状態は、位置決め/高速カウンタユニット2に割り当てられた入力リレーで確認できる。例えば、パルス出力中は移動中リレーがオンになり、停止中は移動中リレーがオフになる。
【0033】
また、CPUユニット9のシーケンスプログラムで出力リレーを操作することにより、運転開始、原点復帰、エラーのリセット等の動作が位置決め/高速カウンタユニット2に指示される。例えば、運転開始リレーをオンにすれば位置決め/高速カウンタユニット2の運転が開始する。必要な場合は、CPUユニット9のシーケンスプログラムで位置決め/高速カウンタユニット2の内蔵メモリから制御パラメータを読み出したり、その値を書き換えたりすることができる。
【0034】
図6に示すように、本実施形態の位置決めシステムでは、主軸ドライバ13で駆動される主軸モータ12の位相(主軸の変位)がロータリーエンコーダ11で検出され、そのパルス列信号出力が位置決め/高速カウンタユニット2に入力されている。位置決め/高速カウンタユニット2の高速カウンタ機能によって、入力されたパルス列信号のパルスがカウントされる。そして、あらかじめ設定された同期曲線に沿って、X軸モータ4及びY軸モータ6の変位量を主軸(入力軸)の変位量に同期させる同期機能を実行することができる。この場合、X軸モータ4及びY軸モータ6の変位量が従軸の変位量(位相)に相当する。以下、この同期機能について説明する。
【0035】
図7は、本発明の実施形態に係る位置決めシステムにおける同期機能のブロック図である。主軸デバイス選択部16によって高速カウンタX,Y、位置決め軸X,Yを含む複数の主軸デバイス15のうちの1つが位相(変位量)を検出する対象の主軸として選択される。図6に示した例では、主軸の変位量を検出するロータリーエンコーダ11の出力信号がY軸コネクタ2cから位置決め/高速カウンタユニット2に入力されているので、高速カウンタYが選択される。
【0036】
主軸クラッチ(制御用リレー)17のオン・オフ制御により、必要なタイミングで主軸の変位量の検出信号(例えば高速カウンタYの出力)が取り込まれる。そして、同期微調整部18によってタイミングの微調整が行われた検出信号が同期曲線による変換部19に与えられる。同期曲線による変換部19では、あらかじめ設定された同期曲線にしたがって、主軸(入力軸)の変位量が従軸(出力軸)の変位量に変換される。求められた従軸の変位量は、出力フィルタ20を介して出力軸(従軸)に与えられる。図6に示した構成では、従軸の変位量に対応するパルス列信号がX軸ドライバ5及びY軸ドライバ7に与えられ、X軸モータ4及びY軸モータ6が所定の変位量だけ駆動される。
【0037】
同期曲線は、従来技術の説明で述べたように、主軸の位相(変位量)に対する従軸の位相(変位量)の変化を示す曲線である。例えば図2に示したように、入力軸(主軸)の変位量をX軸にとり、出力軸(従軸)の変位量をY軸にとったときのXY平面において折れ線グラフとして設定される。以下、本発明に係る同期曲線の設定方法について説明する。
【0038】
図8は、位置決めシステムのCPUユニット9に接続されたパーソナルコンピュータ10のハードウェア構成例を示すブロック図である。パーソナルコンピュータ10は、CRT又はLCD等の表示装置51、キーボード52、マウス(又は他のポインティングデバイス)53、RS232C、イーサネット(登録商標)、USB等の通信インターフェイス54、処理装置(CPU)55、半導体記憶媒体である主メモリ56、補助記憶装置である固定ディスク装置57及びリムーバブルディスク装置58を備えている。
【0039】
同期曲線の設定等を行うための専用ソフトウェア(コンピュータプログラム)は、CD−ROMのような記憶媒体59に記憶された状態で供給され、CD−ROMドライブ装置のようなリムーバブルディスク装置58によって記憶媒体59から読み出され、固定ディスク装置57にインストールされる。固定ディスク装置57にインストールされた専用ソフトウェアは、主メモリ56にロードされ、処理装置55によって実行される。
【0040】
このような専用ソフトウェアによって実行される処理には、同期曲線の設定の他に、各種制御用パラメータの設定、動作の実行・停止の指令、動作状態のモニター等が含まれる。ここでは、同期曲線の設定について説明する。
【0041】
図9は、同期曲線の設定のための画面表示例を示す図である。ユーザは、パーソナルコンピュータ10の表示装置51に表示される同期曲線の設定のための画面を用いて同期曲線の設定を行うことができる。図9において、制御点等を数値入力するための入力ウィンドウ31と、入力された制御点等の値にしたがって生成された同期曲線を表示する表示ウィンドウ32とが、左右に並ぶように表示されている。
【0042】
入力ウィンドウ31に示されているように、本実施形態の同期曲線設定方法では、同期曲線加速幅、主軸周期、従軸送り量、及び複数の制御点を数値入力することによって同期曲線が設定される。本実施形態の同期曲線設定方法では制御点1から制御点8まで合計8個の制御点を設定することができ、図示の例では制御点1から制御点6まで合計6個の制御点が設定されている。主軸の変位量をX軸にとり、従軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定する。図示の例では、主軸及び従軸の変位量がパルス数(PLS)で入力されている。
【0043】
入力ウィンドウ31で入力された制御点1〜6の主軸及び従軸の値に対応するXY平面上の座標は、表示ウィンドウ32において点P1〜P6で示すようになる。また、入力ウィンドウ31で入力された主軸周期及び従軸送り量の値に対応するXY平面上の座標は、表示ウィンドウ32において点Peで示すようになる。
【0044】
原点P0から制御点1〜6(P1〜P6)を順番に経て最終点Peまでを直線で結んだ折れ線グラフが表示ウィンドウ32に表示されている。この折れ線グラフが同期曲線の基礎となる。後述する同期曲線加速幅による加速・減速要素を考慮しなければ、この折れ線グラフに沿って、従軸の変位量が主軸の変位量に同期するように制御される。
【0045】
つまり、主軸の変位量が制御点1(P1)の値300PLSに達するまで従軸の変位量は0のままであり、更に主軸の変位量が制御点2(P2)の値600PLSに達すれば従軸の変位量は値500PLSになる。制御点1(P1)と制御点2(P2)との間は、直線的に(比例関係で)移動する。以下同様にして、制御点3〜6(P3〜P6)を経由し、最終的に主軸の変位量が最終点Peの値2100PLS(主軸周期)に達すれば従軸の変位量は値500PLS(従軸送り量)になる。主軸がさらに移動する場合は、最終点Peを原点P0として同期曲線に沿う制御が繰り返される。
【0046】
なお、入力ウィンドウ31で各制御点の入力項目として、主軸及び従軸に加えてMコードがある。これは、同期曲線を構成する各直線に対応する区間を特定するための識別コードである。この例では、従軸の速度がゼロの区間(停止区間)に対して55〜58のMコードが入力されている。また、表示ウィンドウ32において、同期曲線を表示する座標平面の下側に表示された横バーグラフ33を用いて各区間とMコードとの対応が表示されている。
【0047】
上記のような折れ線グラフを同期曲線とした制御では、各制御点において、従軸用モータの速度の急激な変化が発生することになる。従来技術の説明で述べたように、実際の位置決めシステムではモータや機械系の慣性のために従軸用モータの速度の急激な変化は無理であり、したがって同期曲線に忠実な従軸用モータの制御が困難になる。
【0048】
そこで、本実施形態の位置決めシステムでは、各制御点のX座標(主軸の変位量)を中心とするX軸方向の加速区間を設定し、この加速区間については折れ線を曲線で置き換えることによって鈍らせる処理を行う。この加速区間の幅が入力ウィンドウ31における同期曲線加速幅によって設定される。図9の例では同期曲線加速幅として50PLSが設定されている。つまり、各制御点において、そのX座標(主軸の変位量)の前後に50PLSずつ、合計100PLSの区間が加速区間として設定される。表示ウィンドウ32の同期曲線を示す折れ線グラフとその下の横バーグラフ33において、加速区間の帯状表示34が設けられている。
【0049】
本実施形態では、すべて(最大8個)の制御点について、同期曲線加速幅は等しい。なお、隣り合う制御点(例えばP3とP4)のX座標間隔の最小値をDとすれば、設定可能な同期曲線加速幅の最大値はD/2である。それ以上の値を入力した場合は、D/2が同期曲線加速幅として設定される。図9の例では、X座標間隔の最小値は300であり、設定可能な同期曲線加速幅の最大値は150である。
【0050】
各制御点において、そのX座標を中心とする加速区間については、折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続する。このように、各制御点の近傍の折れ線を曲線で置き換えることによって、従軸用モータの速度の急激な変化が無くなり、同期曲線にほぼ忠実な従軸用モータの制御が可能になる。この加速区間における曲線を求めるアルゴリズムについて次に説明する。
【0051】
図10は、制御点を中心とする加速区間において折れ線グラフを曲線で置き換えた例を示す図である。この例では、3つの制御点P(k−1),P(k)及びP(k+1)を結ぶ折れ線グラフが2つの直線L1及びL2で構成されている。直線L1及びL2の接続点である制御点P(k)において、そのX座標x(k)を中心として両側に同期曲線加速幅d(合計幅2d)の加速区間APが設定されている。
【0052】
この加速区間APにおいて、折れ線グラフを構成する2つの直線L1及びL2の一部(破線で示す部分)が削除され、両側の直線L1及びL2の端点が、それぞれの直線L1及びL2に接する曲線CLで接続されている。この曲線CLを特定する必要がある。すなわち、加速区間APにおける各X座標に対する曲線CL上のY座標を求める必要がある。
【0053】
図11は、加速区間APにおける曲線CLを特定するアルゴリズムの説明のための図である。図11は図10に対応しているが、加速区間APにおける曲線CLを破線で描き、直線L1及びL2の削除される部分を実線で描いている。また、見やすくするために、図10における各制御点および各座標の添え字(K−1),(K)及び(k+1)を図11ではそれぞれ1,2及び3で置き換えている。
【0054】
図11に示すように、加速区間APにおける任意のX座標xに対応する曲線CL上のY座標yを求めるために、X座標xを中心とする加速区間APと同じ幅2dの区間(x−dからx+d)を設定し、この区間において直線L1及びL2とX軸とで囲まれた領域(ハッチング領域)の面積Sを求める。そして、この面積SをX軸方向の幅2dで割った値S/(2d)を曲線CL上のY座標yとする。換言すれば、X座標xを中心とする幅2dの区間における直線L1及びL2上のY座標の平均値をX座標xに対応する曲線CL上のY座標yとして求める。
【0055】
上記の面積Sは、制御点P2より左側の台形部分(正ハッチング領域)の面積S1と、制御点P2より右側の台形部分(逆ハッチング領域)の面積S2との和(S1+S2)として求めることができる。
【0056】
また、直線L1の式は、
y=(x−x2)(y2−y1)/(x2−x1)+y2で表せるから、X座標x−dに対応する直線L1上のY座標y[x−d]は、
y[x−d]=(x−d−x2)(y2−y1)/(x2−x1)+y2となる。したがって、左側の台形の面積S1は、
S1=(1/2)((x−d−x2)(y2−y1)/(x2−x1)+y2+y2)(x2−(x−d))となり、整理すると、
S1=−(1/2)(x−d−x2)2(y2−y1)/(x2−x1)−y2(x−d−x2)となる。つまり、S1はxの二次式となる。
【0057】
同様に、直線L2の式は、
y=(x−x2)(y3−y2)/(x3−x2)+y2で表せるから、X座標x+dに対応する直線L2上のY座標y[x+d]は、
y[x+d]=(x+d−x2)(y3−y2)/(x3−x2)+y2となる。したがって、右側の台形の面積S1は、
S2=(1/2)(y2+(x+d−x2)(y3−y2)/(x3−x2)+y2)(x+d−x2)となり、整理すると、
S2=(1/2)(x+d−x2)2(y3−y2)/(x3−x2)+y2(x+d−x2)となる。S2もxの二次式である。
【0058】
加速区間APにおける各X座標xに対する曲線CL上のY座標yは、上述のように、y=(S1+S2)/(2d)で求められる。したがって、Y座標yはX座標xの二次式で表され、曲線CLは二次曲線として求められる。なお、このようにして求めた曲線CLが直線L1及びL2に接することは、曲線CLを表す式を微分して座標(x−d,y[x−d])及び(x+d,y[x+d])における接線の勾配を求めることによって確認することができる。
【0059】
ちなみに、計算の結果、座標(x−d,y[x−d])における曲線CLの接線の勾配は(y2−y1)/(x2−x1)となり、直線L1の傾きと同じであることが確認された。同様に、座標(x+d,y[x+d])における曲線CLの接線の勾配は(y3−y2)/(x3−x2)となり、直線L2の傾きと同じであることが確認された。
【0060】
このようにして、加速区間APにおいて、折れ線グラフを構成する直線L1及びL2の一部が削除されると共に、両側の直線L1及びL2の端点がそれぞれの直線に接する二次曲線CL、つまり折れ線グラフから演算によって求めた二次曲線CLで接続される。
【0061】
なお、この二次曲線CLを求める演算は、言い換えれば加速区間APにおいて任意のX座標に対応するY座標を求める処理であり、実際の位置決め装置では、主軸の単位変位量ごとに実行される。また、同期曲線設定時にはコンピュータ上で折れ線グラフを規定する複数の制御点と同期曲線加速幅dを設定しておき、実際に従軸の駆動制御を実行する際に、位置決め装置(制御ユニット)側で加速区間APにおける従軸の変位量(Y座標)を上記のようにして主軸の変位量(X座標)から計算するようにしてもよい。この場合は、コンピュータ側から位置決め装置側に転送するデータは複数の制御点と同期曲線加速幅のみであり、加速区間APにおける曲線のデータは転送する必要がない。したがって、データ転送時間の短縮化が可能になる。また、コンピュータの代わりに簡便なコンソール等を用いて制御点と同期曲線加速幅を設定することが可能になる。
【0062】
その他にも、本発明は種々の形態で実施することができる。例えば、上記の実施形態では加速区間APにおける同期曲線を二次曲線で設定するが、三次以上の曲線で設定するようにしてもよい。
【0063】
また、上記の実施形態では同期曲線の設定用画面(表示ウィンドウ32)において、折れ線グラフと制御点を中心に設けられた加速区間の帯状表示34とで同期曲線を表示しているが、同期曲線の設定時点で加速区間における曲線を求め、滑らかな折れ線グラフとして設定された同期曲線を表示するようにしてもよい。
【0064】
また、上記の実施形態では位置決めシステムに接続されたコンピュータ10を用いて、その表示装置51の画面上で複数の制御点の座標及び加速区間の同期曲線加速幅を入力して同期曲線を設定する例を説明したが、本発明の同期曲線設定方法はそのような実施形態に限るわけではなく、位置決めシステムに接続されたコンソール1から複数の制御点の座標及び加速区間の同期曲線加速幅を数値入力することにより同期曲線を設定してもよい。
【0065】
【発明の効果】
以上に説明したように、本発明の位置決めシステムの同期曲線設定方法及びコンピュータプログラムによれば、複数の制御点を順次接続して得られる折れ線グラフで同期曲線を設定する際に、各制御点の近傍における出力軸の速度の急激な変化が無くなり、実際の出力軸の変位が同期曲線にほぼ忠実に追従するようになる。また、制御点のX座標を中心とするX軸方向の加速期間を設定するので、例えば出力軸の停止区間や定速度期間は、制御点の間隔から加速期間を引いたものとして正確に規定することができる。したがって、複数の制御点と各制御点における加速区間を設定するだけで、出力軸の速度の急激な変化を伴わない出力軸の正確な制御が可能になる。
【図面の簡単な説明】
【図1】位置決めシステムにおける同期機能の例を示す概念図である。
【図2】ユーザが設定する同期曲線の例を示す図である。
【図3】図2の同期曲線に対応する従軸速度対主軸位相を示すグラフである。
【図4】図2の同期曲線において停止区間と停止区間の間を直線ではなくS字曲線で接続した場合の同期曲線の例を示す図である。
【図5】図4の同期曲線に対応する従軸速度対主軸位相を示すグラフである。
【図6】本発明の実施形態に係る位置決めシステムの構成図である。
【図7】本発明の実施形態に係る位置決めシステムにおける同期機能のブロック図である。
【図8】位置決めシステムのCPUユニットに接続されたパーソナルコンピュータのハードウェア構成例を示すブロック図である。
【図9】同期曲線の設定のための画面表示例を示す図である。
【図10】制御点を中心とする加速区間において折れ線グラフを曲線で置き換えた例を示す図である。
【図11】加速区間における曲線を求めるアルゴリズムの説明のための図である。
【符号の説明】
2 位置決めシステムの位置決め/高速カウンタユニット
4,6 出力軸(従軸)のモータ
9 位置決めシステムのCPUユニット
10 パーソナルコンピュータ
11 ロータリーエンコーダ
12 入力軸(主軸)のモータ
19 同期曲線による変換部
31 入力ウィンドウ
32 表示ウィンドウ
34 加速区間の帯状表示
AP 加速区間
d 同期曲線加速幅
L1,L2 折れ線グラフを構成する直線
【発明の属する技術分野】
本発明は、位置決めシステムにおいて、入力の変位量に対する出力の変位量を設定するための同期設定方法及びコンピュータプログラムに関する。
【0002】
【従来の技術】
位置決めシステムは、モータの制御によって物体をある位置から目的の位置まで正確に移動させるシステムをいう。クラッチ、ギア、カム等の機械的要素を使用せずに、例えばロータリーエンコーダで入力軸の位相を検出し、それに応じたパルス数の信号によって出力軸のモータの駆動を制御する(例えば特許文献1参照)。
【0003】
このような位置決めシステムにおける同期とは、入力の変位量(位相)に対する出力の変位量(位相)を所定の関係にしたがって制御することを意味する。入力軸を主軸と呼称し、出力軸を従軸と呼称することもある。
【0004】
図1は、位置決めシステムにおける同期機能の例を示す概念図である。図1に例示するように、主軸101の位相がロータリーエンコーダ102で検出され、その出力信号であるパルス列が位置決め装置(同期機能)103に入力される。位置決め装置103は、ユーザが設定した同期曲線で決まる駆動用パルス列を出力し、モータの駆動回路104に与える。モータの駆動回路104は、その駆動用パルス列にしたがってサーボモータ105を駆動し、その回転軸である従軸106が所定の位相まで回転する。
【0005】
図1の例では、位置決め装置(同期機能)の入力及び出力がいずれもパルス列の信号であるが、ユーザは実際の物理量である位相角(度)や、移動距離(mm)で同期曲線を設定することができる。位置決め装置に備えられた単位変換機能が実際の物理量(設定値)とパルス列信号との変換を行う。
【0006】
図2は、ユーザが設定する同期曲線の例を示す図である。同期曲線とは、主軸の位相に対する従軸の位相の変化を示す曲線である。この例では、原点及び複数の点P1〜P6を順番に結ぶ複数の直線で構成された折れ線グラフで同期曲線が構成されている。これら複数の点(折れ点)P1〜P6を制御点と呼称する。
【0007】
同期曲線を規定する別の方法として、例えば主軸の位相角を一定角度ずつ変化させたときに、主軸の各位相角に対応する従軸の位相角を規定し、それらの対応表(テーブル)を同期曲線のデータとして記憶しておく方法がある。しかし、この方法では記憶すべきデータ量が多くなり、ユーザが同期曲線を設定する作業も面倒なものになる。
【0008】
したがって、図2に例示したように、ユーザが複数の制御点を設定し、それらの制御点を順番に直線で結ぶことによって得られる折れ線グラフで同期曲線を規定する方法が一般的である。通常の位置決めシステムでは、制御点P2とP3を結ぶ直線L1又は制御点P4とP5を結ぶ直線L2のように、従軸の位相が変化しない(速度ゼロの)停止区間を正確に規定する必要があることが多い。
【0009】
図3は、図2の同期曲線に対応する従軸速度対主軸位相を示すグラフである。図2の同期曲線にしたがって制御するには、従軸の速度を図3に実線で示すように変化させる必要がある。しかしながら、実際の位置決めシステムでは、モータや機械系の慣性のために、従軸の速度が図3に示すように変化することは無理である。例えば制御点P1(時刻t1)でモータの速度が瞬時にゼロから一定速度に変化することは無理であり、所定の加速期間Δt1が必要である。同様に、制御点P2(時刻t2)でモータの速度が瞬時に一定速度からゼロに変化することは無理であり、所定の減速期間Δt2が必要である。したがって、図2に実線で示す折れ線の同期曲線で制御した場合のモータの速度変化は破線で例示するようになり、その結果、図2における従軸位相の変化は、実際には破線で例示するようなものとなる。
【0010】
前述のように、図2における直線L1又は直線L2の如く従軸の位相が変化しない停止区間を正確に規定する必要がある場合に、実際には破線で示すように従軸位相が変化したのでは不都合である。つまり、必要な加速期間の影響で、実際の停止区間が制御点を結ぶ区間からずれてしまう(制御点を結ぶ区間より短くなる)ことになる。
【0011】
上記のような問題を解決する一つの方法として、図4に例示するように、停止区間と停止区間の間(例えば制御点P1と制御点P2との間)を直線ではなくS字曲線で接続した同期曲線を使用する方法がある。図4は、図2の同期曲線において停止区間と停止区間の間を直線ではなくS字曲線で接続した場合を示している。また、図5は、図4の同期曲線に対応する従軸速度対主軸位相を示すグラフである。
【0012】
図4に示すような同期曲線を使用すれば、図5に示すように従軸の速度が急激に変化することがなくなるので、実際の位置決めシステムにおいて従軸位相の変化が同期曲線にほぼ従うものとなる。その結果、停止区間L1及びL2を同期曲線で正確に規定することが可能になる。
【0013】
【特許文献1】
特許第2697399号公報
【0014】
【発明が解決しようとする課題】
図4に示したように、停止区間と停止区間の間をS字曲線で接続した同期曲線を使用する場合は、上述のように停止区間を正確に規定することができる。他方、停止区間と停止区間の間における従軸の速度は一定ではなく、図5に示したように台形状に、あるいは三角形状に変化する。
【0015】
用途によっては、一定の速度で従軸位相が変化する区間(以下、定速度区間という)を正確に規定したい場合もある。このような用途では、図4に示した同期曲線よりも、図2に示した同期曲線のほうが定速度区間を規定しやすい。しかし、この場合は前述のように、実際の位置決めシステムにおいてモータや機械系の慣性のために同期曲線で規定した従軸位相と制御結果の従軸位相とがずれる問題がある。
【0016】
また、停止区間と定速度区間の両方を正確に規定したい用途もある。このような場合に、制御点を増やせば従来の同期曲線設定方法でもきめ細かい制御が可能になるが、制御点が増える分だけユーザの設定に要する手間が増えると共に、制御部が記憶すべきデータ量が増加することになる。
【0017】
本発明は、上記のような従来の課題に鑑み、複数の制御点を順番に結ぶ折れ線グラフで同期曲線を設定する際に、各制御点の近傍における出力軸の速度の急激な変化を無くして、同期曲線にほぼ忠実な出力軸の制御を可能にすることを目的とする。
【0018】
【課題を解決するための手段】
本発明による位置決めシステムの同期曲線設定方法は、入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、入力軸の変位量を検出し、その検出信号と同期曲線とにしたがって出力軸の変位量を制御する位置決めシステムにおいて、同期曲線を設定するための方法であって、入力軸の変位量をX軸にとり、出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定し、複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間を設定し、X軸方向に沿って複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成し、複数の制御点のそれぞれにおける加速区間については、折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続することによって得られる滑らかな折れ線グラフを同期曲線とすることを特徴とする。
【0019】
このような方法によれば、制御点の近傍における出力軸の速度の急激な変化が無くなり、実際の出力軸の変位が同期曲線にほぼ忠実に追従するようになる。また、制御点のX座標を中心とするX軸方向の加速期間を設定するので、例えば出力軸の停止区間や定速度期間は、制御点の間隔から加速期間を引いたものとして正確に規定することができる。したがって、複数の制御点と各制御点における加速区間を設定するだけで、出力軸の速度の急激な変化を伴わない出力軸の正確な制御が可能になる。なお、各制御点における加速区間の幅は通常は一定でよいが、制御点ごとに変えてもよい。
【0020】
好ましい実施形態において、上記の加速区間において両側の直線の端点を接続する曲線が、仮に生成された折れ線グラフから演算によって求められる二次曲線である。この演算の詳細については後述する。
【0021】
また、本発明によるコンピュータプログラムは、入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、入力軸の変位量を検出し、その検出信号と同期曲線とにしたがって出力軸の変位量を制御する位置決めシステムにおいて、同期曲線を設定するために、位置決めシステムに内蔵又は接続されたコンピュータに実行させるプログラムであって、入力軸の変位量をX軸にとり、出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定するためのステップと、複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間を設定するためのステップと、X軸方向に沿って複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成するステップと、複数の制御点のそれぞれにおける加速区間については、折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続することによって得られる滑らかな折れ線グラフを同期曲線とするステップとを有することを特徴とする。
【0022】
このようなコンピュータプログラムをインストールしたコンピュータを位置決めシステムの位置決め装置(制御ユニット)に接続することにより、コンピュータの画面上で容易に同期曲線を設定することができる。そして、この同期曲線によれば、前述のように、出力軸の速度の急激な変化を伴わない出力軸の正確な制御が可能になると共に、出力軸の停止区間や定速度期間を、制御点の間隔から加速区間を引いたものとして正確に規定することができる。
【0023】
好ましい実施形態において、コンピュータプログラムは、仮に生成された折れ線グラフから演算によって、加速区間において両側の直線の端点を接続する二次曲線を生成するステップを更に有する。この演算の詳細については後述する。
【0024】
また、本発明の記憶媒体は、上記のようなプログラムが記憶されたコンピュータ読み取り可能な記憶媒体である。このような記憶媒体を用いて当該コンピュータプログラムをコンピュータにインストールし、実行させることができる。
【0025】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
【0026】
図6は、本発明の実施形態に係る位置決めシステムの構成図である。このシステムは、工場の製造ラインや倉庫等の設備で使用され、X軸方向及びY軸方向のスライドテーブルを駆動するモータ4,6とそれぞれのドライバ5,7、そしてそれらの制御ユニットである位置決め/高速カウンタユニット2を備えている。
【0027】
位置決め/高速カウンタユニット2のコネクタ2aには、ティーチングユニットと呼称されるコンソール1がケーブル3で接続され、別のコネクタ2b,2cにX軸ドライバ5とY軸ドライバ7がそれぞれ接続されている。また、コネクタ2dには複数のリミットスイッチ又は原点センサーからなる位置センサー8が接続されている。位置決め/高速カウンタユニット2は、隣に配置されたCPUユニット9に接続され、CPUユニット9にはパーソナルコンピュータ10が接続されている。接続用インターフェイスとして、RS232C、イーサネット(登録商標)、USB等の通信インターフェイスが使用される。
【0028】
X軸駆動用モータ4及びY軸駆動用モータ6には、サーボモータ又はステッピングモータが使用される。サーボモータを使用するときはそのドライバ5,7としてパルス列入力タイプのサーボアンプが使用される。
【0029】
位置決め/高速カウンタユニット2は、内蔵メモリに記憶されている制御用パラメータにしたがってモータ4,6のドライバ5,7を制御する。制御用パラメータには、位置決めポイントごとに設定されるポイントパラメータ、移動速度を設定する速度パラメータ、位置決め/高速カウンタユニット2の全体動作に関するシステムパラメータが含まれる。
【0030】
制御用パラメータはティーチングコンソール1を用いて設定することができる。また、CPUユニット9には、メモリカードのリード・ライター9aが備えられており、メモリカードから読み込んだパラメータを位置決め/高速カウンタユニット2に転送することもできる。
【0031】
あるいは、パーソナルコンピュータ10を用いてCD−ROMやフレキシブルディスク等の記憶媒体から読み込んだ制御用パラメータをCPUユニット9経由で位置決め/高速カウンタユニット2に転送することもできる。パーソナルコンピュータ10にインストールした専用ソフトウェアを用いて設定した制御用パラメータをCPUユニット9経由で位置決め/高速カウンタユニット2に転送することもできる。このようにして設定された制御用パラメータの値は位置決め/高速カウンタユニット2の内蔵メモリに書き込まれる。
【0032】
位置決め/高速カウンタユニット2の動作状態、すなわち、パルス出力中、原点復帰中、エラー発生中のような動作状態は、位置決め/高速カウンタユニット2に割り当てられた入力リレーで確認できる。例えば、パルス出力中は移動中リレーがオンになり、停止中は移動中リレーがオフになる。
【0033】
また、CPUユニット9のシーケンスプログラムで出力リレーを操作することにより、運転開始、原点復帰、エラーのリセット等の動作が位置決め/高速カウンタユニット2に指示される。例えば、運転開始リレーをオンにすれば位置決め/高速カウンタユニット2の運転が開始する。必要な場合は、CPUユニット9のシーケンスプログラムで位置決め/高速カウンタユニット2の内蔵メモリから制御パラメータを読み出したり、その値を書き換えたりすることができる。
【0034】
図6に示すように、本実施形態の位置決めシステムでは、主軸ドライバ13で駆動される主軸モータ12の位相(主軸の変位)がロータリーエンコーダ11で検出され、そのパルス列信号出力が位置決め/高速カウンタユニット2に入力されている。位置決め/高速カウンタユニット2の高速カウンタ機能によって、入力されたパルス列信号のパルスがカウントされる。そして、あらかじめ設定された同期曲線に沿って、X軸モータ4及びY軸モータ6の変位量を主軸(入力軸)の変位量に同期させる同期機能を実行することができる。この場合、X軸モータ4及びY軸モータ6の変位量が従軸の変位量(位相)に相当する。以下、この同期機能について説明する。
【0035】
図7は、本発明の実施形態に係る位置決めシステムにおける同期機能のブロック図である。主軸デバイス選択部16によって高速カウンタX,Y、位置決め軸X,Yを含む複数の主軸デバイス15のうちの1つが位相(変位量)を検出する対象の主軸として選択される。図6に示した例では、主軸の変位量を検出するロータリーエンコーダ11の出力信号がY軸コネクタ2cから位置決め/高速カウンタユニット2に入力されているので、高速カウンタYが選択される。
【0036】
主軸クラッチ(制御用リレー)17のオン・オフ制御により、必要なタイミングで主軸の変位量の検出信号(例えば高速カウンタYの出力)が取り込まれる。そして、同期微調整部18によってタイミングの微調整が行われた検出信号が同期曲線による変換部19に与えられる。同期曲線による変換部19では、あらかじめ設定された同期曲線にしたがって、主軸(入力軸)の変位量が従軸(出力軸)の変位量に変換される。求められた従軸の変位量は、出力フィルタ20を介して出力軸(従軸)に与えられる。図6に示した構成では、従軸の変位量に対応するパルス列信号がX軸ドライバ5及びY軸ドライバ7に与えられ、X軸モータ4及びY軸モータ6が所定の変位量だけ駆動される。
【0037】
同期曲線は、従来技術の説明で述べたように、主軸の位相(変位量)に対する従軸の位相(変位量)の変化を示す曲線である。例えば図2に示したように、入力軸(主軸)の変位量をX軸にとり、出力軸(従軸)の変位量をY軸にとったときのXY平面において折れ線グラフとして設定される。以下、本発明に係る同期曲線の設定方法について説明する。
【0038】
図8は、位置決めシステムのCPUユニット9に接続されたパーソナルコンピュータ10のハードウェア構成例を示すブロック図である。パーソナルコンピュータ10は、CRT又はLCD等の表示装置51、キーボード52、マウス(又は他のポインティングデバイス)53、RS232C、イーサネット(登録商標)、USB等の通信インターフェイス54、処理装置(CPU)55、半導体記憶媒体である主メモリ56、補助記憶装置である固定ディスク装置57及びリムーバブルディスク装置58を備えている。
【0039】
同期曲線の設定等を行うための専用ソフトウェア(コンピュータプログラム)は、CD−ROMのような記憶媒体59に記憶された状態で供給され、CD−ROMドライブ装置のようなリムーバブルディスク装置58によって記憶媒体59から読み出され、固定ディスク装置57にインストールされる。固定ディスク装置57にインストールされた専用ソフトウェアは、主メモリ56にロードされ、処理装置55によって実行される。
【0040】
このような専用ソフトウェアによって実行される処理には、同期曲線の設定の他に、各種制御用パラメータの設定、動作の実行・停止の指令、動作状態のモニター等が含まれる。ここでは、同期曲線の設定について説明する。
【0041】
図9は、同期曲線の設定のための画面表示例を示す図である。ユーザは、パーソナルコンピュータ10の表示装置51に表示される同期曲線の設定のための画面を用いて同期曲線の設定を行うことができる。図9において、制御点等を数値入力するための入力ウィンドウ31と、入力された制御点等の値にしたがって生成された同期曲線を表示する表示ウィンドウ32とが、左右に並ぶように表示されている。
【0042】
入力ウィンドウ31に示されているように、本実施形態の同期曲線設定方法では、同期曲線加速幅、主軸周期、従軸送り量、及び複数の制御点を数値入力することによって同期曲線が設定される。本実施形態の同期曲線設定方法では制御点1から制御点8まで合計8個の制御点を設定することができ、図示の例では制御点1から制御点6まで合計6個の制御点が設定されている。主軸の変位量をX軸にとり、従軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定する。図示の例では、主軸及び従軸の変位量がパルス数(PLS)で入力されている。
【0043】
入力ウィンドウ31で入力された制御点1〜6の主軸及び従軸の値に対応するXY平面上の座標は、表示ウィンドウ32において点P1〜P6で示すようになる。また、入力ウィンドウ31で入力された主軸周期及び従軸送り量の値に対応するXY平面上の座標は、表示ウィンドウ32において点Peで示すようになる。
【0044】
原点P0から制御点1〜6(P1〜P6)を順番に経て最終点Peまでを直線で結んだ折れ線グラフが表示ウィンドウ32に表示されている。この折れ線グラフが同期曲線の基礎となる。後述する同期曲線加速幅による加速・減速要素を考慮しなければ、この折れ線グラフに沿って、従軸の変位量が主軸の変位量に同期するように制御される。
【0045】
つまり、主軸の変位量が制御点1(P1)の値300PLSに達するまで従軸の変位量は0のままであり、更に主軸の変位量が制御点2(P2)の値600PLSに達すれば従軸の変位量は値500PLSになる。制御点1(P1)と制御点2(P2)との間は、直線的に(比例関係で)移動する。以下同様にして、制御点3〜6(P3〜P6)を経由し、最終的に主軸の変位量が最終点Peの値2100PLS(主軸周期)に達すれば従軸の変位量は値500PLS(従軸送り量)になる。主軸がさらに移動する場合は、最終点Peを原点P0として同期曲線に沿う制御が繰り返される。
【0046】
なお、入力ウィンドウ31で各制御点の入力項目として、主軸及び従軸に加えてMコードがある。これは、同期曲線を構成する各直線に対応する区間を特定するための識別コードである。この例では、従軸の速度がゼロの区間(停止区間)に対して55〜58のMコードが入力されている。また、表示ウィンドウ32において、同期曲線を表示する座標平面の下側に表示された横バーグラフ33を用いて各区間とMコードとの対応が表示されている。
【0047】
上記のような折れ線グラフを同期曲線とした制御では、各制御点において、従軸用モータの速度の急激な変化が発生することになる。従来技術の説明で述べたように、実際の位置決めシステムではモータや機械系の慣性のために従軸用モータの速度の急激な変化は無理であり、したがって同期曲線に忠実な従軸用モータの制御が困難になる。
【0048】
そこで、本実施形態の位置決めシステムでは、各制御点のX座標(主軸の変位量)を中心とするX軸方向の加速区間を設定し、この加速区間については折れ線を曲線で置き換えることによって鈍らせる処理を行う。この加速区間の幅が入力ウィンドウ31における同期曲線加速幅によって設定される。図9の例では同期曲線加速幅として50PLSが設定されている。つまり、各制御点において、そのX座標(主軸の変位量)の前後に50PLSずつ、合計100PLSの区間が加速区間として設定される。表示ウィンドウ32の同期曲線を示す折れ線グラフとその下の横バーグラフ33において、加速区間の帯状表示34が設けられている。
【0049】
本実施形態では、すべて(最大8個)の制御点について、同期曲線加速幅は等しい。なお、隣り合う制御点(例えばP3とP4)のX座標間隔の最小値をDとすれば、設定可能な同期曲線加速幅の最大値はD/2である。それ以上の値を入力した場合は、D/2が同期曲線加速幅として設定される。図9の例では、X座標間隔の最小値は300であり、設定可能な同期曲線加速幅の最大値は150である。
【0050】
各制御点において、そのX座標を中心とする加速区間については、折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続する。このように、各制御点の近傍の折れ線を曲線で置き換えることによって、従軸用モータの速度の急激な変化が無くなり、同期曲線にほぼ忠実な従軸用モータの制御が可能になる。この加速区間における曲線を求めるアルゴリズムについて次に説明する。
【0051】
図10は、制御点を中心とする加速区間において折れ線グラフを曲線で置き換えた例を示す図である。この例では、3つの制御点P(k−1),P(k)及びP(k+1)を結ぶ折れ線グラフが2つの直線L1及びL2で構成されている。直線L1及びL2の接続点である制御点P(k)において、そのX座標x(k)を中心として両側に同期曲線加速幅d(合計幅2d)の加速区間APが設定されている。
【0052】
この加速区間APにおいて、折れ線グラフを構成する2つの直線L1及びL2の一部(破線で示す部分)が削除され、両側の直線L1及びL2の端点が、それぞれの直線L1及びL2に接する曲線CLで接続されている。この曲線CLを特定する必要がある。すなわち、加速区間APにおける各X座標に対する曲線CL上のY座標を求める必要がある。
【0053】
図11は、加速区間APにおける曲線CLを特定するアルゴリズムの説明のための図である。図11は図10に対応しているが、加速区間APにおける曲線CLを破線で描き、直線L1及びL2の削除される部分を実線で描いている。また、見やすくするために、図10における各制御点および各座標の添え字(K−1),(K)及び(k+1)を図11ではそれぞれ1,2及び3で置き換えている。
【0054】
図11に示すように、加速区間APにおける任意のX座標xに対応する曲線CL上のY座標yを求めるために、X座標xを中心とする加速区間APと同じ幅2dの区間(x−dからx+d)を設定し、この区間において直線L1及びL2とX軸とで囲まれた領域(ハッチング領域)の面積Sを求める。そして、この面積SをX軸方向の幅2dで割った値S/(2d)を曲線CL上のY座標yとする。換言すれば、X座標xを中心とする幅2dの区間における直線L1及びL2上のY座標の平均値をX座標xに対応する曲線CL上のY座標yとして求める。
【0055】
上記の面積Sは、制御点P2より左側の台形部分(正ハッチング領域)の面積S1と、制御点P2より右側の台形部分(逆ハッチング領域)の面積S2との和(S1+S2)として求めることができる。
【0056】
また、直線L1の式は、
y=(x−x2)(y2−y1)/(x2−x1)+y2で表せるから、X座標x−dに対応する直線L1上のY座標y[x−d]は、
y[x−d]=(x−d−x2)(y2−y1)/(x2−x1)+y2となる。したがって、左側の台形の面積S1は、
S1=(1/2)((x−d−x2)(y2−y1)/(x2−x1)+y2+y2)(x2−(x−d))となり、整理すると、
S1=−(1/2)(x−d−x2)2(y2−y1)/(x2−x1)−y2(x−d−x2)となる。つまり、S1はxの二次式となる。
【0057】
同様に、直線L2の式は、
y=(x−x2)(y3−y2)/(x3−x2)+y2で表せるから、X座標x+dに対応する直線L2上のY座標y[x+d]は、
y[x+d]=(x+d−x2)(y3−y2)/(x3−x2)+y2となる。したがって、右側の台形の面積S1は、
S2=(1/2)(y2+(x+d−x2)(y3−y2)/(x3−x2)+y2)(x+d−x2)となり、整理すると、
S2=(1/2)(x+d−x2)2(y3−y2)/(x3−x2)+y2(x+d−x2)となる。S2もxの二次式である。
【0058】
加速区間APにおける各X座標xに対する曲線CL上のY座標yは、上述のように、y=(S1+S2)/(2d)で求められる。したがって、Y座標yはX座標xの二次式で表され、曲線CLは二次曲線として求められる。なお、このようにして求めた曲線CLが直線L1及びL2に接することは、曲線CLを表す式を微分して座標(x−d,y[x−d])及び(x+d,y[x+d])における接線の勾配を求めることによって確認することができる。
【0059】
ちなみに、計算の結果、座標(x−d,y[x−d])における曲線CLの接線の勾配は(y2−y1)/(x2−x1)となり、直線L1の傾きと同じであることが確認された。同様に、座標(x+d,y[x+d])における曲線CLの接線の勾配は(y3−y2)/(x3−x2)となり、直線L2の傾きと同じであることが確認された。
【0060】
このようにして、加速区間APにおいて、折れ線グラフを構成する直線L1及びL2の一部が削除されると共に、両側の直線L1及びL2の端点がそれぞれの直線に接する二次曲線CL、つまり折れ線グラフから演算によって求めた二次曲線CLで接続される。
【0061】
なお、この二次曲線CLを求める演算は、言い換えれば加速区間APにおいて任意のX座標に対応するY座標を求める処理であり、実際の位置決め装置では、主軸の単位変位量ごとに実行される。また、同期曲線設定時にはコンピュータ上で折れ線グラフを規定する複数の制御点と同期曲線加速幅dを設定しておき、実際に従軸の駆動制御を実行する際に、位置決め装置(制御ユニット)側で加速区間APにおける従軸の変位量(Y座標)を上記のようにして主軸の変位量(X座標)から計算するようにしてもよい。この場合は、コンピュータ側から位置決め装置側に転送するデータは複数の制御点と同期曲線加速幅のみであり、加速区間APにおける曲線のデータは転送する必要がない。したがって、データ転送時間の短縮化が可能になる。また、コンピュータの代わりに簡便なコンソール等を用いて制御点と同期曲線加速幅を設定することが可能になる。
【0062】
その他にも、本発明は種々の形態で実施することができる。例えば、上記の実施形態では加速区間APにおける同期曲線を二次曲線で設定するが、三次以上の曲線で設定するようにしてもよい。
【0063】
また、上記の実施形態では同期曲線の設定用画面(表示ウィンドウ32)において、折れ線グラフと制御点を中心に設けられた加速区間の帯状表示34とで同期曲線を表示しているが、同期曲線の設定時点で加速区間における曲線を求め、滑らかな折れ線グラフとして設定された同期曲線を表示するようにしてもよい。
【0064】
また、上記の実施形態では位置決めシステムに接続されたコンピュータ10を用いて、その表示装置51の画面上で複数の制御点の座標及び加速区間の同期曲線加速幅を入力して同期曲線を設定する例を説明したが、本発明の同期曲線設定方法はそのような実施形態に限るわけではなく、位置決めシステムに接続されたコンソール1から複数の制御点の座標及び加速区間の同期曲線加速幅を数値入力することにより同期曲線を設定してもよい。
【0065】
【発明の効果】
以上に説明したように、本発明の位置決めシステムの同期曲線設定方法及びコンピュータプログラムによれば、複数の制御点を順次接続して得られる折れ線グラフで同期曲線を設定する際に、各制御点の近傍における出力軸の速度の急激な変化が無くなり、実際の出力軸の変位が同期曲線にほぼ忠実に追従するようになる。また、制御点のX座標を中心とするX軸方向の加速期間を設定するので、例えば出力軸の停止区間や定速度期間は、制御点の間隔から加速期間を引いたものとして正確に規定することができる。したがって、複数の制御点と各制御点における加速区間を設定するだけで、出力軸の速度の急激な変化を伴わない出力軸の正確な制御が可能になる。
【図面の簡単な説明】
【図1】位置決めシステムにおける同期機能の例を示す概念図である。
【図2】ユーザが設定する同期曲線の例を示す図である。
【図3】図2の同期曲線に対応する従軸速度対主軸位相を示すグラフである。
【図4】図2の同期曲線において停止区間と停止区間の間を直線ではなくS字曲線で接続した場合の同期曲線の例を示す図である。
【図5】図4の同期曲線に対応する従軸速度対主軸位相を示すグラフである。
【図6】本発明の実施形態に係る位置決めシステムの構成図である。
【図7】本発明の実施形態に係る位置決めシステムにおける同期機能のブロック図である。
【図8】位置決めシステムのCPUユニットに接続されたパーソナルコンピュータのハードウェア構成例を示すブロック図である。
【図9】同期曲線の設定のための画面表示例を示す図である。
【図10】制御点を中心とする加速区間において折れ線グラフを曲線で置き換えた例を示す図である。
【図11】加速区間における曲線を求めるアルゴリズムの説明のための図である。
【符号の説明】
2 位置決めシステムの位置決め/高速カウンタユニット
4,6 出力軸(従軸)のモータ
9 位置決めシステムのCPUユニット
10 パーソナルコンピュータ
11 ロータリーエンコーダ
12 入力軸(主軸)のモータ
19 同期曲線による変換部
31 入力ウィンドウ
32 表示ウィンドウ
34 加速区間の帯状表示
AP 加速区間
d 同期曲線加速幅
L1,L2 折れ線グラフを構成する直線
Claims (5)
- 入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、前記入力軸の変位量を検出し、その検出信号と前記同期曲線とにしたがって前記出力軸の変位量を制御する位置決めシステムにおいて、前記同期曲線を設定するための方法であって、
前記入力軸の変位量をX軸にとり、前記出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定し、
前記複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間を設定し、
前記X軸方向に沿って前記複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成し、
前記複数の制御点のそれぞれにおける加速区間については、前記折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続する
ことによって得られる滑らかな折れ線グラフを前記同期曲線とすることを特徴とする位置決めシステムの同期曲線設定方法。 - 前記加速区間において両側の直線の端点を接続する曲線が、前記仮に生成された折れ線グラフから演算によって求められる二次曲線であることを特徴とする
請求項1記載の位置決めシステムの同期曲線設定方法。 - 入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、前記入力軸の変位量を検出し、その検出信号と前記同期曲線とにしたがって前記出力軸の変位量を制御する位置決めシステムにおいて、前記同期曲線を設定するために、前記位置決めシステムに内蔵又は接続されたコンピュータに実行させるプログラムであって、
前記入力軸の変位量をX軸にとり、前記出力軸の変位量をY軸にとったときのXY平面において、複数の制御点をXY座標で設定するためのステップと、
前記複数の制御点のそれぞれにおいて、制御点のX座標を中心とするX軸方向の加速区間を設定するためのステップと、
前記X軸方向に沿って前記複数の制御点を順番に直線で仮接続することによって折れ線グラフを仮に生成するステップと、
前記複数の制御点のそれぞれにおける加速区間については、前記折れ線グラフを構成する直線の一部を削除すると共に、両側の直線の端点をそれぞれの直線に接する曲線で接続することによって得られる滑らかな折れ線グラフを前記同期曲線とするステップと
を有することを特徴とするコンピュータプログラム。 - 前記仮に生成された折れ線グラフから演算によって、前記加速区間において両側の直線の端点を接続する二次曲線を生成するステップを更に有することを特徴とする
請求項3記載のコンピュータプログラム。 - 入力軸の変位量と出力軸の変位量との関係を規定する同期曲線をあらかじめ設定しておき、前記入力軸の変位量を検出し、その検出信号と前記同期曲線とにしたがって、前記出力軸の変位量を制御する位置決めシステムにおいて、前記同期曲線を設定するために前記位置決めシステムに内蔵又は接続されたコンピュータに実行させるプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、請求項3又は4記載のプログラムが記憶されていることを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003045292A JP2004258700A (ja) | 2003-02-24 | 2003-02-24 | 位置決めシステムの同期曲線設定方法及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003045292A JP2004258700A (ja) | 2003-02-24 | 2003-02-24 | 位置決めシステムの同期曲線設定方法及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004258700A true JP2004258700A (ja) | 2004-09-16 |
Family
ID=33112128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003045292A Pending JP2004258700A (ja) | 2003-02-24 | 2003-02-24 | 位置決めシステムの同期曲線設定方法及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004258700A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016212463A (ja) * | 2015-04-28 | 2016-12-15 | オムロン株式会社 | 制御装置、制御システム、制御装置の制御方法、制御プログラムおよび記録媒体 |
CN109814496A (zh) * | 2019-01-31 | 2019-05-28 | 天津大学 | 一种s型加减速轨迹规划中多轴时间同步方法 |
CN109991934A (zh) * | 2019-03-10 | 2019-07-09 | 天津大学 | 一种时间最优的在线s型加减速规划方法 |
-
2003
- 2003-02-24 JP JP2003045292A patent/JP2004258700A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016212463A (ja) * | 2015-04-28 | 2016-12-15 | オムロン株式会社 | 制御装置、制御システム、制御装置の制御方法、制御プログラムおよび記録媒体 |
CN109814496A (zh) * | 2019-01-31 | 2019-05-28 | 天津大学 | 一种s型加减速轨迹规划中多轴时间同步方法 |
CN109814496B (zh) * | 2019-01-31 | 2022-04-08 | 天津大学 | 一种s型加减速轨迹规划中多轴时间同步方法 |
CN109991934A (zh) * | 2019-03-10 | 2019-07-09 | 天津大学 | 一种时间最优的在线s型加减速规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2664205B2 (ja) | マニピュレータ制御システム | |
TWI466434B (zh) | 電動機控制系統及通信方法 | |
CN109507980B (zh) | 控制装置及控制方法 | |
US6442442B1 (en) | System level data flow programming interface for a multi-axis industrial control system | |
JP2003303005A (ja) | 数値制御装置 | |
JP5123050B2 (ja) | ロボットおよびプレス機械を含むシステム、複数のロボットを含むシステム、ならびにそのようなシステムにおいて使用されるロボットの制御装置 | |
EP3091409B1 (en) | Controller, control system, control method for controller, control program, and storage medium | |
US20020022905A1 (en) | Input method for programming industrial controllers | |
JP2018129923A (ja) | 制御システム、およびパルス出力装置 | |
JP2009122852A (ja) | パステーブル運転時の運転履歴を記憶する数値制御装置 | |
JP2004258700A (ja) | 位置決めシステムの同期曲線設定方法及びコンピュータプログラム | |
JP2008090513A (ja) | 数値制御装置 | |
CN109154835B (zh) | 测试装置 | |
JP6601201B2 (ja) | ロボット操作装置、及びロボット操作プログラム | |
JP2010176241A (ja) | プログラマブル表示器、機器監視システム、及び制御プログラム | |
JPH08339212A (ja) | 産業用制御器の絶対原点復帰方法 | |
JP2003044144A (ja) | 多軸同期制御装置、多軸同期制御方法および多軸同期制御プログラム | |
JP2018072221A (ja) | 制御システム、その制御方法およびそのプログラム | |
JP2004259214A (ja) | 位置決めユニット及びコンピュータプログラム | |
JP4280051B2 (ja) | 位置決めシステムにおける原点復帰方法及び制御プログラム | |
JP2004130444A (ja) | 同期制御装置 | |
JP6571377B2 (ja) | 拡張ユニット、プログラマブル・ロジック・コントローラおよびその制御方法 | |
EP4316748A1 (en) | Measurement system, measurement method, and program | |
EP0530364A1 (en) | Interactive numerical controller | |
CN113383285B (zh) | 控制数据创建装置、控制数据创建方法及控制数据创建程序 |