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

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

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

<>
  • 特許6954192-制御装置、制御方法、およびプログラム 図000002
  • 特許6954192-制御装置、制御方法、およびプログラム 図000003
  • 特許6954192-制御装置、制御方法、およびプログラム 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6954192
(24)【登録日】2021年10月4日
(45)【発行日】2021年10月27日
(54)【発明の名称】制御装置、制御方法、およびプログラム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20211018BHJP
【FI】
   B25J13/00 Z
   B25J13/00 A
【請求項の数】3
【全頁数】9
(21)【出願番号】特願2018-44531(P2018-44531)
(22)【出願日】2018年3月12日
(65)【公開番号】特開2019-155521(P2019-155521A)
(43)【公開日】2019年9月19日
【審査請求日】2020年2月28日
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100101454
【弁理士】
【氏名又は名称】山田 卓二
(74)【代理人】
【識別番号】100122286
【弁理士】
【氏名又は名称】仲倉 幸典
(72)【発明者】
【氏名】小河原 徹
(72)【発明者】
【氏名】島村 純児
【審査官】 松浦 陽
(56)【参考文献】
【文献】 特開2002−192486(JP,A)
【文献】 特開2004−130444(JP,A)
【文献】 特開2017−033345(JP,A)
【文献】 特開平03−142180(JP,A)
【文献】 米国特許出願公開第2010/0008754(US,A1)
【文献】 特開2017−196711(JP,A)
【文献】 特開2017−175420(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 − 21/02
G05B 19/18 − 19/416
(57)【特許請求の範囲】
【請求項1】
マスタ装置の軸数がスレーブ装置の軸数よりも少ない場合に、一定周期で上記マスタ装置と上記スレーブ装置とを同期させて制御する制御装置であって、
上記一定周期で、上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて、上記スレーブ装置の各軸への指令値を演算によって求める演算部を備え、
上記演算部は、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを、曲線で表される関数を含む予め定められた対応関係に保つための同期演算を行う同期演算部と、
上記同期演算が行われた後、この同期演算によって得られた同期演算結果値に対して上記マスタ装置の座標系から上記スレーブ装置の座標系への、位置変化を表すベクトルの射影を求めることに相当する座標変換を行う座標変換部と
を備えたことを特徴とする制御装置。
【請求項2】
マスタ装置の軸数がスレーブ装置の軸数よりも少ない場合に、一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて上記スレーブ装置の各軸への指令値を演算によって求めて、上記マスタ装置と上記スレーブ装置とを同期させて制御する制御方法であって、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを、曲線で表される関数を含む予め定められた対応関係に保つための同期演算を行った後、
この同期演算によって得られた同期演算結果値に対して上記マスタ装置の座標系から上記スレーブ装置の座標系への、位置変化を表すベクトルの射影を求めることに相当する座標変換を行う
ことを特徴とする制御方法。
【請求項3】
請求項2に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は制御装置に関し、より詳しくは、マスタ装置とスレーブ装置とを同期させて制御する制御装置に関する。また、この発明は、そのような制御を行う制御方法およびプログラムに関する。
【背景技術】
【0002】
従来、この種の制御装置としては、例えば特許文献1(特開平6−138920号公報)に開示されているように、マスタ装置(協調基準体)とスレーブ装置(制御対象体)とを協調動作させるために、スレーブ装置への位置指令値に対して、同期データを補正量(補正同期データ)として加算する方式のものが知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−138920号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来例とは異なり、本出願人は、一定周期(例えば、0.5msec〜1msec程度の周期)で、マスタ装置の各軸(本明細書を通して「制御軸」を意味する。)への指令値(または各軸の測定された現在値)に基づいてスレーブ装置の各軸への指令値を演算によって求めて、マスタ装置とスレーブ装置とを同期させて制御する方式を開発している。これにより、マスタ装置とスレーブ装置とを精度良く同期させることができる。
【0005】
このように一定周期でマスタ装置とスレーブ装置とを同期させて制御する場合、演算する軸数に比例して、マスタ装置の位置とスレーブ装置の位置とを予め定められた対応関係に保つ同期演算(例えば、マスタ装置の位置に対して予め定められた関数の変換を行う演算)のための計算量が増大する。また、マスタ装置の軸数とスレーブ装置の軸数とが互いに異なる場合、マスタ装置の各軸への指令値(または各軸の測定された現在値)からスレーブ装置の各軸への指令値を求める過程で、マスタ装置の座標系からスレーブ装置の座標系への座標変換を行う必要もある。このため、計算量を削減することが求められる。
【0006】
そこで、この発明の課題は、一定周期でマスタ装置とスレーブ装置とを同期させて制御する制御装置であって、計算量を削減できるものを提供することにある。また、この発明の課題は、そのような制御装置のための制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、この開示の制御装置は、
マスタ装置の軸数がスレーブ装置の軸数よりも少ない場合に、一定周期で上記マスタ装置と上記スレーブ装置とを同期させて制御する制御装置であって、
上記一定周期で、上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて、上記スレーブ装置の各軸への指令値を演算によって求める演算部を備え、
上記演算部は、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを、曲線で表される関数を含む予め定められた対応関係に保つための同期演算を行う同期演算部と、
上記同期演算が行われた後、この同期演算によって得られた同期演算結果値に対して上記マスタ装置の座標系から上記スレーブ装置の座標系への、位置変化を表すベクトルの射影を求めることに相当する座標変換を行う座標変換部と
を備えたことを特徴とする。
【0008】
本明細書で、マスタ装置、スレーブ装置の「軸」とは、それぞれ制御軸を意味する。マスタ装置、スレーブ装置としては、例えばベルトコンベアのような1軸の装置、X−Yテーブルのような2軸の装置、4軸水平多関節ロボットのような4軸の装置、6軸多関節ロボットのような6軸の装置など、様々な軸数の装置が対象となり得る。ただし、この発明は、マスタ装置の軸数がスレーブ装置の軸数よりも少ない場合に適用される。
【0009】
「同期演算」とは、上記一定周期で行われ、上記マスタ装置の位置と上記スレーブ装置の位置とを予め定められた対応関係に保つ演算を意味する。「予め定められた対応関係」とは、例えば、マスタ装置の位置の変化に対して、スレーブ装置の位置が予め定められた関係(例えば、カム曲線を表す関数)に従って変化(加速または減速を含む。)するような関係を指す。上記マスタ装置、上記スレーブ装置の「位置」とは、並進成分および/または回転成分を含む意味である。
【0010】
「座標変換」とは、上記マスタ装置の座標系(例えば、XYZ座標系とする。)を基準とした位置から上記スレーブ装置の座標系(例えば、xyz座標系とする。)を基準とした位置への変換を指す。例えば、上記マスタ装置の位置(または上記同期演算結果値)の変化が上記スレーブ装置のxyz座標系で斜めのベクトル(x,y,z成分がいずれもゼロでない)に相当する場合、「座標変換」とは、そのベクトルの射影(x,y,z成分)を求めることに相当する。
【0011】
この開示の制御装置では、演算部は、一定周期で、上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて、上記スレーブ装置の各軸への指令値を演算によって求める。この過程で、上記演算部の同期演算部は、まず、一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを、曲線で表される関数を含む予め定められた対応関係に保つための同期演算を行う。この同期演算は、例えば上記予め定められた対応関係が曲線に従う演算であれば相当の計算量を要するが、上記マスタ装置の軸数が上記スレーブ装置の軸数よりも少ない場合は、問題にはなり難い。この後(上記同期演算が行われた後)、上記演算部の座標変換部は、この同期演算によって得られた同期演算結果値に対して上記マスタ装置の座標系から上記スレーブ装置の座標系への、位置変化を表すベクトルの射影を求めることに相当する座標変換を行う。これによって、上記スレーブ装置の各軸への指令値が求められる。この座標変換は、例えば、上記同期演算結果値の変化が上記スレーブ装置の座標系(例えば、xyz座標系とする。)で斜めのベクトル(x,y,z成分がいずれもゼロでない)に相当する場合、そのベクトルの射影(x,y,z成分)を求めることに相当する。したがって、上記スレーブ装置の軸数が比較的多くても、計算が比較的簡単で済む。したがって、この制御装置によれば、上記マスタ装置の各軸への指令値(または各軸の測定された現在値)から上記スレーブ装置の各軸への指令値を求める過程で、計算量を削減できる。
【0012】
別の局面では、この開示の制御方法は、
マスタ装置の軸数がスレーブ装置の軸数よりも少ない場合に、一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に基づいて上記スレーブ装置の各軸への指令値を演算によって求めて、上記マスタ装置と上記スレーブ装置とを同期させて制御する制御方法であって、
上記一定周期で上記マスタ装置の各軸への指令値または各軸の測定された現在値に対して、上記マスタ装置の位置と上記スレーブ装置の位置とを、曲線で表される関数を含む予め定められた対応関係に保つための同期演算を行った後、
この同期演算によって得られた同期演算結果値に対して上記マスタ装置の座標系から上記スレーブ装置の座標系への、位置変化を表すベクトルの射影を求めることに相当する座標変換を行う
ことを特徴とする。

【0013】
この開示の制御方法によれば、上記マスタ装置の各軸への指令値(または各軸の測定された現在値)から上記スレーブ装置の各軸への指令値を求める過程で、計算量を削減できる。
【0014】
さらに別の局面では、この開示のプログラムは、上記制御方法をコンピュータに実行させるためのプログラムである。
【0015】
この開示のプログラムをコンピュータに実行させることによって、上記制御方法を実施することができる。
【発明の効果】
【0016】
以上より明らかなように、この開示の制御装置、制御方法およびプログラムによれば、マスタ装置の各軸への指令値(または各軸の測定された現在値)からスレーブ装置の各軸への指令値を求める過程で、計算量を削減できる。
【図面の簡単な説明】
【0017】
図1】この発明の一実施形態の制御装置を或る制御システムに適用したときのブロック構成を示す図である。
図2】上記制御システムの外観を模式的に示す図である。
図3】この発明の一実施形態の制御方法による動作例として、上記制御システムにおける上記制御装置の中央演算部による動作を説明する図である。
【発明を実施するための形態】
【0018】
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。
【0019】
図1は、この発明の一実施形態の制御装置10を或る制御システム100に適用したときのブロック構成を示している。また、図2は、制御システム100の外観を模式的に示している。これらの図に示すように、この制御システム100は、大別して、1軸のベルトコンベアであるマスタ装置101と、6軸のロボットであるスレーブ装置102と、これらのマスタ装置101とスレーブ装置102とを一定周期t(例えば、t=0.5msec〜1msec程度の周期)で同期させて制御する制御装置10とを備えている。
【0020】
図2に示すように、マスタ装置101は、この例では、制御装置10からの指令値CVmに応じてベルト101AをX軸方向に駆動するモータ111と、このモータ111と一体に構成され、モータ111の現在値(現在位置)CVm′を測定するエンコーダ112と、制御装置10からの指令値CVmおよびエンコーダ112からの現在値CVm′を表す信号に基づいてモータ111を駆動するサーボアンプ113とを含んでいる。ベルト101A上の作業対象物(以下「ワーク」と呼ぶ。)90は、矢印Aで示すように、X軸方向に移動される。
【0021】
スレーブ装置102は、この例では、6軸多関節ロボット121と、制御装置10からの指令値CVnを表す信号に応じてロボット121を駆動するロボットアンプ122とを含んでいる。
【0022】
この例では、マスタ装置101は、1軸(X軸)の自由度を有している。スレーブ装置102は、6軸x,y,z,yaw,pitch,rollの自由度を有している。すなわち、マスタ装置101の軸数m(この例では、m=1)がスレーブ装置102の軸数n(この例では、n=6)よりも少なく、m<nになっている。また、この例では、マスタ装置101のX軸は、スレーブ装置102のx,y,z軸のいずれとも一致していない。したがって、マスタ装置101の位置X(または、後述の同期演算結果値)の変化がスレーブ装置102のxyz座標系で斜めのベクトル(x,y,z成分がいずれもゼロでない)に相当する。
【0023】
図1に示すように、制御装置10は、ユーザによって指定されたプログラムを実行するプログラム実行部50と、マスタ装置指令値演算部20と、中央演算部30と、スレーブ装置指令値演算部40とを備えている。この例では、マスタ装置指令値演算部20、中央演算部30、およびスレーブ装置指令値演算部40が、演算部を構成している。
【0024】
マスタ装置指令値演算部20は、プログラム実行部50からの指示を受けて、或る軸数m(この例では、m=1)のマスタ装置101を制御するために、その軸数mと同数mの要素からなる、マスタ装置101への指令値(マスタ装置指令値)CVmを演算して作成する。このマスタ装置指令値CVmを表す信号は、マスタ装置101へ送信される。マスタ装置101のサーボアンプ113は、各軸(この例では、X軸)のマスタ装置指令値CVmを、エンコーダ112からの現在値CVm′を反映して一定周期tで更新して、モータ111を駆動する。現在値CVm′は、マスタ装置指令値演算部20へ送信される。これにより、制御装置10(特に、マスタ装置指令値演算部20)によって、マスタ装置101が制御される。
【0025】
スレーブ装置指令値演算部40は、図示しない同期命令部からの指示を受けて、或る軸数n(この例では、n=6)のスレーブ装置102を制御するために、後述の同期演算結果値に基づいて、その軸数nと同数nの要素からなる、スレーブ装置102への指令値(スレーブ装置指令値)CVnを演算して作成する。このスレーブ装置指令値CVnを表す信号は、スレーブ装置102へ送信される。スレーブ装置102のロボットアンプ122は、各軸のスレーブ装置指令値CVnを、ロボット121からの各軸の現在値CVn′を反映して一定周期tで更新して、ロボット121を駆動する。現在値CVn′は、スレーブ装置指令値演算部40へ送信される。これにより、制御装置10(特に、スレーブ装置指令値演算部40)によって、スレーブ装置102が制御される。
【0026】
中央演算部30は、同期演算部31と、座標変換部32とを含んでいる。次に、一実施形態の制御方法の動作例として、制御システム100における、この制御装置10(特に、中央演算部30)の動作について説明する。
【0027】
同期演算部31は、一定周期tでマスタ装置101の各軸(この例では、X軸)への指令値CVm(または、各軸の測定された現在値CVm′でもよい。)に対して、マスタ装置101の位置とスレーブ装置102の位置とを予め定められた対応関係に保つための同期演算(これを符号S1で表す。)を行う。
【0028】
例えば、図3(A)に示すように、マスタ装置101の位置(X軸位置)101Xが時間経過に伴ってリニアに増加しているものとする。また、この例では、予め定められた対応関係は、マスタ装置101の位置(X軸位置)101Xの変化に伴って、スレーブ装置102が或るカム曲線p=f(X)に従って加速または減速するという関係であるものとする。このとき、同期演算部31は、同期演算S1を行って、図3(B)に示すように同期演算結果値p=f(X)を求める。なお、図3(A)〜図3(C)では、時間軸(横軸)の表示スケールが周期tに比して非常に大きいため、周期t毎のグラフの階段状の変化は図示されていない。
【0029】
この同期演算S1は、例えば予め定められた対応関係が曲線(この例では、上記カム曲線)に従う演算であれば相当の計算量を要するが、マスタ装置101の軸数mがスレーブ装置102の軸数nよりも少ない場合(m<nの場合)は、軸数mが比較的少ないので、問題にはなり難い。
【0030】
この後、図1中に示した座標変換部32は、この同期演算S1によって得られた同期演算結果値pに対してマスタ装置101のXYZ座標系からスレーブ装置102のxyz座標系への座標変換(これを符号S2で表す。)を行う。
【0031】
既述のように、この例では、同期演算結果値pの変化がスレーブ装置102のxyz座標系で斜めのベクトル(x,y,z成分がいずれもゼロでない)に相当する。座標変換部32は、図3(C)に示すように、そのベクトルの射影(x,y,z成分)を求める。具体的には、同期演算結果値pを用いて、次式により、x,y,z成分を求める。
x = K × p + O
y = K × p + O
z = K × p + O …(Eq.1)
(ここで、K,K,Kは各軸の係数を表し、また、O,O,Oは各軸のオフセット値を表す。)
【0032】
これらのx,y,z成分は、例えば図3(C)中に曲線102x、102y、102zで示すように得られる。これらの曲線102x、102y、102zは、それぞれスレーブ装置102のx軸、y軸、z軸がとるべき位置を表している。
【0033】
なお、式(Eq.1)から分かるように、同期演算結果値pの変化は、スレーブ装置102のxyz座標系でxy平面、yz平面、zx平面のいずれかに平行なベクトルに相当し、または、x軸、y軸、z軸のいずれかに平行なベクトルに相当してもよい。それらの場合には、係数K,K,Kのいずれか1つまたは2つがゼロになる。
【0034】
この座標変換S2は、ベクトルの射影(x,y,z成分)を求めることに相当することから、スレーブ装置102の軸数n(この例では、n=6)が比較的多くても、計算が比較的簡単で済む。したがって、この制御装置10によれば、マスタ装置101の各軸への指令値CVm(または各軸の測定された現在値CVm′)からスレーブ装置102の各軸への指令値CVnを求める過程で、計算量を削減できる。
【0035】
この後、スレーブ装置指令値演算部40は、座標変換部32から上記x,y,z成分を表す信号を受けて、スレーブ装置102の各軸への指令値CVnを更新する。
【0036】
この例では、スレーブ装置102は、ロボットアンプ122を介してこの指令値CVnを表す信号を受けて、図2中に矢印Bで示すように、マスタ装置101の位置の変化(すなわち、矢印Aで示したワーク90の移動)に同期して、カム曲線p=f(X)に従って加速または減速されて移動する。
【0037】
このように、この制御装置10によれば、マスタ装置101の各軸への指令値CVm(または各軸の測定された現在値CVm′)からスレーブ装置102の各軸への指令値CVnを求める過程で、計算量を削減できる。
【0038】
上述の制御装置10は、実質的にコンピュータ装置(例えば、プログラマブルロジックコントローラ(programmable logic controller;PLC)など)によって構成され得る。したがって、中央演算部30の動作として説明した制御方法(同期演算S1を行った後、座標変換S2を行う処理)は、コンピュータに実行させるためのプログラムとして構成されるのが望ましい。また、それらのプログラムは、それぞれコンピュータ読み取り可能な非一時的(non-transitory)な記録媒体に記録されるのが望ましい。その場合、記録媒体に記録されたそれらのプログラムをコンピュータ装置に読み取らせ、実行させることによって、上述の制御方法を実施することができる。
【0039】
上の例では、マスタ装置101は1軸のベルトコンベアであり、また、スレーブ装置102は6軸のロボットであるものとした。しかしながら、これに限られるものではない。マスタ装置、スレーブ装置としては、例えばベルトコンベアのような1軸の装置、X−Yテーブルのような2軸の装置、4軸パラレルリンクロボットのような4軸の装置、5軸水平多関節ロボットのような5軸の装置、6軸多関節ロボットのような6軸の装置など、様々な軸数m,nの装置が対象となり得る。ただし、この発明は、マスタ装置の軸数mがスレーブ装置の軸数nよりも少ない場合に適用される。
【0040】
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。
【符号の説明】
【0041】
10 制御装置
30 中央演算部
31 同期演算部
32 座標変換部
100 制御システム
101 マスタ装置
102 スレーブ装置
図1
図2
図3