IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ セイコーエプソン株式会社の特許一覧

<>
  • 特開-制御方法およびロボットシステム 図1
  • 特開-制御方法およびロボットシステム 図2
  • 特開-制御方法およびロボットシステム 図3
  • 特開-制御方法およびロボットシステム 図4
  • 特開-制御方法およびロボットシステム 図5
  • 特開-制御方法およびロボットシステム 図6
  • 特開-制御方法およびロボットシステム 図7
  • 特開-制御方法およびロボットシステム 図8
  • 特開-制御方法およびロボットシステム 図9
  • 特開-制御方法およびロボットシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024033790
(43)【公開日】2024-03-13
(54)【発明の名称】制御方法およびロボットシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20240306BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022137619
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】元▲吉▼ 正樹
(72)【発明者】
【氏名】石塚 諒
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707CT05
3C707CX01
3C707HS27
3C707LT17
3C707LV19
(57)【要約】
【課題】高い位置精度を有する制御方法およびロボットシステムを提供する。
【解決手段】制御方法は、ロボットの目標位置に対する制御位置を決定する制御方法であって、3点以上の理想座標系での実基準位置を取得する実基準位置取得ステップと、前記ロボットの制御点が各前記実基準位置に位置しているときの第1ロボット制御座標系での第1制御基準位置を取得する第1制御基準位置取得ステップと、前記実基準位置と前記第1制御基準位置とに基づいて、前記第1ロボット制御座標系における前記制御位置を前記理想座標系に前記目標位置に変換する第1変換関数を取得する第1変換関数取得ステップと、前記第1ロボット制御座標系における前記制御位置を、前記第1変換関数を用いて前記理想座標系における前記目標位置に変換し、前記目標位置に基づいて新たな前記制御位置を決定する制御位置決定ステップと、を含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
ロボットの目標位置に対する制御位置を決定する制御方法であって、
3点以上の理想座標系での実基準位置を取得する実基準位置取得ステップと、
前記ロボットの制御点が各前記実基準位置に位置しているときの第1ロボット制御座標系での第1制御基準位置を取得する第1制御基準位置取得ステップと、
前記実基準位置と前記第1制御基準位置とに基づいて、前記第1ロボット制御座標系における前記制御位置と前記理想座標系における前記目標位置との対応関係を表す第1変換関数を取得する第1変換関数取得ステップと、
前記第1ロボット制御座標系における前記制御位置を、前記第1変換関数を用いて前記理想座標系における前記目標位置に変換し、前記目標位置に基づいて新たな前記制御位置を決定する制御位置決定ステップと、を含むことを特徴とする制御方法。
【請求項2】
前記第1ロボット制御座標系における前記制御位置は、前記第1ロボット制御座標系に直接設定される請求項1に記載の制御方法。
【請求項3】
前記制御位置を設定するロボット制御座標系が前記第1ロボット制御座標系から第2ロボット制御座標系に変更された場合、
前記制御位置決定ステップに先立って、
前記制御点が前記実基準位置に位置しているときの前記第2ロボット制御座標系での第2制御基準位置を取得する第2制御基準位置取得ステップと、
前記実基準位置と前記第2制御基準位置とに基づいて、前記理想座標系における前記目標位置を前記第2ロボット制御座標系における前記制御位置に変換する第2変換関数を取得する第2変換関数取得ステップと、を含み、
前記制御位置決定ステップでは、前記第1ロボット制御座標系における前記制御位置を、前記第1変換関数を用いて前記理想座標系における前記目標位置に変換した後、前記第2変換関数を用いて前記第2ロボット制御座標系における新たな前記制御位置に変換する請求項1に記載の制御方法。
【請求項4】
前記制御位置決定ステップでは、所定の位置からの移動量である相対移動量を、前記制御位置決定ステップで変換された前記目標位置に加えて、新たな前記制御位置を決定する請求項1に記載の制御方法。
【請求項5】
前記第1変換関数取得ステップでは、3つ以上の前記実基準位置を頂点とする少なくとも1つの図形を前記理想座標系に設定し、前記図形内における前記目標位置と前記制御位置との対応関係を表す前記第1変換関数を求める請求項1に記載の制御方法。
【請求項6】
ロボットと、前記ロボットの駆動を制御する制御装置と、を有し、前記制御装置が前記ロボットの目標位置に対する制御位置を決定するロボットシステムであって、
前記制御装置は、3点以上の理想座標系での実基準位置を取得し、
前記ロボットの制御点が各前記実基準位置に位置しているときの第1ロボット制御座標系での第1制御基準位置を取得し、
前記実基準位置と前記第1制御基準位置とに基づいて、前記第1ロボット制御座標系における前記制御位置と前記理想座標系における前記目標位置との対応関係を表す第1変換関数を取得し、
前記第1ロボット制御座標系における前記制御位置を、前記第1変換関数を用いて前記理想座標系における前記目標位置に変換し、前記目標位置に基づいて新たな前記制御位置を決定することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御方法およびロボットシステムに関する。
【背景技術】
【0002】
例えば、特許文献1に記載されているロボットシステムは、実座標系に複数の作業原点を設定し、カメラの撮像画像に基づいて複数の作業原点のそれぞれについて計測位置を取得し、計測位置に基づいて各作業原点の位置情報を補正することによりロボットの動作精度を向上させる構成となっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-134695号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
制御位置の決定方法には、特許文献1のように実座標系における目標位置をロボット制御座標系に変換して制御位置を決定する方法の他にも、ダイレクトティーチのように制御位置をロボット制御座標系に直接指定する方法がある。以下では、説明の便宜上、前者の方法を第1決定方法とも言い、後者の方法を第2決定方法とも言う。
【0005】
ここで、第1ロボット制御座標系での制御位置を決定した後で、メンテナンス等による機構パラメーターの変化に伴ってロボット制御座標系が変化した場合、既に決定した制御位置を新たなロボット制御座標系に対応した値に補正しなければならない。第1決定方法で制御位置が決定されている場合には、実座標系における目標位置を第2ロボット制御座標系に変換すれば、新たな制御位置を決定することができる。
【0006】
これに対して、第2決定方法で制御位置が決定されている場合には、制御位置に対応する実座標系での目標位置を持たないため、第1決定方法と同じ方法を用いて第2ロボット制御座標系への変換を行うことができない。そのため、動作精度の向上を図ることができないおそれがある。
【課題を解決するための手段】
【0007】
本発明の制御方法は、ロボットの目標位置に対する制御位置を決定する制御方法であって、
3点以上の理想座標系での実基準位置を取得する実基準位置取得ステップと、
前記ロボットの制御点が各前記実基準位置に位置しているときの第1ロボット制御座標系での第1制御基準位置を取得する第1制御基準位置取得ステップと、
前記実基準位置と前記第1制御基準位置とに基づいて、前記第1ロボット制御座標系における前記制御位置と前記理想座標系における前記目標位置との対応関係を表す第1変換関数を取得する第1変換関数取得ステップと、
前記第1ロボット制御座標系における前記制御位置を、前記第1変換関数を用いて前記理想座標系における前記目標位置に変換し、前記目標位置に基づいて新たな前記制御位置を決定する制御位置決定ステップと、を含む。
【0008】
本発明のロボットシステムは、ロボットと、前記ロボットの駆動を制御する制御装置と、を有し、前記制御装置が前記ロボットの目標位置に対する制御位置を決定するロボットシステムであって、
前記制御装置は、3点以上の理想座標系での実基準位置を取得し、
前記ロボットの制御点が各前記実基準位置に位置しているときの第1ロボット制御座標系での第1制御基準位置を取得し、
前記実基準位置と前記第1制御基準位置とに基づいて、前記第1ロボット制御座標系における前記制御位置と前記理想座標系における前記目標位置との対応関係を表す第1変換関数を取得し、
前記第1ロボット制御座標系における前記制御位置を、前記第1変換関数を用いて前記理想座標系における前記目標位置に変換し、前記目標位置に基づいて新たな前記制御位置を決定する。
【図面の簡単な説明】
【0009】
図1】好適な実施形態に係るロボットシステムの構成図である。
図2】架台の使用方法を示す図である。
図3】架台の変形例を示す図である。
図4】制御装置のブロック図である。
図5】ロボットの位置制御の誤差を示す図である。
図6】制御方法を示すフローチャートである。
図7】ロボット動作の一例を示す図である。
図8】制御位置決定用の図形を示す図である。
図9】制御位置決定用の図形を示す図である。
図10】制御位置決定用の図形を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の制御方法およびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。
【0011】
図1は、好適な実施形態に係るロボットシステムの構成図である。図2は、架台の使用方法を示す図である。図3は、架台の変形例を示す図である。図4は、制御装置のブロック図である。図5は、ロボットの位置制御の誤差を示す図である。図6は、制御方法を示すフローチャートである。図7は、ロボット動作の一例を示す図である。図8ないし図10は、それぞれ、制御位置決定用の図形を示す図である。
【0012】
図1に示すロボットシステム1は、ロボット2と、ロボット2の駆動を制御する制御装置3と、架台5と、を有している。なお、図1には、3次元空間の直交座標系を規定する3つの軸であるX軸、Y軸、Z軸を図示している。X軸およびY軸は、水平方向の軸であり、Z軸は、鉛直方向の軸である。以下では、この3次元空間(実空間)を「理想座標系」とも言う。
【0013】
図1に示すように、ロボット2は、駆動軸を6つ有する6軸垂直多関節ロボットである。ロボット2は、基台21と、基台21に回動自在に連結されているロボットアーム22と、ロボットアーム22の先端に装着されているエンドエフェクター23と、を有している。また、ロボットアーム22は、複数のアーム221、222、223、224、225、226が回動自在に連結されてなるロボティックアームであり、6つの関節J1、J2、J3、J4、J5、J6を備えている。これら6つの関節J1~J6のうち、関節J2、J3、J5は、それぞれ、曲げ関節であり、関節J1、J4、J6は、それぞれ、ねじり関節である。
【0014】
関節J1、J2、J3、J4、J5、J6には、それぞれ、図示しないモーターとエンコーダーとが設置されている。制御装置3は、ロボットシステム1の運転中、各関節J1~J6について、エンコーダーの出力が示す関節の回転角度を制御位置に一致させるサーボ制御(フィードバック制御)を実行する。これにより、ロボット2を所望の姿勢とすることができる。
【0015】
エンドエフェクター23は、ロボット2に行わせる作業に合わせて適宜選択することができる。また、エンドエフェクター23の先端部には、ロボット2の制御点TCPが設定されている。制御点TCPの位置は、任意に設定することができるが、後述する位置決め治具51を用いて制御点TCPの位置を決定するためには、本実施形態のように制御点TCPをエンドエフェクター23の先端部に設定することが好ましい。
【0016】
以上、ロボット2について説明したが、ロボット2の構成は、特に限定されない。例えば、スカラロボット(水平多関節ロボット)、上述のロボットアーム22を2本備えた双腕ロボット等であってもよい。また、基台21が固定されていない自走式のロボットであってもよい。
【0017】
架台5は、ロボット2の位置ずれを低減するための第1変換関数および第2変換関数を取得する際に用いられるものであり、ロボット作業中は、使用しない。
【0018】
ロボット2の位置ずれについて簡単に説明すると、ロボットシステム1では、制御装置3が図示しないホストコンピューター等から受け付けた目標位置に基づいてロボット2の駆動を制御する。具体的には、制御装置3は、各アーム221~226の長さ、各関節J1~J6の回転軸原点、各関節J1~J6の平行度および直交度等の設計上の機構パラメーターに基づいて制御点TCPの位置を算出し、制御点TCPが目標位置に一致するようにロボット2の駆動を制御する。
【0019】
しかしながら、部品ばらつき、組立ばらつき等により実際の機構パラメーターが設計上の機構パラメーターに対してずれる場合がある。このように、実際の機構パラメーターにずれが生じると、計算上の制御点TCPの位置が実際の制御点TCPの位置からずれるため、制御上では制御点TCPを目標位置に一致させても、実際には制御点TCPが目標位置からずれてしまう。なお、以下では、このずれを「位置制御の誤差」とも言う。
【0020】
そこで、ロボットシステム1では、理想座標系とロボット制御座標系との対応関係を示し、位置制御の誤差を低減するための変換関数を取得するよう構成されている。架台5は、この変換関数の取得に利用される道具である。図1に示すように、架台5は、4つの位置決め治具51を有している。各位置決め治具51は、制御点TCPの位置決めを行う際に使用される治具である。なお、位置決め治具51の数は、3つ以上であれば、特に限定されない。
【0021】
また、位置決め治具51の先端には実基準位置RPが設定されている。なお、理想座標系における各位置決め治具51の実基準位置RPの間の3次元的な位置関係は、予め測定されている。そして、図2に示すように、ロボット2の制御点TCPを実基準位置RPに接触させることで、そのときのロボット制御座標系における制御位置を実基準位置RPに対応する制御基準位置として取得することができる。
【0022】
なお、位置決め治具としては、特に限定されず、例えば、図3に示すような位置決め治具53を用いてもよい。位置決め治具53は、平板状の基板531と、基板531の上に設置されているL字状の壁部532と、を有している。壁部532は、直角に屈曲しており、壁部532の屈曲部と基板531の表面とが接する点に実基準位置RPが設定されている。一方、ロボットアーム22の先端には、位置決め補助具54が接続されている。この位置決め補助具54は、直方体状の形状を有し、その底面の頂点に制御点TCPが設定されている。
【0023】
制御点TCPを位置決め治具53の実基準位置RPに接触させることで、そのときのロボット制御座標系の制御位置を実基準位置RPに対応する制御基準位置として取得することができる。また、位置決め治具53と位置決め補助具54が3つの面で互いに接した状態ではロボット2の制御点TCPの姿勢も一意に決まるので、そのときのロボット制御座標系の制御姿勢を、実基準位置RPでの実姿勢に対応する制御基準姿勢として取得することが可能である。
【0024】
なお、上述したような位置決め治具51、53を使用することなく、3次元測定器を用いてロボット制御座標系の実基準位置と制御基準位置とを取得してもよい。この場合には、まず、ロボット制御座標系の制御基準位置を用いてロボット2の制御点TCPを位置決めし、その状態において、制御点TCPの理想座標系における3次元位置を3次元位置測定器で測定して実基準位置RPとする。
【0025】
制御装置3は、ロボット2の駆動を制御する。図4に示すように、制御装置3は、例えば、コンピューターから構成され、プロセッサー31と、メモリー32と、インターフェイス回路33と、インターフェイス回路33に接続されている入力デバイス34および表示部35と、を有している。
【0026】
プロセッサー31は、ロボット2の制御位置を決定する制御位置決定部310として機能する。制御位置決定部310の機能は、プロセッサー31がメモリー32に格納されたコンピュータープログラムを実行することによって実現される。ただし、制御位置決定部310の機能の一部または全部をハードウェア回路で実現してもよい。
【0027】
メモリー32には、制御位置補正データCDと、動作プログラムMPが格納されている。また、制御位置補正データCDは、後述する図形Gや第1、第2変換関数A11、A12、A2を含んでいる。また、動作プログラムMPは、ロボット2を動作させる複数の動作命令で構成されている。
【0028】
次に、図5に基づいて、ロボット2の位置制御の誤差について説明する。図5の左側は、ロボット制御座標系における制御位置を示し、右側は、理想座標系における位置制御の誤差を示している。「ロボット制御座標系」とは、ロボット2を制御するための動作命令で使用されるロボット2の位置や姿勢を表現する座標系である。
【0029】
図5に示す例では、ロボット制御座標系においてX方向およびY方向に30mm間隔で制御位置が設定されている状態を想定しており、理想座標系に描かれた矢印は、位置制御の誤差を示している。すなわち、矢印の起点が目標位置であり、矢印の先側が誤差を含む制御点TCPである。ただし、図示の便宜上、誤差量を200倍にして矢印の長さを描いている。
【0030】
このような位置制御の誤差を低減するために、従来から、変換係数等を用いて理想座標系における目標位置をロボット制御座標系における制御位置に変換し、この制御位置に基づいてロボット2の駆動を制御する方法が用いられている。
【0031】
しかしながら、このような方法では、次のような問題が生じる。前述したように、各アーム221~226の長さ、各関節J1~J6の回転軸原点、各関節J1~J6の平行度および直交度等の実際の機構パラメーターが設計上の機構パラメーターに対してずれることにより、ロボット制御座標系と理想座標系との間にずれが生じる。また、関節J1~J6やアーム221~226を交換した場合、ロボット2の設置場所を変えた場合、エンドエフェクター23を変えた場合、環境温度等で、機構パラメーターが変化するおそれがある。このように、機構パラメーターが変化すると、それに伴ってロボット制御座標系も変化する。以下では、説明の便宜上、変化前のロボット制御座標系を第1ロボット制御座標系とも言い、変化後のロボット制御座標系を第2ロボット制御座標系とも言う。
【0032】
ここで、ロボット制御座標系における制御位置の決定方法には、理想座標系における目標位置をロボット制御座標系における制御位置に変換する方法の他にも、ダイレクトティーチのようにロボット制御座標系に直接、制御位置を設定する方法がある。なお、以下では、説明の便宜上、前者の方法を第1決定方法とも言い、後者の方法を第2決定方法とも言う。
【0033】
このような方法によって第1ロボット制御座標系での制御位置を決定した後で、上述した種々の要因によってロボット制御座標系が第1ロボット制御座標系から第2ロボット制御座標系に変化した場合、そのままの制御位置つまり第1ロボット制御座標系における制御位置に基づいてロボット2の駆動を制御すると、位置制御の誤差が生じてしまう。そのため、第1ロボット制御座標系における制御位置を第2ロボット制御座標系における制御位置に補正しなければならない。
【0034】
第1決定方法で制御位置が決定されている場合には、その制御位置は、理想座標系における目標位置を有しているため、その目標位置を第2ロボット制御座標系における制御位置に変換すれば、第2ロボット制御座標系における新たな制御位置を決定することができる。これに対して、第2決定方法で制御位置が決定されている場合には、その制御位置は、理想座標系での目標位置を持たないため、第1決定方法と同じ方法を用いて第2ロボット制御座標系への変換を行うことができない。そこで、ロボットシステム1では、第2決定方法で制御位置が決定されている場合でも、第1決定方法と同じ方法で第2ロボット制御座標系における新たな制御位置を決定することができるように構成されている。これにより、位置制御の誤差を効果的に低減することができる。以下、制御装置3によるロボット2の制御方法を説明する。
【0035】
図6に示すように、ロボット2の制御方法は、実基準位置取得ステップS1と、第1制御基準位置取得ステップS2と、第1変換関数取得ステップS3と、目標位置等取得ステップS4と、第1制御位置決定ステップS5と、ロボット制御座標系確認ステップS6と、第2制御基準位置取得ステップS7と、第2変換関数取得ステップS8と、第2制御位置決定ステップS9と、ロボット制御ステップS10と、を含んでいる。以下、これら各ステップS1~S10について順に説明する。
【0036】
[実基準位置取得ステップS1]
実基準位置取得ステップS1では、制御位置決定部310は、3点以上の理想座標系での実基準位置RPを取得する。前述したように、本実施形態では、架台5が4つの位置決め治具51を有しており、その先端に実基準位置RPが設定されている。そのため、本実施形態では、図7に示すように、制御位置決定部310は、4つの実基準位置RP1、RP2、RP3、RP4を取得する。
【0037】
[第1制御基準位置取得ステップS2]
第1制御基準位置取得ステップS2では、制御位置決定部310は、制御点TCPが実基準位置RPに位置しているときの第1ロボット制御座標系での第1制御基準位置CP1を取得する。具体的には、まず、制御位置決定部310は、制御点TCPを実基準位置RP1に位置させる。次に、制御位置決定部310は、制御点TCPが実基準位置RP1に位置しているときの制御点TCPの第1ロボット制御座標系での位置である第1制御基準位置CP11を取得する。制御位置決定部310は、他の実基準位置RP2、RP3、RP4についても同様の作業を行い、第1制御基準位置CP12、CP13、CP14を取得する。以上により、制御位置決定部310は、4つの第1制御基準位置CP11、CP12、CP13、CP14を取得する。
【0038】
[第1変換関数取得ステップS3]
第1変換関数取得ステップS3では、制御位置決定部310は、まず、図8に示すように、3つの実基準位置RPを頂点とする三角形の図形Gを理想座標系内に設定する。なお、前述したように、実基準位置取得ステップS1において4つの実基準位置RP1~RP4を取得しているため、本実施形態では、4個の実基準位置RP1~RP4で囲まれた領域が2つの三角形の図形G1、G2に分割されている。分割方法としては、例えば、ドロネー三角形分割等の任意の分割方法を用いることが可能である。
【0039】
次に、制御位置決定部310は、図9に示すように、各図形G1、G2内における目標位置と制御位置との対応関係を表す第1変換関数を求める。なお、制御位置決定部310は、第1変換関数として、理想座標系での目標位置をロボット制御座標系での制御位置に変換する第1変換関数A11と、ロボット制御座標系での制御位置を理想座標系での目標位置に変換する第1変換関数A12と、を求める。第1変換関数A12は、第1変換関数A11の逆変換関数である。
【0040】
図形G1における第1変換関数A11は、図形G1の頂点である実基準位置RP1、RP2、RP3と、これらに対応する第1制御基準位置CP11、CP12、CP13と、の差に基づいて求める。また、図形G2における第1変換関数A11は、図形G2の頂点である実基準位置RP2、RP3、RP4と、これらに対応する第1制御基準位置CP12、CP13、CP14と、の差に基づいて求める。また、第1変換関数A12は、求めた第1変換関数A11から求めることができる。第1変換関数A11、A12は、それぞれ、以下の式で表すことができる。
【0041】
【数1】
【0042】
【数2】
【0043】
式中のPctrlは、第1ロボット制御座標系における制御位置、Prealは、理想座標系における目標位置である。また、Xctrlは、第1ロボット制御座標系における制御位置のX座標であり、Yctrlは、第1ロボット制御座標系における制御位置のY座標である。また、Xrealは、理想座標系における目標位置のX座標であり、Yrealは、理想座標系における目標位置のY座標である。また、A11、A12は、第1変換関数であり、アフィン変換を表す変換式である。また、a11、a12、a21、a22、b1、b2は、それぞれ、係数であり、第1変換関数A11、A12毎および図形G1、G2毎に異なる。このような第1変換関数A11を用いることにより、容易かつ精度よく、目標位置Prealを制御位置Pctrlに変換することができる。また、第1変換関数A12を用いることにより、容易かつ精度よく、制御位置Pctrlを目標位置Prealに変換することができる。
【0044】
このような第1変換関数A11、A12を用いた変換は、平行移動および回転移動以外の方法による座標変換演算である。
【0045】
なお、図形Gの形状は、三角形でなくてもよく、第1変換関数は、アフィン変換でなくてもよい。例えば、図形Gを四角形とし、第1変換関数を射影変換としてもよい。また、複数種類の多角形を混在させた状態に分割し、それぞれの図形G毎に第1変換関数を変えてもよい。また、図形Gを立体図形としてもよい。第1変換関数は、変換式として構成してもよく、ルックアップテーブルのような他の形式で構成してもよい。
【0046】
[目標位置等取得ステップS4]
目標位置等取得ステップS4では、制御位置決定部310は、制御点TCPの目標位置または制御位置の入力を受け付ける。目標位置は、例えば、作業者が入力デバイス34を用いて理想座標系での位置として入力することができる。また、制御位置は、例えば、作業者がダイレクトティーチ等によって、直接、ロボット制御座標系での位置として入力することができる。なお、作業者が動作プログラムMPを作成し、その中の動作指令に制御点TCPの目標位置や制御位置が記述されている場合には、制御位置決定部310が動作プログラムMPの動作指令に含まれている目標位置や制御位置を取得することで本ステップを実行してもよい。
【0047】
なお、以下では、下記の表1に示すように、目標位置Q1、Q2と制御位置P3とを受け付け、目標位置Q1、目標位置Q2、制御位置P3の順に1周するロボット動作を1サイクルとし、このサイクルを所定回数繰り返す場合を例に挙げて説明する。
【0048】
【表1】
【0049】
[第1制御位置決定ステップS5]
第1制御位置決定ステップS5では、制御位置決定部310は、目標位置Q1、Q2に対して次の処理を行う。制御位置決定部310は、まず、図形G1、G2から、目標位置Q1を含む対象図形を選択する。次に、制御位置決定部310は、選択した対象図形に対応する第1変換関数A11を用いて目標位置Q1に対する第1ロボット制御座標系における制御位置を算出する。目標位置Q1が図形G1内に位置していれば、図形G1に対応する第1変換関数A11を用いて目標位置Q1に対する第1ロボット制御座標系における制御位置を算出する。また、目標位置Q1が図形G2内に位置していれば、図形G2に対応する第1変換関数A11を用いて目標位置Q1に対する第1ロボット制御座標系における制御位置を算出する。この場合、例えば、上述した式(1)を用い、Prealに目標位置Q1の座標値を入力することにより、Pctrlを目標位置Q1に対する制御位置として算出することができる。
【0050】
同様に、制御位置決定部310は、まず、図形G1、G2から、目標位置Q2を含む対象図形を選択する。次に、制御位置決定部310は、選択した対象図形に対応する第1変換関数A11を用いて目標位置Q2に対する第1ロボット制御座標系における制御位置を算出する。目標位置Q2が図形G1内に位置していれば、図形G1に対応する第1変換関数A11を用いて目標位置Q2に対する第1ロボット制御座標系における制御位置を算出する。また、目標位置Q2が図形G2内に位置していれば、図形G2に対応する第1変換関数A11を用いて目標位置Q2に対する第1ロボット制御座標系における制御位置を算出する。この場合、例えば、上述した式(1)を用い、Prealに目標位置Q2の座標値を入力することにより、Pctrlを目標位置Q2に対する制御位置として算出することができる。
【0051】
以上により、下記の表2に示すように、目標位置Q1、Q2の第1ロボット制御座標系における制御位置P1、P2が得られる。
【0052】
【表2】
【0053】
次に、制御位置決定部310は、上述の方法で算出した目標位置Q1、Q2の第1ロボット制御座標系における制御位置P1、P2と、目標位置等取得ステップS4で取得した制御位置P3と、を用いて動作指令を作成する。なお、動作指令を含む動作プログラムMPが予め作成されている場合には、動作指令に含まれている目標位置を、上述のようにして決定した制御位置に置き換えることによって当該処理を実行することができる。
【0054】
[ロボット制御座標系確認ステップS6]
ロボット制御座標系確認ステップS6では、制御位置決定部310は、ロボット制御座標系が第1ロボット制御座標系のままであるかを確認する。第1ロボット制御座標系のままである場合、制御位置決定部310は、ロボット制御ステップS10に移行する。これに対して、ロボット制御座標系が第1ロボット制御座標系から第2ロボット制御座標系に変化した場合、制御位置決定部310は、第2制御基準位置取得ステップS7に移行する。
【0055】
[第2制御基準位置取得ステップS7]
第2制御基準位置取得ステップS7では、制御位置決定部310は、制御点TCPが実基準位置RPに位置しているときの第2ロボット制御座標系での第2制御基準位置CP2を取得する。具体的には、まず、制御位置決定部310は、制御点TCPを実基準位置RP1に位置させる。次に、制御位置決定部310は、図10に示すように、制御点TCPが実基準位置RP1に位置しているときの制御点TCPの第2ロボット制御座標系での位置である第2制御基準位置CP21を取得する。制御位置決定部310は、他の実基準位置RP2、RP3、RP4についても同様の作業を行い、第2制御基準位置CP22、CP23、CP24を取得する。以上により、制御位置決定部310は、4つの第2制御基準位置CP21、CP22、CP23、CP24を取得する。
【0056】
[第2変換関数取得ステップS8]
第2変換関数取得ステップS8では、制御位置決定部310は、図10に示すように、各図形G1、G2内における目標位置と制御位置との対応関係を表す第2変換関数A2を求める。図形G1における第2変換関数A2は、図形G1の頂点である実基準位置RP1、RP2、RP3と、これらに対応する第2制御基準位置CP21、CP22、CP23と、の差に基づいて求める。また、図形G2における第2変換関数A2は、図形G2の頂点である実基準位置RP2、RP3、RP4と、これらに対応する第2制御基準位置CP22、CP23、CP24と、の差に基づいて求める。第2変換関数A2は、以下の式で表すことができる。
【0057】
【数3】
【0058】
式中のPctrlは、第2ロボット制御座標系における制御位置、Prealは、理想座標系における目標位置である。また、Xctrlは、第2ロボット制御座標系における制御位置のX座標であり、Yctrlは、第2ロボット制御座標系における制御位置のY座標である。また、Xrealは、理想座標系における目標位置のX座標であり、Yrealは、理想座標系における目標位置のY座標である。また、A2は、第2変換関数であり、アフィン変換を表す変換式である。また、a11、a12、a21、a22、b1、b2は、それぞれ、係数であり、図形G1、G2毎に異なる。なお、これらの係数は、第1変換関数A11で用いられたものと異なってもよい。このような第2変換関数A2を用いることにより、容易かつ精度よく、目標位置Prealを制御位置Pctrlに変換することができる。
【0059】
[第2制御位置決定ステップS9]
第2制御位置決定ステップS9では、目標位置等取得ステップS4で受け付けた目標位置Q1、Q2および制御位置P3に対する第2ロボット制御座標系での制御位置を決定する。
【0060】
目標位置Q1、Q2に対して、制御位置決定部310は、次の処理を行う。制御位置決定部310は、前述した第1制御位置決定ステップS5と同様に、図形G1に対応する第2変換関数A2を用いて目標位置Q1に対する第2ロボット制御座標系での制御位置P10を算出する。同様に、図形G2に対応する第2変換関数A2を用いて目標位置Q2に対する第2ロボット制御座標系での制御位置P20を算出する。この結果を下記の表3に示す。
【0061】
【表3】
【0062】
また、制御位置P3に対して、制御位置決定部310は、次の処理を行う。前述したように、制御位置P3は、第1ロボット制御座標系に直接設定されているため、理想座標系での目標位置を有していない。そのため、制御位置決定部310は、まず、第1変換関数A12を用いて、制御位置P3の理想座標系での目標位置Q3を求める。この場合、例えば、上述した式(5)を用い、Pctrlに制御位置P3の座標値を入力することにより、Prealを理想座標系での目標位置Q3として算出することができる。
【0063】
次に、制御位置決定部310は、図形G1、G2から、目標位置Q3を含む対象図形を選択する。次に、制御位置決定部310は、選択した対象図形に対応する第2変換関数A2を用いて目標位置Q3に対する第2ロボット制御座標系での制御位置P30を算出する。この場合、上述した式(9)を用い、Prealに目標位置Q3の座標値を入力することにより、Pctrlを制御位置P30として算出することができる。これにより、第2ロボット制御座標系での制御位置P30を精度よく算出することができる。この結果を下記の表4に示す。
【0064】
【表4】
【0065】
次に、制御位置決定部310は、上述の方法で算出した第2ロボット制御座標系での制御位置P10、P20、P30を用いて動作指令を作成する。なお、動作指令を含む動作プログラムMPが予め作成されている場合には、動作指令に含まれている目標位置や制御位置を、上述のようにして決定した制御位置に置き換えることによって当該処理を実行することができる。以上のようにして、目標位置Q1、Q2および制御位置P3が第2ロボット制御座標系での新たな制御位置P10、P20、P30に置き換えられる。
【0066】
なお、上述のように、第1ロボット制御座標系における制御位置P3をそのまま第2ロボット制御座標系における新たな制御位置P30に変換する場合の他にも、第1ロボット制御座標系における制御位置P3から相対移動させて第2ロボット制御座標系における新たな制御位置P30に変換する場合も想定される。ここで言う、相対移動としては、例えば、X軸方向やY軸方向への平行移動、Z軸まわりの回転移動等が挙げられる。このような場合、制御位置決定部310は、まず、第1変換関数A12を用いて、制御位置P3の理想座標系での目標位置Q3を求める。次に、目標位置Q3に相対移動量を加えて目標位置Q3’を求める。ここで、相対移動量とは、所定の位置からの移動量のことであり、目標位置Q3に相対移動量を加えて目標位置Q3’を求めるとは、目標位置Q3の座標(x3,y3,z3)に対して移動量を加えて、目標位置Q3’の座標を求めるということである。そして、その後、目標位置Q3’を第2変換関数A2を用いて第2ロボット制御座標系での制御位置P30に変換する。このように、制御位置P3ではなく、目標位置Q3に相対移動量を加えることにより、精度よく、第2ロボット制御座標系での制御位置P30を算出することができる。
【0067】
[ロボット制御ステップS10]
ロボット制御ステップS10では、制御位置決定部310は、作成した動作指令を含む最新の動作プログラムMPを用いてロボット2の駆動を制御する。ロボット動作の1サイクルが終了すると、制御位置決定部310は、ロボット動作が所定回数に到達したかを判定する。到達していれば、ロボット2の駆動を停止し、到達していなければ、ロボット制御座標系確認ステップS6に戻る。なお、ロボット制御座標系確認ステップS6に戻る毎に、現状のロボット制御座標系が第1ロボット制御座標系となり、変化後のロボット制御座標が第2ロボット制御座標系となる。
【0068】
以上のような制御方法によれば、第1ロボット制御座標系に直接設定された制御位置P3について理想座標系における目標位置Q3を算出している。そのため、制御位置P3についても、目標位置Q1、Q2と同じ方法で新たなロボット制御座標系における制御位置を決定することができる。そのため、簡単な方法で、位置精度の誤差を効果的に低減することができ、優れた動作精度を発揮することができるロボットシステム1となる。
【0069】
また、第1ロボット制御座標系における制御位置P3を第2ロボット制御座標系における新たな制御位置P30に変換することなく、相対移動させる場合にも、理想座標系での目標位置O3に対して相対移動量を加えることが望ましい。これは、第1ロボット制御座標系で相対移動量を加えてしまうと、理想座標系での量とは差があり、意図した相対移動量とならないことを防ぐためである。具体的には、第1変換関数A12を用いて、制御位置P3の理想座標系での目標位置Q3を求める。次に、目標位置Q3に相対移動量を加えて目標位置Q3’を求める。そして、その後、目標位置Q3’を第1変換関数A11を用いて第1ロボット制御座標系での制御位置P3’に変換する。このように、制御位置P3ではなく、目標位置Q3に相対移動量を加えることにより、精度よく相対移動量を加えることができる。
【0070】
以上、ロボットシステム1について説明した。このようなロボットシステム1の制御方法は、前述したように、ロボット2の目標位置に対する制御位置を決定する制御方法であって、3点以上の理想座標系での実基準位置RPを取得する実基準位置取得ステップS1と、ロボット2の制御点TCPが各実基準位置RPに位置しているときの第1ロボット制御座標系での第1制御基準位置CP1を取得する第1制御基準位置取得ステップS2と、実基準位置RPと第1制御基準位置CP1とに基づいて、第1ロボット制御座標系における制御位置と理想座標系における目標位置との対応関係を表す第1変換関数A12を取得する第1変換関数取得ステップS3と、第1ロボット制御座標系における制御位置P3を、第1変換関数A12を用いて理想座標系における目標位置Q3に変換し、目標位置Q3に基づいて新たな制御位置P30を決定する制御位置決定ステップとしての第2制御位置決定ステップS9と、を含む。このような制御方法によれば、第1ロボット制御座標系に直接設定された制御位置P3についても、理想座標系に設定された目標位置Q1、Q2と同じ方法で新たなロボット制御座標系における制御位置P30を決定することができる。そのため、簡単な方法で、位置精度の誤差を効果的に低減することができ、優れた動作精度を発揮することができるロボットシステム1となる。
【0071】
また、前述したように、第1ロボット制御座標系における制御位置P3は、第1ロボット制御座標系に直接設定される。このように、理想座標系における目標位置を有さない制御位置P3についても、目標位置Q1、Q2と同様の方法で、新たなロボット制御座標系における制御位置P30を決定することができる。そのため、制御位置の算出が容易となる。
【0072】
また、前述したように、制御位置を設定するロボット制御座標系が第1ロボット制御座標系から第2ロボット制御座標系に変更された場合、第2制御位置決定ステップS9に先立って、制御点TCPが実基準位置RPに位置しているときの第2ロボット制御座標系での第2制御基準位置CP2を取得する第2制御基準位置取得ステップS7と、実基準位置RPと第2制御基準位置CP2とに基づいて、理想座標系における目標位置を第2ロボット制御座標系における制御位置に変換する第2変換関数A2を取得する第2変換関数取得ステップS8と、を含み、第2制御位置決定ステップS9では、第1ロボット制御座標系における制御位置P3を、第1変換関数A12を用いて理想座標系における目標位置Q3に変換した後、第2変換関数A2を用いて第2ロボット制御座標系における新たな制御位置P30に変換する。これにより、第2ロボット制御座標系での制御位置P30を精度よく算出することができる。
【0073】
また、前述したように、第1制御位置決定ステップS5または第2制御位置決定ステップS9では、第1ロボット制御座標系における制御位置P3を、第1変換関数A12を用いて理想座標系における目標位置Q3に変換し、目標位置Q3に相対移動量を加え、その後、第1変換関数A11を用いて第1ロボット制御座標系での制御位置P3’に変換または第2変換関数A2を用いて第2ロボット制御座標系における新たな制御位置P30に変換する。これにより、相対移動量を精度よく加えることができる。
【0074】
また、前述したように、第1変換関数取得ステップS3では、3つ以上の実基準位置RPを頂点とする少なくとも1つの図形Gを理想空間内に設定し、図形G内における目標位置と制御位置との対応関係を表す第1変換関数A11、A12を求める。これにより、第1ロボット制御座標系での制御位置を精度よく算出することができる。
【0075】
また、前述したように、ロボットシステム1は、ロボット2と、ロボット2の駆動を制御する制御装置3と、を有し、制御装置3がロボット2の目標位置に対する制御位置を決定するロボットシステム1であって、制御装置3は、理想座標系での実基準位置RPを取得し、ロボット2の制御点TCPが実基準位置RPに位置しているときの第1ロボット制御座標系での第1制御基準位置CP1を取得し、実基準位置RPと第1制御基準位置CP1とに基づいて、第1ロボット制御座標系における制御位置と理想座標系における目標位置との対応関係を表す第1変換関数A12を取得し、第1ロボット制御座標系における制御位置P3を、第1変換関数A12を用いて理想座標系における目標位置Q3に変換し、目標位置Q3に基づいて新たな制御位置P30を決定する。このような構成によれば、第1ロボット制御座標系に直接設定された制御位置P3についても、理想座標系に設定された目標位置Q1、Q2と同じ方法で新たなロボット制御座標系における制御位置P30を決定することができる。そのため、簡単な方法で、位置精度の誤差を効果的に低減することができ、優れた動作精度を発揮することができるロボットシステム1となる。
【0076】
以上、本発明の制御方法およびロボットシステムを図示の実施形態に基づいて説明したが本発明はこれに限定されるものではない。各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。
【符号の説明】
【0077】
1…ロボットシステム、2…ロボット、21…基台、22…ロボットアーム、221…アーム、222…アーム、223…アーム、224…アーム、225…アーム、226…アーム、23…エンドエフェクター、3…制御装置、31…プロセッサー、310…制御位置決定部、32…メモリー、33…インターフェイス回路、34…入力デバイス、35…表示部、5…架台、51…位置決め治具、53…位置決め治具、531…基板、532…壁部、54…位置決め補助具、CD…制御位置補正データ、CP1…第1制御基準位置、CP11…第1制御基準位置、CP12…第1制御基準位置、CP13…第1制御基準位置、CP14…第1制御基準位置、CP2…第2制御基準位置、CP21…第2制御基準位置、CP22…第2制御基準位置、CP23…第2制御基準位置、CP24…第2制御基準位置、G…図形、G1…図形、G2…図形、J1…関節、J2…関節、J3…関節、J4…関節、J5…関節、J6…関節、MP…動作プログラム、RP…実基準位置、RP1…実基準位置、RP2…実基準位置、RP3…実基準位置、RP4…実基準位置、S1…実基準位置取得ステップ、S2…第1制御基準位置取得ステップ、S3…第1変換関数取得ステップ、S4…目標位置等取得ステップ、S5…第1制御位置決定ステップ、S6…ロボット制御座標系確認ステップ、S7…第2制御基準位置取得ステップ、S8…第2変換関数取得ステップ、S9…第2制御位置決定ステップ、S10…ロボット制御ステップ、TCP…制御点
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10