説明

ロボットシステムおよびロボット制御方法

【課題】
ロボットアーム先端の3次元空間の位置誤差および姿勢誤差を補正する。
【解決手段】
ロボットの動作領域内に予め定めた直方体領域について、オフラインにおける直方体領域の8頂点の理論座標値と、オンラインにおける前記8頂点の実測座標値とから、前記直方体領域内におけるオフラインでの座標値をオンラインでの座標値に補正する座標値補正係数を演算し、前記直方体領域内におけるオフラインでの姿勢をオンラインでの姿勢に補正する角度補正係数を演算し、前記直方体領域内のオフラインで教示された位置および姿勢を前記座標値補正係数と前記角度補正係数とを用いて補正し、補正した位置および姿勢を用いて前記ロボット先端の位置および姿勢を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、補正によりオフラインで教示されたロボットアーム先端の位置および姿勢を実際の位置と姿勢に一致するようにロボットを制御するロボットシステム、およびロボット制御方法に関するものである。
【背景技術】
【0002】
ロボットを用いたワーク搬送装置は、ワーク供給パレットに整列された複数の対象ワークを、対象ワークごとに教示したロボット先端の位置と姿勢のデータを用い、ロボットで対象ワークを順次取出して所定の位置に搬送する。しかし、供給パレットに大量のワークが配列された時に、全てのワークを個々に教示すると膨大な時間がかかり効率的ではない。
【0003】
そこで、ワーク供給パレットにある部品の相対位置関係を用いてオフライン教示する方法が盛んになった。これらの従来技術の例として、特許文献1に記載の技術が知られている。
【0004】
特許文献1に記載の技術は、作業座標系を決定する複数の基準点を記憶している基準点記憶部と、前記基準点に基づいて、前記作業座標系内の作業点の座標を算出する作業座標計算部とを備えたロボット座標系の補正装置において、少なくとも一つの補正用基準点を記憶する補正用基準記憶部と、前記補正用基準点と該補正用基準点に対応する前記作業座標計算部により算出される座標点とに基づいて、補正ベクトルを算出する補正ベクトル計算部と、前記補正ベクトルに基づいて、前記作業点の補正を行う補正作業座標計算部とを備えているロボット座標系の補正装置である。
【0005】
ここで図7は、特許文献1の技術を説明するための図であり、基準点D1が作業座標系の原点、基準点D2およびD3がそれぞれ横方向の座標軸Xおよび縦方向の座標軸Yを決定する点、基準点D4は補正用基準点、ΔPが補正ベクトルである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開昭63−70305号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、多関節の機構をもつロボットは、ロボットの各関節角の基準誤差及びアーム長さの誤差によりロボットの理論上の位置(オフラインで教示した位置)と実際の位置とは必ずしも一致しない。特許文献1に記載した技術では、図8のように全ての対象ワークが同じ平面上(XY平面)に配置されていることを前提とし、基準点から最も離れた対角点の位置を教示し、その教示した座標データと理論上の座標データと比較して、ロボットの絶対座標と理論値を補正している。しかし、セル生産システムや一つのパレットに複数品種のワークを配置する場合には空間内(X,Y,Z空間)での位置の誤差やロボット先端の姿勢の誤差を補正する必要があるが、特許文献1に記載された技術は、空間座標系での位置誤差やロボット先端の姿勢誤差については考慮されていないという問題があった。
【0008】
そこで本発明は、ロボットアーム先端の3次元空間の位置誤差および姿勢誤差を補正して制御するロボットシステムおよびロボット制御方法を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明に係るロボットシステムは、ロボット動作領域内の位置および姿勢を、X,Y,Z軸座標値とX,Y,Z軸回転角度で定めるロボットシステムにおいて、ロボットの動作領域内に、座標系の各平面とそれぞれ平行な面を有する直方体領域を予め定め、前記直方体領域の任意の1頂点を基準頂点とし、オフラインにて前記直方体領域の8頂点の座標系における理論座標値を記憶する第1座標記憶部と、前記理論座標値から前記直方体領域を規定する3辺の長さL,W,Hを求める辺長演算部と、オンラインにてロボット先端を前記8頂点に設置された基準マーカに順次一致させ、ロボット先端のロボット座標系の座標値をロボット座標系の実測座標値として記憶する第2座標記憶部と、前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの座標値をオンラインでの座標値に補正する座標値補正係数を演算する座標値補正係数演算部と、前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの姿勢をオンラインでの姿勢に補正する角度補正係数を演算する角度補正係数演算部と、前記直方体領域内のオフラインで教示された位置および姿勢を前記座標値補正係数と前記角度補正係数とを用いて補正し、補正した位置および姿勢を用いて前記ロボット先端の位置および姿勢を制御するロボット制御部と、を備えたことを特徴とする。
【0010】
また、本発明に係るロボット制御方法では、ロボット動作領域内の位置および姿勢を、座標系のX,Y,Z軸座標値と座標系のX,Y,Z軸回転角度で定めるロボットシステムにおいて、ロボットの動作領域内に、座標系の各平面とそれぞれ平行な面を有する直方体領域を予め定め、前記直方体領域の任意の1頂点を基準頂点とし、オフラインにて前記直方体領域の8頂点のロボット座標系における理論座標値を第1座標として記憶し、前記理論座標値から前記直方体領域を規定する3辺の長さL,W,Hを求め、オンラインにてロボット先端を前記8頂点に順次一致させ、ロボット先端のロボット座標系の座標値をロボット座標系の実測座標値として第2座標として記憶し、前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの座標値をオンラインでの座標値に補正する座標値補正係数を演算し、前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの姿勢をオンラインでの姿勢に補正する角度補正係数を演算し、前記直方体領域内のオフラインで教示された位置および姿勢を前記座標値補正係数と前記角度補正係数とを用いて補正し、補正した位置および姿勢を用いて前記ロボット先端の位置および姿勢を制御することを特徴とする。
【発明の効果】
【0011】
本発明によれば、予め定められた直方体領域内の8頂点のオフラインでの座標とオンラインで実測した座標とに基づいて、前記直方体領域内の6自由度からなる座標系における位置と姿勢を全て補正することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係るロボットシステムの概略構成図である。
【図2】ワークを配置した状態の供給パレットの図である。
【図3】ワークが無い状態の供給パレットの図である。
【図4】作業座標系と直方体領域の関係図である。
【図5】治具を配置した状態の供給パレットの図である。
【図6】オフラインでの頂点座標とオンラインでの頂点座標との関係を示した図である。
【図7】従来技術における各基準点を示した図である。
【図8】従来技術におけるワークの状態を示した図である。
【発明を実施するための形態】
【0013】
本発明に係る実施形態について図を用いて説明する。
図1はロボットシステムのブロック図である。図1におけるロボットシステムは、ロボット200、ロボットコントローラ300とから構成されている。
【0014】
ロボット200は、ロボット先端位置を所定の3次元領域内で移動させることができると共に、ロボット先端の姿勢を任意の姿勢とすることができる。例えばロボット200は、6自由度を持った垂直多関節ロボットを用いることができるし、より多くの自由度を有しているロボットを用いることもできる。
【0015】
ここで、ロボット200は、ロボット座標系を用いてロボット先端の位置および姿勢が制御される。ロボット座標系におけるロボット先端の位置・姿勢は(XR,YR,ZR,θXR,θYR,θZR)として表現できる。ここで、XRはロボット座標系のX座標、YRはロボット座標系のY座標、ZRはロボット座標系のZ座標、θXRはロボット座標系のX軸廻りの回転角度、θYRはロボット座標系のY軸廻りの回転角度、θZRはロボット座標系のZ軸廻りの回転角度である。
【0016】
また、順運動学においてロボット座標系におけるロボット先端の位置・姿勢は、同次変換行列として表現できる。姿勢を表す回転行列RRと位置を表すベクトルRPで表す事ができ、具体的には数式(1)の行列として表される。
【0017】
【数1】

なお、ロボット座標系におけるロボット先端の位置・姿勢(XR,YR,ZR,θXR,θYR,θZR)を上記同次変換行列の形式に変換すること、および、同次変換行列で表現されたロボット先端の位置・姿勢を(XR,YR,ZR,θXR,θYR,θZR)に変換すること、は周知技術であり本発明の主要部分ではないので説明は省略する。
【0018】
ロボットの動作範囲内にロボット座標系とは異なる作業座標系を設定することができる。作業座標系におけるロボット先端の位置および姿勢は(XW,YW,ZW,θXW,θYW,θZW)とすることができる。ここで、XWは作業座標系のX座標、YWは作業座標系のY座標、ZWは作業座標系のZ座標、θXWは作業座標系のX軸廻りの回転角度、θYWは作業座標系のY軸廻りの回転角度、θZWは作業座標系のZ軸廻りの回転角度である。
【0019】
また、順運動学において作業座標系におけるロボット先端の位置・姿勢は、同次変換行列として表現できる。姿勢を表す回転行列WRと位置を表すベクトルWPで表す事ができ、具体的には数式(2)の行列として表される。
【0020】
【数2】

作業座標系は、ロボット座標系で位置および姿勢を表現するよりも、独自の座標系で表現した方がより柔軟に位置および姿勢を表現できる場合に用いられる。例えばワークが供給パレットで供給される場合、供給パレットに作業座標系を設定することで、供給パレット内のワークを把持するためのロボット先端は作業座標系で表現することができる。このようにする事で、ロボット座標系における作業座標系の位置・姿勢が変更されても、ロボット座標系の作業座標系の位置・姿勢を把握すれば、ロボット座標系におけるワークの位置および姿勢を容易に表現できるため、ロボットシステムにおいては通常用いられている。
【0021】
なお、ロボット座標系における作業座標系の位置および姿勢を同次変換行列でRWとすると、ロボット座標系におけるロボット先端の位置および姿勢REは、数式(3)となる。
【0022】
RERWWE ・・・(3)
図2はワーク供給パレットにワークが置かれた状態の図である。図2において、ワーク供給パレットは101、複数種類のワークは111,112,113である。ワーク供給パレットには複数種類のワーク111,112,113が所定の位置に置かれる。ワーク供給パレット101は、図3のように、それぞれのワークに対応するワーク固定溝106,017,108を有している。当該溝にワーク111,112,113をはめ込みことで、ワーク供給パレット101上においてワーク111,112,113は常に同じ位置に置かれた状態となる。
【0023】
なお、ワーク供給パレット101は、ワーク供給装置によりロボット座標系の常に同じ位置・姿勢にて供給される。これにより、ロボット座標系および作業座標系においてワーク111,112,113は常に同じ位置、同じ姿勢にて供給されることとなる。なお、ロボット座標系における作業座標系の位置・姿勢は(XRW,YRW,ZRW,θRWX,θRWY,θRWZ)と表現できる。なお、同次変換行列だとRWと表現される。
【0024】
ワーク供給パレット101には作業座標系が設定されており、ワーク111,112,113をロボットで把持する際のロボット先端の位置・姿勢を作業座標系で表現できる。例えば作業データ700のワーク111のデータは、(XW111,YW111,ZW111,θXW111,θYW111,θZW111)となる。同次変換行列だとW111と表現される。
【0025】
また、ロボット200は、後に詳細に記載するロボットコントローラ300と動力線や信号線等により接続され、ロボットコントローラ300によりロボット200のモータ等の動力機器等を制御することでロボット先端の位置と姿勢が制御されている。
【0026】
ロボットコントローラ300は、ロボット制御部400、補正・座標変換部500、作業シーケンス600、作業データ700、第1座標記憶部800、第2座標記憶部900から構成されている。
【0027】
ロボット制御部400は、補正・座標変換部500からロボット先端の位置・姿勢データを受け取り、受け取った位置・姿勢データに基づいてロボット200の動力機器等を制御する。ロボット制御部400は、ロボット座標系におけるロボット先端の位置・姿勢を補正・座標変換部500から受け取る。また、ロボット制御部400は、図示しないがロボット200の各関節に取り付けられたエンコーダ等の位置情報取得部からロボット200の各関節の位置情報を受け取り、ロボット座標系のロボット先端の位置・姿勢を求めることができる。
【0028】
補正・座標変換部500は、作業シーケンス600、作業データ700、第1座標記憶部800、第2座標記憶部900から所定のデータを受け取り、そのデータに基づいてロボット先端位置・姿勢を演算し、ロボット制御部400に出力する。また、ロボット制御部400から受け取ったロボット座標系のロボット先端の位置・姿勢を作業座標系のロボット先端の位置・姿勢に変換し、第2座標系記憶部900に記憶させることができる。なお、補正・座標変換部500は後に詳細に説明する。
【0029】
作業シーケンス600は、ロボット200の予め定められた動作内容および順番である。ロボットコントローラ300は、作業シーケンス600に定められた動作内容および手順にてロボット200が動作するように制御する。例えば、ワーク供給位置にあるワーク1をロボットで把持して所定の位置に搬送する作業シーケンス600は以下のステップ1〜5のように規定されている。
【0030】
ステップ1:ロボット待機位置POS1からワーク供給位置POS2にロボット先端を移動する。
ステップ2:ワーク供給位置POS2にて、ワークを把持する。
【0031】
ステップ3:ワークを把持した状態で、ロボット先端をワーク供給位置POS2から所定位置POS3に移動する。
ステップ4:所定位置POS3にて、ワークを開放する。
【0032】
ステップ5:所定位置POS3からロボット待機位置POS1にロボット先端を移動する。
作業データ700は、前記作業シーケンスにて定められた動作内容におけるロボット先端の位置および姿勢のデータである。上記の例を用いれば、POS1〜POS3のそれぞれのロボット先端の位置・姿勢のデータである。なお、作業データ700に記憶されているロボット先端の位置・姿勢のデータは、ロボット座標系でも作業座標系でも良い。いずれの座標系のデータで記憶されているかがわかるようにされていれば良い。
【0033】
第1座標記憶部800は、オフラインにおけるロボット200の動作領域内に予め定められている直方体領域の8つの頂点の座標を記憶している。直方体領域は、ロボット200の有する誤差を補正し、ロボット先端の位置・姿勢を制御したい領域である。ここで、直方体領域の一つの頂点は作業座標系の原点と一致し、直方体領域の各平面は作業座標系のXY平面、YZ平面、ZX平面の何れかと平行とする。第1座標記憶部800に記憶される座標は、オフラインにおける設計上の8つの頂点座標であり、換言すれば実際のロボットに必ず発生する各種の誤差を含まない理想座標といえる。この第1座標記憶部800に記憶された8つの頂点P1〜P8は下記のように表現される。
【0034】
P1(xi1,yi1,zi1)
P2(xi2,yi2,zi2)
P3(xi3,yi3,zi3)
P4(xi4,yi4,zi4)
P5(xi5,yi5,zi5)
P6(xi6,yi6,zi6)
P7(xi7,yi7,zi7)
P8(xi8,yi8,zi8)
図4は本実施形態における作業座標系と直方体領域との関係を示す参考図である。図4においては、作業座標系の各平面と直方体領域の各平面は平行となっている。さらに、P1と作業座標系の原点が一致しており、作業座標系においてP1の座標は(0,0,0)となる。
【0035】
直方体領域の8頂点は図5のように治具121〜127を用いて規定する。より具体的には、図2に示す供給パレット101の治具用固定穴102〜105に治具121〜127を固定し、治具121〜127のそれぞれ上端面中心点を直方体領域の8頂点とする。本例においては、治具121の上端面中心がP1、治具122の上端面中心がP2、治具123の上端面中心がP3、治具124の上端面中心がP5、治具125の上端面中心がP4、治具126の上端面中心がP6、治具127の上端面中心がP7、治具128の上端面中心がP8となる。勿論、ロボット200で実測できる他の方法により8頂点を規定してもよい。
【0036】
第2座標記憶部900は、オンラインにおけるロボット200の直方体領域の8つの頂点について実測した座標を記憶する。オンラインにおける8つの頂点の実測した座標は、ロボットのアーム先端を前記頂点と一致させた時にロボット制御部400で得られるロボット先端の座標であり、換言すれば実際のロボットに必ず発生する各種の一切の誤差を含む実測座標といえる。なお、この実測座標は、ロボット制御部400から得たロボット座標系におけるロボット先端の位置・姿勢を、補正・座標変換部500で作業座標系のロボット先端の位置・姿勢に変換したものである。この第2座標記憶部900に記憶された8つの頂点P1〜P8は下記のように表現される。
【0037】
P1(xt1,yt1,zt1)
P2(xt2,yt2,zt2)
P3(xt3,yt3,zt3)
P4(xt4,yt4,zt4)
P5(xt5,yt5,zt5)
P6(xt6,yt6,zt6)
P7(xt7,yt7,zt7)
P8(xt8,yt8,zt8)
ここで、図6は本実施形態における第1座標記憶部に記憶された理想座標と第2座標記憶部に記憶された実測座標との関係を示す参考図である。図6では、理想座標による直方体領域を細い実線または細い点線で、実測座標における直方体領域を太い点線で描いている。つまり、実測座標と理想座標は誤差によるズレを生じるため、図6のようにロボット先端の直方体領域の各頂点の実測座標は理想座標とは通常一致しないこととなる。なお本実施形態においては、頂点P1の理想座標と実測座標が一致しているものとしている。
【0038】
図5の供給パレットの場合には、アーム先端を治具121〜128の上端中心点に順次一致させ、そのときの作業座標系の座標を記憶すれば良い。
補正・座標変換部500は、辺長演算部510、座標値補正係数演算部520、角度補正係数演算部530を有する。なお図示しないが、補正・座標変換部500は、ロボット先端の位置・姿勢について、作業座標系からロボット座標系への変換、ロボット座標系から作業座標系に変換ができる座標変換機能を有している。
【0039】
辺長演算部510は、第1座標記憶部に記憶された理論座標から直方体領域を規定する3辺の長さL,W,Hを求める。ここで、LはX軸方向の辺長、WはY軸方向の辺長、HはZ軸方向の辺長とする。図4には、直方体領域の頂点P1〜P8と辺長L,W,Hとの関係が示されている。図4の例においては、L=(xi2−xi1)、W=(yi3−yi1)、H=(zi4−zi1)として求めることができる。
【0040】
座標値補正演算部520は、3辺の長さL,W,Hと実測座標とから、直方体領域内におけるオフラインでの座標値を補正する座標値補正係数を演算する。より詳細には、座標値補正演算部520は、軸移動補正係数演算部521、平面移動補正係数演算部522、空間移動補正係数演算部523を有し、座標補正係数を演算している。
【0041】
軸移動補正係数演算部521は、基準頂点を含む2頂点を結んだ直線がX,Y,Z軸のそれぞれと平行となる3組の2頂点を選択し、前記3組の2頂点の前記実測座標値と前記3辺の長さL,W,Hとから、各組に対応するX軸補正係数、Y軸補正係数、Z軸補正係数を求める。
【0042】
以下、X軸補正係数、Y軸補正係数、Z軸補正係数の導出方法について説明する。なお、説明を簡単にするために頂点P1の理論座標と実測座標は一致しているものとして説明する。
【0043】
直方体領域の基準頂点P1のロボット座標系の座標を(xi1=xt1=0,yi1=yt1=0,zi1=zt1=0)とすると、理論座標(オフライン)においてはX軸方向へLだけ移動した点がP2となり、その作業座標系の座標は(xi2=L,yi2=0,zi2=0)となるが、実測座標(オンライン)におけるP2の作業座標系の座標は(xt2,yt2,zt2)となる。一方、誤差が無い場合には、P2の座標はP1の座標を用いて表現すれば(xt1+L,yt1,zt1)となる。そこで、X軸方向のL移動分に対する誤差は数式(4)となる。
【0044】
【数3】

直方体領域内のX軸方向の誤差が移動距離と比例していると仮定し、作業座標系における理論座標の点(XW,0,0)における実測座標で座標は数式(5)となる。
【0045】
【数4】

つまり、直方体領域内のX軸方向の移動における補正係数は数式(6)となる。
【0046】
【数5】

X軸方向の移動と同様にY軸方向およびZ軸方向の移動における補正係数は数式(7)(8)となる。
【0047】
【数6】

平面移動補正係数演算部522は、前記基準点を含む4頂点から構成される平面がXY,YZ,ZX平面と平行となる3組の4頂点を選択し、前記3組の4頂点の前記実測座標値と前記3辺の長さL,W,Hとから、各組に対応するXY平面補正係数、YZ平面補正係数、ZX平面補正係数、を求める。
【0048】
数式(6)〜(8)は、X,Y,Z軸の各軸方向に移動する際の補正係数であるが、例えばXY平面上を移動する際にさらに誤差を生じることがある。ここで、代表としてXY平面補正係数の算出方法を説明する。理論座標でP1からP5に移動する場合、X方向に理論座標でL、Y方向へ理論座標でW、だけ移動することとなるので、P5の座標値はP1の理論座標にP1からP2へのベクトルとP1からP3へのベクトルとのベクトル和になる。そこで、P5におけるXY平面上を移動する際の誤差は数式(9)のように表される。
【0049】
【数7】

さらに、直方体領域内のXY平面の誤差が移動距離と比例していると仮定し、直方体領域内のXY平面の移動に伴う補正係数は数式(10)となる。
【0050】
【数8】

同様にYZ平面補正係数はP1,P3,P4,P7より、ZX平面補正係数はP1,P2,P4,P6より、数式(11)(12)を求めることができる。
【0051】
【数9】

空間移動補正係数演算部523は、前記8頂点と前記3辺の長さL,W,Hとから、XYZ空間補正係数を求める。
【0052】
数式(6)〜(8)および数式(10)〜(12)は、X,Y,Z軸の各軸方向に移動する際の補正係数、XY平面、YZ平面、ZX平面を移動する際の補正係数であるが、XYZ空間を移動する際にさらに誤差を生じることがある。ここで、理論座標でP1からP8に移動する場合、X方向に理論座標でL、Y方向へ理論座標でW、Z方向へ理論座標でHだけ移動することとなる。さらに、大きさがL,W,Hとなるベクトルの点が重複しないようにすると、P8の座標値はP1の理論座標にP4からP6へのベクトルとP2からP5へのベクトルとP3からP7へのベクトルとのベクトル和になる。そこで、P8におけるXYZ空間を移動する際の誤差は数式(10)のように表される。
【0053】
【数10】

そこで、直方体領域内のXY平面の移動に伴う補正係数は数式(14)となる。
【0054】
【数11】

ここで、直方体領域内での作業座標系の理論座標の点(XW,YW,ZW)における各軸毎の補正量を(dXW,dYW,dZW)とすると、上記の数式(6)〜(8)、数式(10)〜(12)および数式(14)を用いて数式(15)のように表される。なお、ここで、P1の理想座標(xi1,yi1,zi1)と実測座標(xt1,yt1,zt1)とは、一致しているものとしている。
【0055】
【数12】

角度補正係数演算部530は、X軸廻り角度補正係数、Y軸廻り角度補正係数、Z軸廻り角度補正係数を求めるに際し、X,Y,Z軸から第1軸を選択し、前記第1軸に直交する1つの軸をX,Y,Z軸から重複せずに第2軸として選択し、2頂点を結んだ直線が前記第2軸と平行となる4組の2頂点を選択し、前記選択された組ごとの前記第1軸の座標値成分を除く2頂点の実測座標値の差分値と、前記第2軸方向の辺の長さと等しいものを除く前記3辺の長さL,W,Hのいずれか2つとから、第1軸廻りの角度補正係数を演算する。
【0056】
まず、Z軸周りの角度補正係数の算出方法について説明する。
X,Y,Z軸からZ軸を第1軸として選択する。さらに、ここでは、第1軸(Z軸)に直交するX軸を第2軸として選択する。なお、第2軸は重複して選択できない。つまり、その後に第1軸にY軸を選択した場合には、X軸が選択できなくなる。次に、2頂点を結んだ直線が第2軸であるX軸と平行となる{(P1,P2),(P3,P5),(P4,P6),(P7,P8)}の4組の2頂点を選択する。
【0057】
次に、基準頂点P1を含む2頂点の組(P1,P2)を用いて、第1軸であるZ軸周りの第2軸であるX軸に対する、基準頂点P1における回転角度を数式(16)により求める。
【0058】
【数13】

さらに、回転基準点が基準頂点P1よりY軸方向に移動することによる補正係数を、(P3,P5)と(P1,P2)の2組の2頂点より数式(17)により求める。
【0059】
【数14】

なおさらに、回転基準点が基準頂点P1よりZ軸方向に移動することによる補正係数を、(P4,P6)と(P1,P2)の2組の2頂点より数式(18)により求める。
【0060】
【数15】

また、回転基準点が基準頂点P1よりYZ平面内に移動することによる補正係数を、(P7,P8)と(P4,P6)と(P1,P2)の3組の2頂点より数式(19)により求める。
【0061】
【数16】

直方体領域内での作業座標系の理論座標の点(XW,YW,ZW)におけるZ軸廻りの角度補正量dθZWは、上記数式(17)〜(19)を用いると数式(20)となる。
【0062】
【数17】

同様に、作業座標系の理論座標の点(XW,YW,ZW)におけるX軸廻りの角度補正量dθXWおよびY軸廻りの角度補正量dθYWは数式(21)(22)となる。
【0063】
【数18】

以上より、作業座標系における理論座標および理論姿勢(XW,YW,ZW,θXW,θYW,θZW)を補正した作業座標系におけるロボット先端の補正座標および補正姿勢(XrW,YrW,ZrW,θrXW,θrYW,θrZW)は、数式(15)(20)(21)(22)を用いて数式(23)となる。
【0064】
【数19】

数式(23)で求めた作業座標系におけるロボット先端の補正座標および補正姿勢(XrW,YrW,ZrW,θrXW,θrYW,θrZW)を補正・座標変換部500でロボット座標系に変換し、ロボット制御部400に入力してロボットを制御することで、直方体領域内におけるロボット先端の位置・姿勢をロボット200が有する各種の誤差を補正した位置・姿勢として制御することができる。
【0065】
なお、作業座標系におけるロボット先端の補正後の位置・姿勢を同次変換行列でWErとすると、ロボット座標系におけるロボット先端の補正後の位置・姿勢RErは、前記数式(3)を利用すると数式(24)で変換できる。
【0066】
RErRWWEr・・・(24)
【符号の説明】
【0067】
200 ロボット
300 ロボットコントローラ
400 ロボット制御部
500 補正・座標変換部
600 作業シーケンス
700 作業データ
800 第1座標記憶部
900 第2座標記憶部

【特許請求の範囲】
【請求項1】
ロボット動作領域内の位置および姿勢を、直交座標系のX,Y,Z軸座標値とX,Y,Z軸廻りの回転角度で定めるロボットシステムにおいて、
ロボットの動作領域内に、座標系の各平面とそれぞれ平行な面を有する直方体領域を予め定め、前記直方体領域の任意の1頂点を基準頂点とし、オフラインにて前記直方体領域の8頂点の座標系における理論座標値を記憶する第1座標記憶部と、
前記理論座標値から前記直方体領域を規定する3辺の長さL,W,Hを求める辺長演算部と、
オンラインにてロボット先端を前記8頂点に設置された基準マーカに順次一致させ、ロボット先端のロボット座標系の座標値をロボット座標系の実測座標値として記憶する第2座標記憶部と、
前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの座標値をオンラインでの座標値に補正する座標値補正係数を演算する座標値補正係数演算部と、
前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの姿勢をオンラインでの姿勢に補正する角度補正係数を演算する角度補正係数演算部と、
前記直方体領域内のオフラインで教示された位置および姿勢を前記座標値補正係数と前記角度補正係数とを用いて補正し、補正した位置および姿勢を用いて前記ロボット先端の位置および姿勢を制御するロボット制御部と、
を備えたことを特徴とするロボットシステム。
【請求項2】
前記座標補正係数演算部は、
前記基準頂点を含む2頂点を結んだ直線がX,Y,Z軸と平行となる3組の2頂点を選択し、前記3組の2頂点の前記実測座標値と前記3辺の長さL,W,Hとから、各組に対応するX軸補正係数、Y軸補正係数、Z軸補正係数を求める軸移動補正係数演算部と、
前記基準点を含む4頂点から構成される平面がXY,YZ,ZX平面と平行となる3組の4頂点を選択し、前記3組の4頂点の前記実測座標値と前記3辺の長さL,W,Hとから、各組に対応するXY平面補正係数、YZ平面補正係数、ZX平面補正係数、を求める平面移動補正係数演算部と、
前記8頂点と前記3辺の長さL,W,Hとから、XYZ空間補正係数を求める空間移動補正係数演算部と、
から構成されていることを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記軸移動補正係数演算部は、各組ごとに前記実測座標値における前記2頂点の座標値の差分値をオンラインで前記選択された2頂点と等しい長さである前記3辺の長さL,W,Hのいずれか1つで除算し、各組に対応するX軸補正係数、Y軸補正係数、Z軸補正係数を求めること特徴とする請求項2に記載のロボットシステム。
【請求項4】
前記平面移動補正係数演算部は、各組ごとに前記基準頂点と前記軸移動補正係数演算部で選択されていない頂点の前記実測座標値を和算し、残りの2頂点の前記実測座標値を差算した値をオンラインで前記組に含まれる4頂点から構成される長方形の辺と等しい長さである前記3辺の長さL,W,Hのいずれか2つで除算し、各組に対応するXY平面補正係数、YZ平面補正係数、ZX平面補正係数を求めること特徴とする請求項2に記載のロボットシステム。
【請求項5】
空間移動補正係数演算部は、前記基準頂点と前記軸移動補正係数演算部で選択されていない頂点とを除く頂点の前記実測座標値を加算し、前記基準頂点と前記軸移動補正係数演算部で選択されていない頂点との前記実測座標値を差算した値を前記3辺の長さL,W,Hで除算し、XYZ空間補正係数を求めること特徴とする請求項2に記載のロボットシステム。
【請求項6】
前記角度補正係数演算部は、X軸廻り角度補正係数、Y軸廻り角度補正係数、Z軸廻り角度補正係数を求めるに際し、
X,Y,Z軸から第1軸を選択し、
前記第1軸に直交する1つの軸をX,Y,Z軸から重複せずに第2軸として選択し、
2頂点を結んだ直線が前記第2軸と平行となる4組の2頂点を選択し、
前記選択された組ごとの前記第1軸の座標値成分を除く2頂点の実測座標値の差分値と、前記第2軸方向の辺の長さと等しいものを除く前記3辺の長さL,W,Hのいずれか2つとから、第1軸廻りの角度補正係数を演算すること、を特徴とする請求項1ないし5のいずれか1項に記載のロボットシステム。
【請求項7】
動作領域内の位置および姿勢を、直交座標系のX,Y,Z軸座標値とX,Y,Z軸廻りの回転角度で定めるロボットの制御方法において、
ロボットの動作領域内に、座標系の各平面とそれぞれ平行な面を有する直方体領域を予め定め、前記直方体領域の任意の1頂点を基準頂点とし、オフラインにて前記直方体領域の8頂点のロボット座標系における理論座標値として記憶し、
前記理論座標値から前記直方体領域を規定する3辺の長さL,W,Hを求め、
オンラインにてロボット先端を前記8頂点に順次一致させ、ロボット先端のロボット座標系の座標値をロボット座標系の実測座標値として記憶し、
前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの座標値をオンラインでの座標値に補正する座標値補正係数を演算し、
前記3辺の長さL,W,Hと前記実測座標値とから、前記直方体領域内におけるオフラインでの姿勢をオンラインでの姿勢に補正する角度補正係数を演算し、
前記直方体領域内のオフラインで教示された位置および姿勢を前記座標値補正係数と前記角度補正係数とを用いて補正し、補正した位置および姿勢を用いて前記ロボット先端の位置および姿勢を制御するロボット制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−20388(P2012−20388A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−161720(P2010−161720)
【出願日】平成22年7月16日(2010.7.16)
【出願人】(000005234)富士電機株式会社 (3,146)
【Fターム(参考)】