JP2023038747A - コントローラシステムおよびその制御方法 - Google Patents
コントローラシステムおよびその制御方法 Download PDFInfo
- Publication number
- JP2023038747A JP2023038747A JP2021145622A JP2021145622A JP2023038747A JP 2023038747 A JP2023038747 A JP 2023038747A JP 2021145622 A JP2021145622 A JP 2021145622A JP 2021145622 A JP2021145622 A JP 2021145622A JP 2023038747 A JP2023038747 A JP 2023038747A
- Authority
- JP
- Japan
- Prior art keywords
- coordinates
- point
- coordinate
- work surface
- target
- 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
【課題】ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能なコントローラシステムを提供する。【解決手段】コントローラシステムは、ワーク表面の複数の座標を取得する取得部と、取得部で取得したワーク表面の複数の座標に基づいて、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動する制御対象の制御周期毎の目標指令値を算出する移動軌跡指令部とを備える。【選択図】図6
Description
本開示は、制御対象を制御するコントローラシステムおよびその制御方法に関する。
各種設備および各設備に配置される各種装置の制御には、PLC(プログラマブルロジックコントローラ)などの制御装置が用いられる。
例えば、特開2012-83982号公報(特許文献1)には、複数の駆動軸により移動可能な可動部を有する装置を制御するための制御装置が開示されている。この点で、移動する目標軌道を設定して、目標軌道におけるツールの加速度を調整する手法が開示されている。
一方で、例えば曲面形状のワーク表面を検査等する動作を制御する場合、ワーク表面に対して適正な角度および距離で制御対象を制御させることは検査効率を向上させる点で重要である。さらに、検査するための移動として連続的に動作させるだけでなく、動作速度も適切に制御することが重要である。
本開示は、上記の課題を解決するためになされたものであって、ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能なコントローラシステムおよびその制御方法に関する。
ある局面に従うコントローラシステムは、ワーク表面の複数の座標を取得する取得部と、取得部で取得したワーク表面の複数の座標に基づいて、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動する制御対象の制御周期毎の目標指令値を算出する移動軌跡指令部とを備える。
この構成によれば、制御対象は、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動することが可能であり、ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能である。
好ましくは、所定角度は0°である。
この構成によれば、制御対象は、ワーク表面に対して正対する位置に設定することが可能である。
この構成によれば、制御対象は、ワーク表面に対して正対する位置に設定することが可能である。
好ましくは、移動軌跡指令部は、取得部で取得したワーク表面の複数の座標に基づいて、ワーク表面を計測する計測座標を算出する計測座標算出部と、計測座標に基づいて当該座標からワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置である制御対象の目標座標を算出する目標座標算出部と、算出された制御対象の目標座標に移動するように制御周期毎の目標指令値を算出する指令値算出部とを含む。
この構成によれば、計測座標を算出して、ワーク表面に対する制御対象の計測座標の位置および動作速度を適切に制御することが可能である。
好ましくは、計測座標算出部は、制御周期毎の所定速度でワーク表面に対して所定速度で移動する計測座標が移動する移動距離を算出し、制御周期毎に移動距離が一定となるようにワーク表面を計測する計測座標を算出する。
この構成によれば、制御周期毎の移動距離を算出して、計測座標からの移動距離を一定としてワーク表面に対する制御対象の計測座標の位置および動作速度を適切に制御することが可能である。
好ましくは、移動軌跡指令部は、複数の座標を連続的に繋げた際の各座標間のワーク表面軌跡を第1変数に従う区分多項式で設定する軌跡設定部をさらに含み、計測座標算出部は、対象とするワーク表面軌跡に対応する区分多項式に基づいて制御周期毎の制御対象の計測座標を算出し、移動距離が一定となるように制御周期毎の第1変数の変動量を調整する。
この構成によれば、ワーク表面軌跡に対応する区分多項式に基づいて計測座標を算出して、ワーク表面に対する制御対象の計測座標の位置および動作速度を適切に制御することが可能である。
ある局面に従うコントローラシステムの制御方法は、ワーク表面の複数の座標を取得するステップと、取得したワーク表面の複数の座標に基づいて、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動する制御対象の制御周期毎の目標指令値を算出するステップとを備える。
この方式によれば、制御対象は、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動することが可能であり、ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能である。
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
本開示のコントローラシステムおよびその制御方法によれば、ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
以下では3軸(X軸、Z軸、θ軸)構成の同期グループ(「複数のサーボモータ」及びそれらに対応する「複数のサーボドライバ」を含む複数のサーボ制御デバイスに相当する。)を前提に説明するが、本実施形態の同期グループは、3軸以上のサーボ制御デバイスを含む構成であればよい。以下では対象物が3軸(X軸、Z軸、θ軸)で移動するが、対象物の移動形態は、3軸以上であってもよい。
<適用例>
図1は、実施形態に基づくコントローラシステムSYSの概略構成を示す模式図である。コントローラシステムであるPLCシステムは、PLC1と、計測装置20と、駆動装置30~50と、プログラマブル表示器300と、PLCサポート装置8とを含む。
図1は、実施形態に基づくコントローラシステムSYSの概略構成を示す模式図である。コントローラシステムであるPLCシステムは、PLC1と、計測装置20と、駆動装置30~50と、プログラマブル表示器300と、PLCサポート装置8とを含む。
計測装置20および駆動装置30~50は、それぞれフィールドネットワーク2を介してPLC1と接続されている。また、PLC1には、接続ケーブル10などを介してPLCサポート装置8と、ネットワーク114を介してプログラマブル表示器300とがそれぞれ接続される。
計測装置20は、計測点を撮像する撮影装置であり、カメラコントローラ6と、カメラセンサ7とを含む。カメラコントローラ6は、カメラセンサ7で撮影する際の焦点や照度等のパラメータを調整する。
駆動装置30~50は、サーボモータ4x~4θと、サーボモータ4x~4θを駆動するサーボモータドライバ3x~3θとを含む。駆動装置30は、サーボモータドライバ3xと、サーボモータ4xとを含む。サーボモータドライバ3xは、X軸のサーボモータ4xを駆動する。駆動装置40は、サーボモータドライバ3zと、サーボモータ4zとを含む。サーボモータドライバ3zは、Z軸のサーボモータ4zを駆動する。駆動装置50は、サーボモータドライバ3θと、サーボモータ4θとを含む。サーボモータドライバ3θは、θ軸のサーボモータ4θを駆動する。
図2は、実施形態に基づくコントローラシステムSYSでの計測の構成を示す模式図である。図2では、ステージ31上に載せられたワークAを図中のX方向に稼働させるためステージ31に駆動装置30を、カメラセンサ7自体を図中のZ方向に稼働させるためカメラセンサ7に駆動装置40をそれぞれ設けている。また、カメラセンサ7自体をXZ平面上においてθ方向に回転可動させるために駆動装置50を設けている。
駆動装置30でステージ31をX方向に移動させ、駆動装置40でカメラセンサ7自体をZ方向に移動させ、駆動装置50でカメラセンサ7自体をθ方向に回転させることで、カメラセンサ7とワークAとの相対的な位置を調整することが可能である。
さらに、カメラセンサ7からの計測情報を取得するためカメラコントローラ6にカメラセンサ7が接続されている。カメラコントローラ6で取得した計測情報はPLC1に送られる。PLC1は、計測情報をプログラマブル表示器300で表示させるようにしてもよいし、PLCサポート装置8に出力するようにしてもよい。
例えば、ワークAとカメラセンサ7との相対的な位置を変化させて、カメラセンサ7でワークAたとえば、曲面形状を有するようなフロントガラスの欠陥の有無を検査してもよい。具体的には、ワークAの形状に沿ってカメラセンサ7の位置を変化させて撮像する。
コントローラシステムSYSは、ワーク表面の計測点に対する相対的な位置関係を維持しながらワークAの形状に沿ってカメラセンサ7を移動させ、ワークA表面を撮影する。ワークAの表面に対して計測装置20が移動する速度を一定に制御することにより撮影条件を変更することなく撮影することが可能となり精度の高い計測が可能となる。
なお、図1に示すコントローラシステムSYSは任意のアプリケーションに応用可能である。
実施形態に従うコントローラシステムSYSは、複数のデバイスが組み合わされたアプリケーションに対しても、1つの制御装置で制御することができる。
なお、フロントガラスに限られず、各種形状のガラスや他の検査部材や加工部材にも同様に適用可能である。
PLC1は、駆動装置30,40,50に対して位置指令を送信して、カメラセンサ7およびステージ31の位置を変更させる。
PLC1は、主たる演算処理を実行するCPUユニット13と、1つ以上のIOユニット14と、特殊ユニット15とを含む。これらのユニットは、PLCシステムバス11を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット12によって適切な電圧の電源が供給される。なお、PLC1として構成される各ユニットは、PLCメーカーが提供するものであるので、PLCシステムバス11は、一般にPLCメーカーごとに独自に開発され、使用されている。これに対して、後述するようにフィールドネットワーク2については、異なるメーカーの製品同士が接続できるように、その規格などが公開されている場合も多い。
CPUユニット13の詳細については、図3を参照して後述する。IOユニット14は、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を処理する。すなわち、IOユニット14は、センサが何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット14は、リレーやアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
特殊ユニット15は、アナログデータの入出力、温度制御、特定の通信方式による通信といった、IOユニット14ではサポートしない機能を有する。
フィールドネットワーク2は、CPUユニット13と遣り取りされる各種データを伝送する。フィールドネットワーク2としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)としては、たとえば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)-III、Powerlink、SERCOS(登録商標)-III、CIP Motionなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット(登録商標)以外のフィールドネットワークを用いてもよい。たとえば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。本実施の形態に係るPLCシステムでは、典型的に、本実施の形態においては、産業用イーサネット(登録商標)であるEtherCAT(登録商標)をフィールドネットワーク2として採用する場合の構成について例示する。
なお、図1には、PLCシステムバス11およびフィールドネットワーク2の両方を有するPLCシステムを例示するが、一方のみを搭載するシステム構成を採用することもできる。たとえば、フィールドネットワーク2ですべてのユニットを接続してもよい。あるいは、フィールドネットワーク2を使用せずに、サーボモータドライバ3x,3z3θをPLCシステムバス11に直接接続してもよい。さらに、フィールドネットワーク2の通信ユニットをPLCシステムバス11に接続し、CPUユニット13から当該通信ユニット経由で、フィールドネットワーク2に接続された機器との間の通信を行なうようにしてもよい。
サーボモータドライバ3x,3z,3θは、フィールドネットワーク2を介してCPUユニット13と接続されるとともに、CPUユニット13からの指令値に従ってサーボモータ4x,4z,4θを駆動する。より具体的には、サーボモータドライバ3x,3z,3θは、PLC1から一定周期で、位置指令、速度指令、トルク指令といった指令値を受ける。また、サーボモータドライバ3x,3z,3θは、サーボモータ4x,4z,4θの軸に接続されている位置センサ(ロータリーエンコーダ)やトルクセンサといった検出器から、位置、速度、トルクといったサーボモータ4x,4z,4θの動作に係る実測値を取得する。そして、サーボモータドライバ3x,3z,3θは、CPUユニット13からの指令値を目標値に設定し、実測値をフィードバック値として、フィードバック制御を行なう。すなわち、サーボモータドライバ3x,3z,3θは、実測値が目標値に近づくようにサーボモータ4x,4z,4θを駆動するための電流を調整する。なお、サーボモータドライバ3x,3z,3θは、サーボモータアンプと称されることもある。
また、図1には、サーボモータ4x,4z,4θとサーボモータドライバ3x,3z,3θとを組み合わせたシステム例を示すが、その他の構成、たとえば、パルスモータとパルスモータドライバとを組み合わせたシステムを採用することもできる。
ステージ31およびカメラセンサ7は、ネジ軸スライダに取付けられ、当該スライダをサーボモータ4x,4z,4θを駆動することで移動および回転させている。なお、ネジ軸スライダに限定されず、同様の機能を有する構成であればよく、例えばリニアスライダにステージ31およびカメラセンサ7を取付けてもよい。
コントローラシステムSYSにおいては、PLC1のCPUユニット13がEtherCATにおけるマスタ装置として機能し、サーボモータドライバ3x,3z,3θ、カメラコントローラ6がEtherCATにおけるスレーブ装置として機能する。なお、CPUユニット13の代わりに、マスタ装置として機能するユニットを設けてもよい。
なお、PLCサポート装置8は、ユーザプログラム、システム構成(デバイス構成)を表すシステム構成情報、変数テーブルなどを含むプロジェクトをユーザが生成するための装置である。PLCサポート装置8のハードウェア構成は、典型的には、汎用のコンピュータで構成される。具体的に、PLCサポート装置8は、図示していないが、CPU,ROM,RAM,ハードディスク(HDD),キーボードおよびマウス,ディスプレイ,通信インターフェース(IF)などを含む。PLCサポート装置8で実行される各種プログラムは、CD-ROM(Compact Disk-Read Only Memory)9に格納されて流通する。なお、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
プログラマブル表示器300は、PLC1から取得した各種の情報を画面に表示するとともに、ユーザが操作することにより、PLC1に格納されている入力変数の値を変更することができる。プログラマブル表示器300のハードウェア構成は、CPU,ROM,RAM,フラッシュROM,時計,操作キー,カメラ,タッチスクリーン,通信インターフェースなどを含む。
図3は、実施形態に従うCPUユニット13の具体的構成を説明する図である。
図3に示されるように、駆動装置30,40,50を用いて、3軸(x軸、z軸、θ軸)を構成する複数のサーボモータと、それぞれのサーボモータに対応するサーボドライバを含むサーボ制御デバイスとにより、撮像検査の対象物(フロントガラス)の所定位置に移動するように駆動し、当該位置の対象物を計測装置20で撮影する。
図3に示されるように、駆動装置30,40,50を用いて、3軸(x軸、z軸、θ軸)を構成する複数のサーボモータと、それぞれのサーボモータに対応するサーボドライバを含むサーボ制御デバイスとにより、撮像検査の対象物(フロントガラス)の所定位置に移動するように駆動し、当該位置の対象物を計測装置20で撮影する。
CPUユニット13は、図1及び図2に例示した駆動装置30~50および計測装置20に接続され、制御演算部101、通信インターフェース(I/F)部102、記憶部103、入力部104、及び出力部105を含み、各部はバスライン106を介して相互に通信可能に接続され得る。
制御演算部101は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御及び各種演算を行う。
通信I/F部102は、例えば、有線又は無線により他の構成要素である「部」及び「装置」と通信するための通信モジュールである。通信I/F部102が通信に用いる通信方式は任意であり、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられ、バスライン106と同等の適宜の通信線を適用することもできる。
駆動装置30~50及び計測装置20は、通信I/F部102を介して、制御演算部101等と通信可能に設けることが可能である。
記憶部103は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり、制御演算部101で実行される各種プログラム(各種処理を実行するための演算プログラム、並びに、駆動装置30~50及び計測装置20の動作の制御処理を行うための制御プログラム等)、校正条件、測定条件、画像処理条件(対象物の認識パラメータ等)を含むデータベース、計測装置20から出力される撮影画像(測定データ)、画像処理結果のデータ、対象物の3次元モデルデータ等を記憶する。このとおり、記憶部103に記憶された演算プログラム及び制御プログラムが制御演算部101で実行されることにより、後述する機能構成例における各種処理機能が実現される。
入力部104は、駆動装置30~50、計測装置20、及びCPUユニット13を利用するユーザからの各種入力操作を受け付けるためのインターフェースデバイスであり、例えば、マウス、キーボード、タッチパネル、音声マイク等で実現し得る。出力部105は、駆動装置30~50、計測装置20、及びCPUユニット13を利用するユーザ等へ、各種情報を、その表示、音声出力、印刷出力等により報知するためのインターフェースデバイスであり、例えば、ディスプレイ、スピーカ、プリンタ等で実現し得る。
<機能構成>
図4は、実施形態に従うCPUユニット13の機能構成を説明する図である。
図4は、実施形態に従うCPUユニット13の機能構成を説明する図である。
図4を参照して、CPUユニット13の制御演算部101は、記憶部103に記憶された各種プログラム(制御プログラム及び演算プログラム等)をRAMに展開し、それらの各種プログラムをCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4に例示の如く、本実施形態に係るCPUユニット13は、取得部130と、サーボ指令制御部140とを備える構成を実現し得る。
取得部130は、計測対象となるワークのワーク表面の複数の座標を取得する。本例においては、ワーク表面の複数の座標は、一例として記憶部103に格納されているものとする。なお、記憶部103に当該座標データは必ずしも格納されている必要はなく、外部のサーバ等からダウンロードして取得することも可能である。あるいは、取得部130は、変位センサを用いてワーク表面の複数の座標を取得するようにしてもよい。
サーボ指令制御部140は、取得部130で取得したワーク表面の複数の座標に基づいて、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、ワーク表面に対してカメラセンサ7が所定速度で移動するように制御周期毎の駆動装置30~50に対する目標指令値を算出する。
なお、本実施形態では、CPUユニット13で実現される各機能が汎用のCPUによって実現される例について説明したが、以上の機能の一部又は全部が、1又は複数の専用のプロセッサ又は専用回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等)によって実現されてもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。また、制御装置100の機能構成は、実施形態や構成例に応じて、適宜、機能の省略、置換、及び追加が行われてももちろんよい。また、「制御装置」とは、一般的な情報処理装置(例えば、コンピュータ、ワークステーション等)と解することができる。
図5は、実施形態に従うサーボ指令制御部140の詳細な構成について説明する図である。
図5を参照して、サーボ指令制御部140は、計測座標算出部160と、目標座標算出部170と、指令値算出部180とを含む。
計測座標算出部160は、取得部130で取得したワーク表面の複数の座標に基づいて、ワーク表面を計測する計測点の座標を算出する。
目標座標算出部170は、計測点の座標に基づいて当該座標からワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置であるカメラセンサ7の目標点となる目標座標を算出する。
指令値算出部180は、算出されたカメラセンサ7の目標点となる目標座標に移動するように制御周期毎の目標指令値を算出する。
図6は、実施形態に従うカメラセンサ7の位置の制御について説明するモデル図である。
図6を参照して、CPUユニット13は、駆動装置30~50を制御することによりX軸、Z軸、θ軸を調整して、ワーク表面に対するカメラセンサ7の相対的な位置を設定する。具体的には、一例としてワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置に設定する。本例においては、所定角度は一例として0°とする。この場合、ワーク表面に正対する位置にカメラセンサ7を配置する。すなわち、計測点とカメラセンサ7とを結ぶ光軸がワーク表面に対して垂直となる。
図7は、実施形態に従うカメラセンサ7の撮影範囲について説明する図である。
図7(A)は、比較例に従う従来のカメラセンサ7の撮影範囲について説明する図である。当該図に示されるようにθ軸を用いてカメラセンサ7を回転させない場合にはワーク表面に対して光軸が垂直ではないため焦点距離が変動し、カメラセンサ7の撮影条件を変更する必要がある。
図7(A)は、比較例に従う従来のカメラセンサ7の撮影範囲について説明する図である。当該図に示されるようにθ軸を用いてカメラセンサ7を回転させない場合にはワーク表面に対して光軸が垂直ではないため焦点距離が変動し、カメラセンサ7の撮影条件を変更する必要がある。
図7(B)は、実施形態に従うカメラセンサ7の撮影範囲について説明する図である。
当該図に示されるように、ワーク表面に沿ってθ軸を用いてカメラセンサ7を回転させることにより、ワーク表面に対して光軸が垂直となるため焦点距離が一定であり、撮影条件を変更する必要がない。撮影条件を変更することなく撮影が可能となり簡易な方式で精度の高い計測が可能となる。
当該図に示されるように、ワーク表面に沿ってθ軸を用いてカメラセンサ7を回転させることにより、ワーク表面に対して光軸が垂直となるため焦点距離が一定であり、撮影条件を変更する必要がない。撮影条件を変更することなく撮影が可能となり簡易な方式で精度の高い計測が可能となる。
実施形態においては、カメラセンサ7について、ワーク表面の垂線方向に対して所定角度回転(一例として0°)するとともに所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動する方式について説明する。
<動作例>
計測装置20により計測するワーク表面の座標は予め取得されている場合について説明する。
計測装置20により計測するワーク表面の座標は予め取得されている場合について説明する。
図8は、カメラセンサ7の位置の算出方式(その1)について説明する図である。
図8を参照して、一例として、ワーク表面の座標点(P1、P2…Pn)が示されている。座標点(P1、P2…Pn)は、ワーク表面を示す連続した点群である。
図8を参照して、一例として、ワーク表面の座標点(P1、P2…Pn)が示されている。座標点(P1、P2…Pn)は、ワーク表面を示す連続した点群である。
ワーク表面の座標点に基づいてワーク表面を計測する計測点XPtの座標(x座標、z座標)を算出する。計測点XPtの座標に基づいて当該座標からワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置であるカメラセンサ7の目標点Rの座標(x座標、z座標、θ角度)を算出する。所定距離はWDが設定されている。一例として、所定角度は0°であり、ワーク表面に対して正対するカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出する。
本例においては、座標点P1と座標点P2との間における計測点XPtの座標を算出する。一例として、座標点P1と座標点P2とに基づいて、計測点XPtの座標(xt,zt)を算出する。計測点XPtの座標(xt,zt)が算出された場合には、座標点P1と座標点P2とを直線で結んだ線に直交する方向かつ所定距離WD離れた位置にカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出する。
具体的には、座標点P1と座標点P2との間の距離がΔL、座標点P1と座標点P2との間のx座標の変位量がΔx、座標点P1と座標点P2との間のz座標の変位量がΔzとした場合に、θ1=arccos(Δx/ΔL)となる。
以下によりカメラセンサ7の目標点Rの座標(xc,zc,θc)は、次式により算出される。
xc=xt-WD*cos(θc)
zc=zt+WD*sin(θc)
したがって、目標点Rの座標(xc,zc,θc)は、計測点XPtの座標(xt,zt)を算出することにより一意に設定することが可能である。
xc=xt-WD*cos(θc)
zc=zt+WD*sin(θc)
したがって、目標点Rの座標(xc,zc,θc)は、計測点XPtの座標(xt,zt)を算出することにより一意に設定することが可能である。
図9は、カメラセンサ7の位置の算出方式(その2)について説明する図である。
図9に示されるように、次に、カメラセンサ7の次の計測点XPtの座標を算出する。
図9に示されるように、次に、カメラセンサ7の次の計測点XPtの座標を算出する。
具体的には、カメラセンサ7の計測点XPt1の次の計測点XPt2の座標を算出する。
移動距離ΔSは、制御周期間における距離を表している。
移動距離ΔSは、制御周期間における距離を表している。
ワーク表面の座標点(P1、P2、P3、P4)が示されている。座標点(P1、P2、P3、P4)は、ワーク表面を示す連続した点群である。
次に、計測点XPt1と座標点P2、P3、P4との距離を算出する。
移動距離ΔSと、計測点XPt1と座標点P2、P3、P4との距離をそれぞれ比較して、移動距離ΔSを超えた時の座標点とその一つ前の座標点との間に計測点を設定する。
移動距離ΔSと、計測点XPt1と座標点P2、P3、P4との距離をそれぞれ比較して、移動距離ΔSを超えた時の座標点とその一つ前の座標点との間に計測点を設定する。
本例においては、移動距離ΔSと計測点XPt1と座標点P4との距離を比較して、移動距離ΔSを越えた場合が示されている。
この場合には、座標点P3、P4との間に計測点を設定する。
そして、計測点XPt2の設定として、一例として、計測点XPt1と座標点P3との距離と、計測点XPt1と座標点P4との距離との比が、座標点P3と計測点XPt2との距離と、計測点XPt2と座標点P4との距離との比とが等しくなる位置に計測点XPt2を設定する。
そして、計測点XPt2の設定として、一例として、計測点XPt1と座標点P3との距離と、計測点XPt1と座標点P4との距離との比が、座標点P3と計測点XPt2との距離と、計測点XPt2と座標点P4との距離との比とが等しくなる位置に計測点XPt2を設定する。
図10は、カメラセンサ7の位置の算出方式(その3)について説明する図である。
図10を参照して、一例として、ワーク表面の座標点(P1、P2…Pn)が示されている。座標点(P1、P2…Pn)は、ワーク表面を示す連続した点群である。
図10を参照して、一例として、ワーク表面の座標点(P1、P2…Pn)が示されている。座標点(P1、P2…Pn)は、ワーク表面を示す連続した点群である。
ワーク表面の座標点に基づいてワーク表面を計測する計測点XPtの座標(x座標、z座標)を算出する。計測点XPtの座標(x座標、z座標)に基づいて当該座標からワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置であるカメラセンサ7の目標点Rの座標(x座標、z座標、θ角度)を算出する。所定距離は、WDが設定されている。一例として、所定角度は0°であり、ワーク表面に対して正対するカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出する。
また、実施形態においては、ワーク表面に対して計測点XPtが所定速度で移動するように設定する。具体的には、図9で説明したように、制御周期毎の所定速度で移動する所定距離Δsを算出して、当該所定距離Δs分、移動した位置を次の計測点XPtの座標として算出する。
たとえば、本例においては、計測点XPt1の次の計測点XPt2が算出される場合が示されている。計測点XPt1の座標(Xt1,Zt1)から制御周期毎の所定速度で移動する所定距離Δs分、直線移動した計測点XPt2の座標(Xt2,Zt2)を算出する。図8で説明したように、当該計測点XPt2の座標(Xt2,Zt2)に基づいて目標点Rの座標(xc2,zc2,θc2)を算出する。当該処理を繰り返し実行する。
算出された目標座標R(xc,zc,θc)に対してカメラセンサ7が移動する指令を生成することにより、カメラセンサ7は、ワーク表面に正対して所定距離離れた位置を維持しつつ、ワーク表面に対して所定速度で移動することが可能となる。すなわち、図7(B)の状態を維持しながらワーク表面に対して所定速度でワーク形状に沿って移動することが可能となる。
上記の方式は、ワーク表面の複数の座標を直線補間して、それに沿ってカメラセンサ7を移動させる方式となる。一方で、ワーク表面は直線に限られず曲線形状であってもよい。
したがって、ワーク表面を示す座標点に基づいてエルミート補間により曲線式として算出することも可能である。
以下においては、ワーク表面を示す座標点をエルミート補間する場合について説明する。実施形態に従うCPUユニット13で実現される制御方法について説明する。
ワーク座標の各座標点をエルミート補間する場合の算出方式について説明する。
一例として、ワーク表面を示す複数の座標点をエルミート補間したワーク曲線軌跡の算出について説明する。
一例として、ワーク表面を示す複数の座標点をエルミート補間したワーク曲線軌跡の算出について説明する。
一例として、指定された座標点(P1、P2…Pn)の(P1-P2、P2-P3、・・・Pn-1-Pn)の点間の軌跡をx座標、z座標の3次多項式で定義すると下記式(1)で表される。
そして、次の2つの条件を満たす3次曲線式としてエルミート曲線で定義する。
具体的には、指定された座標点の座標を通ることと、各座標点の境界および曲線途中で軌跡が連続であることである。
具体的には、指定された座標点の座標を通ることと、各座標点の境界および曲線途中で軌跡が連続であることである。
上記条件に基づくエルミート曲線は、下記式(2)で表される。
エルミート曲線は、始点位置、始点速度ベクトル、終点位置、終点速度ベクトルの4つのパラメータに基づいて設定される。
したがって、t=0で始点位置、t=1で終点位置となるため、各座標点の座標の始点位置、終点位置のパラメータとして以下に設定する。
エルミート曲線を連続的に繋ぎ合わせる手法として、Catmull-Rom Spline(キャットムル・ロム曲線)を用いる。具体的には、本例においては、各座標点での位置および速度の連続性を保つために、速度ベクトルを座標点の前後で一致するように設定する。
図11は、実施形態に従う速度ベクトルの設定について説明する図である。
図11に示されるように、具体的には、座標点P2において、ワーク曲線軌跡Q1の曲線式の終点速度ベクトルと、ワーク曲線軌跡Q2の曲線式の始点速度ベクトルに同じベクトルを設定する。
図11に示されるように、具体的には、座標点P2において、ワーク曲線軌跡Q1の曲線式の終点速度ベクトルと、ワーク曲線軌跡Q2の曲線式の始点速度ベクトルに同じベクトルを設定する。
これにより、複数の座標点を連続的に通過するワーク曲線軌跡を設定することが可能となる。
具体的には、各座標点間毎の区間多項式である3次のエルミート曲線が設定される。
図12は、実施形態に従う計測座標算出部160の機能について説明する図である。
図12は、実施形態に従う計測座標算出部160の機能について説明する図である。
図12に示されるように、計測座標算出部160は、軌跡設定部162と、計測点演算部164とを含む。計測点演算部164は、距離算出部166と、変数調整部168とを含む。計測点演算部164の処理については後述する。
軌跡設定部162は、ワーク表面の複数の座標点(P1、P2…Pn)に基づいて各座標点毎の3次のエルミート曲線であるワーク曲線軌跡データを算出する。
計測点演算部164は、ワーク曲線軌跡データに基づいて計測点XPの座標を順次算出する。
そして、上記したように算出された計測点XPの座標に基づいて目標点Rの座標(xc,zc,θc)を算出する。
図13は、実施形態に従う計測点演算部164が出力する計測点の座標を説明する図である。
図13に示されるように、計測点演算部164は、軌跡設定部162で設定されたワーク曲線軌跡データに従って計測点XPの座標を算出して出力する。
具体的には、対象とするワーク曲線軌跡に対応する区分多項式に基づいて制御周期毎の計測点XPの座標値を算出する。
これにより、目標座標算出部170は、計測点XPの座標値に基づくカメラセンサ7の目標点Rの座標値を算出する。
そして、指令値算出部180は、カメラセンサ7が当該座標に移動するように制御周期毎の目標指令値を出力する。
駆動装置30~50は、当該出力された目標指令値に基づいて各軸を動作させてカメラセンサ7を目標点Rの座標値に移動させることが可能となる。
図14は、比較例としてワーク曲線軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
図14(A)には、各座標点間における軌跡移動速度が示されている。
図14(B)には、各ワーク曲線軌跡のパラメータtの変化が示されている。
図14(B)には、各ワーク曲線軌跡のパラメータtの変化が示されている。
当該図に示されるように、パラメータtが一定の割合で0~1に変化する場合には、一例として座標点間の距離が短い場合には、基準速度V0よりも軌跡移動速度は遅くなる場合が示されている。一方で、座標点間の距離が長い場合には、軌跡移動速度は、基準速度V0よりも軌跡移動速度は速くなる場合が示されている。
すなわち、パラメータtを一定の割合で調整した場合には、計測点XPの移動速度を一定に調整することはできない。
図15は、実施形態に従うワーク曲線軌跡である3次のエルミート曲線の軌跡移動速度およびパラメータtを説明する図である。
図15(A)には、各座標点間における軌跡移動速度が示されている。
図15(B)には、各ワーク曲線軌跡のパラメータtの変化が示されている。
図15(B)には、各ワーク曲線軌跡のパラメータtの変化が示されている。
当該図に示されるように、各座標点間における軌跡移動速度を基準速度V0で一定に制御するためには、各座標点間のパラメータtの変動率を調整する必要がある。
実施形態においては、計測点演算部164は、各座標点間における軌跡移動速度を一定に調整する計測点を算出する。
距離算出部166は、制御周期毎の指令制御速度に対する目標移動距離を算出する。
変数調整部168は、距離算出部166で算出された目標移動距離が一定となるように制御周期毎のパラメータtの増分値を調整する。
変数調整部168は、距離算出部166で算出された目標移動距離が一定となるように制御周期毎のパラメータtの増分値を調整する。
<設定方式>
実施形態に従うパラメータtの設定方式は、パラメータtに所定の基準変動量を与える試算処理を実行する。
実施形態に従うパラメータtの設定方式は、パラメータtに所定の基準変動量を与える試算処理を実行する。
本例においては、一例として2回あるいは3回試算処理した場合に、制御周期毎の目標移動距離の近傍に試算点が到達するような基準変動量を設定する。
図16は、実施形態に従う1回目の試算処理を説明する図である。
図16を参照して、本例においては、座標点P0(X0,Z0)と、座標点P1(X1,Z1)との間のワーク曲線軌跡Q0の曲線式に対してパラメータtの変動量を設定する場合の処理について説明する。
図16を参照して、本例においては、座標点P0(X0,Z0)と、座標点P1(X1,Z1)との間のワーク曲線軌跡Q0の曲線式に対してパラメータtの変動量を設定する場合の処理について説明する。
本例においては、一例として計測点XPの初期位置を座標点P0(X0,Z0)とした場合に、次の制御周期で移動する計測点の目標座標位置XPm(Xm,Zm)のパラメータtの変動量Tmを算出する。
[準備処理]
座標点P0(X0,Z0)までの積算移動距離をLsとする。
座標点P0(X0,Z0)までの積算移動距離をLsとする。
制御周期毎の次の計測点の目標座標位置XPm(Xm,Zm)までの積算移動距離はLmとする。
目標移動距離ΔLmは、Lm-Lsである。
目標移動距離ΔLmは、Lm-Lsである。
本例においては、パラメータtを2回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTをまず設定する。
座標点P0(X0,Z0)と、座標点P1(X1,Z1)との間の直線距離ΔLを算出する。
パラメータtが0~1まで変化することにより直線距離ΔL移動すると仮定すると、制御周期毎のパラメータtの平均変化量は、ΔL/ΔLmである。
パラメータtが0~1まで変化することにより直線距離ΔL移動すると仮定すると、制御周期毎のパラメータtの平均変化量は、ΔL/ΔLmである。
したがって、パラメータtをk回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLm/kにより設定する。
本例においては、分割係数k=2に設定する。
パラメータtを1回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLmを設定する。
パラメータtを1回変化させて試算した場合に積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLmを設定する。
パラメータtを2回変化させて積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLm/2により設定する。
パラメータtを3回変化させて積算移動距離がLm近傍になる試算用の基準変動量ΔTは、ΔL/ΔLm/3により設定する。
なお、変化させる試算回数を増加させることにより精度の高いパラメータtの変動量を算出することが可能であるが、演算量が増加する。
基準変動量を用いて試算点との距離を算出することにより、パラメータtの変動量を算出するため効率的にパラメータtの変動量を調整することが可能である。
[1回目の試算処理]
1回目の試算処理においては第1試算点SPiを算出する。
1回目の試算処理においては第1試算点SPiを算出する。
iは、試算回数を示す。本例においては、i=1である。
具体的には、第1試算点SPiとして、パラメータtの値をTiに設定する。
具体的には、第1試算点SPiとして、パラメータtの値をTiに設定する。
一例として、座標点P0(X0,Z0)のパラメータtの値Tsは、0とする。
Tiは、Ts+ΔTである。
Tiは、Ts+ΔTである。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTiを入力することにより、座標点P0(X0,Z0)から基準変動量ΔT分、移動した第1試算点SPiの位置(Xi,Zi)が算出される。
座標点P0(X0,Z0)から基準変動量ΔT分、移動した場合の第1試算点SPiの位置(Xi,Zi)の距離は、次式により算出される。
ワーク曲線軌跡の積算移動距離は、曲線式に制御周期毎にパラメータtを与えて、線積分を各微小区間の直線補間に近似して積算する。
jは積算回数である。
積算移動距離Liは、Ls+ΔLiとして算出される。
積算移動距離Liは、Ls+ΔLiとして算出される。
次に、座標点P0(X0,Z0)からの目標である積算移動距離Lmと、1回目の試算点SPiまでの試算距離Liとを比較する。
比較結果に基づいて、Lm>Liである場合には、試算処理を継続する。すなわち、2回目の試算処理を実行する。
[基準変動量の補正]
2回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
2回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
図17は、実施形態に従うパラメータtの基準変動量の補正について説明する図である。
図17(A)を参照して、パラメータtと、積算移動距離Lとの関係が示されている。
パラメータtは、0~1へと変化する。
パラメータtは、0~1へと変化する。
パラメータtが0の位置の場合の座標点P0(X0,Z0)の積算移動距離は、Lsである。
Tiは、TsにΔTを加算した値である。
Tiは、TsにΔTを加算した値である。
Liは、LsにΔLiを加算した値である。
しかしながら、ΔLiは、試算点と座標点P0(X0,Z0)との間の直線距離であるため実際の曲線軌跡を移動した距離とは異なる。
しかしながら、ΔLiは、試算点と座標点P0(X0,Z0)との間の直線距離であるため実際の曲線軌跡を移動した距離とは異なる。
理想的には、1回目の試算処理の試算点における積算移動距離の理想値Ltは、目標とする積算移動距離Lmと、Lsとの間の中間値である。
したがって、1回目の試算処理の試算点における積算移動距離が理想値Ltとなるように基準変動量ΔTを補正する。
具体的には、距離の誤差を算出して、誤差分に応じた量だけ基準変動量ΔTを補正する。
図17(B)および(C)を参照して、補正後の基準変動量ΔTadj1は、次式により算出される。また、調整量Δadj1は、次式により算出される。
そして、補正後の基準変動量ΔTadj1を用いて2回目の試算処理を実行する。
[2回目の試算処理]
図18は、実施形態に従う2回目の試算処理を説明する図である。
[2回目の試算処理]
図18は、実施形態に従う2回目の試算処理を説明する図である。
図18に示されるように、2回目の試算処理においては第1試算点SPi-1と、第2試算点SPiとを算出する。
iは、試算回数を示す。本例においては、i=2である。
具体的には、第1試算点SPi-1として、パラメータtの値をTi-1に設定する。
具体的には、第1試算点SPi-1として、パラメータtの値をTi-1に設定する。
Ti-1は、Ts+ΔTadj1である。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTi-1を入力することにより、座標点P0(X0,Z0)から基準変動量ΔTadj1分、移動した第1試算点SPi-1の位置(Xi-1,Zi-1)が算出される。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTi-1を入力することにより、座標点P0(X0,Z0)から基準変動量ΔTadj1分、移動した第1試算点SPi-1の位置(Xi-1,Zi-1)が算出される。
座標点P0(X0,Z0)と、基準変動量ΔTadj1分、移動した場合の試算した第1試算点SPi-1の位置(Xi-1,Zi-1)との距離ΔLi-1を算出する。
積算移動距離Li-1は、LsにΔLi-1を加算した値である。
次に、第2試算点SPiを算出する。
次に、第2試算点SPiを算出する。
具体的には、第2試算点SPiとして、パラメータtの値をTiに設定する。
Tiは、Ti-1+ΔTadj1である。
Tiは、Ti-1+ΔTadj1である。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTiを入力することにより、第1試算点SPi-1から基準変動量ΔTadj1分、移動した第2試算点SPiの位置(Xi,Zi)が算出される。
第1試算点SPi-1の位置(Xi-1,Zi-1)と、基準変動量ΔTadj1分、移動した場合の試算した第2試算点SPiの位置(Xi,Zi)との距離ΔLiを算出する。
積算移動距離Liは、Li-1にΔLiを加算した値である。
次に、座標点P0(X0,Z0)からの目標である積算移動距離Lmと、第2試算点SPiまでの試算距離Liとを比較する。
次に、座標点P0(X0,Z0)からの目標である積算移動距離Lmと、第2試算点SPiまでの試算距離Liとを比較する。
比較結果に基づいて、Lm≦Liである場合には、積算移動距離Lmに対応するTmを算出する。
パラメータtの変動量Tmは、次式により算出される。
そして、試算処理を終了する。
すなわち、ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTmを入力して算出された目標座標位置XPm(Xm,Zm)が計測点XPの初期位置を座標点P0(X0,Z0)とした場合に、次の制御周期で移動する計測点の座標位置に設定される。
すなわち、ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTmを入力して算出された目標座標位置XPm(Xm,Zm)が計測点XPの初期位置を座標点P0(X0,Z0)とした場合に、次の制御周期で移動する計測点の座標位置に設定される。
本例の如く、基準変動量を補正して、補正した基準変動量を用いて試算点との距離を算出するため、精度の高いパラメータtの変動量に調整することが可能である。
一方、座標点P0(X0,Z0)からの目標である積算移動距離Lmと、第2試算点SPiまでの試算距離Liとを比較した比較結果に基づいて、Lm>Liである場合には、3回目の試算処理を実行する。
[基準変動量の補正]
3回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
3回目の試算処理を実行する前にパラメータtの基準変動量ΔTを補正する。
具体的には、上記と同様の方式に従って基準変動量を補正する。
理想的には、2回目の試算処理の第2試算点SPiにおける積算移動距離の理想値Ltは、目標とする積算移動距離Lmである。
理想的には、2回目の試算処理の第2試算点SPiにおける積算移動距離の理想値Ltは、目標とする積算移動距離Lmである。
したがって、2回目の試算処理の第2試算点SPiにおける積算移動距離が理想値Ltとなるように基準変動量ΔTを補正する。
具体的には、距離の誤差を算出して、誤差分に応じた量だけ基準変動量ΔTを補正する。
補正後の基準変動量ΔTadj2は、次式により算出される。また、調整量Δadj2は、次式により算出される。また、調整量Δadj2は、次式により算出される。
そして、補正後の基準変動量ΔTadj2を用いて3回目の試算処理を実行する。
[3回目の試算処理]
図19は、実施形態に従う3回目の試算処理を説明する図である。
[3回目の試算処理]
図19は、実施形態に従う3回目の試算処理を説明する図である。
図19に示されるように、3回目の試算処理においては第1試算点SPi-2と、第2試算点SPi-1と、第3試算点SPiとを算出する。
iは、試算回数を示す。本例においては、i=3である。
具体的には、第1試算点SPi-2として、パラメータtの値をTi-2に設定する。
具体的には、第1試算点SPi-2として、パラメータtの値をTi-2に設定する。
Ti-2は、Ts+ΔTadj2である。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTi-2を入力することにより、座標点P0(X0,Z0)から基準変動量ΔTadj2分、移動した第1試算点SPi-2の位置(Xi-2,Zi-2)が算出される。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTi-2を入力することにより、座標点P0(X0,Z0)から基準変動量ΔTadj2分、移動した第1試算点SPi-2の位置(Xi-2,Zi-2)が算出される。
座標点P0(X0,Z0)と、基準変動量ΔTadj2分、移動した場合の試算した第1試算点SPi-2の位置(Xi-2,Zi-2)との距離ΔLi-2を算出する。
積算移動距離Li-2は、LsにΔLi-2を加算した値である。
次に、第2試算点SPi-1を算出する。
次に、第2試算点SPi-1を算出する。
具体的には、第2試算点SPi-1として、パラメータtの値をTi-1に設定する。
Ti-1は、Ti-2+ΔTadj2である。
Ti-1は、Ti-2+ΔTadj2である。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTi-1を入力することにより、第1試算点SPi-2から基準変動量ΔTadj2分、移動した第2試算点SPi-1の位置(Xi-1,Zi-1)が算出される。
第2試算点SPi-1の位置(Xi-1,Zi-1)と、基準変動量ΔTadj2分、移動した場合の試算した第2試算点SPi-1の位置(Xi-1,Zi-1)との距離ΔLi-1を算出する。
積算移動距離Li-1は、Li-2にΔLi-1を加算した値である。
次に、第3試算点SPiを算出する。
次に、第3試算点SPiを算出する。
具体的には、第3試算点SPiとして、パラメータtの値をTiに設定する。
Tiは、Ti-1+ΔTadj2である。
Tiは、Ti-1+ΔTadj2である。
ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTiを入力することにより、第2試算点SPi-1から基準変動量ΔTadj2分、移動した第3試算点SPiの位置(Xi,Zi)が算出される。
第2試算点SPi-1の位置(Xi-1,Zi-1)と、基準変動量ΔTadj2分、移動した場合の試算した第3試算点SPiの位置(Xi,Zi)との距離ΔLiを算出する。
積算移動距離Liは、Li-1にΔLiを加算した値である。
次に、座標点P0(X0,Z0)からの目標である積算移動距離Lmと、第3試算点SPiまでの試算距離Liとを比較する。
次に、座標点P0(X0,Z0)からの目標である積算移動距離Lmと、第3試算点SPiまでの試算距離Liとを比較する。
比較結果に基づいて、Lm≦Liである場合には、積算移動距離Lmに対応するTmを算出する。
パラメータtの変動量Tmは、次式により算出される。
そして、試算処理を終了する。
すなわち、ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTmを入力して算出された目標座標位置XPm(Xm,Zm)が計測点XPの初期位置を座標点P0(X0,Z0)とした場合に、次の制御周期で移動する計測点の座標位置に設定される。
すなわち、ワーク曲線軌跡Qのエルミート曲線で示される数式のパラメータtにTmを入力して算出された目標座標位置XPm(Xm,Zm)が計測点XPの初期位置を座標点P0(X0,Z0)とした場合に、次の制御周期で移動する計測点の座標位置に設定される。
そして、設定した位置を基点として、上記で説明した方式を用いて次の制御周期で移動する位置を算出する。
これにより、変数調整部168は、距離算出部166で算出された目標移動距離が一定となるように制御周期毎のパラメータtの増分値を調整することが可能となる。座標点P0(X0,Z0)から座標点P1(X1,Z1)へのワーク曲線軌跡Q0に沿って制御周期毎に移動する計測点の座標位置を設定する。
一方で、座標点P1(X1,Z1)付近になった場合に、試算処理において、パラメータtの値であるTiが1を超える場合がある。すなわち、座標点P1(X1,Z1)を跨ぐ場合である。
パラメータtの値であるTiが1を超える場合には、対象とするワーク曲線軌跡を変更する。座標点P1(X1,Z1)から座標点P2(X2,Z2)へのワーク曲線軌跡Q1に対応する区分多項式に変更する。すなわち、座標点P1(X1,Z1)と座標点P2(X2,Z2)との間の区分多項式に変更する。
そして、Ti-1をTmとしてワーク曲線軌跡Q1に対応する区分多項式のパラメータtに当該Tmを入力して算出された目標座標位置XPm(Xm,Zm)が次の制御周期で移動する計測点の座座標位置に設定される。
当該処理により、各座標点間のパラメータtの変動率を調整することが可能である。
これにより、各座標点間における計測点の軌跡移動速度を基準速度V0で一定に制御することが可能である。すなわち、制御周期毎の計測点の目標移動距離を一定にして動作速度を適切に制御することが可能である。
これにより、各座標点間における計測点の軌跡移動速度を基準速度V0で一定に制御することが可能である。すなわち、制御周期毎の計測点の目標移動距離を一定にして動作速度を適切に制御することが可能である。
目標座標算出部170は、計測点XPの座標値に基づくカメラセンサ7の目標点Rの座標値を算出する。具体的には、図8で説明したようにワーク表面に対して正対するカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出する。
そして、指令値算出部180は、カメラセンサ7が当該座標に移動するように制御周期毎の目標指令値を出力する。駆動装置30~50は、当該出力された目標指令値に基づいて各軸を動作させてカメラセンサ7を目標点の座標値に移動させることが可能となる。すなわち、ワーク表面に対して適正な角度および距離でカメラセンサ7を制御させることにより検査効率を向上させることが可能である。さらに、計測点XPの移動速度も適切に制御することが可能であり、撮影条件を変更することなく撮影することが可能となり精度の高い計測が可能となる。
なお、本例においては、ワーク表面に対して正対するカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出する場合について説明したが、特に正対する位置に限られず、ワーク表面の垂線方向に対して所定角度回転するとともに所定距離WD離れた位置を目標点Rの座標(xc,zc,θc)として算出することも可能である。当該所定角度は、任意の値に設定することが可能である。
<シミュレーション例>
次に、実施形態に従うコントローラシステムSYSのシミュレーション例について説明する。
次に、実施形態に従うコントローラシステムSYSのシミュレーション例について説明する。
図20は、実施形態に従う5個のワークの座標点を設定した場合のシミュレーション例について説明する図である。
図20に示されるように、5個の座標点(x,z)が示されており、数字は、通過順序を示している。
座標点1は(0,0)、座標点2は、(10,10)、座標点3は、(20,0)、座標点4は、(30,0)、座標点5は、(40,10)である場合が示されている。
上記で説明した方式に基づいて各区間のx座標の3次多項式の係数a~dおよびZ座標の3次多項式の係数a~dがそれぞれ算出される。係数a~dは、式(2)の3次曲線式のそれぞれの係数に対応している。
これにより区分多項式により各座標点1~5を通過するワーク曲線軌跡を設定することが可能となる。
図21は、実施形態に従うワーク表面の複数の座標点の座標データを説明する図である。
図21には、図20で設定したワーク曲線軌跡データに基づいて、ワーク表面を示す複数の座標点を算出した場合が示されている。5個の座標点間において10個のプロット座標を算出した場合が示されている。
図22は、実施形態に従うワーク表面の計測座標および目標点の算出について説明する図である。
図22を参照して、図21のプロット座標を用いて、図8~図10に従う方式に基づいて計測点XPを算出し、当該計測点XPから目標点Rを算出することが可能である。
各区間のワーク曲線軌跡にしたがって算出された計測点に対応して目標点が算出された場合が示されている。本例においては、ワーク表面に対して正対するカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出した場合が示されている。
また、当該図に示されるように、計測点間の距離が一定である。すなわち、各計測点間における計測点XPの移動速度を一定に制御している。
図23は、実施形態に従う計測点および目標点をプロットしたプロット軌跡について説明する図である。
図23を参照して、各区間のワーク曲線軌跡にしたがって算出された計測点に対応して目標点が算出された場合が示されている。本例においては、ワーク表面に対して正対するカメラセンサ7の目標点Rの座標(xc,zc,θc)を算出してプロットした場合が示されている。当該出力された目標指令値に基づいて各軸を動作させてカメラセンサ7を目標点の座標値に移動させることが可能となる。すなわち、ワーク表面に対して適正な角度および距離でカメラセンサ7を制御させることにより検査効率を向上させることが可能である。さらに、計測点XPの移動速度も適切に制御することが可能であり、撮影条件を変更することなく撮影することが可能となり精度の高い計測が可能となる。
なお、本例においては、各座標点間のワーク曲線軌跡として、区分多項式である3次のエルミート曲線で設定する方式について説明した。一方で、2次元の平面上の座標点に限られず3次元の空間上の座標点についても同様に適用可能である。すなわち、z座標についてもエルミート曲線で定義し、3次元の空間上の座標点に対して座標点の速度ベクトルを3次元座標のベクトルとして処理すればよい。
また、本例においては、各座標点間のワーク曲線軌跡の区分多項式として一例として、3次のエルミート曲線で設定する場合について説明したが、特にこれに限られず他の曲線等を用いることも可能である。すなわち、各座標点間のワーク曲線軌跡を1つの共通のパラメータtで設定するスプライン関数であればどのようなものを採用しても良い。次数も3次に限られず、さらに高次でも良いし、2次あるいは1次の直線としてもよい。
ワーク曲線軌跡が直線の場合には、1次のスプライン関数として定義することも可能である。
この場合であっても距離算出部166で算出された目標移動距離が一定となるように各座標点間の制御周期毎のパラメータtの増分値を調整することにより、移動速度を一定に制御することも可能である。
<その他>
実施形態においては、制御対象の一例としてカメラセンサ7を用いる場合について説明したが、カメラセンサ7に限られず他の制御機器を用いることも当然に可能である。たとえば、カメラセンサ7を含む計測装置20に限られず、ワークに対して加工処理する加工装置に対して適用することも可能である。たとえば、レーザ加工や、塗布加工等する制御機器に対して適用してもよい。一例として、ディスペンサ、貼り合わせ、研磨などの加工ヘッドを制御対象として制御してもよい。加工ヘッドの場合に適用した場合、面に正対して押し付けることが可能となり、角度変化による押し付け方向の力制御の補正が不要となり、精度向上や制御が容易になる。
実施形態においては、制御対象の一例としてカメラセンサ7を用いる場合について説明したが、カメラセンサ7に限られず他の制御機器を用いることも当然に可能である。たとえば、カメラセンサ7を含む計測装置20に限られず、ワークに対して加工処理する加工装置に対して適用することも可能である。たとえば、レーザ加工や、塗布加工等する制御機器に対して適用してもよい。一例として、ディスペンサ、貼り合わせ、研磨などの加工ヘッドを制御対象として制御してもよい。加工ヘッドの場合に適用した場合、面に正対して押し付けることが可能となり、角度変化による押し付け方向の力制御の補正が不要となり、精度向上や制御が容易になる。
<利点>
本実施の形態に従うコントローラシステムおよびその制御方法によれば、ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能である。
本実施の形態に従うコントローラシステムおよびその制御方法によれば、ワーク表面に対する制御対象の位置および動作速度を適切に制御することが可能である。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
20 計測装置、30~50 駆動装置、100 制御装置、101 制御演算部、102 通信I/F部、103 記憶部、104 入力部、105 出力部、106 バスライン、114 ネットワーク、130 取得部、140 サーボ指令制御部、160 計測座標算出部、162 軌跡設定部、164 計測点演算部、166 距離算出部、168 変数調整部、170 目標座標算出部、180 指令値算出部、300 プログラマブル表示器。
Claims (6)
- ワーク表面の複数の座標を取得する取得部と、
前記取得部で取得した前記ワーク表面の複数の座標に基づいて、前記ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、前記ワーク表面に対して所定速度で移動する制御対象の制御周期毎の目標指令値を算出する移動軌跡指令部とを備える、コントローラシステム。 - 前記所定角度は0°である、請求項1記載のコントローラシステム。
- 前記移動軌跡指令部は、
前記取得部で取得した前記ワーク表面の複数の座標に基づいて、前記ワーク表面を計測する計測座標を算出する計測座標算出部と、
前記計測座標に基づいて当該座標から前記ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置である前記制御対象の目標座標を算出する目標座標算出部と、
算出された前記制御対象の目標座標に移動するように前記制御周期毎の目標指令値を算出する指令値算出部とを含む、請求項1または2記載のコントローラシステム。 - 前記計測座標算出部は、
前記制御周期毎の前記所定速度で前記ワーク表面に対して所定速度で移動する計測座標が移動する移動距離を算出し、
前記制御周期毎に前記移動距離が一定となるように前記ワーク表面を計測する前記計測座標を算出する、請求項3記載のコントローラシステム。 - 前記移動軌跡指令部は、
前記複数の座標を連続的に繋げた際の各前記座標間のワーク表面軌跡を第1変数に従う区分多項式で設定する軌跡設定部をさらに含み、
前記計測座標算出部は、
対象とするワーク表面軌跡に対応する前記区分多項式に基づいて制御周期毎の制御対象の計測座標を算出し、
前記移動距離が一定となるように制御周期毎の第1変数の変動量を調整する、請求項4記載のコントローラシステム。 - ワーク表面の複数の座標を取得するステップと、
取得した前記ワーク表面の複数の座標に基づいて、前記ワーク表面の垂線方向に対して所定角度回転するとともに所定距離離れた位置を維持しつつ、前記ワーク表面に対して所定速度で移動する制御対象の制御周期毎の目標指令値を算出するステップとを備える、コントローラシステムの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021145622A JP2023038747A (ja) | 2021-09-07 | 2021-09-07 | コントローラシステムおよびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021145622A JP2023038747A (ja) | 2021-09-07 | 2021-09-07 | コントローラシステムおよびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023038747A true JP2023038747A (ja) | 2023-03-17 |
Family
ID=85514666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021145622A Pending JP2023038747A (ja) | 2021-09-07 | 2021-09-07 | コントローラシステムおよびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023038747A (ja) |
-
2021
- 2021-09-07 JP JP2021145622A patent/JP2023038747A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109655024B (zh) | 采用空间变换技术的位移传感器外部参数标定方法 | |
US10864632B2 (en) | Direct teaching method of robot | |
JP6430986B2 (ja) | ロボットを用いた位置決め装置 | |
JP4853842B2 (ja) | 同期制御装置 | |
US10974393B2 (en) | Automation apparatus | |
JP2008204188A (ja) | モーションコントローラおよびモーションプランナおよび多軸サーボシステムおよびサーボアンプ | |
JP2018001393A (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
CN108021089B (zh) | 控制系统及其控制方法、计算机可读存储介质 | |
CN110581945B (zh) | 控制系统、控制装置、图像处理装置以及存储介质 | |
JP5429576B2 (ja) | 同期制御装置 | |
JP2006293624A (ja) | 多軸制御装置 | |
JP2023038747A (ja) | コントローラシステムおよびその制御方法 | |
US20230123629A1 (en) | 3d computer-vision system with variable spatial resolution | |
Shen et al. | Uncalibrated visual servoing of planar robots | |
JP2018072221A (ja) | 制御システム、その制御方法およびそのプログラム | |
JP2018072222A (ja) | 制御システム、その制御方法およびそのプログラム | |
Huynh et al. | Dynamic Hybrid Filter for Vision‐Based Pose Estimation of a Hexa Parallel Robot | |
JP7392590B2 (ja) | ロボット制御システム、制御プログラムおよび制御方法 | |
JP7433509B2 (ja) | 制御装置、ロボットシステム、学習装置、軌跡モデル、制御方法、およびプログラム | |
WO2021261024A1 (ja) | ロボット制御システム、制御プログラムおよび制御方法 | |
Chiou et al. | Remotely adjustable robotic grip force for the network-based assembly automation | |
JP6801802B1 (ja) | コントローラシステムおよびその制御方法 | |
KR102591942B1 (ko) | 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치 | |
WO2021261023A1 (ja) | ロボット制御システム、制御プログラムおよび制御方法 | |
Duong et al. | Research Article Robot Control Using Alternative Trajectories Based on Inverse Errors in the Workspace |