(57)【要約】【課題】マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、一定周期でマスタ装置とスレーブ装置とを同期させて制御する制御装置であって、スレーブ装置の位置の自由度を増大でき、または、同期演算のための計算量を削減できるものを提供すること。【解決手段】演算部３０は、一定周期でマスタ装置１０１の各軸への指令値ＣＶｍまたは各軸の測定された現在値ＣＶｍ′に対して、マスタ装置１０１の座標系からスレーブ装置１０２の座標系への座標変換を行う座標変換部３１と、この座標変換によって得られた座標変換結果値に対して、マスタ装置１０１の位置とスレーブ装置１０２の位置とを予め定められた対応関係に保つための同期演算を行う同期演算部３２とを備える。これによって、スレーブ装置１０２の各軸への指令値ＣＶｎを求める。【選択図】図１
2019155522.tif 000002
【特許請求の範囲】
【請求項１】
マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、一定周期で上記マスタ装置と上記スレーブ装置とを同期させて制御する制御装置であって、
上記一定周期で、上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて、上記スレーブ装置の各軸への指令値を演算によって求める演算部を備え、
上記演算部は、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の座標系から上記スレーブ装置の座標系への座標変換を行う座標変換部と、
この座標変換によって得られた座標変換結果値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つための同期演算を行う同期演算部と
を備えたことを特徴とする制御装置。
【請求項２】
マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて上記スレーブ装置の各軸への指令値を演算によって求めて、上記マスタ装置と上記スレーブ装置とを同期させて制御する制御方法であって、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の座標系から上記スレーブ装置の座標系への座標変換を行った後、
この座標変換によって得られた座標変換結果値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つための同期演算を行う
ことを特徴とする制御方法。
【請求項３】
請求項２に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は制御装置に関し、より詳しくは、マスタ装置とスレーブ装置とを同期させて制御する制御装置に関する。また、この発明は、そのような制御を行う制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、この種の制御装置としては、例えば特許文献１（特開平６−１３８９２０号公報）に開示されているように、マスタ装置（協調基準体）とスレーブ装置（制御対象体）とを協調動作させるために、スレーブ装置への位置指令値に対して、同期データを補正量（補正同期データ）として加算する方式のものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１３８９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来例とは異なり、本出願人は、一定周期（例えば、０．５ｍｓｅｃ〜１ｍｓｅｃ程度の周期）で、マスタ装置の各軸（本明細書を通して「制御軸」を意味する。）への指令値（または各軸の測定された現在値）に基づいてスレーブ装置の各軸への指令値を演算によって求めて、マスタ装置とスレーブ装置とを同期させて制御する方式を開発している。これにより、マスタ装置とスレーブ装置とを精度良く同期させることができる。
【０００５】
このように一定周期でマスタ装置とスレーブ装置とを同期させて制御する場合において、さらに、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なるとき、マスタ装置の各軸への指令値（または各軸の測定された現在値）からスレーブ装置の各軸への指令値を求める過程で、マスタ装置の位置とスレーブ装置の位置とを予め定められた対応関係に保つための同期演算に加えて、マスタ装置の座標系からスレーブ装置の座標系への座標変換を行う必要もある。
【０００６】
ここで、仮に同期演算を行った後に座標変換を行うものとすると、例えばマスタ装置の軸数がスレーブ装置の軸数よりも少ないときに、同期演算によって得られた結果値の自由度が比較的少ないことから、スレーブ装置の位置（軌跡）の自由度が少なくなるという問題が生ずる。一方、マスタ装置の軸数がスレーブ装置の軸数よりも多いときに、マスタ装置の軸数が比較的多いことから、同期演算のための計算量が増大するという問題が生ずる。
【０００７】
そこで、この発明の課題は、一定周期でマスタ装置とスレーブ装置とを同期させて制御する制御装置であって、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、スレーブ装置の位置の自由度を増大でき、または、同期演算のための計算量を削減できるものを提供することにある。また、この発明の課題は、そのような制御装置のための制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、この開示の制御装置は、
マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、一定周期で上記マスタ装置と上記スレーブ装置とを同期させて制御する制御装置であって、
上記一定周期で、上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて、上記スレーブ装置の各軸への指令値を演算によって求める演算部を備え、
上記演算部は、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の座標系から上記スレーブ装置の座標系への座標変換を行う座標変換部と、
この座標変換によって得られた座標変換結果値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つための同期演算を行う同期演算部と
を備えたことを特徴とする。
【０００９】
本明細書で、マスタ装置、スレーブ装置の「軸」とは、それぞれ制御軸を意味する。マスタ装置、スレーブ装置としては、例えばベルトコンベアのような１軸の装置、Ｘ−Ｙテーブルのような２軸の装置、４軸パラレルリンクロボットのような４軸の装置、５軸水平多関節ロボットのような５軸の装置、６軸多関節ロボットのような６軸の装置など、様々な軸数の装置が対象となり得る。ただし、この発明は、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に適用される。
【００１０】
「座標変換」とは、上記マスタ装置の座標系（例えば、ＸＹＺ座標系とする。）を基準とした位置から上記スレーブ装置の座標系（例えば、ｘｙｚ座標系とする。）を基準とした位置への変換を指す。例えば、マスタ装置の位置変化が上記スレーブ装置のｘｙｚ座標系で斜めのベクトル（ｘ，ｙ，ｚ成分がいずれもゼロでない）に相当する場合、「座標変換」とは、そのベクトルの射影（ｘ，ｙ，ｚ成分）を求めることに相当する。
【００１１】
「同期演算」とは、上記一定周期で行われ、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つ演算を意味する。「予め定められた対応関係」とは、例えば、マスタ装置の位置に対して、スレーブ装置の位置がｘ軸、ｙ軸に関して単純追従を行い、ｚ軸に関して或るカム曲線に従って上下するような関係を指す。上記マスタ装置、上記スレーブ装置の「位置」とは、並進成分および／または回転成分を含む意味である。
【００１２】
この開示の制御装置では、演算部は、一定周期で、上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて、上記スレーブ装置の各軸への指令値を演算によって求める。この過程で、上記演算部の座標変換部は、上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の座標系から上記スレーブ装置の座標系への座標変換を行う。この後、上記演算部の同期演算部は、この座標変換によって得られた座標変換結果値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つための同期演算を行う。これによって、上記スレーブ装置の各軸への指令値が求められる。すると、例えばマスタ装置の軸数がスレーブ装置の軸数よりも少ないときに、上記マスタ装置の各軸への指令値（または各軸の測定された現在値）の自由度に対して上記座標変換結果値の自由度が上記スレーブ装置の軸数まで増え得ることから、上記スレーブ装置の位置（軌跡）の自由度が増大する。したがって、上記同期演算を行う際に、上記スレーブ装置の位置（軌跡）を比較的自由に設計可能となる。一方、マスタ装置の軸数がスレーブ装置の軸数よりも多いときに、上記スレーブ装置の軸数が比較的少ないことから、上記同期演算のための計算量が削減される。このように、この開示の制御装置によれば、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、スレーブ装置の位置の自由度を増大でき、または、同期演算のための計算量を削減できる。
【００１３】
別の局面では、この開示の制御方法は、
マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて上記スレーブ装置の各軸への指令値を演算によって求めて、上記マスタ装置と上記スレーブ装置とを同期させて制御する制御方法であって、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の座標系から上記スレーブ装置の座標系への座標変換を行った後、
この座標変換によって得られた座標変換結果値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つための同期演算を行う
ことを特徴とする。
【００１４】
この開示の制御方法によれば、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、スレーブ装置の位置の自由度を増大でき、または、同期演算のための計算量を削減できる。
【００１５】
さらに別の局面では、この開示のプログラムは、上記制御方法をコンピュータに実行させるためのプログラムである。
【００１６】
この開示のプログラムをコンピュータに実行させることによって、上記制御方法を実施することができる。
【発明の効果】
【００１７】
以上より明らかなように、この開示の制御装置、制御方法およびプログラムによれば、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、スレーブ装置の位置の自由度を増大でき、または、同期演算のための計算量を削減できる。
【図面の簡単な説明】
【００１８】
【図１】この発明の一実施形態の制御装置を或る制御システムに適用したときのブロック構成を示す図である。
【図２】上記制御システムの外観を模式的に示す図である。
【図３】この発明の一実施形態の制御方法による動作例として、上記制御システムにおける上記制御装置の中央演算部による動作を説明する図である。
【図４】上記制御装置を別の制御システムに適用したときのブロック構成を示す図である。
【図５】上記制御システムの外観を模式的に示す図である。
【図６】この発明の一実施形態の制御方法による別の動作例として、上記制御システムにおける上記制御装置の中央演算部による動作を説明する図である。
【発明を実施するための形態】
【００１９】
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。
【００２０】
（第１実施形態）
図１は、この発明の一実施形態の制御装置１０を或る制御システム１００に適用したときのブロック構成を示している。また、図２は、制御システム１００の外観を模式的に示している。これらの図に示すように、この制御システム１００は、大別して、１軸の装置としてのマスタ装置１０１と、６軸の装置としてのスレーブ装置１０２と、これらのマスタ装置１０１とスレーブ装置１０２とを一定周期ｔ（例えば、ｔ＝０．５ｍｓｅｃ〜１ｍｓｅｃ程度の周期）で同期させて制御する制御装置１０とを備えている。
【００２１】
図２に示すように、マスタ装置１０１は、この例ではベルトコンベアであり、制御装置１０からの指令値ＣＶｍに応じてベルト１０１ＡをＸ軸方向に駆動するモータ１１１と、このモータ１１１と一体に構成され、モータ１１１の現在値（現在位置）ＣＶｍ′を測定するエンコーダ１１２と、制御装置１０からの指令値ＣＶｍおよびエンコーダ１１２からの現在値ＣＶｍ′を表す信号に基づいてモータ１１１を駆動するサーボアンプ１１３とを含んでいる。ベルト１０１Ａ上の作業対象物（以下「ワーク」と呼ぶ。）９０は、矢印Ａで示すように、Ｘ軸方向に移動される。
【００２２】
スレーブ装置１０２は、この例では、６軸多関節ロボット１２１と、制御装置１０からの指令値ＣＶｎを表す信号に応じてロボット１２１を駆動するロボットアンプ１２２とを含んでいる。
【００２３】
この例では、マスタ装置１０１は、１軸（Ｘ軸）の自由度を有している。スレーブ装置１０２は、６軸ｘ，ｙ，ｚ，ｙａｗ，ｐｉｔｃｈ，ｒｏｌｌの自由度を有している。すなわち、マスタ装置１０１の軸数ｍ（この例では、ｍ＝１）がスレーブ装置１０２の軸数ｎ（この例では、ｎ＝６）よりも少なく、ｍ＜ｎになっている。また、この例では、マスタ装置１０１のＸ軸は、スレーブ装置１０２のｘ，ｙ，ｚ軸のいずれとも一致していない。したがって、マスタ装置１０１の位置Ｘ（または、後述の同期演算結果値）の変化がスレーブ装置１０２のｘｙｚ座標系で斜めのベクトル（ｘ，ｙ，ｚ成分がいずれもゼロでない）に相当する。
【００２４】
図１に示すように、制御装置１０は、ユーザによって指定されたプログラムを実行するプログラム実行部５０と、マスタ装置指令値演算部２０と、中央演算部３０と、スレーブ装置指令値演算部４０とを備えている。この例では、マスタ装置指令値演算部２０、中央演算部３０、およびスレーブ装置指令値演算部４０が、演算部を構成している。
【００２５】
マスタ装置指令値演算部２０は、プログラム実行部５０からの指示を受けて、或る軸数ｍ（この例では、ｍ＝１）のマスタ装置１０１を制御するために、その軸数ｍと同数ｍの要素からなる、マスタ装置１０１への指令値（マスタ装置指令値）ＣＶｍを演算して作成する。このマスタ装置指令値ＣＶｍを表す信号は、マスタ装置１０１へ送信される。マスタ装置１０１のサーボアンプ１１３は、各軸（この例では、Ｘ軸）のマスタ装置指令値ＣＶｍを、エンコーダ１１２からの現在値ＣＶｍ′を反映して一定周期ｔで更新して、モータ１１１を駆動する。現在値ＣＶｍ′は、マスタ装置指令値演算部２０へ送信される。これにより、制御装置１０（特に、マスタ装置指令値演算部２０）によって、マスタ装置１０１が制御される。
【００２６】
スレーブ装置指令値演算部４０は、図示しない同期命令部からの指示を受けて、或る軸数ｎ（この例では、ｎ＝６）のスレーブ装置１０２を制御するために、後述の同期演算結果値に基づいて、その軸数ｎと同数ｎの要素からなる、スレーブ装置１０２への指令値（スレーブ装置指令値）ＣＶｎを演算して作成する。このスレーブ装置指令値ＣＶｎを表す信号は、スレーブ装置１０２へ送信される。スレーブ装置１０２のロボットアンプ１２２は、各軸のスレーブ装置指令値ＣＶｎを、ロボット１２１からの各軸の現在値ＣＶｎ′を反映して一定周期ｔで更新して、ロボット１２１を駆動する。現在値ＣＶｎ′は、スレーブ装置指令値演算部４０へ送信される。これにより、制御装置１０（特に、スレーブ装置指令値演算部４０）によって、スレーブ装置１０２が制御される。
【００２７】
中央演算部３０は、座標変換部３１と、同期演算部３２とを含んでいる。次に、一実施形態の制御方法の動作例として、制御システム１００における、この制御装置１０（特に、中央演算部３０）の動作について説明する。
【００２８】
座標変換部３１は、一定周期ｔでマスタ装置１０１の各軸（この例では、Ｘ軸）への指令値ＣＶｍ（または、各軸の測定された現在値ＣＶｍ′でもよい。）に対して、マスタ装置１０１のＸＹＺ座標系（この例では、Ｘ座標）からスレーブ装置１０２のｘｙｚ座標系への座標変換（これを符号Ｓ１で表す。）を行う。
【００２９】
例えば、図３（Ａ）に示すように、マスタ装置１０１の位置（Ｘ軸位置）１０１Ｘが時間経過に伴ってリニアに増加しているものとする。なお、図３（Ａ）および後述の図３（Ｂ），図３（Ｃ）では、時間軸（横軸）の表示スケールが周期ｔに比して非常に大きいため、周期ｔ毎のグラフの階段状の変化は図示されていない（さらに、後述の図６（Ａ）〜図６（Ｃ）でも同様。）。既述のように、この例では、マスタ装置１０１の位置Ｘの変化がスレーブ装置１０２のｘｙｚ座標系で斜めのベクトル（ｘ，ｙ，ｚ成分がいずれもゼロでない）に相当する。座標変換部３１は、図３（Ｂ）に示すように、そのベクトルの射影（ｘ，ｙ，ｚ成分）を求める。具体的には、マスタ装置１０１の位置（Ｘ軸位置）１０１Ｘをｐとすると、次式（Ｅｑ．１）により、射影成分Ｓｘ，Ｓｙ，Ｓｚを求める。
Ｓｘ＝Ｋｘ×ｐ＋Ｏｘ
Ｓｙ＝Ｋｙ×ｐ＋Ｏｙ
Ｓｚ＝Ｋｚ×ｐ＋Ｏｚ                                  …（Ｅｑ．１）
（ここで、Ｋｘ，Ｋｙ，Ｋｚは各軸の係数を表し、また、Ｏｘ，Ｏｙ，Ｏｚは各軸のオフセット値を表す。）
【００３０】
なお、式（Ｅｑ．１）から分かるように、マスタ装置１０１の位置Ｘの変化は、スレーブ装置１０２のｘｙｚ座標系でｘｙ平面、ｙｚ平面、ｚｘ平面のいずれかに平行なベクトルに相当し、または、ｘ軸、ｙ軸、ｚ軸のいずれかに平行なベクトルに相当してもよい。それらの場合には、係数Ｋｘ，Ｋｙ，Ｋｚのいずれか１つまたは２つがゼロになる。
【００３１】
この後、同期演算部３２は、この座標変換Ｓ１によって得られた座標変換結果値（Ｓｘ，Ｓｙ，Ｓｚ）に対して、マスタ装置１０１の位置とスレーブ装置１０２の位置とを予め定められた対応関係に保つための同期演算（これを符号Ｓ２で表す。）を行う。
【００３２】
この例では、予め定められた対応関係は、マスタ装置１０１の位置（Ｘ軸位置）１０１Ｘの変化に伴って、スレーブ装置１０２の位置がｘ軸、ｙ軸に関して単純追従を行い、ｚ軸に関して或るカム曲線ｑ＝ｆ（Ｓｚ）に従って上下するという関係であるものとする。このとき、同期演算Ｓ２による結果値は、例えば図３（Ｃ）中に直線１０２ｘ，１０２ｙ、曲線１０２ｚで示すように得られる。これらの直線１０２ｘ，１０２ｙ、曲線１０２ｚは、それぞれスレーブ装置１０２のｘ軸、ｙ軸、ｚ軸がとるべき位置を表している。
【００３３】
この後、スレーブ装置指令値演算部４０は、同期演算部３２から上記直線１０２ｘ，１０２ｙ、曲線１０２ｚを表す信号を受けて、スレーブ装置１０２の各軸への指令値ＣＶｎを更新する。
【００３４】
この例では、スレーブ装置１０２は、ロボットアンプ１２２を介してこの指令値ＣＶｎを表す信号を受けて、図２中に矢印Ｂで示すように、マスタ装置１０１の位置の変化（すなわち、矢印Ａで示したワーク９０の移動）に同期して、ｘ軸、ｙ軸に関して単純追従を行い、ｚ軸に関してカム曲線ｑ＝ｆ（Ｓｚ）に従って上下する。
【００３５】
このように動作する場合、この例のようにマスタ装置１０１の軸数ｍ（この例では、ｍ＝１）がスレーブ装置１０２の軸数ｎ（この例では、ｎ＝６）よりも少ないときに、マスタ装置１０１の各軸（この例では、Ｘ軸）への指令値ＣＶｍ（または各軸の測定された現在値ＣＶｍ′）の自由度に対して座標変換結果値（Ｓｘ，Ｓｙ，Ｓｚ）の自由度がスレーブ装置１０２の軸数ｎまで増え得ることから、スレーブ装置１０２の位置（軌跡）の自由度が増大する。したがって、同期演算Ｓ２を行う際に、スレーブ装置１０２の位置（軌跡）を比較的自由に設計可能となる。
【００３６】
（第２実施形態）
図４は、上述の制御装置１０を別の制御システム２００に適用したときのブロック構成を示している。また、図５は、制御システム２００の外観を模式的に示している。これらの図に示すように、この制御システム２００は、大別して、６軸の装置としてのマスタ装置２０１と、２軸の装置としてのスレーブ装置２０２と、上述の制御装置１０とを備えている。この例では、制御装置１０は、これらのマスタ装置２０１とスレーブ装置２０２とを一定周期ｔ（例えば、ｔ＝０．５ｍｓｅｃ〜１ｍｓｅｃ程度の周期）で同期させて制御する。
【００３７】
図５に示すように、マスタ装置２０１は、この例では、６軸多関節ロボット２１１と、制御装置１０からの指令値ＣＶｍを表す信号に応じてロボット２１１を駆動するロボットアンプ２１２とを含んでいる。ロボットアンプ２１２は、ロボット２１１の各軸（この例では、Ｘ，Ｙ，Ｚ，Ｙａｗ，Ｐｉｔｃｈ，Ｒｏｌｌ）の測定された現在値ＣＶｍ′を表す信号を、制御装置１０のマスタ装置指令値演算部２０へ送信する。この例では、ロボット２１１に把持されたワーク１９０は、矢印Ａ１で示すような曲線に沿って移動される。
【００３８】
スレーブ装置２０２は、この例ではＸ−Ｙテーブル２２０であり、モータ・エンコーダ一体型の２つのリニアスライダ２２１，２２２と、制御装置１０からの指令値ＣＶｎを表す信号に応じてそれぞれリニアスライダ２２１，２２２を駆動する２つのサーボアンプ２２３，２２４とを含んでいる。
【００３９】
制御装置１０は、先の例と同様に構成されている。この例では、マスタ装置指令値演算部２０は、プログラム実行部５０からの指示を受けて、或る軸数ｍ（この例では、ｍ＝６）のマスタ装置２０１を制御するために、その軸数ｍと同数ｍの要素からなる、マスタ装置２０１への指令値（マスタ装置指令値）ＣＶｍを演算して作成する。このマスタ装置指令値ＣＶｍを表す信号は、マスタ装置２０１へ送信される。マスタ装置２０１のロボットアンプ２１２は、各軸のマスタ装置指令値ＣＶｍを、ロボット２１１からの各軸の現在値ＣＶｍ′を反映して一定周期ｔで更新して、ロボット２１１を駆動する。現在値ＣＶｍ′は、マスタ装置指令値演算部２０へ送信される。これにより、制御装置１０（特に、マスタ装置指令値演算部２０）によって、マスタ装置２０１が制御される。
【００４０】
スレーブ装置指令値演算部４０は、図示しない同期命令部からの指示を受けて、或る軸数ｎ（この例では、ｎ＝２）のスレーブ装置２０２を制御するために、後述の同期演算結果値に基づいて、その軸数ｎと同数ｎの要素からなる、スレーブ装置２０２への指令値（スレーブ装置指令値）ＣＶｎを演算して作成する。このスレーブ装置指令値ＣＶｎを表す信号は、スレーブ装置２０２へ送信される。スレーブ装置２０２のサーボアンプ２２３，２２４は、各軸（この例では、ｘ，ｙ軸）のスレーブ装置指令値ＣＶｎを、リニアスライダ２２１，２２２からの各軸の現在値ＣＶｎ′を反映して一定周期ｔで更新して、リニアスライダ２２１，２２２を駆動する。現在値ＣＶｎ′は、スレーブ装置指令値演算部４０へ送信される。これにより、制御装置１０（特に、スレーブ装置指令値演算部４０）によって、スレーブ装置２０２が制御される。
【００４１】
この例では、マスタ装置２０１は、６軸Ｘ，Ｙ，Ｚ，Ｙａｗ，Ｐｉｔｃｈ，Ｒｏｌｌの自由度を有している。スレーブ装置２０２は、２軸（ｘ，ｙ軸）の自由度を有している。すなわち、マスタ装置２０１の軸数ｍ（この例では、ｍ＝６）がスレーブ装置２０２の軸数ｎ（この例では、ｎ＝２）よりも多く、ｍ＞ｎになっている。また、この例では、マスタ装置１０１の６軸Ｘ，Ｙ，Ｚ，Ｙａｗ，Ｐｉｔｃｈ，Ｒｏｌｌは、スレーブ装置２０２のｘ，ｙ軸のいずれとも一致していない。
【００４２】
次に、一実施形態の制御方法の別の動作例として、制御システム２００における、制御装置１０（特に、中央演算部３０）の動作について説明する。
【００４３】
座標変換部３１は、一定周期ｔでマスタ装置２０１の各軸（この例では、Ｘ，Ｙ，Ｚ，Ｙａｗ，Ｐｉｔｃｈ，Ｒｏｌｌ）への指令値ＣＶｍ（または、各軸の測定された現在値ＣＶｍ′でもよい。）に対して、マスタ装置２０１のＸＹＺ座標系からスレーブ装置２０２のｘｙｚ座標系への座標変換（これを符号Ｓ１で表す。）を行う。
【００４４】
例えば、図６（Ａ）に示すように、マスタ装置２０１のＸ軸位置２０１Ｘ、Ｙ軸位置２０１Ｙ、Ｚ軸位置２０１Ｚが時間経過に伴って変化しているものとする。この例では、Ｘ軸位置２０１Ｘは、最初に増加し、途中から一定になっている。Ｙ軸位置２０１Ｙは、最初は一定で、途中から減少している。Ｚ軸位置２０１Ｚは、最初に減少し、途中から一定（略ゼロ）になっている。この例では、座標変換部３１は、図６（Ｂ）に示すように、マスタ装置２０１のＸ軸位置２０１Ｘ、Ｙ軸位置２０１ＹをそれぞれＸ、Ｙとして、次式（Ｅｑ．２）により、スレーブ装置２０２の座標系でのｘ，ｙ成分（これをＳｘ１，Ｓｙ１とする。）を求める。
Ｓｘ１＝Ｋｘｘ×Ｘ＋Ｋｘｙ×Ｙ＋Ｏｘ
Ｓｙ１＝Ｋｙｘ×Ｘ＋Ｋｙｙ×Ｙ＋Ｏｙ                            …（Ｅｑ．２）
（ここで、Ｋｘｘ，Ｋｘｙ，Ｋｙｘ，Ｋｙｙは各軸の係数を表し、また、Ｏｘ，Ｏｙは各軸のオフセット値を表す。）
【００４５】
なお、この式（Ｅｑ．２）は、マスタ装置２０１のＸ軸位置２０１Ｘ、Ｙ軸位置２０１Ｙに対して、Ｚ軸周りの回転とＸ，Ｙ軸方向への並行移動とを行う計算である。
【００４６】
この後、同期演算部３２は、この座標変換Ｓ１によって得られた座標変換結果値（Ｓｘ１，Ｓｙ１）に対して、マスタ装置２０１の位置とスレーブ装置２０２の位置とを予め定められた対応関係に保つための同期演算（これを符号Ｓ２で表す。）を行う。
【００４７】
この例では、予め定められた対応関係は、マスタ装置２０１（ロボット２１１）によって運ばれるワーク１９０の真下に位置するように、スレーブ装置２０２（Ｘ−Ｙテーブル２２０）が加速して追い付き、追いついた後はワーク１９０と同期して移動するという関係であるものとする。このとき、同期演算Ｓ２による結果値は、例えば図６（Ｃ）中に太い実線で描かれた曲線２０２ｘ，２０２ｙで示すように得られる。これらの曲線２０２ｘ，２０２ｙは、それぞれスレーブ装置２０２のｘ軸、ｙ軸がとるべき位置を表している。なお、図６（Ｃ）中の細い実線は、座標変換結果値（Ｓｘ１，Ｓｙ１）のうち、ワーク１９０の真下にスレーブ装置２０２（Ｘ−Ｙテーブル２２０）が追いつく前の部分を、比較のために表している。
【００４８】
この後、スレーブ装置指令値演算部４０は、同期演算部３２から上記曲線２０２ｘ、２０２ｙを表す信号を受けて、スレーブ装置２０２の各軸への指令値ＣＶｎを更新する。
【００４９】
この例では、スレーブ装置２０２は、サーボアンプ２２３，２２４を介してこの指令値ＣＶｎを表す信号を受けて、図５中に矢印Ｂ１で示すように、マスタ装置２０１の位置の変化（すなわち、矢印Ａ１で示したワーク１９０の移動）に同期して、スレーブ装置２０２（Ｘ−Ｙテーブル２２０）がｘ軸、ｙ軸に関して加速して追い付き、追いついた後はワーク１９０と同期して移動する。
【００５０】
このように動作する場合、この例のようにマスタ装置２０１の軸数ｍ（この例では、ｍ＝６）がスレーブ装置２０２の軸数ｎ（この例では、ｎ＝２）よりも多いときに、スレーブ装置２０２の軸数ｎが比較的少ないことから、同期演算Ｓ２のための計算量が削減される。
【００５１】
以上より明らかなように、この制御装置１０によれば、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合に、スレーブ装置の位置の自由度を増大でき、または、同期演算のための計算量を削減できる。
【００５２】
上述の制御装置１０は、実質的にコンピュータ装置（例えば、プログラマブルロジックコントローラ（programmable logic controller；PLC）など）によって構成され得る。したがって、中央演算部３０の動作として説明した制御方法（座標変換Ｓ１を行った後、同期演算Ｓ２を行う処理）は、コンピュータに実行させるためのプログラムとして構成されるのが望ましい。また、それらのプログラムは、それぞれコンピュータ読み取り可能な非一時的（non-transitory）な記録媒体に記録されるのが望ましい。その場合、記録媒体に記録されたそれらのプログラムをコンピュータ装置に読み取らせ、実行させることによって、上述の制御方法を実施することができる。
【００５３】
上述の第１実施形態では、マスタ装置１０１は１軸のベルトコンベア、スレーブ装置１０２は６軸のロボットであるものとした。また、第２実施形態では、マスタ装置２０１は６軸のロボット、スレーブ装置２０２は２軸のＸ−Ｙテーブルであるものとした。しかしながら、これに限られるものではない。マスタ装置、スレーブ装置としては、例えばベルトコンベアのような１軸の装置、Ｘ−Ｙテーブルのような２軸の装置、４軸パラレルリンクロボットのような４軸の装置、５軸水平多関節ロボットのような５軸の装置、６軸多関節ロボットのような６軸の装置など、様々な軸数ｍ，ｎの装置が対象となり得る。ただし、この発明は、マスタ装置の軸数ｍとスレーブ装置の軸数ｎとが互いに異なる場合に適用される。
【００５４】
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。
【符号の説明】
【００５５】
１０  制御装置
３０  中央演算部
３１  座標変換部
３２  同期演算部
１００，２００  制御システム
１０１，２０１  マスタ装置
１０２，２０２  スレーブ装置
【図１】
2019155522.tif 000003
【図２】
2019155522.tif 000004
【図３】
2019155522.tif 000005
【図４】
2019155522.tif 000006
【図５】
2019155522.tif 000007
【図６】
2019155522.tif 000008