(58)【調査した分野】(Int.Cl.,DB名)
前記変数調整部は、前記対象とする指令軌跡の通過点間の距離と、前記目標移動距離と、分割係数とに基づいて前記基準変動量を設定する、請求項4記載のコントローラシステム。
【発明を実施するための形態】
【0027】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0028】
以下では
図1のような2軸(X軸、Y軸)構成の同期グループ(「複数のサーボモータ」及びそれらに対応する「複数のサーボドライバ」を含む複数のサーボ制御デバイスに相当する。)を前提に説明するが、本実施形態の同期グループは、2軸以上のサーボ制御デバイスと1以上のトリガ制御デバイスを含む構成であればよい。以下では対象物が
図1のような2軸(X軸、Y軸)で移動するが、対象物の移動形態は、3軸以上であってもよい。
【0029】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0030】
図1は、実施形態に従うレビュー制御システム1のアプリケーション例を示す模式図である。
【0031】
図1には、フラットパネルディスプレイFPDを検査するレビュー制御システム1が示されている。
【0032】
レビュー制御システム1には、駆動装置2と、撮影装置20とが設けられている。
【0033】
駆動装置2は、各軸方向の任意の位置に移動可能に設けられている。なお、本例においては、X、Y軸に移動する場合について説明する。
【0034】
駆動装置2の先端には、撮影装置20が設けられており、駆動装置2を駆動することにより予め検出したフラットパネルディスプレイFPDの欠陥部分を撮影装置20で再検査する。具体的には、当該位置で撮影装置20で撮像する。
【0035】
図2は、実施形態に従う駆動装置2の具体的構成を説明する図である。
【0036】
図2に示されるように、駆動装置2は、3軸を構成する複数のサーボモータと、それぞれのサーボモータに対応するサーボドライバを含むサーボ制御デバイスとにより、撮像検査の対象物(フラットパネルディスプレイFPDの欠陥部分)の位置に移動するように駆動し、当該位置の対象物(フラットパネルディスプレイFPDの欠陥部分)をトリガ制御デバイスとしての撮影装置20で撮影する。
【0037】
再び
図1を参照して、本例においては、フラットパネルディスプレイFPDに4つの欠陥部分(通過点)が予め示されている。そして、欠陥部分(通過点)の通過順序が予め設定されているものとする。
【0038】
レビュー制御システム1は、複数の欠陥部分(通過点)を通過する滑らかな指令曲線を設定する。撮影装置20は、欠陥部分(通過点)を通過する際に当該位置を撮像する。
【0039】
レビュー制御システム1は、設定された指令曲線に基づいて駆動装置2を制御することにより、止まらずに欠陥部分(通過点)を撮像することが可能となる。
【0040】
これにより、フラットパネルディスプレイの検査速度の向上を図ることが可能である。
【0041】
なお、
図1に示すレビュー制御システム1は任意のアプリケーションに応用可能である。
【0042】
本実施の形態に従うレビュー制御システム1は、複数のデバイスが組み合わされたアプリケーションに対しても、1つの制御装置で制御することができる。
【0043】
なお、フラットパネルディスプレイに限られず、各種の半導体にも同様に適用可能である。
【0044】
<B.構成例>
[ハードウェア構成]
次に、本実施形態に係る制御装置100のハードウェア構成の一例について説明する。
【0045】
図3は、実施形態に従う制御装置100のハードウェアの構成の一例を模式的に示す平面図である。
【0046】
図3を参照して、制御装置100は、
図1及び
図2に例示した駆動装置2及び撮影装置20に接続され、制御演算部101、通信インタフェース(I/F)部102、記憶部103、入力部104、及び出力部105を含み、各部はバスライン106を介して相互に通信可能に接続され得る。
【0047】
制御演算部101は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御及び各種演算を行う。
【0048】
通信I/F部102は、例えば、有線又は無線により他の構成要素である「部」及び「装置」と通信するための通信モジュールである。通信I/F部102が通信に用いる通信方式は任意であり、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられ、バスライン106と同等の適宜の通信線を適用することもできる。
【0049】
駆動装置2及び撮影装置20は、通信I/F部102を介して、制御演算部101等と通信可能に設けることが可能である。
【0050】
記憶部103は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり、制御演算部101で実行される各種プログラム(各種処理を実行するための演算プログラム、並びに、駆動装置2及び撮影装置20の動作の制御処理を行うための制御プログラム等)、校正条件、測定条件、画像処理条件(対象物の認識パラメータ等)を含むデータベース、撮影装置20から出力される撮影画像(測定データ)、画像処理結果のデータ、対象物の3次元モデルデータ等を記憶する。このとおり、記憶部103に記憶された演算プログラム及び制御プログラムが制御演算部101で実行されることにより、後述する機能構成例における各種処理機能が実現される。
【0051】
入力部104は、駆動装置2、撮影装置20、及び制御装置100を利用するユーザからの各種入力操作を受け付けるためのインタフェースデバイスであり、例えば、マウス、キーボード、タッチパネル、音声マイク等で実現し得る。出力部105は、駆動装置2、撮影装置20、及び制御装置100を利用するユーザ等へ、各種情報を、その表示、音声出力、印刷出力等により報知するためのインタフェースデバイスであり、例えば、ディスプレイ、スピーカ、プリンタ等で実現し得る。
【0052】
[機能構成]
図4は、実施形態に従う制御装置100の機能構成を説明する図である。
【0053】
図4を参照して、制御装置100の制御演算部101は、記憶部103に記憶された各種プログラム(制御プログラム及び演算プログラム等)をRAMに展開し、それらの各種プログラムをCPUにより解釈及び実行して、各構成要素を制御する。これにより、
図4に例示の如く、本実施形態に係る制御装置100は、設定部30と、軌跡設定部35と、サーボ指令制御部40と、トリガ指令制御部50とを備える構成を実現し得る。
【0054】
設定部30は、通過順序が予め設定された複数の通過点の位置を設定する。
【0055】
軌跡設定部35は、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を設定する。
【0056】
サーボ指令制御部40は、設定された指令軌跡に基づいて駆動装置2の動作を制御する指令信号を出力する。
【0057】
トリガ指令制御部50は、複数の通過点の位置に従って撮影装置20に対して撮影指令信号を出力する。
【0058】
なお、本実施形態では、制御装置100で実現される各機能が汎用のCPUによって実現される例について説明したが、以上の機能の一部又は全部が、1又は複数の専用のプロセッサ又は専用回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等)によって実現されてもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。また、制御装置100の機能構成は、実施形態や構成例に応じて、適宜、機能の省略、置換、及び追加が行われてももちろんよい。また、「制御装置」とは、一般的な情報処理装置(例えば、コンピュータ、ワークステーション等)と解することができる。
【0059】
[動作例]
本開示の一実施形態に係る制御装置100の一例で実現される制御方法について説明する。
【0060】
指令軌跡の算出方式について説明する。
【0061】
一例として、順序が予め設定された複数の通過点を連続的に通過する指令軌跡の算出について説明する。
【0062】
一例として、指定された通過点(P
1、P
2…P
n)の(P
1−P
2、P
2−P
3、・・・P
n-1−P
n)の点間の軌跡をx座標、y座標の3次多項式で定義すると下記式(1)で表される。
【0064】
そして、次の2つの条件を満たす3次の曲線式としてエルミート曲線で定義する。
【0065】
具体的には、設定された通過点の座標を通ることと、各通過点の境界および曲線途中で軌跡が連続であることである。
【0066】
上記条件に基づくエルミート曲線は、下記式(2)で表される。
【0068】
エルミート曲線は、始点位置、始点速度ベクトル、終点位置、終点速度ベクトルの4つのパラメータに基づいて設定される。
【0069】
したがって、t=0で始点位置、t=1で終点位置となるため、通過点の座標を始点位置、終点位置のパラメータとして設定する。
【0071】
エルミート曲線を連続的に繋ぎ合わせる手法として、Catmull-Rom Spline(キャットムル・ロム曲線)を用いる。具体的には、本例においては、各通過点での位置および速度の連続性を保つために、速度ベクトルを通過点の前後で一致するように設定する。
【0072】
図5は、実施形態に従う速度ベクトルの設定について説明する図である。
【0073】
図5に示されるように、具体的には、通過点P
2において、指令軌跡Q1の曲線式の終点速度ベクトルと、指令軌跡Q2の曲線式の始点速度ベクトルに同じベクトルを設定する。
【0074】
これにより、順序が予め設定された複数の通過点を連続的に通過する指令軌跡を設定することが可能となる。
【0075】
具体的には、各通過点間毎の区間多項式である3次のエルミート曲線が設定される。
【0076】
図6は、実施形態に従う軌跡設定部35とサーボ指令制御部40との関係について説明する図である。
【0077】
図6に示されるように、軌跡設定部35は、通過点座標と、通過順序および速度ベクトルを入力することにより各通過点毎の3次のエルミート曲線を設定する。
【0078】
軌跡設定部35は、算出結果として3次のエルミート曲線の指令軌跡データをサーボ指令制御部40に出力する。
【0079】
サーボ指令制御部40は、設定された3次のエルミート曲線の指令軌跡データに基づいて駆動装置2の動作を制御する指令信号を出力する。
【0080】
具体的には、サーボ指令制御部40は、駆動装置2の動作を制御する位置座標X,Yを出力する。
【0081】
図7は、実施形態に従うサーボ指令制御部40が出力する位置座標を説明する図である。
【0082】
図7に示されるように、サーボ指令制御部40は、軌跡設定部35で設定された指令軌跡データに従って駆動装置2の動作位置を出力する。
【0083】
具体的には、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の駆動装置2の目標指令値を算出する。
【0084】
これによりサーボ指令制御部40は、設定された指令軌跡に沿って駆動装置2を動作させることが可能となる。
【0085】
図8は、比較例として指令軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
【0086】
図8(A)には、各通過点間における軌跡移動速度が示されている。
【0087】
図8(B)には、各指令軌跡のパラメータtの変化が示されている。
【0088】
当該図に示されるように、パラメータtが一定の割合で0〜1に変化する場合には、一例として通過点間の距離が短い場合には、基準速度V
0よりも軌跡移動速度は遅くなる場合が示されている。一方で、通過点間の距離が長い場合には、軌跡移動速度は、基準速度V
0よりも軌跡移動速度は速くなる場合が示されている。
【0089】
すなわち、パラメータtを一定の割合で調整した場合には、駆動装置2の速度を一定に調整することはできない。
【0090】
図9は、実施形態に従う指令軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
【0091】
図9(A)には、各通過点間における軌跡移動速度が示されている。
【0092】
図9(B)には、各指令軌跡のパラメータtの変化が示されている。
【0093】
当該図に示されるように、各通過点間における軌跡移動速度を基準速度V
0で一定に制御するためには、各通過点間のパラメータtの変動率を調整する必要がある。
【0094】
実施形態においては、各通過点間における軌跡移動速度を調整する。
【0095】
再び
図7を参照してサーボ指令制御部40は、距離算出部42と、変数調整部44とを含む。
【0096】
距離算出部42は、制御周期毎の指令制御速度に対する目標移動距離を算出する。
【0097】
変数調整部44は、距離算出部42で算出された目標移動距離が一定となるように制御周期毎のパラメータtの増分値を調整する。
【0098】
<C.設定方式>
実施形態に従うパラメータtの設定方式は、パラメータtに所定の基準変動量を与える試算処理を実行する。
【0099】
本例においては、一例として2回あるいは3回試算処理した場合に、制御周期毎の目標移動距離の近傍に試算点が到達するような基準変動量を設定する。
【0100】
図10は、実施形態に従う1回目の試算処理を説明する図である。
【0101】
図10を参照して、本例においては、通過点P
0(X
0,Y
0)と、通過点P
1(X
1,Y
1)との間の指令軌跡Q0の曲線式に対してパラメータtの変動量を設定する場合の処理について説明する。
【0102】
一例として、現在位置を通過点P
0(X
0,Y
0)とした場合に、次の制御周期で移動する目標位置P
m(X
m,Y
m)のパラメータtの変動量T
mを算出する。
【0103】
[準備処理]
通過点P
0(X
0,Y
0)までの積算移動距離をL
sとする。
【0104】
制御周期毎の次の目標位置P
m(X
m,Y
m)までの積算移動距離はL
mとする。
【0105】
目標移動距離ΔL
mは、L
m-L
sである。
【0106】
本例においては、パラメータtを2回変化させて試算した場合に積算移動距離がL
m近傍になる試算用の基準変動量ΔTをまず設定する。
【0107】
通過点P
0(X
0,Y
0)と、通過点P
1(X
1,Y
1)との間の直線距離ΔLを算出する。
【0108】
パラメータtが0〜1まで変化することにより直線距離ΔL移動すると仮定すると、制御周期毎のパラメータtの平均変化量は、ΔL/ΔL
mである。
【0109】
したがって、パラメータtをk回変化させて試算した場合に積算移動距離がL
m近傍になる試算用の基準変動量ΔTは、ΔL/ΔL
m/kにより設定する。
【0110】
本例においては、分割係数k=2に設定する。
【0111】
パラメータtを1回変化させて試算した場合に積算移動距離がL
m近傍になる試算用の基準変動量ΔTは、ΔL/ΔL
mを設定する。
【0112】
パラメータtを2回変化させて積算移動距離がL
m近傍になる試算用の基準変動量ΔTは、ΔL/ΔL
m/2により設定する。
【0113】
パラメータtを3回変化させて積算移動距離がL
m近傍になる試算用の基準変動量ΔTは、ΔL/ΔL
m/3により設定する。
【0114】
なお、変化させる試算回数を増加させることにより精度の高いパラメータtの変動量を算出することが可能であるが、演算量が増加する。
【0115】
基準変動量を用いて試算点との距離を算出することにより、パラメータtの変動量を算出するため効率的にパラメータtの変動量を調整することが可能である。
【0116】
[1回目の試算処理]
1回目の試算処理においては第1試算点SP
iを算出する。
【0117】
iは、試算回数を示す。本例においては、i=1である。
【0118】
具体的には、第1試算点SP
iとして、パラメータtの値をT
iに設定する。
【0119】
一例として、通過点P
0(X
0,Y
0)のパラメータtの値T
sは、0とする。
【0121】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
iを入力することにより、通過点P
0(X
0,Y
0)から基準変動量ΔT分、移動した第1試算点SP
iの位置(X
i,Y
i)が算出される。
【0122】
通過点P
0(X
0,Y
0)から基準変動量ΔT分、移動した場合の第1試算点SP
iの位置(X
i,Y
i)の距離は、次式により算出される。
【0123】
指令軌跡の積算移動距離は、曲線式に制御周期毎にパラメータtを与えて、線積分を各微小区間の直線補間に近似して積算する。
【0126】
積算移動距離L
iは、L
s+ΔL
iとして算出される。
【0127】
次に、通過点P
0(X
0,Y
0)からの目標である積算移動距離L
mと、1回目の試算点SP
iまでの試算距離L
iとを比較する。
【0128】
比較結果に基づいて、L
m>L
iである場合には、試算処理を継続する。すなわち、2回目の試算処理を実行する。
【0129】
[基準変動量の補正]
2回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
【0130】
図11は、実施形態に従うパラメータtの基準変動量の補正について説明する図である。
【0131】
図11(A)を参照して、パラメータtと、積算移動距離Lとの関係が示されている。
【0132】
パラメータtは、0〜1へと変化する。
【0133】
パラメータtが0の位置の場合の通過点P
0(X
0,Y
0)の積算移動距離は、L
sである。
【0134】
T
iは、T
sにΔTを加算した値である。
【0135】
L
iは、L
sにΔL
iを加算した値である。
【0136】
しかしながら、ΔL
iは、試算点と通過点P
0(X
0,Y
0)との間の直線距離であるため実際の曲線軌跡を移動した距離とは異なる。
【0137】
理想的には、1回目の試算処理の試算点における積算移動距離の理想値L
tは、目標とする積算移動距離L
mと、L
sとの間の中間値である。
【0138】
したがって、1回目の試算処理の試算点における積算移動距離が理想値L
tとなるように基準変動量ΔTを補正する。
【0139】
具体的には、距離の誤差を算出して、誤差分に応じた量だけ基準変動量ΔTを補正する。
【0140】
図11(B)および(C)を参照して、補正後の基準変動量ΔT
adj1は、次式により算出される。また、調整量Δ
adj1は、次式により算出される。
【0142】
そして、補正後の基準変動量ΔT
adj1を用いて2回目の試算処理を実行する。
【0143】
[2回目の試算処理]
図12は、実施形態に従う2回目の試算処理を説明する図である。
【0144】
図12に示されるように、2回目の試算処理においては第1試算点SP
i-1と、第2試算点SP
iとを算出する。
【0145】
iは、試算回数を示す。本例においては、i=2である。
【0146】
具体的には、第1試算点SP
i-1として、パラメータtの値をT
i-1に設定する。
【0147】
T
i-1は、T
s+ΔT
adj1である。
【0148】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
i-1を入力することにより、通過点P
0(X
0,Y
0)から基準変動量ΔT
adj1分、移動した第1試算点SP
i-1の位置(X
i-1,Y
i-1)が算出される。
【0149】
通過点P
0(X
0,Y
0)と、基準変動量ΔT
adj1分、移動した場合の試算した第1試算点SP
i-1の位置(X
i-1,Y
i-1)との距離ΔL
i-1を算出する。
【0150】
積算移動距離L
i-1は、L
sにΔL
i-1を加算した値である。
【0152】
具体的には、第2試算点SP
iとして、パラメータtの値をT
iに設定する。
【0153】
T
iは、T
i-1+ΔT
adj1である。
【0154】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
iを入力することにより、第1試算点SP
i-1から基準変動量ΔT
adj1分、移動した第2試算点SP
iの位置(X
i,Y
i)が算出される。
【0155】
第1試算点SP
i-1の位置(X
i-1,Y
i-1)と、基準変動量ΔT
adj1分、移動した場合の試算した第2試算点SP
iの位置(X
i,Y
i)との距離ΔL
iを算出する。
【0156】
積算移動距離L
iは、L
i-1にΔL
iを加算した値である。
【0157】
次に、通過点P
0(X
0,Y
0)からの目標である積算移動距離L
mと、第2試算点SP
iまでの試算距離L
iとを比較する。
【0158】
比較結果に基づいて、L
m≦L
iである場合には、積算移動距離L
mに対応するT
mを算出する。
【0159】
パラメータtの変動量T
mは、次式により算出される。
【0162】
すなわち、指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
mを入力して算出された目標位置P
m(X
m,Y
m)が通過点P
0(X
0,Y
0)から次の制御周期で移動する位置に設定される。
【0163】
本例の如く、基準変動量を補正して、補正した基準変動量を用いて試算点との距離を算出するため、精度の高いパラメータtの変動量に調整することが可能である。
【0164】
一方、通過点P
0(X
0,Y
0)からの目標である積算移動距離L
mと、第2試算点SP
iまでの試算距離L
iとを比較した比較結果に基づいて、L
m>L
iである場合には、3回目の試算処理を実行する。
【0165】
[基準変動量の補正]
3回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
【0166】
具体的には、上記と同様の方式に従って基準変動量を補正する。
【0167】
理想的には、2回目の試算処理の第2試算点SP
iにおける積算移動距離の理想値L
tは、目標とする積算移動距離L
mである。
【0168】
したがって、2回目の試算処理の第2試算点SP
iにおける積算移動距離が理想値L
tとなるように基準変動量ΔTを補正する。
【0169】
具体的には、距離の誤差を算出して、誤差分に応じた量だけ基準変動量ΔTを補正する。
【0170】
補正後の基準変動量ΔT
adj2は、次式により算出される。また、調整量Δ
adj2は、次式により算出される。また、調整量Δ
adj2は、次式により算出される。
【0172】
そして、補正後の基準変動量ΔT
adj2を用いて3回目の試算処理を実行する。
【0173】
[3回目の試算処理]
図13は、実施形態に従う3回目の試算処理を説明する図である。
【0174】
図13に示されるように、3回目の試算処理においては第1試算点SP
i-2と、第2試算点SP
i-1と、第3試算点SP
iとを算出する。
【0175】
iは、試算回数を示す。本例においては、i=3である。
【0176】
具体的には、第1試算点SP
i-2として、パラメータtの値をT
i-2に設定する。
【0177】
T
i-2は、T
s+ΔT
adj2である。
【0178】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
i-2を入力することにより、通過点P
0(X
0,Y
0)から基準変動量ΔT
adj2分、移動した第1試算点SP
i-2の位置(X
i-2,Y
i-2)が算出される。
【0179】
通過点P
0(X
0,Y
0)と、基準変動量ΔT
adj2分、移動した場合の試算した第1試算点SP
i-2の位置(X
i-2,Y
i-2)との距離ΔL
i-2を算出する。
【0180】
積算移動距離L
i-2は、L
sにΔL
i-2を加算した値である。
【0181】
次に、第2試算点SP
i-1を算出する。
【0182】
具体的には、第2試算点SP
i-1として、パラメータtの値をT
i-1に設定する。
【0183】
T
i-1は、T
i-2+ΔT
adj2である。
【0184】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
i-1を入力することにより、第1試算点SP
i-2から基準変動量ΔT
adj2分、移動した第2試算点SP
i-1の位置(X
i-1,Y
i-1)が算出される。
【0185】
第2試算点SP
i-1の位置(X
i-1,Y
i-1)と、基準変動量ΔT
adj2分、移動した場合の試算した第2試算点SP
i-1の位置(X
i-1,Y
i-1)との距離ΔL
i-1を算出する。
【0186】
積算移動距離L
i-1は、L
i-2にΔL
i-1を加算した値である。
【0188】
具体的には、第3試算点SP
iとして、パラメータtの値をT
iに設定する。
【0189】
T
iは、T
i-1+ΔT
adj2である。
【0190】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
iを入力することにより、第2試算点SP
i-1から基準変動量ΔT
adj2分、移動した第3試算点SP
iの位置(X
i,Y
i)が算出される。
【0191】
第2試算点SP
i-1の位置(X
i-1,Y
i-1)と、基準変動量ΔT
adj2分、移動した場合の試算した第3試算点SP
iの位置(X
i,Y
i)との距離ΔL
iを算出する。
【0192】
積算移動距離L
iは、L
i-1にΔL
iを加算した値である。
【0193】
次に、通過点P
0(X
0,Y
0)からの目標である積算移動距離L
mと、第3試算点SP
iまでの試算距離L
iとを比較する。
【0194】
比較結果に基づいて、L
m≦L
iである場合には、積算移動距離L
mに対応するT
mを算出する。
【0195】
パラメータtの変動量T
mは、次式により算出される。
【0198】
すなわち、指令軌跡Qのエルミート曲線で示される数式のパラメータtにT
mを入力して算出された目標位置P
m(X
m,Y
m)が通過点P
0(X
0,Y
0)から次の制御周期で移動する位置に設定される。
【0199】
そして、設定した位置を基点として、上記で説明した方式を用いて次の制御周期で移動する位置を算出する。
【0200】
これにより、変数調整部44は、距離算出部42で算出された目標移動距離が一定となるように制御周期毎のパラメータtの増分値を調整することが可能となる。通過点P
0(X
0,Y
0)から通過点P
1(X
1,Y
1)への指令軌跡Q0に沿って制御周期毎に移動する位置を設定する。
【0201】
一方で、通過点P
1(X
1,Y
1)付近になった場合に、試算処理において、パラメータtの値であるT
iが1を超える場合がある。すなわち、通過点P
1(X
1,Y
1)を跨ぐ場合である。
【0202】
パラメータtの値であるT
iが1を超える場合には、対象とする指令軌跡を変更する。通過点P
1(X
1,Y
1)から通過点P
2(X
2,Y
2)への指令軌跡Q1に対応する区分多項式に変更する。すなわち、通過点P
1(X
1,Y
1)と通過点P
2(X
2,Y
2)との間の区分多項式に変更する。
【0203】
そして、Ti-1をT
mとして指令軌跡Q1に対応する区分多項式のパラメータtに当該T
mを入力して算出された目標位置P
m(X
m,Y
m)が次の制御周期で移動する位置に設定される。
【0204】
当該処理により、各通過点間のパラメータtの変動率を調整することが可能である。
【0205】
これにより、各通過点間における軌跡移動速度を基準速度V
0で一定に制御することが可能である。すなわち、制御周期毎の目標移動距離を一定にして動作速度を適切に制御することが可能である。
【0206】
<D.シミュレーション例>
次に、実施形態に従う制御システム1のシミュレーション例について説明する。
【0207】
図14は、実施形態に従う14個の通過点を設定した場合のシミュレーション例について説明する図である。
【0208】
図14に示されるように、14個の通過点が示されており、数字は、通過順序を示している。
【0209】
図15は、実施形態に従う通過座標および3次多項式の係数について説明する図である。
【0210】
図15を参照して、本例においては、最初の始点座標および最後の終点座標は同じ(0,0)に設定されている。また、14個のそれぞれの通過点の座標が設定されている。
【0211】
また、所定値Rは50に設定している。
【0212】
上記で説明した方式に基づいて各区間のx座標の3次多項式の係数およびy座標の3次多項式の係数がそれぞれ算出される。
【0213】
図16は、実施形態に従うトレース軌跡を説明する図である。
【0214】
図16に示されるように、設定された順序に従って14個の通過点を連続的にかつ滑らかに通過する指令軌跡が描かれている。
【0215】
図17は、実施形態に従う指令速度の波形を説明する図である。
【0216】
図17に示されるように、本例においては、指令速度として、500mm/sに設定した場合が示されている。
【0217】
なお、加速度および減速度は、1000mm/s
2とした。また、ジャークは、10000mm/s
3に設定した。
【0218】
当該図に示されるように、各通過点間における軌跡移動速度を基準速度V
0で一定に制御することが可能であることを確認することが可能である。
【0219】
なお、本例においては、一例として平面上における通過順序が予め設定された複数の通過点を連続的に通過する各通過点間の指令軌跡として、区分多項式である3次のエルミート曲線で設定する方式について説明した。一方で、2次元の平面上の通過点に限られず3次元の空間上の通過点についても同様に適用可能である。すなわち、z座標についてもエルミート曲線で定義し、3次元の空間上の通過点に対して通過点の速度ベクトルを3次元座標のベクトルとして処理すればよい。
【0220】
また、本例においては、各通過点間の指令軌跡の区分多項式として一例として、3次のエルミート曲線で設定する場合について説明したが、特にこれに限られず他の曲線等を用いることも可能である。すなわち、各通過点間の指令軌跡を1つの共通のパラメータtで設定するスプライン関数であればどのようなものを採用しても良い。次数も3次に限られず、さらに高次でも良いし、2次あるいは1次の直線としてもよい。
【0221】
指令軌跡が直線の場合には、1次のスプライン関数として定義することが可能である。
【0222】
この場合であっても距離算出部42で算出された目標移動距離が一定となるように各通過点間の制御周期毎のパラメータtの増分値を調整することにより、軌跡移動速度を一定に制御することが可能である。
【0223】
<D.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0224】
[構成1]
コントローラシステム(100)は、通過順序が予め設定された複数の通過点の位置を設定する設定部(30)と、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を区分多項式で設定する軌跡設定部(35)と、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の目標指令値を算出する指令値算出部(40)とを備える。区分多項式は、第1変数に従う3次のエルミート曲線で定義される。指令値算出部は、制御周期毎の指令制御速度に対する目標移動距離を算出する距離算出部(42)と、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整する変数調整部(44)とを含む。
【0225】
[構成2]
第1変数は、0〜1の間で変化する。
【0226】
[構成3]
区分多項式は、3次のエルミート曲線である。
【0227】
[構成4]
変数調整部は、算出された目標移動距離に基づいて第1変数の基準となる基準変動量ΔTを設定し、基準変動量に基づいて区分多項式に基づく制御対象の座標を少なくとも1回算出し、前回の制御周期における制御対象の座標と、基準変動量に基づく算出された制御対象の座標との間の距離を算出し、算出された基準変動量に対する距離と目標移動距離との比較に基づいて、制御周期毎の第1変数の変動量を調整する。
【0228】
[構成5]
変数調整部は、基準変動量毎の区分多項式に基づく制御対象の座標を複数回算出し、基準変動量毎の制御対象の座標間のそれぞれの距離を算出し、基準変動量毎の制御対象の座標間の距離の合計と、目標移動距離とに基づいて第1変数の基準となる基準変動量を補正する。
【0229】
[構成6]
変数調整部は、基準変動量毎の制御対象の座標間の距離の合計と、目標移動距離とを比較し、基準変動量毎の制御対象の座標間の距離の合計が目標移動距離以上の場合に目標移動距離に対する第1変数の変動量を算出する。
【0230】
[構成7]
変数調整部は、対象とする指令軌跡の通過点間の距離と、目標移動距離と、分割係数kとに基づいて基準変動量を設定する。
【0231】
[構成8]
コントローラシステムの制御方法は、通過順序が予め設定された複数の通過点の位置を設定するステップと、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を区分多項式で設定するステップと、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の目標指令値を算出するステップとを備える。区分多項式は、第1変数に従う3次のエルミート曲線で定義され、目標指令値を算出するステップは、制御周期毎の指令制御速度に対する目標移動距離を算出するステップと、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整するステップとを含む。
【0232】
<E.利点>
本実施の形態に従うコントローラシステムおよびその制御方法によれば、制御対象が複数の通過点を連続的に通過する場合に動作速度を適切に制御することが可能である。
【0233】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【解決手段】コントローラシステムは、通過順序が予め設定された複数の通過点の位置を設定する設定部と、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を第1変数に従う区分多項式で設定する軌跡設定部と、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の目標指令値を算出する指令値算出部とを備える。指令値算出部は、制御周期毎の指令制御速度に対する目標移動距離を算出する距離算出部と、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整する変数調整部とを含む。