(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】スカラロボットシステム
(51)【国際特許分類】
B25J 9/10 20060101AFI20240702BHJP
B25J 9/06 20060101ALI20240702BHJP
【FI】
B25J9/10
B25J9/06 D
(21)【出願番号】P 2022539854
(86)(22)【出願日】2020-07-29
(86)【国際出願番号】 JP2020028987
(87)【国際公開番号】W WO2022024243
(87)【国際公開日】2022-02-03
【審査請求日】2023-06-08
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000017
【氏名又は名称】弁理士法人アイテック国際特許事務所
(72)【発明者】
【氏名】東 将吾
【審査官】尾形 元
(56)【参考文献】
【文献】特開平2-48188(JP,A)
【文献】特開平4-33006(JP,A)
【文献】特開2004-299010(JP,A)
【文献】特開2012-6125(JP,A)
【文献】特開平4-34604(JP,A)
【文献】特開2017-42837(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
基台と、
前記基台に設けられ、第1軸周りに回動する第1アームと、
前記第1アームに設けられ、前記第1軸と平行な第2軸周りに回動する第2アームと、
前記第2アームに対して前記第2軸と平行な第3軸の軸方向に移動するシャフトと、
前記第1アームと前記第2アームと前記シャフトとの動作を制御する制御部と、
前記第2アームの回動位置に対応する前記第1アームのアーム周りの回転角に基づ
く前記第1アームのねじれ補正係数
と、前記第2アームの回動位置に対応する前記第1アームの第1たわみ量と、前記第2アームの第2たわみ量とを記憶する記憶部と、
前記ねじれ補正係数
と前記第1たわみ量と前記第2たわみ量とを用いて前記シャフト先端の水平方向の位置を補正する補正部と、
を備えるスカラロボットシステム。
【請求項2】
請求項1に記載のスカラロボットシステムであって、
前記記憶部は、前記第1軸から先のアーム部の重心位置に基づく前記第1たわみ量を記憶し、前記第2軸から先のアーム部の重心位置に基づく前記第2たわみ量を記憶する、
スカラロボットシステム。
【請求項3】
請求項1
または2に記載のスカラロボットシステムであって、
前記ねじれ補正係数を用いて前記シャフトの移動量を補正する前記補正部
を備えるスカラロボットシステム。
【請求項4】
請求項3に記載のスカラロボットシステムであって、
前記シャフトはワークを保持するワーク保持部を有し、
前記ワークの重さに対応する前記ねじれ補正係数と前記ワークの重さに対応する前記第1たわみ量および前記第2たわみ量とを記憶する前記記憶部
を備えるスカラロボットシステム。
【請求項5】
請求項1または2に記載のスカラロボットシステムであって、
前記ねじれ補正係数のモデル式と前記第1たわみ量のモデル式と前記第2たわみ量のモデル式とを記憶する前記記憶部と、
前記ねじれ補正係数のモデル式と前記第1たわみ量のモデル式と前記第2たわみ量のモデル式とを用いて前記補正を行う前記補正部と、
を備えるスカラロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、スカラロボットシステムについて開示する。
【背景技術】
【0002】
従来、ロボットのたわみを補正してアーム先端の位置や姿勢のずれを補正するたわみ補正装置が提案されている(例えば、特許文献1参照)。たわみ補正装置は、ロボットの動作領域内の複数の位置において、重量、重心位置の異なる複数の荷重条件下で、アーム先端の位置や姿勢のずれを表わすたわみ量を測定し、たわみ量データとして記憶する。続いて、たわみ補正装置は、使用ツールの重量、重心位置が近いたわみ量データを指定し、ロボットの動作プログラムの各教示点位置におけるたわみ量を、指定したたわみ量データを用いて算出する。そして、たわみ補正装置は、動作プログラムの各教示点位置を、算出したたわみ量分補正して変更する。
【0003】
また、ベースに固定されたJ1軸に対して水平面内で旋回可能な第1アームと、第1アームに固定されたJ2軸に対して水平面内で旋回可能な第2アームと、第2アームの先端部に有するJ3軸の軸方向に移動可能なシャフトと、を備えるスカラロボットにおいて、第1アーム系の誤差として、アームのねじれによる角度誤差が含まれ、第2アーム系の誤差として、アームのねじれによる角度誤差が含まれるものも提案されている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2004-299010号公報
【文献】特開2012-6125号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
第1軸周りに回動する第1アームと、第1アームに設けられて第1軸と平行な第2軸周りに回動する第2アームと、第2アームに対して第2軸と平行な第3軸の軸方向に移動するシャフトとを備えるスカラロボットにおいては、第2アームの回動により第1アームと第2アームとを含むアーム部の重心位置が移動する。重心位置に第1アームの延在方向に直交する成分が含まれると、第1アームのアーム周りにモーメントが生じて第1アームがねじれ、シャフト先端(手先)の位置精度が悪化するおそれがある。
【0006】
本開示は、第2アームが回動位置に拘らず第1アームのアーム周りのねじれに基づく手先の位置ずれを良好に補正することができるスカラロボットシステムを提供することを主目的とする。
【課題を解決するための手段】
【0007】
本開示のスカラロボットシステムは、上述の主目的を達成するために以下の手段を採った。
【0008】
本開示のスカラロボットシステムは、
基台と、
前記基台に設けられ、第1軸周りに回動する第1アームと、
前記第1アームに設けられ、前記第1軸と平行な第2軸周りに回動する第2アームと、
前記第2アームに対して前記第2軸と平行な第3軸の軸方向に移動するシャフトと、
前記第1アームと前記第2アームと前記シャフトとの動作を制御する制御部と、
前記第2アームの回動位置に対応する前記第1アームのアーム周りの回転角に基づく、前記第1アームのねじれ補正係数を記憶する記憶部と、
前記ねじれ補正係数を用いて前記シャフト先端の水平方向の位置を補正する補正部と、
を備えることを要旨とする。
【0009】
この本開示のスカラロボットシステムは、基台に設けられて第1軸周りに回動する第1アームと、第1アームに設けられた第1軸と平行な第2軸周りに回動する第2アームと、第2アームに対して第2軸と平行な第3軸の軸方向に移動するシャフトと、これらの動作を制御する制御部と、記憶部と、補正部と、を備えるものである。記憶部は、第2アームの回動位置に対応する第1アームのアーム周りの回転角に基づく第1アームのねじれ補正係数を記憶する。補正部は、ねじれ補正係数を用いて前記シャフト先端の水平方向の位置を補正する。第1アームと第2アームとを含むアーム部の重心位置に、第1アームの延在方向に直交する成分が含まれると、第1アームのアーム周りにモーメントが生じて第1アームにねじれが生じる。スカラロボットシステムは、予め第2アームの回動位置に対応する第1アームのアーム周りの回転角に基づく第1アームのねじれ補正係数を記憶部に記憶しておき、これを補正値として反映させる。これにより、第2アームが回動位置に拘らず第1アームのアーム周りのねじれに基づく手先の位置ずれを良好に補正することができるスカラロボットシステムとすることができる。
【図面の簡単な説明】
【0010】
【
図1】スカラロボットシステムの外観斜視図である。
【
図3】ロボット本体と制御装置との電気的な接続関係を示すブロック図である。
【
図4】ロボット制御処理の一例を示すフローチャートである。
【
図7】リンクパラメータ表の一例を示す説明図である。
【
図8】第1関節軸J1に設定されるリンク座標系Σ
1のX
1およびY
1軸を説明する説明図である。
【
図9】第2アームの水平旋回により第1アームに対して生じるねじれを説明する説明図である。
【
図10】手先質量により第1アームおよび第2アームに対して生じるたわみを説明する説明図である。
【
図11】第1アームねじれモデル式作成手順の一例を示す説明図である。
【
図12】第2アームを-90度から+90度まで水平旋回する様子を示す説明図である。
【
図13】第1アームの先端部両端におけるZ方向変位を測定する様子を示す説明図である。
【
図14】第1アームの先端部両端におけるZ方向変位を測定する様子を示す説明図である。
【
図15】第1アームの先端部両端におけるZ方向変位の測定値からたわみ成分を除去する様子を示す説明図である。
【
図16】アーム部の重心位置のY
1軸方向成分L
t’を説明する説明図である。
【
図17】第1アームに生じるねじれモーメントを説明する説明図である。
【
図18】第1アームたわみモデル式作成手順の一例を示す説明図である。
【
図19】多関節アームの手先に重りmを付けた際の第1アームおよび第2アームの各先端部のZ方向変位を測定する様子を示す説明図である。
【
図20】第1アームのたわみ量と重心位置×アーム質量との関係を示す説明図である。
【
図21】重り毎の第1アームのたわみ角度とJ2角度との関係を示す説明図である。
【
図22】アーム部の重心位置のX
1軸方向成分L
d1’を説明する説明図である。
【
図23】第1アームに生じるたわみモーメントを説明する説明図である。
【
図24】第2アームたわみモデル式作成手順の一例を示す説明図である。
【
図25】第2アームのたわみ角度と手先質量との関係を示す説明図である。
【
図26】アーム部の重心位置L
d2を説明する説明図である。
【発明を実施するための形態】
【0011】
次に、本開示を実施するための形態について図面を参照しながら説明する。
【0012】
図1は、スカラロボットシステムの外観斜視図である。
図2は、ロボット本体の側面図である。
図3は、ロボット本体と制御装置との電気的な接続関係を示すブロック図である。
【0013】
スカラロボットシステム1は、ワークWに対して所定の作業(例えば、ワークWを搬送する搬送作業や、ワークWを組み付ける組付け作業など)を行なうものとして構成されている。スカラロボットシステム1は、ロボット本体10(
図1~
図3参照)と、ロボット本体10を制御する制御装置70(
図3参照)と、を備える。ロボット本体10は、
図1,
図2に示すように、基台11とスカラアーム20とを備える。
【0014】
基台11は、作業台2に固定されており、スカラアーム20の基端側を支持する。スカラアーム20は、第1アーム21と第1アーム駆動部30と第2アーム22と第2アーム駆動部40とシャフト23とシャフト駆動部50とカメラ60とを備える。第1アーム21は、基端部が第1関節軸J1を介して基台11に連結され、第1関節軸J1の回動により基台11に対して水平面内で回動(水平旋回)可能に構成される。第2アーム22は、基端部が第2関節軸J2を介して第1アーム21の先端部に連結され、第2関節軸J2の回動により第1アーム21に対して水平面内で回動(水平旋回)可能に構成される。シャフト23は、第2アーム22の先端部に第3関節軸J3を介して連結され、第2アーム22に対して第3関節軸J3の軸周りに回転可能かつ第3関節軸J3の軸方向に沿って昇降可能に構成される。本実施形態のスカラロボットシステムでは、シャフト23の先端には、ワークWをピックアップして保持するワーク保持部24が設けられている。
【0015】
第1アーム駆動部30は、
図3に示すように、モータ32とエンコーダ34とを備える。モータ32の回転軸は、図示しない減速機を介して第1関節軸J1に連結されている。第1アーム駆動部30は、モータ32を駆動することにより減速機を介して第1関節軸J1に伝達されるトルクにより、第1関節軸J1を支点に第1アーム21を回動させる。エンコーダ34は、モータ32の回転軸に取り付けられ、モータ32の回転変位量を検出するロータリエンコーダとして構成される。
【0016】
第2アーム駆動部40は、第1アーム駆動部30と同様に、モータ42とエンコーダ44とを備える。モータ42の回転軸は、図示しない減速機を介して第2関節軸J2に連結されている。第2アーム駆動部40は、モータ42を駆動することにより減速機を介して第2関節軸J2に伝達されるトルクにより、第2関節軸J2を支点に第2アーム22を回動させる。エンコーダ44は、モータ42の回転軸に取り付けられ、モータ42の回転変位量を検出するロータリエンコーダとして構成される。
【0017】
シャフト駆動部50は、
図3に示すように、モータ52a,52bとエンコーダ54a,54bとを備える。モータ52aの回転軸は、ベルト(図示せず)を介してシャフト23に接続され、シャフト23を軸周りに回転させる。モータ52bの回転軸は、シャフト23を貫通するボールねじナット(図示せず)にベルトを介して接続され、シャフト23を上下に昇降させる。エンコーダ54aは、シャフト23の回転変位量を検出するロータリエンコーダとして構成される。エンコーダ54bは、シャフト23の昇降位置を検出するリニアエンコーダとして構成される。
【0018】
カメラ60は、第2アーム22の先端部側面に取り付けられている。カメラ60は、作業対象のワークWを撮像し、その撮像画像を制御装置70へ出力する。制御装置70は、撮像画像を処理することによりワークWの位置を認識する。
【0019】
制御装置70は、
図3に示すように、CPU71と、処理プログラムを記憶するROM72と、ワークメモリとしてのRAM73と、HDDやSSD等の記憶装置74と、入出力インタフェース(図示せず)とを備える。制御装置70には、エンコーダ34,44,54a,54bからの位置信号やカメラ60からの画像信号などが入出力インタフェースを介して入力されている。制御装置70からは、モータ32,42,52a,52bへの駆動信号などが入出力インタフェースを介して出力されている。
【0020】
次に、こうして構成されたスカラロボットシステム1の動作について説明する。
図4は、制御装置70により実行されるロボット制御処理の一例を示すフローチャートである。この処理は、所定時間毎に繰り返し実行される。
【0021】
ロボット制御処理が実行されると、制御装置70のCPU71は、まず、ロボット本体10の手先(ワーク保持部24)の目標位置を取得する(ステップS100)。続いて、CPU71は、手先の目標位置に対して逆運動学を解くことにより、手先を目標位置に移動させるための第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とシャフト23の先端の位置(シャフト位置)Zsとシャフト23の回転角度(シャフト角度)θJ4とを算出する(ステップS110)。
【0022】
次に、CPU71は、ワーク質量mを取得する(ステップS120)。ステップS120は、記憶装置74に予め記憶(登録)された複数種のワークWの質量のうち今回の作業対象物となるワークWの質量を読み出すことにより行なわれる。そして、CPU71は、ワーク質量mとステップS110で算出した第2関節軸J2の角度θJ2とに基づいて第1アーム21のねじれ角度θtとたわみ角度θd1とを算出すると共に(ステップS130)、ワーク質量mに基づいて第2アーム22のたわみ角度θd2を算出する(ステップS140)。第1アーム21のねじれ角度θtの算出は、第1アーム21のねじれモデル式(演算式)を用いて行なわれる。第1アーム21のねじれモデル式は、第1アーム21のねじれ角度θtと、第2関節軸J2の角度θJ2と、ワーク質量mを含むアーム質量M(第1関節軸J1以降のワークWを含むアーム部の質量)との関係を表すモデル式である。第1アーム21のたわみ角度θd1の算出は、第1アーム21のたわみモデル式(演算式)を用いて行なわれる。第1アーム21のたわみモデル式は、第1アーム21のたわみ角度θd1と、第2関節軸J2の角度θJ2と、ワーク質量mを含むアーム質量M(第1関節軸J1以降のワークWを含むアーム部の質量)との関係を表すモデル式である。第2アーム22のたわみ角度θd2の算出は、第2アーム22のたわみモデル式を用いて行なわれる。第2アーム22のたわみモデル式は、第2アーム22のたわみ角度θd2と、ワーク質量mを含むアーム質量M(第2関節軸J2以降のワークWを含むアーム部の質量)との関係を表すモデル式である。これらのモデル式は、記憶装置74に記憶されている。ねじれモデル式や各たわみモデル式の詳細については後述する。
【0023】
そして、CPU71は、第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とシャフト位置Zsとシャフト角度θJ4と第1アーム21のねじれ角度θtおよびたわみ角度θd1と第2アーム22のたわみ角度θd2とに基づいて順運動学を解くことにより基台11(ベース座標系Σ0)から見た手先の位置(X0,Y0,Z0)を算出する(ステップS150)。手先の位置は、順運動学の同次変換行列に各変数θJ1,θJ2,θJ4,Zs,θt,θd1,θd2を与えることにより算出することができる。順運動学の同次変換行列は、例えば、ロボット本体10の各リンクに座標系を設定し、リンクパラメータ表を作成して各座標系間の関係i-1Ti(i=1,2,3,4)を求め、各座標系間の関係i-1Tiからアーム全体の変換行列0T4を求めることにより導き出すことができる。
【0024】
各リンクの座標系は、
図5および
図6に示すように、ベース座標系Σ
0とリンク座標系Σ
1~Σ
3とハンド座標系Σ
4とを有する。ベース座標系Σ
0は、基台11に設定される。リンク座標系Σ
1は、第1アーム21の根元(第1関節軸J1)に設定される。リンク座標系Σ
2は、第2アーム22の根元(第2関節軸J2)に設定される。リンク座標系Σ
3は、シャフト23に設定される。ハンド座標系Σ
4は、手先(ワーク保持部24)に設定される。各座標系は、第1アーム21および第2アーム22が一直線状に伸びた状態をホームポジションとする。また、図中、X
0,X
1,X
2,X
3,X
4は、それぞれの座標系のX軸である。Y
0,Y
1,Y
2,Y
3,Y
4は、それぞれの座標系のY軸である。Z
0,Z
1,Z
2,Z
3,Z
4は、それぞれの座標系のZ軸である。th1は、リンク座標系Σ
1のZ
1軸周りの回転角を示す。J1rxは、リンク座標系Σ
1のX
1軸周りの回転角を示し、J1ryは、リンク座標系Σ
1のY
1軸周りの回転角を示す。さらに、J1rx2は、リンク座標系Σ
1がZ
1軸周りにth1だけ回転した状態のX
1軸周りの回転角を示し、J1ry2は、リンク座標系Σ
1がZ
1軸周りにth1だけ回転した状態のY
1軸周りの回転角を示す。th2は、リンク座標系Σ
2のZ
2軸周りの回転角を示す。J2rxは、リンク座標系Σ
2のX
2軸周りの回転角を示し、J2ryは、リンク座標系Σ
2のY2軸周りの回転角を示す。さらに、J2ry2は、リンク座標系Σ
2がZ
2軸周りにth2回転した状態のY2軸周りの回転角を示す。J3rxは、リンク座標系Σ
3のX3軸周りの回転角を示し、J3ryは、リンク座標系Σ
3のY
3軸周りの回転角を示す。th4は、ハンド座標系Σ
4のZ
4軸周りの回転角を示す。また、L
1は、Z
1軸とZ
2軸とのX
1軸方向の距離(第1アーム21のアーム長)を示す。L
2は、Z
2軸とZ
3軸とのX
2軸方向の距離(第2アーム22のアーム長)を示す。L
z1は、ベース座標系Σ
0の原点からリンク座標系Σ
1の原点までのZ
0軸方向の距離を示す。L
z2は、リンク座標系Σ
1の原点からリンク座標系Σ
2の原点までのZ
1軸方向の距離を示す。d3は、リンク座標系Σ
3の原点からハンド座標系Σ
4の原点までのZ
3軸方向の距離を示す。
【0025】
図7は、リンクパラメータ表の一例を示す説明図である。図中、リンク番号i(i=1,2,3,4)の各パラメータ(dx、dy、dz、rx、ry、rz、rx2、ry2)は、座標系Σ
i-1から座標系Σ
iへ変換するためのパラメータである。dx,dy,dzは、座標系Σ
i-1のX
i-1軸方向,Y
i-1軸方向,Z
i-1軸方向の移動量を示す。rx(rx2),ry(ry2),rzは、X
i-1軸周り,Y
i-1軸周り,Z
i-1軸周りの回転量を示す。表中、th1は、第1関節軸J1の回転角θ
J1に相当し、th2は、第2関節軸J2の回転角θ
J2に相当し、th4は、シャフト23の回転角θ
J4に相当する。d3は、リンク座標系Σ
3の原点から手先(シャフト位置Z
s)までの距離に相当する。また、J1rx2は、第1アーム21のねじれ角度θ
tに相当し、J1ry2は、第1アーム21のたわみ角度θ
d1に相当する。J2ry2は、第2アーム22のたわみ角度θ
d2に相当する。
【0026】
アーム全体の変換行列0T4は、リンクパラメータ表による各座標系間の関係i-1Ti(i=1,2,3,4)を用いて次式(1)により求めることができる。各座標系間の関係(行列)i-1Tiは、次式(2)により求めることができる。なお、dx,dy,dz,rx,ry,rz,rx2,ry2の各行列Tdx,Tdy,Tdz,Trx,Try,Trz,Trx2,Try2を次式(3)~(10)に示す。この変換行列0T4(同次変換行列)に各変数θJ1,θJ2,θJ4,Zs,θt,θd1,θd2を与えることにより、第1アーム21のねじれ及びたわみと第2アーム22のたわみとに起因した誤差を含んだ手先の位置を計算することができる。
【0027】
【0028】
なお、手先の誤差要因には、ねじれ角度θtやたわみ角度θd1,θd2の他に、リンク長誤差や関節取付誤差、関節回転オフセット、関節傾き等も含まれる。したがって、これらの誤差についても、変換行列0T4に与えることで、当該誤差を含んだ手先の位置を計算することができる。
【0029】
CPU71は、こうして誤差を含む手先の位置を算出すると、算出した誤差を含む手先の位置とステップS100で取得した手先の目標位置との差分をとることにより、各軸(ベース座標系Σ0におけるX0軸、Y0軸およびZ0軸)における手先の位置ずれ量を算出する(ステップS160)。続いて、CPU71は、目標位置を手先の位置ずれ量の分だけオフセットすることにより目標位置を補正した補正後位置を算出する(ステップS170)。次に、CPU71は、補正後位置に対して逆運動学を解くことにより第1関節軸J1の角度θJ1の目標値と第2関節軸J2の角度θJ2の目標値とシャフト位置Zsの目標値とシャフト角度θJ4の目標値とを算出する(ステップS180)。そして、CPU71は、各目標値が補正後目標位置に一致するよう対応するモータを制御して(ステップS190)、ロボット制御処理を終了する。
【0030】
次に、第1アーム21のねじれ角度θ
tの算出に用いられるねじれモデル式を作成する手順と、第1アーム21のたわみ角度θ
d1の算出に用いられるたわみモデル式を作成する手順について説明する。ここで、
図8および
図9に示すように、第1関節軸J1の延在方向をZ
1軸方向とし、第1アーム21の中心線に沿った方向をX
1軸方向とし、X
1軸およびZ
1軸に直交する方向をY
1軸方向とした上述したリンク座標系Σ
1を考えた場合、第1アーム21のねじれ角度θ
tは、第1アーム21のX
1軸周りの変位角度として定義される。また、第1アーム21のたわみ角度θ
d1は、
図10に示すように、第1アーム21のY
1軸周りの変位角度として定義される。さらに、第2アーム22のたわみ角度θ
d2は、第2アーム22のY2軸周りの変位角度として定義される。
【0031】
図11は、第1アームのねじれモデル式を作成する第1アームねじれモデル式作成手順の一例を示す説明図である。第1アームねじれモデル式作成手順では、ステップS200~S290により実行される。ステップS200は、第1関節軸J1の角度θ
J1が0度(基準角)となるようにモータ32を制御する。ステップS210は、手先(ワーク保持部24)にワークWを想定した重りmを取り付け、
図12に示すように第2関節軸J2が基準角(X
1軸方向)に対して90度小さい-90度から90度大きい+90度まで所定角度Δθ
J2ずつ(例えば10度ずつ)回転するようにモータ42を制御し、基準角(0度)における第1アーム21の先端部両端のZ
1軸方向における位置を基準として、第2関節軸J2が所定角度Δθ
J2回転する毎に第1アーム21の先端部両端のZ
1軸方向における変位(Z方向変位Z
tr,Z
tl)を測定する。なお、ステップS210の測定は、
図13および
図14に示すように、第1アーム21の先端部の両側面にそれぞれ測定対象物Pr,Plを設置し、レーザ変位計を用いて測定対象物Pr,Plにそれぞれ下方からレーザを当てて反射光を受光することにより行なうことができる。ステップS220は、手先(ワーク保持部24)に取り付ける重りmを順次変えて、重りm毎に、ステップS210のZ方向変位Z
tr,Z
tlを測定する動作を繰り返す。次のステップS230は、重りm毎および第2関節軸J2の角度θ
J2毎のZ方向変位Z
tr,Z
tlの平均値Z
rlaveを次式(11)により算出する。続くステップS240は、重りm毎および第2関節軸J2の角度θ
J2毎にZ方向変位Z
tr,Z
tlから平均値Z
rlaveを減じることにより重りm毎および第2関節軸J2の角度θ
J2毎の第1アーム21のねじれ角度θ
tの実測値を導出する。ここで、ステップS210,S220で測定される第1アーム21の先端部両端のZ方向変位Z
tr,Z
tlには、第1アーム21のたわみによる成分が含まれる。一方、平均値Z
rlaveは、第1アーム21の中心線上のZ方向変位を示し、ねじれ成分は含まれない。したがって、
図15に示すように、第2関節軸J2の角度θ
J2毎にZ方向変位Z
tr,Z
tlから平均値Z
rlaveをそれぞれ減算することにより、Z方向変位Z
tr,Z
tlからたわみ成分を除去することができる。
【0032】
【0033】
ステップS250は、第1アーム21、第2アーム22およびシャフト23の質量と手先(重りm)の質量とから第1関節軸J1以降(スカラアーム20の第1関節軸J1から先端側)のアーム部(重りmを含む)の重心位置L
tを算出する。ステップS260は、アーム部の重心位置L
tと第2関節軸J2の角度θ
J2とから角度θ
J2における重心位置L
tのY
1軸方向成分L
t’(θ
J2)を次式(12)により算出する。重心位置L
tのY
1軸方向成分L
t’(θ
J2)は、
図16に示すように、重心位置L
tのX
1軸に対するY
1軸方向における距離を示す。ステップS270は、第1アーム21のねじれモーメントI
tを算出する。ねじれモーメントI
tは、
図17に示すように、アーム部の重力(図中、下向き矢印)により第1アーム21をX
1軸周りに回転させようとするものであり、重心位置L
tがX
1軸上にあるときには値0であり、重心位置L
tがX
1軸からY
1軸方向に離れるにつれて大きくなる。すなわち、ねじれモーメントI
tは、第2関節軸J2の角度θ
J2が0度(基準角)のときに最小となり、第2関節軸J2の角度が-90度のときと+90度のときに最大となる。ねじれモーメントI
tは、重りmを含むアーム部の質量をMとし、重力加速度をgとしたとき、次式(13)により求めることができる。ステップS280は、第1アーム21のねじれ角度θ
tと第2関節軸J2の角度θ
J2とアーム部の質量Mとの関係を表わす第1アーム21のねじれモデル式を作成する。具体的には、ステップS280は、ねじれモーメントI
tをねじれ剛性K
tで除した次式(14)により定まるねじれモデル式を作成する。ステップS290は、ステップS240で導出した重りm毎および第2関節軸J2の角度θ
J2毎の第1アーム21のねじれ角度θ
tの実測値からねじれ剛性K
tを最適化する。このステップS290は、最急降下法やニュートンラフソン法などの最適化問題を解くための種々のアルゴリズムを採用することができる。
【0034】
【0035】
図18は、第1アームたわみモデル式作成手順の一例を示す説明図である。第1アームたわみモデル式作成手順は、ステップS300~S390により実行される。ステップS300は、第1関節軸J1および第2関節軸J2の各角度θ
J1,θ
J2がそれぞれ0度(基準角)となるようにモータ32,42を制御する。これにより、第1アーム21および第2アーム22は、X
1軸方向に沿って伸びた状態となる。ステップS310は、手先(ワーク保持部24)にワークWを想定した質量の異なる重りmを順次取り付け、手先に重りを付けない状態での第1アーム21の先端部のZ
1軸方向における位置を基準として、重りm毎に、第1アーム21の先端部のZ
1軸方向における変位(Z方向変位Z
d1)を測定する。なお、ステップS310の測定は、
図19に示すように、第1アーム21の先端部の底面を測定対象面とし、レーザ変位計を用いて測定対象面にレーザを当てて反射光を受光することにより行なうことができる。続くステップS320は、手先に重りmが取り付けられておらず且つ第2関節軸J2の角度θ
J2が0度(基準角)であるときの第1アーム21のたわみ角度θ
d1である初期たわみ角度を設定する。第1関節軸J1以降(第1関節軸J1からアーム先端まで)のアーム部の重心位置(X
1軸上の重心位置)とアーム部の質量とを乗じたもの(重心位置×アーム質量)が値0(無重力状態)であるとき、第1アーム21は、全くたわんでいない状態となる。このため、第1アーム21の初期たわみ量は、
図20に示すように、重心位置×アーム質量をx軸とし、Z方向変位Z
d1(第1アーム21のたわみ量)をy軸として重りm毎の両者の組み合わせデータをxyグラフ上にプロットし、プロットした点を結んだ直線の延長線(図中、破線参照)におけるy切片を求めることにより導出することができる。第1アーム21の初期たわみ角度は、導出した初期たわみ量に対して逆正接関数を適用することにより求めることができる。
【0036】
ステップS330は、第2関節軸J2が-90度から+90度まで所定角度Δθ
J2ずつ(例えば10度ずつ)回転するようにモータ42を制御し、基準角(0度)における第1アーム21の先端部のZ
1軸方向における位置を基準として、第2関節軸J2が所定角度Δθ
J2回転する毎に第1アーム21の先端部のZ
1軸方向における変位(Z方向変位Z
d1)を測定する。更に、ステップS330は、手先にワークWを想定した質量の異なる重りmを順次取り付け、重りm毎に、第2関節軸J2が所定角度Δθ
J2回転する毎にZ方向変位Z
d1を測定する動作を繰り返す。続くステップS340は、重りm毎および第2関節軸J2の角度θ
J2毎に測定したZ方向変位Z
d1(たわみ量)に対してそれぞれ逆正接関数を適用して各角度変位を求め、求めた各角度変位をステップS320で設定した初期たわみ角度に加えることにより、
図21に示すように重りm毎および第2関節軸J2の角度θ
J2毎のたわみ角度θ
d1の実測値を導出する。
【0037】
ステップS350は、第1アーム21、第2アーム22およびシャフト23の質量と手先(重りm)の質量とから第1関節軸J1以降(スカラアーム20の第1関節軸J1から先端側)のアーム部(重りmを含む)の重心位置L
d1を算出する。ステップS360は、アーム部の重心位置L
d1と第2関節軸J2の角度θ
J2とから角度θ
J2における重心位置L
d1のX
1軸方向成分L
d1’(θ
J2)を次式(15)により算出する。重心位置L
d1のX
1軸方向成分L
d1’(θ
J2)は、
図22に示すように、第2関節軸J2の中心を通りY
1軸に平行なY
1’軸に対する重心位置L
d1のX
1軸方向における距離を示す。ステップS370は、第1アーム21のたわみモーメントI
d1を算出する。たわみモーメントI
d1は、本実施形態では、
図23に示すように、アーム部の重力(図中、下向き矢印)により第1アーム21をY
1軸周りに回転させようとするものであり、重心位置L
d1が第1関節軸J1からX
1軸方向に離れるにつれて大きくなる。すなわち、たわみモーメントI
d1は、第2関節軸J2の角度が±180度のときに最小となり、第2関節軸J2の角度が0度(基準角)のときに最大となる。たわみモーメントI
d1は、第1アーム21のアーム長をL
1とし、アーム部の質量をMとし、重力加速度をgとしたとき、次式(16)により求めることができる。ステップS380は、第1アーム21のたわみ角度θ
d1と第2関節軸J2の角度θ
J2とアーム部の質量Mとの関係を表わす第1アーム21のたわみモデル式を作成する。具体的には、ステップS380は、たわみモーメントI
d1をたわみ剛性K
d1で除した次式(17)により定まるモデル式を作成する。ステップS390は、ステップS340で導出した重りm毎および第2関節軸J2の角度θ
J2毎の第1アーム21のたわみ角度θ
d1の実測値からたわみ剛性K
d1を最適化する。このステップS390は、ねじれ剛性K
tと同様に、最急降下法やニュートンラフソン法などの最適化問題を解くための種々のアルゴリズムを採用することができる。
【0038】
【0039】
次に、第2アーム22のたわみモデル式を作成する手順について説明する。
図24は、第2アームたわみモデル式作成手順の一例を示す説明図である。第2アームたわみモデル式作成手順は、ステップS400~S460により実行される。ステップS400は、手先にワークWを想定した質量の異なる重りmを順次取り付け、手先に重りを付けない状態での第2アーム22の先端部のZ
1軸方向における位置を基準として、重りm毎に、第2アーム22の先端部のZ
1軸方向における変位(Z方向変位Z
d2)を測定する。なお、ステップS400の測定は、
図19に示すように第2アーム22の先端部に装着されたシャフト23の先端面を測定対象面とし、レーザ変位計を用いて測定対象面にレーザを当てて反射光を受光することにより行なうことができる。続くステップS410は、手先に重りmが取り付けられていない状態での第2アーム22のたわみ角度である初期たわみ角度を設定する。第2アーム22の初期たわみ量は、上述したステップS320と同様に、重心位置×アーム質量をx軸とし、第2アーム22のたわみ量(Z方向変位Z
d2)をy軸として重りm毎の両者の組み合わせデータをxyグラフ上にプロットし、プロットした点を結んだ直線の延長線におけるy切片を求めることにより導出することができる。第2アーム22の初期たわみ角度は、導出した初期たわみ量に対して逆正接関数を適用することにより求めることができる。ステップS420は、重りm毎に測定したZ方向変位Z
d2(たわみ量)に対してそれぞれ逆正接関数を適用して各角度変位を求め、求めた各角度変位をステップS410で設定した初期たわみ角度に加えることにより、
図25に示すように重りm(手先質量)毎の第2アーム22のたわみ角度θ
d2の実測値を導出する。この第2アーム22のたわみ角度θ
d2は、X
1軸を基準とした角度であり、第1アーム21のたわみ角度θ
d1が重畳しているため、ステップS340で求めた第1アーム21のたわみ角度d1の実測値を減算することで、
図10に示すように、X
2軸を基準とした第2アーム22のたわみ角度θ
d2を得ることができる。
【0040】
ステップS430は、第2アーム22およびシャフト23の質量と手先(重りm)の質量とから第2関節軸J2以降(スカラアーム20の第2関節軸J2から先端側)のアーム部(重りmを含む)の重心位置L
d2を算出する。続くステップS440は、第2アーム22のたわみモーメントId2を算出する。たわみモーメントId2は、
図26に示すように、第2関節軸J2の角度θ
d2とは無関係に、重心位置L
d2(第2関節軸J2の中心から重心までの距離)とアーム部の質量とによって定まる。すなわち、たわみモーメントId2は、アーム部の質量をMとし、重力加速度をgとしたとき、次式(18)により求めることができる。ステップS450は、たわみモーメントId2をたわみ剛性K
d2で除した次式(19)により第2アーム22のたわみ角度θ
d2とアーム部の質量Mとの関係を表わす第2アーム22のたわみモデル式を作成する。ステップS460は、ステップS420で求めた重りm毎の第2アーム22のたわみ角度θ
d2の実測値からたわみ剛性K
d2を最適化する。このステップS460は、ねじれ剛性K
tやたわみ剛性K
d1と同様に、最急降下法やニュートンラフソン法などの最適化問題を解くための種々のアルゴリズムを採用することができる。
【0041】
【0042】
ここで、実施形態の主要な要素と請求の範囲に記載した本開示の主要な要素との対応関係について説明する。即ち、本実施形態では、第1アーム21が第1アームに相当し、第1関節軸J1が第1軸に相当し、第2アーム22が第2アームに相当し、第2関節軸J2が第2軸に相当し、シャフト23がシャフトに相当し、第3関節軸J3が第3軸に相当し、
図4のロボット制御処理のS180,S190の処理を実行する制御装置70のCPU71が制御部に相当し、記憶装置74が記憶部に相当し、
図4のロボット制御処理のS100~S170の処理を実行するCPU71が補正部に相当する。また、ワーク保持部24がワーク保持部に相当する。
【0043】
なお、本開示は上述した実施形態に何ら限定されることはなく、本開示の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0044】
例えば、上述した実施形態では、制御装置70は、記憶装置74に予め記憶されたねじれモデル式を用いて第2関節軸J2の角度θJ2に基づく第1アーム21のねじれ角度θtを算出し、算出したねじれ角度θtに基づいて手先の位置ずれを補正するものとした。しかし、制御装置70は、第1アーム21のねじれ角度θtと第2関節軸J2の角度θJ2との関係あるいは第1アーム21のねじれ角度θtに基づくねじれ補正値と第2関節軸J2の角度θJ2との関係を表わすマップを予め記憶しておき、第2関節軸J2の角度θJ2に基づいて当該マップからねじれ補正値を導出するようにしてもよい。
【0045】
上述した実施形態では、制御装置70は、記憶装置74に予め記憶された第1アーム21のたわみモデル式を用いて第2関節軸J2の角度θJ2に基づく第1アーム21のたわみ角度θd1を算出し、算出したたわみ角度θd1に基づいて手先の位置ずれを補正するものとした。しかし、制御装置70は、第1アーム21のたわみ角度θd1と第2関節軸J2の角度θJ2との関係あるいは第1アーム21のたわみ角度θd1に基づくたわみ補正値と第2関節軸J2の角度θJ2との関係を表わすマップを予め記憶しておき、第2関節軸J2の角度θJ2に基づいて当該マップからたわみ補正値を導出するようにしてもよい。更に、制御装置70は、記憶装置74に予め記憶されたたわみモデル式を用いて手先質量m(ワークWの重さ)に基づく第1アーム21,第2アーム22のたわみ角度θd1,θd2を算出し、算出したたわみ角度θd1,θd2に基づくたわみ補正値により手先の位置ずれを補正するものとした。しかし、制御装置70は、第1アーム21,第2アーム22のたわみ角度θd1,θd2と手先質量m(ワークWの重さ)との関係あるいは第1アーム21,第2アーム22のたわみ角度θd1,θd2に基づくたわみ補正値と手先質量m(ワークWの重さ)との関係を表わすマップを予め記憶しておき、手先質量mに基づいて当該マップからたわみ補正値を導出するようにしてもよい。
【0046】
以上説明したように、本開示のスカラロボットシステムは、基台と、前記基台に設けられ、第1軸周りに回動する第1アームと、前記第1アームに設けられ、前記第1軸と平行な第2軸周りに回動する第2アームと、前記第2アームに対して前記第2軸と平行な第3軸の軸方向に移動するシャフトと、前記第1アームと前記第2アームと前記シャフトとの動作を制御する制御部と、前記第2アームの回動位置に対応する前記第1アームのアーム周りの回転角に基づく、前記第1アームのねじれ補正係数を記憶する記憶部と、前記ねじれ補正係数を用いて前記シャフト先端の水平方向の位置を補正する補正部と、を備えることを要旨とする。
【0047】
この本開示のスカラロボットシステムは、基台に設けられて第1軸周りに回動する第1アームと、第1アームに設けられた第1軸と平行な第2軸周りに回動する第2アームと、第2アームに対して第2軸と平行な第3軸の軸方向に移動するシャフトと、これらの動作を制御する制御部と、記憶部と、補正部と、を備えるものである。記憶部は、第2アームの回動位置に対応する第1アームのアーム周りの回転角に基づく第1アームのねじれ補正係数を記憶する。補正部は、ねじれ補正係数を用いて前記シャフト先端の水平方向の位置を補正する。第1アームと第2アームとを含むアーム部の重心位置に、第1アームの延在方向に直交する成分が含まれると、第1アームのアーム周りにモーメントが生じて第1アームにねじれが生じる。スカラロボットシステムは、予め第2アームの回動位置に対応する第1アームのアーム周りの回転角に基づく第1アームのねじれ補正係数を記憶部に記憶しておき、これを補正値として反映させる。これにより、第2アームが回動位置に拘らず第1アームのアーム周りのねじれに基づく手先の位置ずれを良好に補正することができるスカラロボットシステムとすることができる。
【0048】
こうした本開示のスカラロボットシステムにおいて、前記ねじれ補正係数を用いて前記シャフトの移動量を補正する前記補正部を備えるものとしてもよい。
【0049】
また、本開示のスカラロボットシステムにおいて、前記第2アームの回動位置に対応する前記第1アームの第1たわみ量と前記第2アームの第2たわみ量とを記憶する前記記憶部と、前記第1たわみ量と前記第2たわみ量とを用いて前記補正を行う前記補正部と、を備えるものとしてもよい。こうすれば、第2アームの回動位置に拘わらず第1アームのたわみに基づくシャフト先端の位置ずれを良好に補正することができる。この態様の本開示のスカラロボットシステムにおいて、前記シャフトはワークを保持するワーク保持部を有し、前記ワークの重さに対応する前記ねじれ補正係数と前記ワークの重さに対応する前記第1たわみ量および前記第2たわみ量とを記憶する前記記憶部を備えるものとしてもよい。こうすれば、重さの異なる多様なワークをワーク保持部で保持する場合であっても、手先の位置ずれを良好に補正することができる。
【0050】
更に、本開示のスカラロボットシステムにおいて、前記ねじれ補正係数のモデル式と前記第1たわみ量のモデル式と前記第2たわみ量のモデル式とを記憶する前記記憶部と、前記ねじれ補正係数のモデル式と前記第1たわみ量のモデル式と前記第2たわみ量のモデル式とを用いて前記補正を行う前記補正部と、を備えるものとしてもよい。こうすれば、マップを用いて補正を行なうものに比して、必要な記憶部の記憶容量を低減することができる。
【0051】
なお、本開示は、スカラロボットシステムの形態としたが、アームの位置ずれ補正方法の形態としてもよい。
【産業上の利用可能性】
【0052】
本開示は、スカラロボットの製造産業などに利用可能である。
【符号の説明】
【0053】
1 スカラロボットシステム、2 作業台、10 ロボット本体、11 基台、20 多関節アーム、21 第1アーム、22 第2アーム、23 シャフト、24 ワーク保持部、30 第1アーム駆動部、32 モータ、34 エンコーダ、40 第2アーム駆動部、42 モータ、44 エンコーダ、50 シャフト駆動部、52a,52b モータ、54a,54b エンコーダ、60 カメラ、70 制御装置、71 CPU、72 ROM、73 RAM、74 記憶装置、J1 第1関節軸、J2 第2関節軸、J3 第3関節軸、Pl,Pr 測定対象物。