特許第6801802号(P6801802)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許6801802コントローラシステムおよびその制御方法
<>
  • 特許6801802-コントローラシステムおよびその制御方法 図000010
  • 特許6801802-コントローラシステムおよびその制御方法 図000011
  • 特許6801802-コントローラシステムおよびその制御方法 図000012
  • 特許6801802-コントローラシステムおよびその制御方法 図000013
  • 特許6801802-コントローラシステムおよびその制御方法 図000014
  • 特許6801802-コントローラシステムおよびその制御方法 図000015
  • 特許6801802-コントローラシステムおよびその制御方法 図000016
  • 特許6801802-コントローラシステムおよびその制御方法 図000017
  • 特許6801802-コントローラシステムおよびその制御方法 図000018
  • 特許6801802-コントローラシステムおよびその制御方法 図000019
  • 特許6801802-コントローラシステムおよびその制御方法 図000020
  • 特許6801802-コントローラシステムおよびその制御方法 図000021
  • 特許6801802-コントローラシステムおよびその制御方法 図000022
  • 特許6801802-コントローラシステムおよびその制御方法 図000023
  • 特許6801802-コントローラシステムおよびその制御方法 図000024
  • 特許6801802-コントローラシステムおよびその制御方法 図000025
  • 特許6801802-コントローラシステムおよびその制御方法 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6801802
(24)【登録日】2020年11月30日
(45)【発行日】2020年12月16日
(54)【発明の名称】コントローラシステムおよびその制御方法
(51)【国際特許分類】
   G05D 3/12 20060101AFI20201207BHJP
【FI】
   G05D3/12 305S
【請求項の数】8
【全頁数】24
(21)【出願番号】特願2020-42303(P2020-42303)
(22)【出願日】2020年3月11日
【審査請求日】2020年4月9日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】森野 宏次
(72)【発明者】
【氏名】坂田 晃一
(72)【発明者】
【氏名】小林 優大
【審査官】 山村 秀政
(56)【参考文献】
【文献】 特開2012−083982(JP,A)
【文献】 特開平06−028024(JP,A)
【文献】 特開平06−230818(JP,A)
【文献】 特開2002−018767(JP,A)
【文献】 特開2007−000954(JP,A)
【文献】 特開2014−137750(JP,A)
【文献】 特開平11−104982(JP,A)
【文献】 韓国公開特許第10−2015−0104484(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/12
(57)【特許請求の範囲】
【請求項1】
通過順序が予め設定された複数の通過点の位置を設定する設定部と、
制御対象が前記複数の通過点を連続的に通過する各前記通過点間の指令軌跡を第1変数に従う区分多項式で設定する軌跡設定部と、
対象とする指令軌跡に対応する前記区分多項式に基づいて制御周期毎の前記制御対象の目標指令値を算出する指令値算出部とを備え、
前記指令値算出部は、
前記制御周期毎の指令制御速度に対する目標移動距離を算出する距離算出部と、
前記算出された目標移動距離が一定となるように前記制御周期毎の第1変数の変動量を調整する変数調整部とを含む、コントローラシステム。
【請求項2】
前記第1変数は、0〜1の間で変化する、請求項1記載のコントローラシステム。
【請求項3】
前記区分多項式は、3次のエルミート曲線である、請求項2記載のコントローラシステム。
【請求項4】
前記変数調整部は、
前記算出された目標移動距離に基づいて前記第1変数の基準となる基準変動量を設定し、
前記基準変動量に基づいて前記区分多項式に基づく前記制御対象の座標を少なくとも1回算出し、
前回の制御周期における前記制御対象の座標と、前記基準変動量に基づく算出された前記制御対象の座標との間の距離を算出し、
算出された基準変動量に対する距離と前記目標移動距離との比較に基づいて、前記制御周期毎の第1変数の変動量を調整する、請求項2記載のコントローラシステム。
【請求項5】
前記変数調整部は、
前記基準変動量毎の前記区分多項式に基づく前記制御対象の座標を複数回算出し、
前記基準変動量毎の前記制御対象の座標間のそれぞれの距離を算出し、
前記基準変動量毎の前記制御対象の座標間の距離の合計と、前記目標移動距離とに基づいて前記第1変数の基準となる前記基準変動量を補正する、請求項4記載のコントローラシステム。
【請求項6】
前記変数調整部は、
前記基準変動量毎の前記制御対象の座標間の距離の合計と、前記目標移動距離とを比較し、
前記基準変動量毎の前記制御対象の座標間の距離の合計が前記目標移動距離以上の場合に前記目標移動距離に対する前記第1変数の変動量を算出する、請求項4記載のコントローラシステム。
【請求項7】
前記変数調整部は、前記対象とする指令軌跡の通過点間の距離と、前記目標移動距離と、分割係数とに基づいて前記基準変動量を設定する、請求項4記載のコントローラシステム。
【請求項8】
通過順序が予め設定された複数の通過点の位置を設定するステップと、
制御対象が前記複数の通過点を連続的に通過する各前記通過点間の指令軌跡を第1変数に従う区分多項式で設定するステップと、
対象とする指令軌跡に対応する前記区分多項式に基づいて制御周期毎の前記制御対象の目標指令値を算出するステップとを備え、
前記目標指令値を算出するステップは、
前記制御周期毎の指令制御速度に対する目標移動距離を算出するステップと、
前記算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整するステップとを含む、コントローラシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御対象を制御するコントローラシステムおよびその制御方法に関する。
【背景技術】
【0002】
各種設備および各設備に配置される各種装置の制御には、PLC(プログラマブルロジックコントローラ)などの制御装置が用いられる。
【0003】
例えば、特開2000−137506号公報(特許文献1)には、ロボットの動作を制御する制御装置が指令軌跡に従う指令値を各サーボに出力してロボットの動作を制御する手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−137506号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数の通過点を検査するロボットの動作を制御する場合、ロボットの動作を複数の通過点で停止させずに連続的に動作させることは検査効率を向上させる点で重要である。
【0006】
一方で、ロボットの動作としては連続的に動作させるだけでなく、動作速度も適切に制御することが重要である。
【0007】
本開示は、上記の課題を解決するためになされたものであって、制御対象が複数の通過点を連続的に通過する場合に動作速度を適切に制御することが可能なコントローラシステムおよびその制御方法に関する。
【課題を解決するための手段】
【0008】
ある局面に従うコントローラシステムは、通過順序が予め設定された複数の通過点の位置を設定する設定部と、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を第1変数に従う区分多項式で設定する軌跡設定部と、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の目標指令値を算出する指令値算出部とを備える。指令値算出部は、制御周期毎の指令制御速度に対する目標移動距離を算出する距離算出部と、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整する変数調整部とを含む。
【0009】
この構成によれば、指令値算出部は、制御周期毎の指令制御速度に対する目標移動距離を算出し、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整する。これにより制御周期毎の目標移動距離を一定にして動作速度を適切に制御することが可能である。
【0010】
好ましくは、第1変数は、0〜1の間で変化する。
【0011】
この構成によれば、通過点間の距離に応じて軌跡移動速度が変動することを回避して、制御周期毎の目標移動距離を一定にして動作速度を適切に制御することが可能である。
【0012】
好ましくは、区分多項式は、3次のエルミート曲線である。
【0013】
この構成によれば、3次のエルミート曲線を用いることにより滑らかな曲線軌跡を設定することが可能である。
【0014】
好ましくは、変数調整部は、算出された目標移動距離に基づいて第1変数の基準となる基準変動量を設定し、基準変動量に基づいて区分多項式に基づく制御対象の座標を少なくとも1回算出し、前回の制御周期における制御対象の座標と、基準変動量に基づく算出された制御対象の座標との間の距離を算出し、算出された基準変動量に対する距離と目標移動距離との比較に基づいて、制御周期毎の第1変数の変動量を調整する。
【0015】
この構成によれば、基準変動量を用いて試算点との距離を算出することにより、制御周期毎の第1変数の変動量を調整するため効率的に第1変数の変動量を調整することが可能である。
【0016】
好ましくは、変数調整部は、基準変動量毎の区分多項式に基づく制御対象の座標を複数回算出し、基準変動量毎の制御対象の座標間のそれぞれの距離を算出し、基準変動量毎の制御対象の座標間の距離の合計と、目標移動距離とに基づいて第1変数の基準となる基準変動量を補正する。
【0017】
この構成によれば、基準変動量を補正して、補正した基準変動量を用いて試算点との距離を算出することにより、精度の高い制御周期毎の第1変数の変動量に調整することが可能である。
【0018】
好ましくは、変数調整部は、基準変動量毎の制御対象の座標間の距離の合計と、目標移動距離とを比較し、基準変動量毎の制御対象の座標間の距離の合計が目標移動距離以上の場合に目標移動距離に対する第1変数の変動量を算出する。
【0019】
この構成によれば、基準変動量を用いて試算点との距離の合計を算出して、目標移動距離との比較により、制御周期毎の第1変数の変動量を調整するため効率的に第1変数の変動量を調整することが可能である。
【0020】
好ましくは、変数調整部は、対象とする指令軌跡の通過点間の距離と、目標移動距離と、分割係数とに基づいて基準変動量を設定する。
【0021】
この構成によれば、分割係数により基準変動量を調整することが可能であるため精度の高い制御周期毎の第1変数の変動量に調整することが可能である。
【0022】
ある局面に従うコントローラシステムの制御方法は、通過順序が予め設定された複数の通過点の位置を設定するステップと、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を第1変数に従う区分多項式で設定するステップと、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の目標指令値を算出するステップとを備える。目標指令値を算出するステップは、制御周期毎の指令制御速度に対する目標移動距離を算出するステップと、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整するステップとを含む。
【0023】
この構成によれば、指令値算出部は、制御周期毎の指令制御速度に対する目標移動距離を算出し、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整する。これにより制御周期毎の目標移動距離を一定にして動作速度を適切に制御することが可能である。
【0024】
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
【発明の効果】
【0025】
本開示のコントローラシステムおよびその制御方法によれば、制御対象が複数の通過点を連続的に通過する場合に動作速度を適切に制御することが可能である。
【図面の簡単な説明】
【0026】
図1】実施形態に従うレビュー制御システム1のアプリケーション例を示す模式図である。
図2】実施形態に従う駆動装置2の具体的構成を説明する図である。
図3】実施形態に従う制御装置100のハードウェアの構成の一例を模式的に示す平面図である。
図4】実施形態に従う制御装置100の機能構成を説明する図である。
図5】実施形態に従う速度ベクトルの設定について説明する図である。
図6】実施形態に従う軌跡設定部35とサーボ指令制御部40との関係について説明する図である。
図7】実施形態に従うサーボ指令制御部40が出力する位置座標を説明する図である。
図8】比較例として指令軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
図9】実施形態に従う指令軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
図10】実施形態に従う1回目の試算処理を説明する図である。
図11】実施形態に従うパラメータtの基準変動量の補正について説明する図である。
図12】実施形態に従う2回目の試算処理を説明する図である。
図13】実施形態に従う3回目の試算処理を説明する図である。
図14】実施形態に従う14個の通過点を設定した場合のシミュレーション例について説明する図である。
図15】実施形態に従う通過座標および3次多項式の係数について説明する図である。
図16】実施形態に従うトレース軌跡を説明する図である。
図17】実施形態に従う指令速度の波形を説明する図である。
【発明を実施するための形態】
【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】
一例として、指定された通過点(P1、P2…Pn)の(P1−P2、P2−P3、・・・Pn-1−Pn)の点間の軌跡をx座標、y座標の3次多項式で定義すると下記式(1)で表される。
【0063】
【数1】
【0064】
そして、次の2つの条件を満たす3次の曲線式としてエルミート曲線で定義する。
【0065】
具体的には、設定された通過点の座標を通ることと、各通過点の境界および曲線途中で軌跡が連続であることである。
【0066】
上記条件に基づくエルミート曲線は、下記式(2)で表される。
【0067】
【数2】
【0068】
エルミート曲線は、始点位置、始点速度ベクトル、終点位置、終点速度ベクトルの4つのパラメータに基づいて設定される。
【0069】
したがって、t=0で始点位置、t=1で終点位置となるため、通過点の座標を始点位置、終点位置のパラメータとして設定する。
【0070】
【数3】
【0071】
エルミート曲線を連続的に繋ぎ合わせる手法として、Catmull-Rom Spline(キャットムル・ロム曲線)を用いる。具体的には、本例においては、各通過点での位置および速度の連続性を保つために、速度ベクトルを通過点の前後で一致するように設定する。
【0072】
図5は、実施形態に従う速度ベクトルの設定について説明する図である。
【0073】
図5に示されるように、具体的には、通過点P2において、指令軌跡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に変化する場合には、一例として通過点間の距離が短い場合には、基準速度V0よりも軌跡移動速度は遅くなる場合が示されている。一方で、通過点間の距離が長い場合には、軌跡移動速度は、基準速度V0よりも軌跡移動速度は速くなる場合が示されている。
【0089】
すなわち、パラメータtを一定の割合で調整した場合には、駆動装置2の速度を一定に調整することはできない。
【0090】
図9は、実施形態に従う指令軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
【0091】
図9(A)には、各通過点間における軌跡移動速度が示されている。
【0092】
図9(B)には、各指令軌跡のパラメータtの変化が示されている。
【0093】
当該図に示されるように、各通過点間における軌跡移動速度を基準速度V0で一定に制御するためには、各通過点間のパラメータ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を参照して、本例においては、通過点P0(X0,Y0)と、通過点P1(X1,Y1)との間の指令軌跡Q0の曲線式に対してパラメータtの変動量を設定する場合の処理について説明する。
【0102】
一例として、現在位置を通過点P0(X0,Y0)とした場合に、次の制御周期で移動する目標位置Pm(Xm,Ym)のパラメータtの変動量Tmを算出する。
【0103】
[準備処理]
通過点P0(X0,Y0)までの積算移動距離をLsとする。
【0104】
制御周期毎の次の目標位置Pm(Xm,Ym)までの積算移動距離はLmとする。
【0105】
目標移動距離ΔLmは、Lm-Lsである。
【0106】
本例においては、パラメータtを2回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTをまず設定する。
【0107】
通過点P0(X0,Y0)と、通過点P1(X1,Y1)との間の直線距離ΔLを算出する。
【0108】
パラメータtが0〜1まで変化することにより直線距離ΔL移動すると仮定すると、制御周期毎のパラメータtの平均変化量は、ΔL/ΔLmである。
【0109】
したがって、パラメータtをk回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLm/kにより設定する。
【0110】
本例においては、分割係数k=2に設定する。
【0111】
パラメータtを1回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLmを設定する。
【0112】
パラメータtを2回変化させて積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLm/2により設定する。
【0113】
パラメータtを3回変化させて積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLm/3により設定する。
【0114】
なお、変化させる試算回数を増加させることにより精度の高いパラメータtの変動量を算出することが可能であるが、演算量が増加する。
【0115】
基準変動量を用いて試算点との距離を算出することにより、パラメータtの変動量を算出するため効率的にパラメータtの変動量を調整することが可能である。
【0116】
[1回目の試算処理]
1回目の試算処理においては第1試算点SPiを算出する。
【0117】
iは、試算回数を示す。本例においては、i=1である。
【0118】
具体的には、第1試算点SPiとして、パラメータtの値をTiに設定する。
【0119】
一例として、通過点P0(X0,Y0)のパラメータtの値Tsは、0とする。
【0120】
Tiは、Ts+ΔTである。
【0121】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにTiを入力することにより、通過点P0(X0,Y0)から基準変動量ΔT分、移動した第1試算点SPiの位置(Xi,Yi)が算出される。
【0122】
通過点P0(X0,Y0)から基準変動量ΔT分、移動した場合の第1試算点SPiの位置(Xi,Yi)の距離は、次式により算出される。
【0123】
指令軌跡の積算移動距離は、曲線式に制御周期毎にパラメータtを与えて、線積分を各微小区間の直線補間に近似して積算する。
【0124】
【数4】
【0125】
ここで、jは積算回数である。
【0126】
積算移動距離Liは、Ls+ΔLiとして算出される。
【0127】
次に、通過点P0(X0,Y0)からの目標である積算移動距離Lmと、1回目の試算点SPiまでの試算距離Liとを比較する。
【0128】
比較結果に基づいて、Lm>Liである場合には、試算処理を継続する。すなわち、2回目の試算処理を実行する。
【0129】
[基準変動量の補正]
2回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
【0130】
図11は、実施形態に従うパラメータtの基準変動量の補正について説明する図である。
【0131】
図11(A)を参照して、パラメータtと、積算移動距離Lとの関係が示されている。
【0132】
パラメータtは、0〜1へと変化する。
【0133】
パラメータtが0の位置の場合の通過点P0(X0,Y0)の積算移動距離は、Lsである。
【0134】
Tiは、TsにΔTを加算した値である。
【0135】
Liは、LsにΔLiを加算した値である。
【0136】
しかしながら、ΔLiは、試算点と通過点P0(X0,Y0)との間の直線距離であるため実際の曲線軌跡を移動した距離とは異なる。
【0137】
理想的には、1回目の試算処理の試算点における積算移動距離の理想値Ltは、目標とする積算移動距離Lmと、Lsとの間の中間値である。
【0138】
したがって、1回目の試算処理の試算点における積算移動距離が理想値Ltとなるように基準変動量ΔTを補正する。
【0139】
具体的には、距離の誤差を算出して、誤差分に応じた量だけ基準変動量ΔTを補正する。
【0140】
図11(B)および(C)を参照して、補正後の基準変動量ΔTadj1は、次式により算出される。また、調整量Δadj1は、次式により算出される。
【0141】
【数5】
【0142】
そして、補正後の基準変動量ΔTadj1を用いて2回目の試算処理を実行する。
【0143】
[2回目の試算処理]
図12は、実施形態に従う2回目の試算処理を説明する図である。
【0144】
図12に示されるように、2回目の試算処理においては第1試算点SPi-1と、第2試算点SPiとを算出する。
【0145】
iは、試算回数を示す。本例においては、i=2である。
【0146】
具体的には、第1試算点SPi-1として、パラメータtの値をTi-1に設定する。
【0147】
Ti-1は、Ts+ΔTadj1である。
【0148】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにTi-1を入力することにより、通過点P0(X0,Y0)から基準変動量ΔTadj1分、移動した第1試算点SPi-1の位置(Xi-1,Yi-1)が算出される。
【0149】
通過点P0(X0,Y0)と、基準変動量ΔTadj1分、移動した場合の試算した第1試算点SPi-1の位置(Xi-1,Yi-1)との距離ΔLi-1を算出する。
【0150】
積算移動距離Li-1は、LsにΔLi-1を加算した値である。
【0151】
次に、第2試算点SPiを算出する。
【0152】
具体的には、第2試算点SPiとして、パラメータtの値をTiに設定する。
【0153】
Tiは、Ti-1+ΔTadj1である。
【0154】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにTiを入力することにより、第1試算点SPi-1から基準変動量ΔTadj1分、移動した第2試算点SPiの位置(Xi,Yi)が算出される。
【0155】
第1試算点SPi-1の位置(Xi-1,Yi-1)と、基準変動量ΔTadj1分、移動した場合の試算した第2試算点SPiの位置(Xi,Yi)との距離ΔLiを算出する。
【0156】
積算移動距離Liは、Li-1にΔLiを加算した値である。
【0157】
次に、通過点P0(X0,Y0)からの目標である積算移動距離Lmと、第2試算点SPiまでの試算距離Liとを比較する。
【0158】
比較結果に基づいて、Lm≦Liである場合には、積算移動距離Lmに対応するTmを算出する。
【0159】
パラメータtの変動量Tmは、次式により算出される。
【0160】
【数6】
【0161】
そして、試算処理を終了する。
【0162】
すなわち、指令軌跡Qのエルミート曲線で示される数式のパラメータtにTmを入力して算出された目標位置Pm(Xm,Ym)が通過点P0(X0,Y0)から次の制御周期で移動する位置に設定される。
【0163】
本例の如く、基準変動量を補正して、補正した基準変動量を用いて試算点との距離を算出するため、精度の高いパラメータtの変動量に調整することが可能である。
【0164】
一方、通過点P0(X0,Y0)からの目標である積算移動距離Lmと、第2試算点SPiまでの試算距離Liとを比較した比較結果に基づいて、Lm>Liである場合には、3回目の試算処理を実行する。
【0165】
[基準変動量の補正]
3回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
【0166】
具体的には、上記と同様の方式に従って基準変動量を補正する。
【0167】
理想的には、2回目の試算処理の第2試算点SPiにおける積算移動距離の理想値Ltは、目標とする積算移動距離Lmである。
【0168】
したがって、2回目の試算処理の第2試算点SPiにおける積算移動距離が理想値Ltとなるように基準変動量ΔTを補正する。
【0169】
具体的には、距離の誤差を算出して、誤差分に応じた量だけ基準変動量ΔTを補正する。
【0170】
補正後の基準変動量ΔTadj2は、次式により算出される。また、調整量Δadj2は、次式により算出される。また、調整量Δadj2は、次式により算出される。
【0171】
【数7】
【0172】
そして、補正後の基準変動量ΔTadj2を用いて3回目の試算処理を実行する。
【0173】
[3回目の試算処理]
図13は、実施形態に従う3回目の試算処理を説明する図である。
【0174】
図13に示されるように、3回目の試算処理においては第1試算点SPi-2と、第2試算点SPi-1と、第3試算点SPiとを算出する。
【0175】
iは、試算回数を示す。本例においては、i=3である。
【0176】
具体的には、第1試算点SPi-2として、パラメータtの値をTi-2に設定する。
【0177】
Ti-2は、Ts+ΔTadj2である。
【0178】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにTi-2を入力することにより、通過点P0(X0,Y0)から基準変動量ΔTadj2分、移動した第1試算点SPi-2の位置(Xi-2,Yi-2)が算出される。
【0179】
通過点P0(X0,Y0)と、基準変動量ΔTadj2分、移動した場合の試算した第1試算点SPi-2の位置(Xi-2,Yi-2)との距離ΔLi-2を算出する。
【0180】
積算移動距離Li-2は、LsにΔLi-2を加算した値である。
【0181】
次に、第2試算点SPi-1を算出する。
【0182】
具体的には、第2試算点SPi-1として、パラメータtの値をTi-1に設定する。
【0183】
Ti-1は、Ti-2+ΔTadj2である。
【0184】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにTi-1を入力することにより、第1試算点SPi-2から基準変動量ΔTadj2分、移動した第2試算点SPi-1の位置(Xi-1,Yi-1)が算出される。
【0185】
第2試算点SPi-1の位置(Xi-1,Yi-1)と、基準変動量ΔTadj2分、移動した場合の試算した第2試算点SPi-1の位置(Xi-1,Yi-1)との距離ΔLi-1を算出する。
【0186】
積算移動距離Li-1は、Li-2にΔLi-1を加算した値である。
【0187】
次に、第3試算点SPiを算出する。
【0188】
具体的には、第3試算点SPiとして、パラメータtの値をTiに設定する。
【0189】
Tiは、Ti-1+ΔTadj2である。
【0190】
指令軌跡Qのエルミート曲線で示される数式のパラメータtにTiを入力することにより、第2試算点SPi-1から基準変動量ΔTadj2分、移動した第3試算点SPiの位置(Xi,Yi)が算出される。
【0191】
第2試算点SPi-1の位置(Xi-1,Yi-1)と、基準変動量ΔTadj2分、移動した場合の試算した第3試算点SPiの位置(Xi,Yi)との距離ΔLiを算出する。
【0192】
積算移動距離Liは、Li-1にΔLiを加算した値である。
【0193】
次に、通過点P0(X0,Y0)からの目標である積算移動距離Lmと、第3試算点SPiまでの試算距離Liとを比較する。
【0194】
比較結果に基づいて、Lm≦Liである場合には、積算移動距離Lmに対応するTmを算出する。
【0195】
パラメータtの変動量Tmは、次式により算出される。
【0196】
【数8】
【0197】
そして、試算処理を終了する。
【0198】
すなわち、指令軌跡Qのエルミート曲線で示される数式のパラメータtにTmを入力して算出された目標位置Pm(Xm,Ym)が通過点P0(X0,Y0)から次の制御周期で移動する位置に設定される。
【0199】
そして、設定した位置を基点として、上記で説明した方式を用いて次の制御周期で移動する位置を算出する。
【0200】
これにより、変数調整部44は、距離算出部42で算出された目標移動距離が一定となるように制御周期毎のパラメータtの増分値を調整することが可能となる。通過点P0(X0,Y0)から通過点P1(X1,Y1)への指令軌跡Q0に沿って制御周期毎に移動する位置を設定する。
【0201】
一方で、通過点P1(X1,Y1)付近になった場合に、試算処理において、パラメータtの値であるTiが1を超える場合がある。すなわち、通過点P1(X1,Y1)を跨ぐ場合である。
【0202】
パラメータtの値であるTiが1を超える場合には、対象とする指令軌跡を変更する。通過点P1(X1,Y1)から通過点P2(X2,Y2)への指令軌跡Q1に対応する区分多項式に変更する。すなわち、通過点P1(X1,Y1)と通過点P2(X2,Y2)との間の区分多項式に変更する。
【0203】
そして、Ti-1をTmとして指令軌跡Q1に対応する区分多項式のパラメータtに当該Tmを入力して算出された目標位置Pm(Xm,Ym)が次の制御周期で移動する位置に設定される。
【0204】
当該処理により、各通過点間のパラメータtの変動率を調整することが可能である。
【0205】
これにより、各通過点間における軌跡移動速度を基準速度V0で一定に制御することが可能である。すなわち、制御周期毎の目標移動距離を一定にして動作速度を適切に制御することが可能である。
【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/s2とした。また、ジャークは、10000mm/s3に設定した。
【0218】
当該図に示されるように、各通過点間における軌跡移動速度を基準速度V0で一定に制御することが可能であることを確認することが可能である。
【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】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0234】
1 レビュー制御システム、2 駆動装置、20 撮影装置、30 設定部、35 軌跡設定部、40 サーボ指令制御部、42 距離算出部、44 変数調整部、50 トリガ指令制御部、100 制御装置、101 制御演算部、102 通信I/F部、103 記憶部、104 入力部、105 出力部、106 バスライン。
【要約】
【課題】制御対象が複数の通過点を連続的に通過する場合に動作速度を適切に制御することが可能なコントローラシステムを提供する。
【解決手段】コントローラシステムは、通過順序が予め設定された複数の通過点の位置を設定する設定部と、制御対象が複数の通過点を連続的に通過する各通過点間の指令軌跡を第1変数に従う区分多項式で設定する軌跡設定部と、対象とする指令軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の目標指令値を算出する指令値算出部とを備える。指令値算出部は、制御周期毎の指令制御速度に対する目標移動距離を算出する距離算出部と、算出された目標移動距離が一定となるように制御周期毎の第1変数の変動量を調整する変数調整部とを含む。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17