説明

ロボットアームの姿勢教示方法および姿勢教示装置

【課題】 操作者による教示の手間と時間を低減し、ロボットアームの動作角度が不所望に大きくなることを防止すると共に、ロボットアームの姿勢の位置エネルギ等の低減を図り必要動力を小さくすることができるロボットアームの姿勢教示方法および姿勢教示装置を提供する。
【解決手段】 ハンド8を仮位置決めした後座標原点Oを算出して干渉有無を判断し、干渉ない場合関節J1,J2角度を規定し、肘部4の座標原点Oを算出する。座標原点O等に基づき干渉有無を判断して手首角度等を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、産業用ロボット、人間の生活を支援するロボット等に適用されるロボットアームの姿勢教示方法および姿勢教示装置に関する。
【背景技術】
【0002】
産業用ロボットや人間の生活を支援するロボットの分野において、例えば7軸以上の関節を有する多関節ロボットが提案されている(特許文献1)。この多関節ロボットは、姿勢の冗長性を有する。この「冗長性」とは、本来、余剰となるものを付加することによって、可能性が高められている状態であり、システム等においては、構成を二重化、多重化したり、予備の手段を用意したりすることによって冗長性が確保される。
また、この多関節ロボットが障害物、対象物等との干渉を回避する方法としては、前記対象物に設けた比較基準点から多関節ロボットに設けた比較基準点までの距離が最大となるようにロボットの姿勢を決定して障害物を回避し、目的作業を行う方法があった。
【特許文献1】特開2005−14108号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
7軸以上の多関節ロボットは、姿勢の冗長性を備えているが、制御する方法はやや複雑である。このため、教示装置により障害物回避、対象物把持姿勢を直接指示、操作し、目的の姿勢を取らせ作業させる方法がある。しかし、この方法は、人が教示装置を用いて指示、操作を行わなければならない、換言すれば、多関節ロボットを手動操作で運転し位置データおよび実装順序を指示し記憶させなければならないため、手間と時間を要する。
また、多関節ロボットが障害物を回避し、先端に取付けられたハンドにより対象物を把持する場合、ロボットの把持姿勢は多数存在する。その中には、いわゆる「肘高さ」が高いため、位置エネルギが大きくなったり、いわゆる「手首」の曲げ角度が大きくなったりしてロボットの姿勢として適さないものも含む。
【0004】
具体的に、上記冗長性を有する多関節ロボットが自動操作によって、把持対象物、障害物との干渉を回避する方法として、多関節ロボットと把持対象物、障害物にそれぞれ比較基準点を設け、これら比較基準点に基づいて算出される距離が最大となるようにロボットの姿勢を決定して障害物を回避し、目的作業を行う方法では、次のような問題点がある。
・ロボットが障害物を大きく回避し過ぎてしまい、姿勢実現のために動作角度が不所望に大きくなってしまうことがある。
・前記「肘高さ」が考慮されていないため、決定したロボットの姿勢の位置エネルギ等が大きくなってしまい、このため、必要動力が大きくなってしまうことがある。
【0005】
この発明の目的は、操作者による教示の手間と時間を低減し、ロボットアームの動作角度が不所望に大きくなることを防止すると共に、ロボットアームの姿勢の位置エネルギ等の低減を図り必要動力を小さくすることができるロボットアームの姿勢教示方法および姿勢教示装置を提供することである。
【課題を解決するための手段】
【0006】
この発明のロボットアームの姿勢教示方法は、関節を介して順次連結される可動部として、対象物Wを把持するハンド8、このハンド8に手首関節J5〜J7を介して姿勢変更可能に連結した前腕5、およびこの前腕5の肘部4に肘関節J3,J4を介して連結した上腕3を有し、前記ハンド8で対象物Wを把持するときの前記ハンド8の姿勢に冗長性を有する多関節のロボットアームRAに対し、障害物OBとの干渉を回避する条件下で、前記ハンド8が対象物Wを把持するときの前記多関節の姿勢を決定するロボットアームRAの姿勢教示方法であって、前記ハンド8が対象物Wを把持できる範囲で前記ハンド8の姿勢を種々変更し、かつ各関節の姿勢を種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する姿勢変更・干渉判断過程(ステップa1)と、この姿勢変更・干渉判断過程(ステップa1)で干渉が生じないとされる前記ハンド8および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算過程(ステップa2)と、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定過程(ステップa3)とを含み、
前記評価値については、ロボットアームRAの基端の固定部分に対する固定の座標系として、基準座標原点0を任意に定めて、水平方向の直交2軸(x軸,y軸)および鉛直方向の1軸(z軸)を座標軸とする直交3軸方向の基準座標系を考えて、肘関節J3,J4における所定点の前記基準座標系における鉛直方向の座標を肘高さEとし、水平面(x,y平面)内で前記ハンド8が前腕5に対して成す角度を手首角度θとし、前記肘高さEと手首角度θにそれぞれ重み付けをして、その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値とすることを特徴とする。
【0007】
この構成によると、姿勢変更・干渉判断過程(ステップa1)において、ハンド8が対象物Wを把持できる範囲でハンド8の姿勢を種々変更し、かつ多関節の姿勢を種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する。評価値計算過程(ステップa2)では、干渉が生じないとされる前記ハンド8および各関節の姿勢を取った場合における所定の評価値を計算する。この評価値は、上記(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)であり、その後、評価値比較・教示姿勢決定過程(ステップa3)において、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。これにより、ロボットアームRAが障害物OBを大きく回避し過ぎることなく、肘高さEすなわち位置エネルギ、手首角度θが同時に最適になる姿勢を決定することができる。
【0008】
前記ロボットアームRAは、前記手首関節J5〜J7が、前腕5に対してハンド8が直交2軸方向にそれぞれ傾斜角度変更可能で、かつ前腕5の軸芯5i回りの回転が可能な3自由度を有する関節であり、かつ前記肘関節J3,J4が、直交2軸方向にそれぞれ傾斜角度変更可能な2自由度を有する関節であっても良い。この場合、ロボットアームRAは、このような多関節によって姿勢の冗長性を有し、多数の把持姿勢を実現することができる。その際、ロボットアームRAが障害物OBを大きく回避し過ぎることなく、肘高さEおよび手首角度θが同時に最適になる姿勢を決定することができる。
【0009】
前記姿勢変更・干渉判断過程(ステップa1)は、実際に、前記ハンド8を前記対象物Wに対して把持状態の姿勢に仮位置決めする仮位置決め過程(ステップa11)と、この仮位置決めを行った状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する仮位置決め内姿勢変更・干渉判断過程(ステップa12)と、この仮位置決め内姿勢変更・干渉判断過程(ステップa12)の後、前記ハンド8の姿勢を変更して前記仮位置決め過程(ステップa11)および前記仮位置決め内姿勢変更・干渉判断過程(ステップa12)を、前記ハンド8の把持可能な全ての姿勢の範囲で繰り返す繰り返し過程(ステップa13)とを含むものであっても良い。
【0010】
このようにハンド8を対象物Wに対して把持状態の姿勢に仮位置決めしたうえで、ロボットアームRAと障害物OBとの干渉を判断する。しかも、仮位置決め過程(ステップa11)および仮位置決め内姿勢変更・干渉判断過程(ステップa12)では、ハンド8の把持可能な全ての姿勢の範囲で繰り返すだけであるため、操作者による教示の手間と時間を低減することができる。
【0011】
前記姿勢変更・干渉判断過程(ステップa1)では、前記手首関節J5〜J7に座標原点Oを設定した手首座標系において、ハンド8の表面8aに対象物接触点Hを設定し、前記仮位置決め過程(ステップa11)において、前記対象物接触点Hを対象物Wに接触させた状態に前記ハンド8を仮位置決めし、仮位置決め内姿勢変更・干渉判断過程(ステップa12)において、仮位置決めしたハンド8の前記対象物接触点Hと把持対象物Wの中心との位置関係から、前記基準座標系における前記手首座標系の原点を手首座標として求め、この求めた手首座標と障害物の中心との距離、および手首座標と対象物Wの中心との距離をそれぞれ計算し、ロボットアームRAが前記障害物OBおよび把持対象物Wと干渉しないかを所定の規則に従って判断するようにしても良い。
このように、ハンド8を対象物Wに接触させた状態に仮位置決めした状態で、上記手首座標を求め、この手首座標と障害物OBの中心との距離、および手首座標と対象物Wの中心との距離をそれぞれ計算し、ロボットアームRAと障害物OB等との干渉を容易にかつ正確に判断することができる。
【0012】
前記肘高さ重みおよび前記手首角度重みを、いずれも1としても良い。
この場合、重み付けの係数の差がなくても、適性な姿勢となることがある。このような場合、肘高さE及び手首角度θが同時に最適になる姿勢をより簡単に決定することができる。
【0013】
この発明のロボットアームの姿勢教示装置は、関節を介して順次連結される可動部として、対象物Wを把持するハンド8、このハンド8に手首関節J5〜J7を介して姿勢変更可能に連結した前腕5、およびこの前腕5の肘部4に肘関節J3,J4を介して連結した上腕3を有し、前記ハンド8で対象物Wを把持するときの前記ハンド8の姿勢に冗長性を有する多関節のロボットアームRAに対し、障害物OBとの干渉を回避する条件下で、前記ハンド8が対象物Wを把持するときの前記各関節の姿勢を決定するロボットアームRAの姿勢教示装置であって、
前記ハンド8を前記対象物Wに対して把持状態の姿勢に仮位置決めし、かつこの仮位置決めの姿勢を種々変更した場合において、各関節の姿勢を種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する姿勢変更・干渉判断手段18と、この姿勢変更・干渉判断手段18で干渉が生じないとされる前記ハンド8および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算手段19と、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定手段20とを含み、
前記評価値計算手段19において、ロボットアームRAの基端の固定部分に対する固定の座標系として、基準座標原点0を任意に定めて、水平方向の直交2軸(x軸,y軸)および鉛直方向の1軸(z軸)を座標軸とする直交3軸方向の基準座標系を考えて、肘関節J4における所定点の前記基準座標系における鉛直方向の座標を肘高さEとし、水平面(x,y平面)内で前記ハンド8が前腕5に対して成す角度を手首角度θとし、前記肘高さEと手首角度θにそれぞれ重み付けをして、その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値とすることを特徴とする。
【0014】
この構成によると、評価値比較・教示姿勢決定手段20は、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。これにより、ロボットアームRAが障害物OBを大きく回避し過ぎることなく、肘高さEすなわち位置エネルギ、手首角度θが同時に最適になる姿勢を決定することができる。
【発明の効果】
【0015】
この発明のロボットアームの姿勢教示方法は、関節を介して順次連結される可動部として、対象物を把持するハンド、このハンドに手首関節を介して姿勢変更可能に連結した前腕、およびこの前腕の肘部に肘関節を介して連結した上腕を有し、前記ハンドで対象物を把持するときの前記ハンドの姿勢に冗長性を有する多関節のロボットアームに対し、障害物との干渉を回避する条件下で、前記ハンドが対象物を把持するときの前記多関節の姿勢を決定するロボットアームの姿勢教示方法であって、
前記ハンドが対象物を把持できる範囲で前記ハンドの姿勢を種々変更し、かつ各関節の姿勢を種々変更した場合のロボットアームと障害物との干渉を判断する姿勢変更・干渉判断過程と、この姿勢変更・干渉判断過程で干渉が生じないとされる前記ハンドおよび各関節の姿勢を取った場合における所定の評価値を計算する評価値計算過程と、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定過程とを含み、
前記評価値については、ロボットアームの基端の固定部分に対する固定の座標系として、基準座標原点0を任意に定めて、水平方向の直交2軸(x軸,y軸)および鉛直方向の1軸(z軸)を座標軸とする直交3軸方向の基準座標系を考えて、肘関節における所定点の前記基準座標系における鉛直方向の座標を肘高さEとし、水平面(x,y平面)内で前記ハンドが前腕に対して成す角度を手首角度θとし、前記肘高さEと手首角度にそれぞれ重み付けをして、その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値とするため、操作者による教示の手間と時間を低減し、ロボットアームの動作角度が不所望に大きくなることを防止すると共に、ロボットアームの姿勢の位置エネルギ等の低減を図り必要動力を小さくすることができる。
【発明を実施するための最良の形態】
【0016】
この発明の一実施形態を図1ないし図7と共に説明する。本実施形態に係るロボットアームの姿勢教示装置は、7軸の関節を有する多関節のロボットアームに適用される。ただし、関節数は、7軸に限定されるものではなく、例えば8軸以上であっても良い。また6軸以下であっても良い。以下の説明は、ロボットアームの姿勢教示方法についての説明をも含む。この多関節のロボットアームは、障害物を回避し、先端に取り付けられたハンドにより、対象物を把持する場合の姿勢を決定する機能を有する。
【0017】
図1,図2に示すように、ロボットアームRAは、アーム取付台12に取り付けられる。このロボットアームRAは、関節を介して順次連結される可動部として、上記ハンド8、このハンド8に手首関節J5〜J7を介して姿勢変更可能に連結した前腕5、およびこの前腕5の肘部4に肘関節J3,J4を介して連結した上腕3を有する。この上腕3は肩関節J1,J2を介してアーム取付台12に取り付けられている。
【0018】
前記手首関節J5〜J7は3自由度を有する関節である。手首関節J5〜J7のうち手首関節J5は、前腕5の軸芯5i回りの回転を可能とする関節である。手首関節J6,J7は、前腕5に対してハンド8を直交2軸方向にそれぞれ傾斜角度変更可能とする関節である。手首関節J6は、前腕5に連結される第1手首6によって実現され、手首関節J7は、前記第1手首6に連結される第2手首7によって実現される。この第2手首7は、凹形状に形成されたブラケット7aを備え、このブラケット7aの底部7aaからハンド8が突出するようにブラケット7aに一体に設けられている。このハンド8により対象物Wを把持可能に構成されている。
【0019】
前記肘関節J3,J4は、直交2軸方向にそれぞれ傾斜角度変更可能な2自由度を有する関節である。前記肩関節J1,J2は、アーム取付台12に対して上腕3を直交2軸方向にそれぞれ傾斜角度変更可能とする関節である。肩関節J1は第1肩1によって実現され、肩関節J2は第2肩2によって実現される。また、この多関節のロボットアームRAは、上記各部を動作させる図示外のモータ、および各部の動作を制御する後述の姿勢教示装置17を有する。
上記関節J1〜J7の各軸は、必ずしも角度変位可能な軸である必要はなく、関節J1〜J7のうち少なくともいずれか1つの関節の軸が、例えば伸縮動作または平行リンク動作等の動作部を有するものであっても良い。
【0020】
次に、このロボットアームRAの姿勢教示装置17について説明する。
図5に示すように、姿勢教示装置17は、例えば、中央処理装置(CPU)、メモリ等の記憶手段、および入出力インターフェース等(いずれも図示せず)を有するマイクロコンピュータ等のコンピュータと、このコンピュータに実行させる教示用の姿勢制御プログラム(図示せず)とによって実現される。前記記憶手段に、上記姿勢教示プログラムが格納されている。この姿勢制御プログラムにより、図5に概念構成で示す各手段が構成される。なお、姿勢制御プログラムおよび、教示後のロボットアーム動作を制御する動作制御プログラム(図示せず)によって、この姿勢教示装置17の上位の制御装置(図示せず)が構成される。
【0021】
姿勢教示装置17は、姿勢変更・干渉判断手段18と、評価値計算手段19と、評価値比較・教示姿勢決定手段20とを有する。前記姿勢変更・干渉判断手段18は、仮位置決め内姿勢変更・干渉判断部18aと、繰り返し過程部18bとを有する。これらのうち仮位置決め内姿勢変更・干渉判断部18aは、ハンド8を対象物Wに対して把持状態の姿勢に仮位置決めした状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームRAと障害物Wとの干渉を判断する。前記繰り返し過程部18bは、前記干渉を判断した後、ハンド8の姿勢を変更してこのハンド8の再仮位置決めおよびロボットアームRAと障害物Wとの干渉を判断する過程を、前記ハンド8の把持可能な全ての姿勢の範囲で繰り返す。
【0022】
前記評価値計算手段19は、この姿勢変更・干渉判断手段18で干渉が生じないとされるハンド8および各関節の姿勢を取った場合における所定の評価値を計算する。前記評価値比較・教示姿勢決定手段20は、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。
【0023】
前記評価値計算手段19において、ロボットアームRAの基端の固定部分に対する固定の座標系として、基準座標原点0を任意に定めて、水平方向の直交2軸(x軸,y軸)および鉛直方向の1軸(z軸)を座標軸とする直交3軸方向の基準座標系を考えて、肘関節J4における所定点の前記基準座標系における鉛直方向の座標を、図2に示すように肘高さEとし、水平面(x,y平面)内でハンド8が前腕5に対して成す角度を、図3に示すように手首角度θとし、前記肘高さEと手首角度にそれぞれ重み付けをして、その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値とする。つまり、肘高さEにこの重み付け係数である肘高さ重みを乗じた値に、手首角度θにこの重み付け係数である手首角度重みを乗じた値をさらに積算した値を、評価値としている。
前記評価値比較・教示姿勢決定手段20により教示される姿勢を実行するための出力値が、図示外の駆動回路を介して前記各モータに伝達され、これらモータ駆動により姿勢制御に供される。
【0024】
図6は、ロボットアームの姿勢教示方法を上位概念化して表す流れ図である。
この姿勢教示方法は、多関節のロボットアームRAに対し、障害物OBとの干渉を回避する条件下で、ハンド8が対象物Wを把持するときの上記各関節J1〜J7の姿勢を決定するロボットアームRAの姿勢教示方法である。この姿勢教示方法は、主に、姿勢変更・干渉判断過程(ステップa1)と、評価値計算過程(ステップa2)と、評価値比較・教示姿勢決定過程(ステップa3)とを有する。
【0025】
前記姿勢変更・干渉判断過程(ステップa1)は、仮位置決め過程(ステップa11)と、仮位置決め内姿勢変更・干渉判断過程(ステップa12)と、繰り返し過程(ステップa13)とを含む。本処理開始後、前記仮位置決め過程(ステップa11)に移行し、ハンド8を対象物Wに対して把持状態の姿勢に仮位置決めする。次に、仮位置決め内姿勢変更・干渉判断過程(ステップa12)に移行し、前記ハンド8の仮位置決めを行った状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する。次に、繰り返し過程(ステップa13)に移行して、ハンド8の姿勢を変更して前記仮位置決め過程(ステップa11)および前記仮位置決め内姿勢変更・干渉判断過程(ステップa12)を、ハンド8の把持可能な全ての姿勢の範囲で繰り返す。
【0026】
次に、評価値計算過程(ステップa2)に移行し、姿勢変更・干渉判断過程(ステップa1)で干渉が生じないとされるハンド8および各関節の姿勢を取った場合における所定の評価値を計算する。その後、評価値比較・教示姿勢決定過程(ステップa3)に移行し、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。その後本処理を終了する。
【0027】
図7は、このロボットアームの姿勢教示方法を段階的に表す流れ図である。
操作者によるスイッチ操作、または上記姿勢制御プログラム等に基づいて、以下の座標を測定しておく。例えば、円筒状の障害物OBを支持面SFに立設させた場合、図3に示す平面視における障害物OBの円中心9のXY座標である「障害物中心座標」を、後述の基準座標原点Oからの距離で測定しておく。これと共に、例えば、円筒状の対象物Wを支持面SFに立設させた場合、図3に示す平面視における、対象物Wの円中心10のXY座標である「把持対象物中心座標」を、基準座標原点Oからの距離で測定しておく。この基準座標原点Oは、ロボットアームRAの基端の固定部分に対する固定の座標系として、任意に定めた座標原点である。
【0028】
次に、ステップS2に移行し、後述する手首座標を求めるため、ハンド表面8aに、手首関節J7に設定した座標原点Oから座標(hx,hy,hz)となる点Hを設定する。次に、ステップS3に移行し、ハンド8を、図3に示すように、ハンド表面8aに設定した点Hが対象物Wと接し、図2に示すように、ハンド8の端面16が支持面SFと水平になるように仮配置する。これらステップS1〜ステップS3が仮位置決め過程に相当する。
次に、ステップS4に移行し、上記仮配置したハンド8内の点Hと、対象物中心座標との位置関係から、上記基準座標原点Oから見た座標原点Oの座標(Wx,Wy,Wz)を求め、これを手首座標とする。
【0029】
次に、求めた手首座標と障害物中心座標との距離、手首座標と対象物中心座標との距離をそれぞれ計算し、ロボットアームRAがこれら障害物OB、対象物Wと干渉しないかを確認する(ステップS5)。その後、ステップS6において、干渉があるか否かを所定の規則に従って判断する。例えば、手首座標と障害物中心座標との距離が、障害物OBの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームRAと障害物OBとが干渉すると判断する。また、手首座標と対象物中心座標との距離が、例えば、対象物Wの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームRAと対象物Wとが干渉すると判断する。これらステップS4〜ステップS6が仮位置決め内姿勢変更・干渉判断過程に相当する。
【0030】
ロボットアームRAと、障害物OB又は対象物Wとの干渉が発生した場合(ステップS6:No)、ステップS7に移行し、計算を行っていないハンド8の仮配置があるか否かを判断する。未計算の仮配置ありとの判断で(ステップS7:Yes)、ステップS3に戻る処理を繰り返す。このステップS7が繰り返し過程に相当する。ステップS6で干渉なしのとき(ステップS6:Yes)、肩関節J1の傾斜角度を、この肩関節J1が取り得る傾斜角度範囲内の下限値に設定する(ステップS8)。
【0031】
次に、前記手首座標と、設定した肩関節J1の傾斜角度の下限値より、肩関節J2の傾斜角度を計算する(ステップS9)。これら肩関節J1,J2の両傾斜角度より、基準座標原点Oを基準とする肘部4の座標原点Oのいわゆる肘座標(Ex,Ey,Ez)を算出する(ステップS10)。前記肘座標のうちEzは、支持面SFつまり地面からの肘高さEzを表す。
次に、求めた肘座標と障害物中心座標間の距離を算出する。また、前記肘座標と対象物中心座標間の距離を算出する。これにより、ロボットアームRAがこれら障害物OB、対象物Wと干渉しないかを確認する(ステップS11)。
【0032】
その後、ステップS12において、干渉があるか否かを所定の規則に従って判断する。例えば、肘座標と障害物中心座標間の距離が、障害物OBの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームRAと障害物OBとが干渉すると判断する。また、肘座標と対象物中心座標間の距離が、対象物Wの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームRAと対象物Wとが干渉すると判断する。
【0033】
ここで、干渉が発生した場合(ステップS12:No)、設定した肩関節J1の傾斜角度を一定量増加させ(ステップS13)、この傾斜角度を肩関節J1が取り得る傾斜角度範囲内か否かを判断する(ステップS14)。肩関節J1が取り得る傾斜角度範囲内ではない場合(ステップS14:No)、ステップS7に戻る処理を繰り返す。
ステップS12で干渉なしのとき(ステップS12:Yes)、求めた座標(hx,hy)、座標(Wx,Wy)、および肘座標(Ex,Ey)により、手首角度θを算出する(ステップS15)。この手首角度θは、図3に示すように、x,y平面すなわち水平面内でハンド8が前腕5に対して成す角度である。
【0034】
次に、肘高さEと手首角度θにそれぞれ重み付けをして、その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値として計算する(ステップS16)。この「評価値」は、図7ステップ16において、「評価関数」と表記している。このステップS16が評価値計算過程に相当する。本実施形態においては、肘高さEの重み付けを「1」とし、手首角度θの重み付けを「1」としている。ただし、これらの重み付けは「1」に限定されるものではない。また、肘高さEの重みと、手首角度θの重みとを異なる重みにしても良い。
【0035】
次に、求めた評価値と、上記記憶手段等に以前に記憶された評価値とを比較する(ステップS17)。この求めた評価値が、以前に記憶された評価値よりも小さい場合(ステップS18:Yes)、求めた肩関節J1,J2の両角度、肘高さE、および手首角度θを上記記憶手段等に記憶する(ステップS19)。その後、肩関節J1の傾斜角度を、取り得る範囲内において一定量増加させる処理を実行し(ステップS13、ステップS14:Yes)、ステップS9に戻る処理を繰り返す。傾斜角度増加により肩関節J1が取り得る傾斜角度範囲内を超えてしまう場合は(ステップS14:No)、ステップS7を経てステップS3に戻る処理を繰り返す。
【0036】
ハンド8が対象物Wを把持可能な取り得る全ての姿勢の仮配置について、計算を完了した場合は(ステップS7:No)、記憶している肩関節J1,J2の両傾斜角度、肘高さE、および手首角度θは、このロボットアームRAの最適な姿勢である。これら肩関節J1,J2の両傾斜角度、肘高さE、および手首角度θから、残りの肘関節J3,J4、手首関節J5〜J7の傾斜角度を計算し、全ての関節の傾斜角度を求める(ステップS20)。その後、本処理を終了する。
【0037】
以上説明したロボットアームRAの姿勢教示方法および姿勢教示装置によれば、ハンド8を仮位置決めした後、手首関節J7に設定した座標原点Oを算出し、この座標原点Oに基づいてロボットアームRAの干渉の有無を判断する。干渉なしとの判断で、肩関節J1,J2の傾斜角度を規定し、肘部4の座標原点Oを算出する。
この肘部4の座標原点O等に基づいて、さらにロボットアームRAの干渉の有無を判断する。干渉なしとの判断で手首角度θを算出し、その後、評価値を最小とする肘高さE及び手首角度θを求める。これにより、ロボットアームRAが障害物OBを大きく回避し過ぎることなく、肘高さEすなわち位置エネルギ、手首角度θが同時に最適になる姿勢を決定することができる。
【0038】
ロボットアームRAは手首関節J5〜J7を有し、これら手首関節J5〜J7は3自由度を有する関節である。これらのうち手首関節J5は、前腕5の軸芯回りの回転を可能とする関節であり、手首関節J6,J7は、前腕5に対してハンド8を直交2軸方向にそれぞれ傾斜角度変更可能とする関節である。さらに、肘関節J3,J4は、直交2軸方向にそれぞれ傾斜角度変更可能な2自由度を有する関節である。したがって、ロボットアームRAは、このような多関節によって姿勢の冗長性を有し、多数の把持姿勢を実現することができる。その際、ロボットアームRAが障害物OBを大きく回避し過ぎることなく、肘高さEおよび手首角度θが同時に最適になる姿勢を決定することができる。
【0039】
前記姿勢変更・干渉判断過程(ステップa1)は、前記仮位置決め過程(ステップa11)と仮位置決め内姿勢変更・干渉判断過程(ステップa12)と繰り返し過程(ステップa13)とを含むものである。したがって、ハンド8を対象物Wに対して把持状態の姿勢に仮位置決めしたうえで、ロボットアームRAと障害物OBとの干渉を判断することができる。しかも、仮位置決め過程(ステップa11)と仮位置決め内姿勢変更・干渉判断過程(ステップa12)では、ハンド8の把持可能な全ての姿勢の範囲で繰り返すだけであるため、操作者による教示の手間と時間を低減することができる。
【0040】
また、ハンド8を対象物Wに接触させた状態に仮位置決めした状態で、手首座標(Wx,Wy,Wz)を求め、この手首座標(Wx,Wy,Wz)と障害物OBの中心との距離、および手首座標(Wx,Wy,Wz)と対象物Wの中心との距離をそれぞれ計算し、閾値判断等所定の規則に従って、ロボットアームRAと障害物OB等との干渉を容易にかつ正確に判断することができる。
肘高さ重みおよび前記手首角度重みを、いずれも1としているため、重み付けの係数の差のない評価値を得ることができる。したがって、肘高さEz及び手首角度θが同時に最適になる姿勢をより確実に決定することができる。
【0041】
また、座標(hx,hy,hz)と対象物中心座標間の距離、または座標(hx,hy,hz)と障害物中心座標間の距離を算出し、ロボットアームRAと障害物OB、対象物Wとの干渉の有無を判断する過程(ステップS12)にて干渉ありと判断したとき、ハンド8の仮位置を解除し、新たな仮位置でハンド8を仮位置決めする過程(ステップS3)に戻る。このハンド8の仮位置に基づく干渉有無の判断を繰り返し実行することにより、ロボットアームRAの動作角度が不所望に大きくなることを防止することが可能となる。
【0042】
評価値を上記記憶手段に記憶しておき、肘高さE及び手首角度θを求める過程にて算出した、肘高さ重み×肘高さE、手首角度重み×手首角度θが、前記記憶された評価値よりも小さいとき、前記算出した、肘高さ重み×肘高さE、手首角度重み×手首角度θを、評価値として新たに上記記憶手段に記憶させるため、ロボットアームRAの姿勢の位置エネルギ等の低減を図り必要動力を確実に小さくすることができる。これにより、例えば、各モータを定格出力の低いものにすることが可能となり、製造コストの低減を図ることができる。
【0043】
また、ステップS12において干渉ありと判断したとき、設定した肩関節J1の傾斜角度を一定量増加させ、この増加させた傾斜角度に基づいて、肘部4の座標原点Oを算出する。このように、ステップS12において干渉なしと判断するまで、肩関節J1の傾斜角度を一定量増加させるため、ロボットアームRAが障害物OBを大きく回避し過ぎることを確実に防止することができ、ロボットアームRAの姿勢実現のために動作角度が不所望に大きくなることを未然に防止することができる。
【図面の簡単な説明】
【0044】
【図1】この発明の一実施形態に係るロボットアームの構成を概略表す斜視図である。
【図2】対象物、障害物と同ロボットアームとの位置関係を表す正面図である。
【図3】対象物、障害物と同ロボットアームとの位置関係を表す平面図である。
【図4】同ロボットアームのハンドの拡大斜視図である。
【図5】同ロボットアームの姿勢教示装置の電気的構成を表すブロック図である。
【図6】同ロボットアームの姿勢教示方法を上位概念化して表す流れ図である。
【図7】同ロボットアームの姿勢教示方法を段階的に表す流れ図である。
【符号の説明】
【0045】
1…第1肩
2…第2肩
3…上腕
4…肘部
5…前腕
6…第1手首
7…第2手首
8…ハンド
17…姿勢教示装置
18…姿勢変更・干渉判断手段
18a…仮位置決め内姿勢変更・干渉判断部
18b…繰り返し過程部
19…評価値計算手段
20…評価値比較・教示姿勢決定手段
J1〜J7…関節
W…対象物
OB…障害物

【特許請求の範囲】
【請求項1】
関節を介して順次連結される可動部として、対象物Wを把持するハンド8、このハンド8に手首関節J5〜J7を介して姿勢変更可能に連結した前腕5、およびこの前腕5の肘部4に肘関節J3,J4を介して連結した上腕3を有し、前記ハンド8で対象物Wを把持するときの前記ハンド8の姿勢に冗長性を有する多関節のロボットアームRAに対し、障害物OBとの干渉を回避する条件下で、前記ハンド8が対象物Wを把持するときの前記多関節の姿勢を決定するロボットアームRAの姿勢教示方法であって、
前記ハンド8が対象物Wを把持できる範囲で前記ハンド8の姿勢を種々変更し、かつ各関節の姿勢を種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する姿勢変更・干渉判断過程(ステップa1)と、
この姿勢変更・干渉判断過程(ステップa1)で干渉が生じないとされる前記ハンド8および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算過程(ステップa2)と、
上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定過程(ステップa3)、
とを含み、
前記評価値については、
ロボットアームRAの基端の固定部分に対する固定の座標系として、基準座標原点0を任意に定めて、水平方向の直交2軸(x軸,y軸)および鉛直方向の1軸(z軸)を座標軸とする直交3軸方向の基準座標系を考えて、
肘関節J3,J4における所定点の前記基準座標系における鉛直方向の座標を肘高さEとし、
水平面(x,y平面)内で前記ハンド8が前腕5に対して成す角度を手首角度θとし、
前記肘高さEと手首角度θにそれぞれ重み付けをして、
その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値とする、
ことを特徴とするロボットアームの姿勢教示方法。
【請求項2】
請求項1において、前記ロボットアームRAは、前記手首関節J5〜J7が、前腕5に対してハンド8が直交2軸方向にそれぞれ傾斜角度変更可能で、かつ前腕5の軸芯5i回りの回転が可能な3自由度を有する関節であり、かつ前記肘関節J3,J4が、直交2軸方向にそれぞれ傾斜角度変更可能な2自由度を有する関節であるロボットアームの姿勢教示方法。
【請求項3】
請求項1または請求項2において、前記姿勢変更・干渉判断過程(ステップa1)は、
実際に、前記ハンド8を前記対象物Wに対して把持状態の姿勢に仮位置決めする仮位置決め過程(ステップa11)と、
この仮位置決めを行った状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する仮位置決め内姿勢変更・干渉判断過程(ステップa12)と、
この仮位置決め内姿勢変更・干渉判断過程(ステップa12)の後、前記ハンド8の姿勢を変更して前記仮位置決め過程(ステップa11)および前記仮位置決め内姿勢変更・干渉判断過程(ステップa12)を、前記ハンド8の把持可能な全ての姿勢の範囲で繰り返す繰り返し過程(ステップa13)とを含む、
ロボットアームの姿勢教示方法。
【請求項4】
請求項3において、前記姿勢変更・干渉判断過程(ステップa1)では、
前記手首関節J5〜J7に座標原点Oを設定した手首座標系において、ハンド8の表面8aに対象物接触点Hを設定し、
前記仮位置決め過程(ステップa11)において、前記対象物接触点Hを対象物Wに接触させた状態に前記ハンド8を仮位置決めし、
仮位置決め内姿勢変更・干渉判断過程(ステップa12)において、仮位置決めしたハンド8の前記対象物接触点Hと把持対象物Wの中心との位置関係から、前記基準座標系における前記手首座標系の原点を手首座標として求め、この求めた手首座標と障害物OBの中心との距離、および手首座標と対象物Wの中心との距離をそれぞれ計算し、ロボットアームRAが前記障害物OBおよび把持対象物Wと干渉しないかを所定の規則に従って判断する、
ロボットアームの姿勢教示方法。
【請求項5】
請求項1ないし請求項4のいずれか1項において、前記肘高さ重みおよび前記手首角度重みを、いずれも1とするロボットアームの姿勢教示方法。
【請求項6】
関節を介して順次連結される可動部として、対象物Wを把持するハンド8、このハンド8に手首関節J5〜J7を介して姿勢変更可能に連結した前腕5、およびこの前腕5の肘部4に肘関節J3,J4を介して連結した上腕3を有し、前記ハンド8で対象物Wを把持するときの前記ハンド8の姿勢に冗長性を有する多関節のロボットアームRAに対し、障害物OBとの干渉を回避する条件下で、前記ハンド8が対象物Wを把持するときの前記各関節の姿勢を決定するロボットアームの姿勢教示装置であって、
前記ハンド8を前記対象物Wに対して把持状態の姿勢に仮位置決めし、かつこの仮位置決めの姿勢を種々変更した場合において、各関節の姿勢を種々変更した場合のロボットアームRAと障害物OBとの干渉を判断する姿勢変更・干渉判断手段18と、
この姿勢変更・干渉判断手段18で干渉が生じないとされる前記ハンド8および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算手段19と、
上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定手段20、
とを含み、
前記評価値計算手段19において、
ロボットアームRAの基端の固定部分に対する固定の座標系として、基準座標原点0を任意に定めて、水平方向の直交2軸(x軸,y軸)および鉛直方向の1軸(z軸)を座標軸とする直交3軸方向の基準座標系を考えて、
肘関節J3,J4における所定点の前記基準座標系における鉛直方向の座標を肘高さEとし、
水平面(x,y平面)内で前記ハンド8が前腕5に対して成す角度を手首角度θとし、
前記肘高さEと手首角度θにそれぞれ重み付けをして、
その積である(肘高さ重み×肘高さE)×(手首角度重み×手首角度θ)を評価値とする、
ことを特徴とするロボットアームの姿勢教示装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−45714(P2009−45714A)
【公開日】平成21年3月5日(2009.3.5)
【国際特許分類】
【出願番号】特願2007−215893(P2007−215893)
【出願日】平成19年8月22日(2007.8.22)
【出願人】(000102692)NTN株式会社 (9,006)
【Fターム(参考)】