(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024027267
(43)【公開日】2024-03-01
(54)【発明の名称】制御方法およびロボットシステム
(51)【国際特許分類】
B25J 9/10 20060101AFI20240222BHJP
【FI】
B25J9/10 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022129928
(22)【出願日】2022-08-17
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】石塚 諒
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS14
3C707BS12
3C707DS01
3C707KS05
3C707KS17
3C707KS20
3C707LT12
3C707LT17
3C707LT18
3C707LV19
3C707LW11
3C707MT04
(57)【要約】
【課題】高い位置精度を有する制御方法およびロボットシステムを提供する。
【解決手段】ロボットの目標位置に対する制御位置を決定する制御方法であって、第1補正領域を規定する3点以上の実空間での第1実基準位置を取得する第1実基準位置取得ステップと、第1補正領域の外側に隣接する第2補正領域を規定する3点以上の実空間での第2実基準位置を取得する第2実基準位置取得ステップと、前記第1補正領域における前記目標位置の第1補正量を取得する第1補正量取得ステップと、前記第2補正領域における前記目標位置の第2補正量を取得する第2補正量取得ステップと、前記第1補正量または前記第2補正量に基づいて前記制御位置を決定する制御位置決定ステップと、を含み、前記第2補正量は、前記第2補正領域の外縁に向かって漸減している。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ロボットの目標位置に対する制御位置を決定する制御方法であって、
第1補正領域を規定する3点以上の実空間での第1実基準位置を取得する第1実基準位置取得ステップと、
第1補正領域の外側に隣接する第2補正領域を規定する3点以上の実空間での第2実基準位置を取得する第2実基準位置取得ステップと、
前記第1補正領域における前記目標位置の第1補正量を取得する第1補正量取得ステップと、
前記第2補正領域における前記目標位置の第2補正量を取得する第2補正量取得ステップと、
前記第1補正量または前記第2補正量に基づいて前記制御位置を決定する制御位置決定ステップと、を含み、
前記第2補正量は、前記第2補正領域の外縁に向かって漸減していることを特徴とする制御方法。
【請求項2】
前記制御位置決定ステップでは、
前記目標位置が前記第1補正領域内に位置する場合は、前記第1補正量に基づいて前記制御位置を決定し、
前記目標位置が前記第2補正領域内に位置する場合は、前記第2補正量に基づいて前記制御位置を決定する請求項1に記載の制御方法。
【請求項3】
前記第1補正量取得ステップは、前記ロボットの制御点が前記第1実基準位置に位置しているときのロボット制御座標系での前記制御点の位置である第1制御基準位置を取得するステップと、
前記第1実基準位置と前記第1制御基準位置とに基づいて、前記第1補正領域内の実位置と制御位置との対応関係を表す第1変換関数を求めるステップと、を含み、
前記制御位置決定ステップでは、前記目標位置が前記第1補正領域内に位置する場合、前記第1変換関数を用いて前記制御位置を算出する請求項1に記載の制御方法。
【請求項4】
前記第2補正領域の外縁における前記第2補正量は、ゼロである請求項1に記載の制御方法。
【請求項5】
前記第2補正量取得ステップは、各前記第2実基準位置に対応する第2制御基準位置を前記第2実基準位置と等しい値に設定するステップと、
前記第2実基準位置と前記第2制御基準位置とに基づいて、前記第2補正領域内の実位置と制御位置との対応関係を表す第2変換関数を求めるステップと、を含み、
前記制御位置決定ステップでは、前記目標位置が前記第2補正領域内に位置する場合、前記第2変換関数を用いて前記制御位置を算出する請求項4に記載の制御方法。
【請求項6】
ロボットと、前記ロボットの駆動を制御する制御装置と、を有し、前記制御装置が前記ロボットの目標位置に対する制御位置を決定するロボットシステムであって、
前記制御装置は、
第1補正領域を規定する3点以上の実空間での第1実基準位置を取得し、
第1補正領域の外側に隣接する第2補正領域を規定する3点以上の実空間での第2実基準位置を取得し、
前記第1補正領域における前記目標位置の第1補正量を取得し、
前記第2補正領域における前記目標位置の第2補正量を取得し、
前記第1補正量または前記第2補正量に基づいて前記制御位置を決定し、
前記第2補正量は、前記第2補正領域の外縁に向かって漸減していることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御方法およびロボットシステムに関する。
【背景技術】
【0002】
例えば、特許文献1に記載されているロボットシステムは、ロボット作業環境内に複数の作業原点を設定し、カメラの撮像画像に基づいて複数の作業原点のそれぞれについて計測位置を取得し、計測位置に基づいて各作業原点の位置情報を補正することによりロボットの動作精度を向上させる構成となっている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1のロボットシステムでは、ロボットが複数の作業原点で囲まれる補正座標範囲を超えて動作する場合、補正座標範囲を跨ぐ際に補正のあり/なしが瞬間的に切り替わるため、不連続な動作となってしまう場合がある。
【課題を解決するための手段】
【0005】
本発明の制御方法は、ロボットの目標位置に対する制御位置を決定する制御方法であって、
第1補正領域を規定する3点以上の実空間での第1実基準位置を取得する第1実基準位置取得ステップと、
第1補正領域の外側に隣接する第2補正領域を規定する3点以上の実空間での第2実基準位置を取得する第2実基準位置取得ステップと、
前記第1補正領域における前記目標位置の第1補正量を取得する第1補正量取得ステップと、
前記第2補正領域における前記目標位置の第2補正量を取得する第2補正量取得ステップと、
前記第1補正量または前記第2補正量に基づいて前記制御位置を決定する制御位置決定ステップと、を含み、
前記第2補正量は、前記第2補正領域の外縁に向かって漸減している。
【0006】
本発明のロボットシステムは、ロボットと、前記ロボットの駆動を制御する制御装置と、を有し、前記制御装置が前記ロボットの目標位置に対する制御位置を決定するロボットシステムであって、
前記制御装置は、
第1補正領域を規定する3点以上の実空間での第1実基準位置を取得し、
第1補正領域の外側に隣接する第2補正領域を規定する3点以上の実空間での第2実基準位置を取得し、
前記第1補正領域における前記目標位置の第1補正量を取得し、
前記第2補正領域における前記目標位置の第2補正量を取得し、
前記第1補正量または前記第2補正量に基づいて前記制御位置を決定し、
前記第2補正量は、前記第2補正領域の外縁に向かって漸減している。
【図面の簡単な説明】
【0007】
【
図1】好適な実施形態に係るロボットシステムの構成図である。
【発明を実施するための形態】
【0008】
以下、本発明の制御方法およびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。
【0009】
図1は、好適な実施形態に係るロボットシステムの構成図である。
図2は、架台の使用方法を示す図である。
図3は、架台の変形例を示す図である。
図4は、制御装置のブロック図である。
図5は、ロボットの位置制御の誤差を示す図である。
図6は、制御方法を示すフローチャートである。
図7ないし
図9は、それぞれ、制御位置決定用の図形を示す図である。
【0010】
図1に示すロボットシステム1は、ロボット2と、ロボット2の駆動を制御する制御装置3と、架台5と、を有している。なお、
図1には、3次元空間の直交座標系を規定する3つの軸であるX軸、Y軸、Z軸を図示している。X軸およびY軸は、水平方向の軸であり、Z軸は、鉛直方向の軸である。以下では、この3次元空間を「実空間」とも言う。
【0011】
図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は、それぞれ、ねじり関節である。
【0012】
関節J1、J2、J3、J4、J5、J6には、それぞれ、モーターとエンコーダーとが設置されている。制御装置3は、ロボットシステム1の運転中、各関節J1~J6について、エンコーダーの出力が示す関節の回転角度を制御位置に一致させるサーボ制御(フィードバック制御)を実行する。これにより、ロボット2を所望の姿勢とすることができる。
【0013】
エンドエフェクター23は、ロボット2に行わせる作業に合わせて適宜選択することができる。また、エンドエフェクター23の先端部には、ロボット2の制御点TCPが設定されている。制御点TCPの位置は、任意に設定することができるが、後述する位置決め治具51を用いて制御点TCPの位置を決定するためには、本実施形態のように制御点TCPをエンドエフェクター23の先端部に設定することが好ましい。
【0014】
以上、ロボット2について説明したが、ロボット2の構成は、特に限定されない。例えば、スカラロボット(水平多関節ロボット)、上述のロボットアーム22を2本備えた双腕ロボット等であってもよい。また、基台21が固定されていない自走式のロボットであってもよい。
【0015】
架台5は、ロボット2の位置ずれを低減するための変換関数を取得する際に用いられるものであり、ロボット作業中は、使用しない。
【0016】
ロボット2の位置ずれについて簡単に説明すると、ロボットシステム1では、制御装置3が目標位置に基づいてロボット2の駆動を制御する。具体的には、制御装置3は、各アーム221~226の長さ、各関節J1~J6の回転軸原点、各関節J1~J6の平行度および直交度等の設計上の機構パラメーターに基づいて制御点TCPの位置を算出し、制御点TCPが目標位置に一致するようにロボット2の駆動を制御する。
【0017】
しかしながら、部品ばらつき、組立ばらつき等により実際の機構パラメーターが設計上の機構パラメーターに対してずれる場合がある。このように、実際の機構パラメーターにずれが生じると、計算上の制御点TCPの位置が実際の制御点TCPの位置からずれるため、制御上では制御点TCPを目標位置に一致させても、実際には制御点TCPが目標位置からずれてしまう。なお、以下では、このずれを「位置制御の誤差」とも言う。
【0018】
そこで、ロボットシステム1では、上述したように、位置制御の誤差を低減するための第1、第2変換関数A1、A2を取得するよう構成されており、架台5は、第1、第2変換関数A1、A2の取得に利用される道具である。
図1に示すように、架台5は、4つの位置決め治具51を有している。各位置決め治具51は、制御点TCPの位置決めを行う際に使用される治具である。なお、位置決め治具51の数は、3つ以上であれば、特に限定されない。
【0019】
また、位置決め治具51の先端には第1実基準位置RP1が設定されている。なお、実空間における第1実基準位置RP1の3次元的な位置は、予め測定されている。そして、
図2に示すように、ロボット2の制御点TCPを第1実基準位置RP1に接触させることで、そのときのロボット制御座標系における制御位置を第1実基準位置RP1に対応する第1制御基準位置CP1として取得することができる。
【0020】
なお、位置決め治具としては、特に限定されず、例えば、
図3に示すような位置決め治具53を用いてもよい。位置決め治具53は、平板状の基板531と、基板531の上に設置されているL字状の壁部532と、を有している。壁部532は、直角に屈曲しており、壁部532の屈曲部と基板531の表面とが接する点に第1実基準位置RP1が設定されている。一方、ロボットアーム22の先端には、位置決め補助具54が接続されている。この位置決め補助具54は、直方体状の形状を有し、その底面の頂点に制御点TCPが設定されている。
【0021】
制御点TCPを位置決め治具53の第1実基準位置RP1に接触させることで、そのときのロボット制御座標系の制御位置を第1実基準位置RP1に対応する第1制御基準位置CP1として取得することができる。
【0022】
なお、上述したような位置決め治具51、53を使用することなく、3次元測定器を用いてロボット制御座標系の第1実基準位置と第1制御基準位置とを取得してもよい。この場合には、まず、ロボット制御座標系の第1制御基準位置CP1を用いてロボット2の制御点TCPを位置決めし、その状態において、制御点TCPの実空間における3次元位置を3次元位置測定器で測定して第1実基準位置RP1とする。
【0023】
制御装置3は、ロボット2の駆動を制御する。
図4に示すように、制御装置3は、例えば、コンピューターから構成され、プロセッサー31と、メモリー32と、インターフェイス回路33と、インターフェイス回路33に接続されている入力デバイス34および表示部35と、を有している。
【0024】
プロセッサー31は、ロボット2の制御位置を決定する制御位置決定部310として機能する。制御位置決定部310の機能は、プロセッサー31がメモリー32に格納されたコンピュータープログラムを実行することによって実現される。ただし、制御位置決定部310の機能の一部または全部をハードウェア回路で実現してもよい。
【0025】
メモリー32には、制御位置補正データCDと、動作プログラムMPが格納されている。また、制御位置補正データCDは、後述する図形Gや第1、第2変換関数A1、A2を含んでいる。また、動作プログラムMPは、ロボット2を動作させる複数の動作命令で構成されている。
【0026】
次に、
図5に基づいて、ロボット2の位置制御の誤差について説明する。
図5の左側は、ロボット制御座標系における制御位置を示し、右側は、実空間における位置制御の誤差を示している。「ロボット制御座標系」とは、ロボット2を制御するための動作命令で使用されるロボット2の位置や姿勢を表現する座標系である。
【0027】
図5の例では、ロボット制御座標系においてX方向及びY方向に30mm間隔で制御位置が設定されている状態を想定しており、実空間に描かれた矢印は、位置制御の誤差を示している。すなわち、矢印の起点が目標位置であり、矢印の先側が誤差を含む制御点TCPである。ただし、図示の便宜上、誤差量を200倍にして矢印の長さを描いている。このような位置制御の誤差を低減するために、制御装置3は、次のようにしてロボット2の駆動を制御する。
【0028】
図6に示すように、ロボット2の制御方法は、第1実基準位置取得ステップS1と、第2実基準位置取得ステップS2と、第1補正量取得ステップS3と、第2補正量取得ステップS4と、目標位置取得ステップS5と、制御位置決定ステップS6と、ロボット制御ステップS7と、を含んでいる。以下、これら各ステップS1~S7について順に説明する。
【0029】
[第1実基準位置取得ステップS1]
第1実基準位置取得ステップS1では、制御位置決定部310は、3点以上の実空間での第1実基準位置RP1を取得する。前述したように、本実施形態では、架台5が4つの位置決め治具51を有しており、その先端に第1実基準位置RP1が設定されている。そのため、
図7に示すように、制御位置決定部310は、4つの第1実基準位置RP11、RP12、RP13、RP14を取得する。
【0030】
これら4つの第1実基準位置RP11、RP12、RP13、RP14で囲まれる領域は、目標位置の補正が行われる第1補正領域E1である。第1補正領域E1は、第1実基準位置RP11、RP12を結ぶ直線L11と、第1実基準位置RP12、RP14を結ぶ直線L12と、第1実基準位置RP14、RP13を結ぶ直線L13と、第1実基準位置RP13、RP11を結ぶ直線L14と、で形成された四角形をなす。
【0031】
なお、第1補正領域E1の外側には、目標位置の補正が行われない、つまり目標位置と制御位置とが等しい無補正領域E3が配置されている。
【0032】
また、第1実基準位置RP1の数は、例えば、作業者が入力デバイス34を用いて選択することができる。一般的に、第1実基準位置RP1の数が多い程、位置制御の誤差を小さくすることができるため、第1実基準位置RP1の数を選択可能とすることにより、求められる精度等を考慮した設定が可能となる。そのため、利便性の高いロボットシステム1となる。
【0033】
以上、第1実基準位置取得ステップS1について説明したが、例えば、第1実基準位置RP1の数は、3つ以上であれば、特に限定されない。また、第1補正領域E1の形状は、特に限定されない。
【0034】
[第2実基準位置取得ステップS2]
第2実基準位置取得ステップS2では、制御位置決定部310は、第1補正領域E1の外側に位置する3点以上の実空間での第2実基準位置RP2を取得する。本実施形態では、
図7に示すように、制御位置決定部310は、4つの第2実基準位置RP21、RP22、RP23、RP24を取得する。これら4つの第2実基準位置RP21、RP22、RP23、RP24で囲まれる領域は、第1補正領域E1と無補正領域E3との間に位置しており、第1補正領域E1から無補正領域E3に向けて、目標位置の補正量を漸減させる第2補正領域E2である。そして、第2補正領域E2の外縁では、目標位置の補正量がゼロつまり目標位置と制御位置とが等しくなる。なお、以下では、第1補正領域E1および第2補正領域E2を合わせた領域を補正領域E0とも言う。
【0035】
第2補正領域E2は、第2実基準位置RP21、RP22を結ぶ直線L21と、第2実基準位置RP22、RP24を結ぶ直線L22と、第2実基準位置RP24、RP23を結ぶ直線L23と、第2実基準位置RP23、RP21を結ぶ直線L24と、で形成された四角形をなす。第2補正領域E2は、第1補正領域E1の外側に隣接し、その内側に第1補正領域E1の全域が含まれている。
【0036】
このように、ロボットシステム1では、目標位置の補正が行なわれる第1補正領域E1と目標位置の補正が行われない無補正領域E3との間に、第1補正領域E1から無補正領域E3に向けて目標位置の補正量が漸減する第2補正領域E2が配置されている。これにより、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したスムーズな動作となる。そのため、優れた動作性を有するロボットシステム1となる。特に、第2補正領域E2の外縁での補正量がゼロであるため、上述した効果がより顕著となる。
【0037】
また、第2実基準位置RP2の数は、例えば、作業者が入力デバイス34を用いて選択することができる。また、第2実基準位置RP2は、第1基準位置RP1を取り囲むように自動で設定されるようにしてもよい。
【0038】
以上、第2実基準位置取得ステップS2について説明したが、例えば、第2実基準位置RP2の数は、3つ以上であれば、特に限定されない。また、第2補正領域E2の形状は、特に限定されない。
【0039】
[第1補正量取得ステップS3]
第1補正量取得ステップS3では、第1補正領域E1内における目標位置の第1補正量を取得する。
【0040】
制御位置決定部310は、まず、制御点TCPが第1実基準位置RP1に位置しているときの制御点TCPのロボット制御座標系での位置である第1制御基準位置CP1を取得する。具体的には、まず、制御位置決定部310は、制御点TCPを第1実基準位置RP11に位置させる。次に、制御位置決定部310は、制御点TCPが第1実基準位置RP11に位置しているときの制御点TCPのロボット制御座標系での位置である第1制御基準位置CP11を取得する。制御位置決定部310は、他の第1実基準位置RP12、RP13、RP14についても同様の作業を行い、第1制御基準位置CP12、CP13、CP14をそれぞれ取得する。以上により、制御位置決定部310は、4つの第1制御基準位置CP11~P14を取得する。
【0041】
次に、制御位置決定部310は、
図7に示すように、第1補正領域E1に第1実基準位置RP1を頂点とする三角形の図形Gを実空間内に設定する。前述したように、第1実基準位置取得ステップS1において4つの第1実基準位置RP1を取得しているため、第1補正領域E1が2個の図形G1、G2に分割されている。分割方法としては、例えば、ドロネー三角形分割等の任意の分割方法を用いることが可能である。
【0042】
次に、制御位置決定部310は、
図8に示すように、各図形G1、G2内における実位置と制御位置との対応関係を表す第1変換関数A1を求める。第1変換関数A1は、第1補正領域E1内での目標位置の補正量を示す関数である。このように、目標位置の補正量を第1変換関数A1で示すことにより、目標位置に対応する制御位置の算出が容易となる。
【0043】
図形G1における第1変換関数A1は、図形G1の頂点である第1実基準位置RP11、RP12、RP13と、これらに対応する第1制御基準位置CP11、CP12、CP13と、の差に基づいて求める。また、図形G2における第1変換関数A1は、図形G2の頂点である第1実基準位置RP12、RP13、RP14と、これらに対応する第1制御基準位置CP12、CP13、CP14と、の差に基づいて求める。このような各図形G1、G2に対応する第1変換関数A1は、例えば、以下の式(1)~(4)で表すことができる。
【0044】
【0045】
なお、式(1)中のPctrlは、ロボット制御座標系における制御位置、Prealは、実空間における実位置である。また、Xctrlは、ロボット制御座標系における制御位置のX座標であり、Yctrlは、ロボット制御座標系における制御位置のY座標である。また、Xrealは、実空間における実位置のX座標であり、Yrealは、実空間における実位置のY座標である。また、A1は、第1補正領域E1内での目標位置の補正量を示す第1変換関数であり、アフィン変換を表す変換式である。また、a11、a12、a21、a22、b1、b2は、それぞれ、係数であり、図形G1、G2毎に異なる。
【0046】
このような第1変換関数A1を用いることにより、Prealに目標位置を代入することにより、その目標位置に対応する制御位置Pctrlを求めることができる。そのため、実位置Prealを制御位置Pctrlに簡単に変換することができる。
【0047】
なお、図形Gの形状は、三角形でなくてもよく、変換関数は、アフィン変換でなくてもよい。例えば、図形Gを四角形とし、変換関数を射影変換としてもよい。また、複数種類の多角形を混在させた状態に分割し、それぞれの図形G毎に変換関数を変えてもよい。また、図形Gを立体図形としてもよい。変換関数は、変換式として構成してもよく、ルックアップテーブルのような他の形式で構成してもよい。
【0048】
[第2補正量取得ステップS4]
第2補正量取得ステップS4では、第2補正領域E2内における目標位置の第2補正量を取得する。
【0049】
まず、制御位置決定部310は、制御点TCPが各第2実基準位置RP21~RP24に位置しているときの制御点TCPのロボット制御座標系における位置である第2制御基準位置CP21~CP24を設定する。第2実基準位置RP21に対応する第2制御基準位置CP21は、第2実基準位置RP21と等しく設定される。つまり、第2実基準位置RP21=第2制御基準位置CP21である。同様に、第2実基準位置RP22に対応する第2制御基準位置CP22は、第2実基準位置RP22と等しく設定される。また、第2実基準位置RP23に対応する第2制御基準位置CP23は、第2実基準位置RP23と等しく設定される。また、第2実基準位置RP24に対応する第2制御基準位置CP24は、第2実基準位置RP24と等しく設定される。つまり、各第2実基準位置RP2では、実位置と制御位置とが同じである。第2制御基準位置CP21~CP24をこのように設定することにより、第2補正領域E2の外縁での第2補正量をゼロにすることができる。
【0050】
次に、制御位置決定部310は、
図7に示すように、第2補正領域E2に第1、第2実基準位置RP1、RP2を頂点とする三角形の図形Gを実空間内に設定する。前述したように、第1実基準位置取得ステップS1において4つの第1実基準位置RP1を取得し、第2実基準位置取得ステップS2において4つの第2実基準位置RP2を取得しているため、第2補正領域E2が8個の図形G3、G4、G5、G6、G7、G8、G9、G10に分割されている。分割方法としては、例えば、ドロネー三角形分割等の任意の分割方法を用いることが可能である。
【0051】
次に、制御位置決定部310は、
図8に示すように、各図形G3~G10内における実位置と制御位置との対応関係を表す第2変換関数A2を求める。第2変換関数A2は、第2補正領域E2内での目標位置の補正量を示す関数である。このように、目標位置の補正量を第2変換関数A2で示すことにより、目標位置に対応する制御位置の算出が容易となる。
【0052】
そして、図形G3における第2変換関数A2は、図形G3の頂点である第1、第2実基準位置RP11、RP21、RP22と、これらに対応する第1、第2制御基準位置CP11、CP21、CP22と、の差に基づいて求める。また、図形G4における第2変換関数A2は、図形G4の頂点である第1、第2実基準位置RP11、RP12、RP22と、これらに対応する第1、第2制御基準位置CP11、CP12、CP22と、の差に基づいて求める。また、図形G5における第2変換関数A2は、図形G5の頂点である第1、第2実基準位置RP12、RP22、RP24と、これらに対応する第1、第2制御基準位置CP12、CP22、CP24と、の差に基づいて求める。また、図形G7における第2変換関数A2は、図形G6の頂点である第1、第2実基準位置RP12、RP14、RP24と、これらに対応する第1、第2制御基準位置CP12、CP14、CP24と、の差に基づいて求める。
【0053】
また、図形G7における第2変換関数A2は、図形G7の頂点である第1、第2実基準位置RP13、RP14、RP24と、これらに対応する第1、第2制御基準位置CP13、CP14、CP24と、の差に基づいて求める。また、図形G8における第2変換関数A2は、図形G8の頂点である第1、第2実基準位置RP13、RP23、RP24と、これらに対応する第1、第2制御基準位置CP13、CP23、CP24と、の差に基づいて求める。また、図形G9における第2変換関数A2は、図形G9の頂点である第1、第2実基準位置RP11、RP13、RP23と、これらに対応する第1、第2制御基準位置CP11、CP13、CP23と、の差に基づいて求める。また、図形G10における第2変換関数A2は、図形G10の頂点である第1、第2実基準位置RP11、RP21、RP23と、これらに対応する第1、第2制御基準位置CP11、CP21、C23と、の差に基づいて求める。
【0054】
このような各図形G3~G10に対応する第2変換関数A2は、例えば、以下の式(5)~(8)で表すことができる。
【0055】
【0056】
なお、式(5)中のPctrlは、ロボット制御座標系における制御位置、Prealは、実空間における実位置である。また、Xctrlは、ロボット制御座標系における制御位置のX座標であり、Yctrlは、ロボット制御座標系における制御位置のY座標である。また、Xrealは、実空間における実位置のX座標であり、Yrealは、実空間における実位置のY座標である。また、A2は、第2補正領域E2内での目標位置の補正量を示す第2変換関数であり、アフィン変換を表す変換式である。また、a11、a12、a21、a22、b1、b2は、それぞれ、係数であり、図形G3~G10毎に異なる。
【0057】
このような第2変換関数A2を用いることにより、Prealに目標位置を代入することにより、その目標位置に対応する制御位置Pctrlを求めることができる。そのため、実位置Prealを制御位置Pctrlに簡単に変換することができる。
【0058】
図9に、各図形G1~G10における目標位置の補正量を示す。同図では、色が濃い程、補正量が大きく、色が薄い程、補正量が小さいことを示している。同図から分かるように、第2補正領域E2では、第1補正領域E1から無補正領域E3に向けて目標位置の補正量が漸減している。これにより、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したスムーズな動作となる。特に、第2実基準位置RP2では実位置と制御位置とを等しく設定しているため、第2補正領域E2の外縁において目標位置の補正量をゼロにすることができる。そのため、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したスムーズな動作となる。したがって、優れた動作性を有するロボットシステム1となる。
【0059】
なお、図形Gの形状は、三角形でなくてもよく、変換関数は、アフィン変換でなくてもよい。例えば、図形Gを四角形とし、変換関数を射影変換としてもよい。また、複数種類の多角形を混在させた状態に分割し、それぞれの図形G毎に変換関数を変えてもよい。また、図形Gを立体図形としてもよい。変換関数は、変換式として構成してもよく、ルックアップテーブルのような他の形式で構成してもよい。
【0060】
以上の第1実基準位置取得ステップS1から第2補正量取得ステップS4までが、ロボット作業中の位置制御の誤差を低減するための準備工程となる。当該準備工程で得られた第1変換関数A1および第2変換関数A2は、それぞれ、制御位置補正データCDに格納される。
【0061】
なお、第1、第2変換関数A1、A2を取得することができれば、第1実基準位置取得ステップS1から第2補正量取得ステップS4の順序は、特に限定されない。例えば、第1実基準位置取得ステップS1、第1補正量取得ステップS3、第2実基準位置取得ステップS2、第2補正量取得ステップS4の順で行ってもよいし、第1実基準位置取得ステップS1と第2実基準位置取得ステップS2とを同じステップで行い、第1補正量取得ステップS3と第2補正量取得ステップS4とを同じステップで行ってもよい。
【0062】
[目標位置取得ステップS5]
目標位置取得ステップS5では、制御位置決定部310は、制御点TCPの目標位置の入力を受け付ける。制御点TCPの目標位置は、制御点TCPを移動させたい実空間内の点の3次元位置である。制御点TCPの目標位置は、例えば、作業者が入力デバイス34を用いて入力することができる。なお、作業者が動作プログラムMPを作成し、その中の動作指令に制御点TCPの目標位置が記述されている場合には、制御位置決定部310が動作プログラムMPの動作指令に含まれている目標位置を取得することで本ステップを実行してもよい。
【0063】
[制御位置決定ステップS6]
制御位置決定ステップS6では、制御位置決定部310は、目標位置が第1補正領域E1内に位置する場合は、第1補正量(第1変換関数A1)に基づいて目標位置に対する制御位置を決定し、目標位置が第2補正領域E2内に位置する場合は、第2補正量(第2変換関数A2)に基づいて目標位置に対する制御位置を決定する。このように、目標位置が位置する領域に対応した補正量で目標位置を補正することにより、制御位置を精度よく算出することができる。そのため、位置制御の誤差を小さくすることができる。
【0064】
具体的には、制御位置決定部310は、まず、
図7に示す図形G1~G10から、目標位置を含む対象図形を選択する。次に、制御位置決定部310は、選択した対象図形に対応する補正量(変換関数)を用いて、目標位置に対する制御位置を算出する。
【0065】
つまり、対象図形が図形G1、G2のいずれかであれば、対象図形に対応する第1変換関数A1を用いて制御位置を算出する。この場合、例えば、上述した式(1)~(4)を用い、Prealに目標位置の座標値を入力することにより、Pctrlを目標位置に対する制御位置として算出することができる。
【0066】
また、対象図形が図形G3~G10のいずれかであれば、対象図形に対応する第2変換関数A2を用いて制御位置を算出する。この場合、例えば、上述した式(5)~(8)を用い、Prealに目標位置の座標値を入力することにより、Pctrlを目標位置に対する制御位置として算出することができる。
【0067】
なお、目標位置が補正領域E0外つまり無補正領域E3に位置する場合、制御位置決定部310は、制御位置を目標位置と等しく設定する。
【0068】
次に、制御位置決定部310は、上述の方法で算出した制御位置を用いて動作指令を作成する。なお、動作指令を含む動作プログラムMPが予め作成されている場合には、動作指令に含まれている目標位置を、上述のようにして決定した制御位置に置き換えることよって当該処理を実行することができる。
【0069】
[ロボット制御ステップS7]
ロボット制御ステップS7では、制御位置決定部310は、作成した動作指令を含む動作プログラムMPを用いてロボット2の駆動を制御する。これにより、ロボット2の位置制御の精度を高めることができる。さらには、補正領域E0では、第1補正領域E1の外縁から第2補正領域E2の外縁に向けて補正量が漸減し、第2補正領域E2の外縁では補正量が小さくなっているため、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したスムーズな動作となる。
【0070】
以上、ロボットシステム1について説明した。このようなロボットシステム1に適用されている制御方法は、前述したように、ロボット2の目標位置を補正し、目標位置に対する制御位置を決定する制御方法であって、第1補正領域E1を規定する3点以上の実空間での第1実基準位置RP1を取得する第1実基準位置取得ステップS1と、第1補正領域E1の外側に隣接する第2補正領域E2を規定する3点以上の実空間での第2実基準位置RP2を取得する第2実基準位置取得ステップS2と、第1補正領域E1における目標位置の第1補正量を取得する第1補正量取得ステップS3と、第2補正領域E2における目標位置の第2補正量を取得する第2補正量取得ステップS4と、第1補正量または第2補正量に基づいて制御位置を決定する制御位置決定ステップS6と、を含む。そして、第2補正量は、前記第2補正領域E2の外縁に向かって漸減している。このような制御方法によれば、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したスムーズな動作となる。そのため、優れた動作性を有するロボットシステム1となる。
【0071】
また、前述したように、制御位置決定ステップS6では、目標位置が第1補正領域E1内に位置する場合は、第1補正量に基づいて制御位置を決定し、目標位置が第2補正領域E2内に位置する場合は、第2補正量に基づいて制御位置を決定する。このように、目標位置が位置する領域に対応した補正量で目標位置を補正することにより、制御位置を精度よく算出することができる。そのため、位置制御の誤差を小さくすることができる。
【0072】
また、前述したように、第1補正量取得ステップS3は、ロボット2の制御点TCPが第1実基準位置RP1に位置しているときのロボット制御座標系での制御点TCPの位置である第1制御基準位置CP1を取得するステップと、第1実基準位置RP1と第1制御基準位置CP1とに基づいて、第1補正領域E1内の実位置と制御位置との対応関係を表す第1変換関数A1を求めるステップと、を含み、制御位置決定ステップS6では、目標位置が第1補正領域E1内に位置する場合、第1変換関数A1を用いて制御位置を算出する。このように第1変換関数A1を用いて制御位置を算出することにより、目標位置に対応する制御位置の算出が容易となる。
【0073】
また、前述したように、第2補正領域E2の外縁における第2補正量は、ゼロ(0)である。つまり、各第2実基準位置RP2では、実位置と制御位置とが等しい。これにより、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したよりスムーズな動作となる。
【0074】
また、前述したように、第2補正量取得ステップS4は、各第2実基準位置RP2に対応する第2制御基準位置CP2を第2実基準位置RP2と等しい値に設定するステップと、第2実基準位置RP2と第2制御基準位置CP2とに基づいて、第2補正領域E2内の実位置と制御位置との対応関係を表す第2変換関数A2を求めるステップと、を含み、制御位置決定ステップS6では、目標位置が第2補正領域E2内に位置する場合、第2変換関数A2を用いて制御位置を算出する。このように第2変換関数A2を用いて制御位置を算出することにより、目標位置に対応する制御位置の算出が容易となる。
【0075】
また、前述したように、ロボットシステム1は、ロボット2と、ロボット2の駆動を制御する制御装置3と、を有し、制御装置3がロボット2の目標位置に対する制御位置を決定するロボットシステムであって、制御装置3は、第1補正領域E1を規定する3点以上の実空間での第1実基準位置RP1を取得し、第1補正領域E1の外側に隣接する第2補正領域E2を規定する3点以上の実空間での第2実基準位置RP2を取得し、第1補正領域E1における目標位置の第1補正量を取得し、第2補正領域E2における目標位置の第2補正量を取得し、第1補正量または第2補正量に基づいて制御位置を決定する。そして第2補正量は、第2補正領域E2の外縁に向かって漸減している。このようなシステムによれば、ロボット2が補正領域E0と無補正領域E3との境界を跨ぐ際も連続したスムーズな動作となる。そのため、優れた動作性を有するロボットシステム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制御基準位置、E0…補正領域、E1…第1補正領域、E2…第2補正領域、E3…無補正領域、G…図形、G1…図形、G2…図形、G3…図形、G4…図形、G5…図形、G6…図形、G7…図形、G8…図形、G9…図形、G10…図形、J1…関節、J2…関節、J3…関節、J4…関節、J5…関節、J6…関節、L11…直線、L12…直線、L13…直線、L14…直線、L21…直線、L22…直線、L23…直線、L24…直線、MP…動作プログラム、RP1…第1実基準位置、RP11…第1実基準位置、RP12…第1実基準位置、RP13…第1実基準位置、RP14…第1実基準位置、RP2…第2実基準位置、RP21…第2実基準位置、RP22…第2実基準位置、RP23…第2実基準位置、RP24…第2実基準位置、S1…第1実基準位置取得ステップ、S2…第2実基準位置取得ステップ、S3…第1補正量取得ステップ、S4…第2補正量取得ステップ、S5…目標位置取得ステップ、S6…制御位置決定ステップ、S7…ロボット制御ステップ、TCP…制御点