(57)【要約】【課題】  操作者による教示の手間と時間を低減し、ロボットアームの動作角度が不所望に大きくなることを防止すると共に、ロボットアームの姿勢の位置エネルギ等の低減を図り必要動力を小さくすることができるロボットアームの姿勢教示方法および姿勢教示装置を提供する。【解決手段】  ハンド８を仮位置決めした後座標原点Ｏ７を算出して干渉有無を判断し、干渉ない場合関節Ｊ１，Ｊ２角度を規定し、肘部４の座標原点Ｏ４を算出する。座標原点Ｏ４等に基づき干渉有無を判断して手首角度等を算出する。【選択図】      図１
2009045714.tif 000002
【特許請求の範囲】
【請求項１】
関節を介して順次連結される可動部として、対象物Ｗを把持するハンド８、このハンド８に手首関節Ｊ５〜Ｊ７を介して姿勢変更可能に連結した前腕５、およびこの前腕５の肘部４に肘関節Ｊ３，Ｊ４を介して連結した上腕３を有し、前記ハンド８で対象物Ｗを把持するときの前記ハンド８の姿勢に冗長性を有する多関節のロボットアームＲＡに対し、障害物ＯＢとの干渉を回避する条件下で、前記ハンド８が対象物Ｗを把持するときの前記多関節の姿勢を決定するロボットアームＲＡの姿勢教示方法であって、
前記ハンド８が対象物Ｗを把持できる範囲で前記ハンド８の姿勢を種々変更し、かつ各関節の姿勢を種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する姿勢変更・干渉判断過程（ステップａ１）と、
この姿勢変更・干渉判断過程（ステップａ１）で干渉が生じないとされる前記ハンド８および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算過程（ステップａ２）と、
上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定過程（ステップａ３）、
とを含み、
前記評価値については、
ロボットアームＲＡの基端の固定部分に対する固定の座標系として、基準座標原点００を任意に定めて、水平方向の直交２軸（ｘ０軸，ｙ０軸）および鉛直方向の１軸（ｚ０軸）を座標軸とする直交３軸方向の基準座標系を考えて、
肘関節Ｊ３，Ｊ４における所定点の前記基準座標系における鉛直方向の座標を肘高さＥＺとし、
水平面（ｘ０，ｙ０平面）内で前記ハンド８が前腕５に対して成す角度を手首角度θとし、
前記肘高さＥＺと手首角度θにそれぞれ重み付けをして、
その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値とする、
ことを特徴とするロボットアームの姿勢教示方法。
【請求項２】
請求項１において、前記ロボットアームＲＡは、前記手首関節Ｊ５〜Ｊ７が、前腕５に対してハンド８が直交２軸方向にそれぞれ傾斜角度変更可能で、かつ前腕５の軸芯５ｉ回りの回転が可能な３自由度を有する関節であり、かつ前記肘関節Ｊ３，Ｊ４が、直交２軸方向にそれぞれ傾斜角度変更可能な２自由度を有する関節であるロボットアームの姿勢教示方法。
【請求項３】
請求項１または請求項２において、前記姿勢変更・干渉判断過程（ステップａ１）は、
実際に、前記ハンド８を前記対象物Ｗに対して把持状態の姿勢に仮位置決めする仮位置決め過程（ステップａ１１）と、
この仮位置決めを行った状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）と、
この仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）の後、前記ハンド８の姿勢を変更して前記仮位置決め過程（ステップａ１１）および前記仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）を、前記ハンド８の把持可能な全ての姿勢の範囲で繰り返す繰り返し過程（ステップａ１３）とを含む、
ロボットアームの姿勢教示方法。
【請求項４】
請求項３において、前記姿勢変更・干渉判断過程（ステップａ１）では、
前記手首関節Ｊ５〜Ｊ７に座標原点Ｏ７を設定した手首座標系において、ハンド８の表面８ａに対象物接触点Ｈを設定し、
前記仮位置決め過程（ステップａ１１）において、前記対象物接触点Ｈを対象物Ｗに接触させた状態に前記ハンド８を仮位置決めし、
仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）において、仮位置決めしたハンド８の前記対象物接触点Ｈと把持対象物Ｗの中心との位置関係から、前記基準座標系における前記手首座標系の原点を手首座標として求め、この求めた手首座標と障害物ＯＢの中心との距離、および手首座標と対象物Ｗの中心との距離をそれぞれ計算し、ロボットアームＲＡが前記障害物ＯＢおよび把持対象物Ｗと干渉しないかを所定の規則に従って判断する、
ロボットアームの姿勢教示方法。
【請求項５】
請求項１ないし請求項４のいずれか１項において、前記肘高さ重みおよび前記手首角度重みを、いずれも１とするロボットアームの姿勢教示方法。
【請求項６】
関節を介して順次連結される可動部として、対象物Ｗを把持するハンド８、このハンド８に手首関節Ｊ５〜Ｊ７を介して姿勢変更可能に連結した前腕５、およびこの前腕５の肘部４に肘関節Ｊ３，Ｊ４を介して連結した上腕３を有し、前記ハンド８で対象物Ｗを把持するときの前記ハンド８の姿勢に冗長性を有する多関節のロボットアームＲＡに対し、障害物ＯＢとの干渉を回避する条件下で、前記ハンド８が対象物Ｗを把持するときの前記各関節の姿勢を決定するロボットアームの姿勢教示装置であって、
前記ハンド８を前記対象物Ｗに対して把持状態の姿勢に仮位置決めし、かつこの仮位置決めの姿勢を種々変更した場合において、各関節の姿勢を種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する姿勢変更・干渉判断手段１８と、
この姿勢変更・干渉判断手段１８で干渉が生じないとされる前記ハンド８および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算手段１９と、
上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定手段２０、
とを含み、
前記評価値計算手段１９において、
ロボットアームＲＡの基端の固定部分に対する固定の座標系として、基準座標原点００を任意に定めて、水平方向の直交２軸（ｘ０軸，ｙ０軸）および鉛直方向の１軸（ｚ０軸）を座標軸とする直交３軸方向の基準座標系を考えて、
肘関節Ｊ３，Ｊ４における所定点の前記基準座標系における鉛直方向の座標を肘高さＥＺとし、
水平面（ｘ０，ｙ０平面）内で前記ハンド８が前腕５に対して成す角度を手首角度θとし、
前記肘高さＥＺと手首角度θにそれぞれ重み付けをして、
その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値とする、
ことを特徴とするロボットアームの姿勢教示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、産業用ロボット、人間の生活を支援するロボット等に適用されるロボットアームの姿勢教示方法および姿勢教示装置に関する。
【背景技術】
【０００２】
産業用ロボットや人間の生活を支援するロボットの分野において、例えば７軸以上の関節を有する多関節ロボットが提案されている（特許文献１）。この多関節ロボットは、姿勢の冗長性を有する。この「冗長性」とは、本来、余剰となるものを付加することによって、可能性が高められている状態であり、システム等においては、構成を二重化、多重化したり、予備の手段を用意したりすることによって冗長性が確保される。
また、この多関節ロボットが障害物、対象物等との干渉を回避する方法としては、前記対象物に設けた比較基準点から多関節ロボットに設けた比較基準点までの距離が最大となるようにロボットの姿勢を決定して障害物を回避し、目的作業を行う方法があった。
【特許文献１】特開２００５−１４１０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
７軸以上の多関節ロボットは、姿勢の冗長性を備えているが、制御する方法はやや複雑である。このため、教示装置により障害物回避、対象物把持姿勢を直接指示、操作し、目的の姿勢を取らせ作業させる方法がある。しかし、この方法は、人が教示装置を用いて指示、操作を行わなければならない、換言すれば、多関節ロボットを手動操作で運転し位置データおよび実装順序を指示し記憶させなければならないため、手間と時間を要する。
また、多関節ロボットが障害物を回避し、先端に取付けられたハンドにより対象物を把持する場合、ロボットの把持姿勢は多数存在する。その中には、いわゆる「肘高さ」が高いため、位置エネルギが大きくなったり、いわゆる「手首」の曲げ角度が大きくなったりしてロボットの姿勢として適さないものも含む。
【０００４】
具体的に、上記冗長性を有する多関節ロボットが自動操作によって、把持対象物、障害物との干渉を回避する方法として、多関節ロボットと把持対象物、障害物にそれぞれ比較基準点を設け、これら比較基準点に基づいて算出される距離が最大となるようにロボットの姿勢を決定して障害物を回避し、目的作業を行う方法では、次のような問題点がある。
・ロボットが障害物を大きく回避し過ぎてしまい、姿勢実現のために動作角度が不所望に大きくなってしまうことがある。
・前記「肘高さ」が考慮されていないため、決定したロボットの姿勢の位置エネルギ等が大きくなってしまい、このため、必要動力が大きくなってしまうことがある。
【０００５】
この発明の目的は、操作者による教示の手間と時間を低減し、ロボットアームの動作角度が不所望に大きくなることを防止すると共に、ロボットアームの姿勢の位置エネルギ等の低減を図り必要動力を小さくすることができるロボットアームの姿勢教示方法および姿勢教示装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明のロボットアームの姿勢教示方法は、関節を介して順次連結される可動部として、対象物Ｗを把持するハンド８、このハンド８に手首関節Ｊ５〜Ｊ７を介して姿勢変更可能に連結した前腕５、およびこの前腕５の肘部４に肘関節Ｊ３，Ｊ４を介して連結した上腕３を有し、前記ハンド８で対象物Ｗを把持するときの前記ハンド８の姿勢に冗長性を有する多関節のロボットアームＲＡに対し、障害物ＯＢとの干渉を回避する条件下で、前記ハンド８が対象物Ｗを把持するときの前記多関節の姿勢を決定するロボットアームＲＡの姿勢教示方法であって、前記ハンド８が対象物Ｗを把持できる範囲で前記ハンド８の姿勢を種々変更し、かつ各関節の姿勢を種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する姿勢変更・干渉判断過程（ステップａ１）と、この姿勢変更・干渉判断過程（ステップａ１）で干渉が生じないとされる前記ハンド８および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算過程（ステップａ２）と、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定過程（ステップａ３）とを含み、
前記評価値については、ロボットアームＲＡの基端の固定部分に対する固定の座標系として、基準座標原点００を任意に定めて、水平方向の直交２軸（ｘ０軸，ｙ０軸）および鉛直方向の１軸（ｚ０軸）を座標軸とする直交３軸方向の基準座標系を考えて、肘関節Ｊ３，Ｊ４における所定点の前記基準座標系における鉛直方向の座標を肘高さＥＺとし、水平面（ｘ０，ｙ０平面）内で前記ハンド８が前腕５に対して成す角度を手首角度θとし、前記肘高さＥＺと手首角度θにそれぞれ重み付けをして、その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値とすることを特徴とする。
【０００７】
この構成によると、姿勢変更・干渉判断過程（ステップａ１）において、ハンド８が対象物Ｗを把持できる範囲でハンド８の姿勢を種々変更し、かつ多関節の姿勢を種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する。評価値計算過程（ステップａ２）では、干渉が生じないとされる前記ハンド８および各関節の姿勢を取った場合における所定の評価値を計算する。この評価値は、上記（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）であり、その後、評価値比較・教示姿勢決定過程（ステップａ３）において、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。これにより、ロボットアームＲＡが障害物ＯＢを大きく回避し過ぎることなく、肘高さＥＺすなわち位置エネルギ、手首角度θが同時に最適になる姿勢を決定することができる。
【０００８】
前記ロボットアームＲＡは、前記手首関節Ｊ５〜Ｊ７が、前腕５に対してハンド８が直交２軸方向にそれぞれ傾斜角度変更可能で、かつ前腕５の軸芯５ｉ回りの回転が可能な３自由度を有する関節であり、かつ前記肘関節Ｊ３，Ｊ４が、直交２軸方向にそれぞれ傾斜角度変更可能な２自由度を有する関節であっても良い。この場合、ロボットアームＲＡは、このような多関節によって姿勢の冗長性を有し、多数の把持姿勢を実現することができる。その際、ロボットアームＲＡが障害物ＯＢを大きく回避し過ぎることなく、肘高さＥＺおよび手首角度θが同時に最適になる姿勢を決定することができる。
【０００９】
前記姿勢変更・干渉判断過程（ステップａ１）は、実際に、前記ハンド８を前記対象物Ｗに対して把持状態の姿勢に仮位置決めする仮位置決め過程（ステップａ１１）と、この仮位置決めを行った状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）と、この仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）の後、前記ハンド８の姿勢を変更して前記仮位置決め過程（ステップａ１１）および前記仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）を、前記ハンド８の把持可能な全ての姿勢の範囲で繰り返す繰り返し過程（ステップａ１３）とを含むものであっても良い。
【００１０】
このようにハンド８を対象物Ｗに対して把持状態の姿勢に仮位置決めしたうえで、ロボットアームＲＡと障害物ＯＢとの干渉を判断する。しかも、仮位置決め過程（ステップａ１１）および仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）では、ハンド８の把持可能な全ての姿勢の範囲で繰り返すだけであるため、操作者による教示の手間と時間を低減することができる。
【００１１】
前記姿勢変更・干渉判断過程（ステップａ１）では、前記手首関節Ｊ５〜Ｊ７に座標原点Ｏ７を設定した手首座標系において、ハンド８の表面８ａに対象物接触点Ｈを設定し、前記仮位置決め過程（ステップａ１１）において、前記対象物接触点Ｈを対象物Ｗに接触させた状態に前記ハンド８を仮位置決めし、仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）において、仮位置決めしたハンド８の前記対象物接触点Ｈと把持対象物Ｗの中心との位置関係から、前記基準座標系における前記手首座標系の原点を手首座標として求め、この求めた手首座標と障害物の中心との距離、および手首座標と対象物Ｗの中心との距離をそれぞれ計算し、ロボットアームＲＡが前記障害物ＯＢおよび把持対象物Ｗと干渉しないかを所定の規則に従って判断するようにしても良い。
このように、ハンド８を対象物Ｗに接触させた状態に仮位置決めした状態で、上記手首座標を求め、この手首座標と障害物ＯＢの中心との距離、および手首座標と対象物Ｗの中心との距離をそれぞれ計算し、ロボットアームＲＡと障害物ＯＢ等との干渉を容易にかつ正確に判断することができる。
【００１２】
前記肘高さ重みおよび前記手首角度重みを、いずれも１としても良い。
この場合、重み付けの係数の差がなくても、適性な姿勢となることがある。このような場合、肘高さＥＺ及び手首角度θが同時に最適になる姿勢をより簡単に決定することができる。
【００１３】
この発明のロボットアームの姿勢教示装置は、関節を介して順次連結される可動部として、対象物Ｗを把持するハンド８、このハンド８に手首関節Ｊ５〜Ｊ７を介して姿勢変更可能に連結した前腕５、およびこの前腕５の肘部４に肘関節Ｊ３，Ｊ４を介して連結した上腕３を有し、前記ハンド８で対象物Ｗを把持するときの前記ハンド８の姿勢に冗長性を有する多関節のロボットアームＲＡに対し、障害物ＯＢとの干渉を回避する条件下で、前記ハンド８が対象物Ｗを把持するときの前記各関節の姿勢を決定するロボットアームＲＡの姿勢教示装置であって、
前記ハンド８を前記対象物Ｗに対して把持状態の姿勢に仮位置決めし、かつこの仮位置決めの姿勢を種々変更した場合において、各関節の姿勢を種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する姿勢変更・干渉判断手段１８と、この姿勢変更・干渉判断手段１８で干渉が生じないとされる前記ハンド８および各関節の姿勢を取った場合における所定の評価値を計算する評価値計算手段１９と、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定手段２０とを含み、
前記評価値計算手段１９において、ロボットアームＲＡの基端の固定部分に対する固定の座標系として、基準座標原点００を任意に定めて、水平方向の直交２軸（ｘ０軸，ｙ０軸）および鉛直方向の１軸（ｚ０軸）を座標軸とする直交３軸方向の基準座標系を考えて、肘関節Ｊ４における所定点の前記基準座標系における鉛直方向の座標を肘高さＥＺとし、水平面（ｘ０，ｙ０平面）内で前記ハンド８が前腕５に対して成す角度を手首角度θとし、前記肘高さＥＺと手首角度θにそれぞれ重み付けをして、その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値とすることを特徴とする。
【００１４】
この構成によると、評価値比較・教示姿勢決定手段２０は、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。これにより、ロボットアームＲＡが障害物ＯＢを大きく回避し過ぎることなく、肘高さＥＺすなわち位置エネルギ、手首角度θが同時に最適になる姿勢を決定することができる。
【発明の効果】
【００１５】
この発明のロボットアームの姿勢教示方法は、関節を介して順次連結される可動部として、対象物を把持するハンド、このハンドに手首関節を介して姿勢変更可能に連結した前腕、およびこの前腕の肘部に肘関節を介して連結した上腕を有し、前記ハンドで対象物を把持するときの前記ハンドの姿勢に冗長性を有する多関節のロボットアームに対し、障害物との干渉を回避する条件下で、前記ハンドが対象物を把持するときの前記多関節の姿勢を決定するロボットアームの姿勢教示方法であって、
前記ハンドが対象物を把持できる範囲で前記ハンドの姿勢を種々変更し、かつ各関節の姿勢を種々変更した場合のロボットアームと障害物との干渉を判断する姿勢変更・干渉判断過程と、この姿勢変更・干渉判断過程で干渉が生じないとされる前記ハンドおよび各関節の姿勢を取った場合における所定の評価値を計算する評価値計算過程と、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する評価値比較・教示姿勢決定過程とを含み、
前記評価値については、ロボットアームの基端の固定部分に対する固定の座標系として、基準座標原点００を任意に定めて、水平方向の直交２軸（ｘ０軸，ｙ０軸）および鉛直方向の１軸（ｚ０軸）を座標軸とする直交３軸方向の基準座標系を考えて、肘関節における所定点の前記基準座標系における鉛直方向の座標を肘高さＥＺとし、水平面（ｘ０，ｙ０平面）内で前記ハンドが前腕に対して成す角度を手首角度θとし、前記肘高さＥＺと手首角度にそれぞれ重み付けをして、その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値とするため、操作者による教示の手間と時間を低減し、ロボットアームの動作角度が不所望に大きくなることを防止すると共に、ロボットアームの姿勢の位置エネルギ等の低減を図り必要動力を小さくすることができる。
【発明を実施するための最良の形態】
【００１６】
この発明の一実施形態を図１ないし図７と共に説明する。本実施形態に係るロボットアームの姿勢教示装置は、７軸の関節を有する多関節のロボットアームに適用される。ただし、関節数は、７軸に限定されるものではなく、例えば８軸以上であっても良い。また６軸以下であっても良い。以下の説明は、ロボットアームの姿勢教示方法についての説明をも含む。この多関節のロボットアームは、障害物を回避し、先端に取り付けられたハンドにより、対象物を把持する場合の姿勢を決定する機能を有する。
【００１７】
図１，図２に示すように、ロボットアームＲＡは、アーム取付台１２に取り付けられる。このロボットアームＲＡは、関節を介して順次連結される可動部として、上記ハンド８、このハンド８に手首関節Ｊ５〜Ｊ７を介して姿勢変更可能に連結した前腕５、およびこの前腕５の肘部４に肘関節Ｊ３，Ｊ４を介して連結した上腕３を有する。この上腕３は肩関節Ｊ１，Ｊ２を介してアーム取付台１２に取り付けられている。
【００１８】
前記手首関節Ｊ５〜Ｊ７は３自由度を有する関節である。手首関節Ｊ５〜Ｊ７のうち手首関節Ｊ５は、前腕５の軸芯５ｉ回りの回転を可能とする関節である。手首関節Ｊ６，Ｊ７は、前腕５に対してハンド８を直交２軸方向にそれぞれ傾斜角度変更可能とする関節である。手首関節Ｊ６は、前腕５に連結される第１手首６によって実現され、手首関節Ｊ７は、前記第１手首６に連結される第２手首７によって実現される。この第２手首７は、凹形状に形成されたブラケット７ａを備え、このブラケット７ａの底部７ａａからハンド８が突出するようにブラケット７ａに一体に設けられている。このハンド８により対象物Ｗを把持可能に構成されている。
【００１９】
前記肘関節Ｊ３，Ｊ４は、直交２軸方向にそれぞれ傾斜角度変更可能な２自由度を有する関節である。前記肩関節Ｊ１，Ｊ２は、アーム取付台１２に対して上腕３を直交２軸方向にそれぞれ傾斜角度変更可能とする関節である。肩関節Ｊ１は第１肩１によって実現され、肩関節Ｊ２は第２肩２によって実現される。また、この多関節のロボットアームＲＡは、上記各部を動作させる図示外のモータ、および各部の動作を制御する後述の姿勢教示装置１７を有する。
上記関節Ｊ１〜Ｊ７の各軸は、必ずしも角度変位可能な軸である必要はなく、関節Ｊ１〜Ｊ７のうち少なくともいずれか１つの関節の軸が、例えば伸縮動作または平行リンク動作等の動作部を有するものであっても良い。
【００２０】
次に、このロボットアームＲＡの姿勢教示装置１７について説明する。
図５に示すように、姿勢教示装置１７は、例えば、中央処理装置（ＣＰＵ）、メモリ等の記憶手段、および入出力インターフェース等（いずれも図示せず）を有するマイクロコンピュータ等のコンピュータと、このコンピュータに実行させる教示用の姿勢制御プログラム（図示せず）とによって実現される。前記記憶手段に、上記姿勢教示プログラムが格納されている。この姿勢制御プログラムにより、図５に概念構成で示す各手段が構成される。なお、姿勢制御プログラムおよび、教示後のロボットアーム動作を制御する動作制御プログラム（図示せず）によって、この姿勢教示装置１７の上位の制御装置（図示せず）が構成される。
【００２１】
姿勢教示装置１７は、姿勢変更・干渉判断手段１８と、評価値計算手段１９と、評価値比較・教示姿勢決定手段２０とを有する。前記姿勢変更・干渉判断手段１８は、仮位置決め内姿勢変更・干渉判断部１８ａと、繰り返し過程部１８ｂとを有する。これらのうち仮位置決め内姿勢変更・干渉判断部１８ａは、ハンド８を対象物Ｗに対して把持状態の姿勢に仮位置決めした状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームＲＡと障害物Ｗとの干渉を判断する。前記繰り返し過程部１８ｂは、前記干渉を判断した後、ハンド８の姿勢を変更してこのハンド８の再仮位置決めおよびロボットアームＲＡと障害物Ｗとの干渉を判断する過程を、前記ハンド８の把持可能な全ての姿勢の範囲で繰り返す。
【００２２】
前記評価値計算手段１９は、この姿勢変更・干渉判断手段１８で干渉が生じないとされるハンド８および各関節の姿勢を取った場合における所定の評価値を計算する。前記評価値比較・教示姿勢決定手段２０は、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。
【００２３】
前記評価値計算手段１９において、ロボットアームＲＡの基端の固定部分に対する固定の座標系として、基準座標原点００を任意に定めて、水平方向の直交２軸（ｘ０軸，ｙ０軸）および鉛直方向の１軸（ｚ０軸）を座標軸とする直交３軸方向の基準座標系を考えて、肘関節Ｊ４における所定点の前記基準座標系における鉛直方向の座標を、図２に示すように肘高さＥＺとし、水平面（ｘ０，ｙ０平面）内でハンド８が前腕５に対して成す角度を、図３に示すように手首角度θとし、前記肘高さＥＺと手首角度にそれぞれ重み付けをして、その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値とする。つまり、肘高さＥＺにこの重み付け係数である肘高さ重みを乗じた値に、手首角度θにこの重み付け係数である手首角度重みを乗じた値をさらに積算した値を、評価値としている。
前記評価値比較・教示姿勢決定手段２０により教示される姿勢を実行するための出力値が、図示外の駆動回路を介して前記各モータに伝達され、これらモータ駆動により姿勢制御に供される。
【００２４】
図６は、ロボットアームの姿勢教示方法を上位概念化して表す流れ図である。
この姿勢教示方法は、多関節のロボットアームＲＡに対し、障害物ＯＢとの干渉を回避する条件下で、ハンド８が対象物Ｗを把持するときの上記各関節Ｊ１〜Ｊ７の姿勢を決定するロボットアームＲＡの姿勢教示方法である。この姿勢教示方法は、主に、姿勢変更・干渉判断過程（ステップａ１）と、評価値計算過程（ステップａ２）と、評価値比較・教示姿勢決定過程（ステップａ３）とを有する。
【００２５】
前記姿勢変更・干渉判断過程（ステップａ１）は、仮位置決め過程（ステップａ１１）と、仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）と、繰り返し過程（ステップａ１３）とを含む。本処理開始後、前記仮位置決め過程（ステップａ１１）に移行し、ハンド８を対象物Ｗに対して把持状態の姿勢に仮位置決めする。次に、仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）に移行し、前記ハンド８の仮位置決めを行った状態で、各関節の姿勢を、取り得る範囲で計算によって種々変更した場合のロボットアームＲＡと障害物ＯＢとの干渉を判断する。次に、繰り返し過程（ステップａ１３）に移行して、ハンド８の姿勢を変更して前記仮位置決め過程（ステップａ１１）および前記仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）を、ハンド８の把持可能な全ての姿勢の範囲で繰り返す。
【００２６】
次に、評価値計算過程（ステップａ２）に移行し、姿勢変更・干渉判断過程（ステップａ１）で干渉が生じないとされるハンド８および各関節の姿勢を取った場合における所定の評価値を計算する。その後、評価値比較・教示姿勢決定過程（ステップａ３）に移行し、上記評価値を比較して評価値が最小となる各関節の姿勢に、各関節の姿勢を教示する。その後本処理を終了する。
【００２７】
図７は、このロボットアームの姿勢教示方法を段階的に表す流れ図である。
操作者によるスイッチ操作、または上記姿勢制御プログラム等に基づいて、以下の座標を測定しておく。例えば、円筒状の障害物ＯＢを支持面ＳＦに立設させた場合、図３に示す平面視における障害物ＯＢの円中心９のＸＹ座標である「障害物中心座標」を、後述の基準座標原点Ｏ０からの距離で測定しておく。これと共に、例えば、円筒状の対象物Ｗを支持面ＳＦに立設させた場合、図３に示す平面視における、対象物Ｗの円中心１０のＸＹ座標である「把持対象物中心座標」を、基準座標原点Ｏ０からの距離で測定しておく。この基準座標原点Ｏ０は、ロボットアームＲＡの基端の固定部分に対する固定の座標系として、任意に定めた座標原点である。
【００２８】
次に、ステップＳ２に移行し、後述する手首座標を求めるため、ハンド表面８ａに、手首関節Ｊ７に設定した座標原点Ｏ７から座標（ｈｘ，ｈｙ，ｈｚ）となる点Ｈを設定する。次に、ステップＳ３に移行し、ハンド８を、図３に示すように、ハンド表面８ａに設定した点Ｈが対象物Ｗと接し、図２に示すように、ハンド８の端面１６が支持面ＳＦと水平になるように仮配置する。これらステップＳ１〜ステップＳ３が仮位置決め過程に相当する。
次に、ステップＳ４に移行し、上記仮配置したハンド８内の点Ｈと、対象物中心座標との位置関係から、上記基準座標原点Ｏ０から見た座標原点Ｏ７の座標（Ｗｘ，Ｗｙ，Ｗｚ）を求め、これを手首座標とする。
【００２９】
次に、求めた手首座標と障害物中心座標との距離、手首座標と対象物中心座標との距離をそれぞれ計算し、ロボットアームＲＡがこれら障害物ＯＢ、対象物Ｗと干渉しないかを確認する（ステップＳ５）。その後、ステップＳ６において、干渉があるか否かを所定の規則に従って判断する。例えば、手首座標と障害物中心座標との距離が、障害物ＯＢの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームＲＡと障害物ＯＢとが干渉すると判断する。また、手首座標と対象物中心座標との距離が、例えば、対象物Ｗの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームＲＡと対象物Ｗとが干渉すると判断する。これらステップＳ４〜ステップＳ６が仮位置決め内姿勢変更・干渉判断過程に相当する。
【００３０】
ロボットアームＲＡと、障害物ＯＢ又は対象物Ｗとの干渉が発生した場合（ステップＳ６：Ｎｏ）、ステップＳ７に移行し、計算を行っていないハンド８の仮配置があるか否かを判断する。未計算の仮配置ありとの判断で（ステップＳ７：Ｙｅｓ）、ステップＳ３に戻る処理を繰り返す。このステップＳ７が繰り返し過程に相当する。ステップＳ６で干渉なしのとき（ステップＳ６：Ｙｅｓ）、肩関節Ｊ１の傾斜角度を、この肩関節Ｊ１が取り得る傾斜角度範囲内の下限値に設定する（ステップＳ８）。
【００３１】
次に、前記手首座標と、設定した肩関節Ｊ１の傾斜角度の下限値より、肩関節Ｊ２の傾斜角度を計算する（ステップＳ９）。これら肩関節Ｊ１，Ｊ２の両傾斜角度より、基準座標原点Ｏ０を基準とする肘部４の座標原点Ｏ４のいわゆる肘座標（Ｅｘ，Ｅｙ，Ｅｚ）を算出する（ステップＳ１０）。前記肘座標のうちＥｚは、支持面ＳＦつまり地面からの肘高さＥｚを表す。
次に、求めた肘座標と障害物中心座標間の距離を算出する。また、前記肘座標と対象物中心座標間の距離を算出する。これにより、ロボットアームＲＡがこれら障害物ＯＢ、対象物Ｗと干渉しないかを確認する（ステップＳ１１）。
【００３２】
その後、ステップＳ１２において、干渉があるか否かを所定の規則に従って判断する。例えば、肘座標と障害物中心座標間の距離が、障害物ＯＢの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームＲＡと障害物ＯＢとが干渉すると判断する。また、肘座標と対象物中心座標間の距離が、対象物Ｗの種類、大きさ等に応じて規定する閾値以下になる条件で、ロボットアームＲＡと対象物Ｗとが干渉すると判断する。
【００３３】
ここで、干渉が発生した場合（ステップＳ１２：Ｎｏ）、設定した肩関節Ｊ１の傾斜角度を一定量増加させ（ステップＳ１３）、この傾斜角度を肩関節Ｊ１が取り得る傾斜角度範囲内か否かを判断する（ステップＳ１４）。肩関節Ｊ１が取り得る傾斜角度範囲内ではない場合（ステップＳ１４：Ｎｏ）、ステップＳ７に戻る処理を繰り返す。
ステップＳ１２で干渉なしのとき（ステップＳ１２：Ｙｅｓ）、求めた座標（ｈｘ，ｈｙ）、座標（Ｗｘ，Ｗｙ）、および肘座標（Ｅｘ，Ｅｙ）により、手首角度θを算出する（ステップＳ１５）。この手首角度θは、図３に示すように、ｘ０，ｙ０平面すなわち水平面内でハンド８が前腕５に対して成す角度である。
【００３４】
次に、肘高さＥＺと手首角度θにそれぞれ重み付けをして、その積である（肘高さ重み×肘高さＥＺ）×（手首角度重み×手首角度θ）を評価値として計算する（ステップＳ１６）。この「評価値」は、図７ステップ１６において、「評価関数」と表記している。このステップＳ１６が評価値計算過程に相当する。本実施形態においては、肘高さＥＺの重み付けを「１」とし、手首角度θの重み付けを「１」としている。ただし、これらの重み付けは「１」に限定されるものではない。また、肘高さＥＺの重みと、手首角度θの重みとを異なる重みにしても良い。
【００３５】
次に、求めた評価値と、上記記憶手段等に以前に記憶された評価値とを比較する（ステップＳ１７）。この求めた評価値が、以前に記憶された評価値よりも小さい場合（ステップＳ１８：Ｙｅｓ）、求めた肩関節Ｊ１，Ｊ２の両角度、肘高さＥＺ、および手首角度θを上記記憶手段等に記憶する（ステップＳ１９）。その後、肩関節Ｊ１の傾斜角度を、取り得る範囲内において一定量増加させる処理を実行し（ステップＳ１３、ステップＳ１４：Ｙｅｓ）、ステップＳ９に戻る処理を繰り返す。傾斜角度増加により肩関節Ｊ１が取り得る傾斜角度範囲内を超えてしまう場合は（ステップＳ１４：Ｎｏ）、ステップＳ７を経てステップＳ３に戻る処理を繰り返す。
【００３６】
ハンド８が対象物Ｗを把持可能な取り得る全ての姿勢の仮配置について、計算を完了した場合は（ステップＳ７：Ｎｏ）、記憶している肩関節Ｊ１，Ｊ２の両傾斜角度、肘高さＥＺ、および手首角度θは、このロボットアームＲＡの最適な姿勢である。これら肩関節Ｊ１，Ｊ２の両傾斜角度、肘高さＥＺ、および手首角度θから、残りの肘関節Ｊ３，Ｊ４、手首関節Ｊ５〜Ｊ７の傾斜角度を計算し、全ての関節の傾斜角度を求める（ステップＳ２０）。その後、本処理を終了する。
【００３７】
以上説明したロボットアームＲＡの姿勢教示方法および姿勢教示装置によれば、ハンド８を仮位置決めした後、手首関節Ｊ７に設定した座標原点Ｏ７を算出し、この座標原点Ｏ７に基づいてロボットアームＲＡの干渉の有無を判断する。干渉なしとの判断で、肩関節Ｊ１，Ｊ２の傾斜角度を規定し、肘部４の座標原点Ｏ４を算出する。
この肘部４の座標原点Ｏ４等に基づいて、さらにロボットアームＲＡの干渉の有無を判断する。干渉なしとの判断で手首角度θを算出し、その後、評価値を最小とする肘高さＥＺ及び手首角度θを求める。これにより、ロボットアームＲＡが障害物ＯＢを大きく回避し過ぎることなく、肘高さＥＺすなわち位置エネルギ、手首角度θが同時に最適になる姿勢を決定することができる。
【００３８】
ロボットアームＲＡは手首関節Ｊ５〜Ｊ７を有し、これら手首関節Ｊ５〜Ｊ７は３自由度を有する関節である。これらのうち手首関節Ｊ５は、前腕５の軸芯回りの回転を可能とする関節であり、手首関節Ｊ６，Ｊ７は、前腕５に対してハンド８を直交２軸方向にそれぞれ傾斜角度変更可能とする関節である。さらに、肘関節Ｊ３，Ｊ４は、直交２軸方向にそれぞれ傾斜角度変更可能な２自由度を有する関節である。したがって、ロボットアームＲＡは、このような多関節によって姿勢の冗長性を有し、多数の把持姿勢を実現することができる。その際、ロボットアームＲＡが障害物ＯＢを大きく回避し過ぎることなく、肘高さＥＺおよび手首角度θが同時に最適になる姿勢を決定することができる。
【００３９】
前記姿勢変更・干渉判断過程（ステップａ１）は、前記仮位置決め過程（ステップａ１１）と仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）と繰り返し過程（ステップａ１３）とを含むものである。したがって、ハンド８を対象物Ｗに対して把持状態の姿勢に仮位置決めしたうえで、ロボットアームＲＡと障害物ＯＢとの干渉を判断することができる。しかも、仮位置決め過程（ステップａ１１）と仮位置決め内姿勢変更・干渉判断過程（ステップａ１２）では、ハンド８の把持可能な全ての姿勢の範囲で繰り返すだけであるため、操作者による教示の手間と時間を低減することができる。
【００４０】
また、ハンド８を対象物Ｗに接触させた状態に仮位置決めした状態で、手首座標（Ｗｘ，Ｗｙ，Ｗｚ）を求め、この手首座標（Ｗｘ，Ｗｙ，Ｗｚ）と障害物ＯＢの中心との距離、および手首座標（Ｗｘ，Ｗｙ，Ｗｚ）と対象物Ｗの中心との距離をそれぞれ計算し、閾値判断等所定の規則に従って、ロボットアームＲＡと障害物ＯＢ等との干渉を容易にかつ正確に判断することができる。
肘高さ重みおよび前記手首角度重みを、いずれも１としているため、重み付けの係数の差のない評価値を得ることができる。したがって、肘高さＥｚ及び手首角度θが同時に最適になる姿勢をより確実に決定することができる。
【００４１】
また、座標（ｈｘ，ｈｙ，ｈｚ）と対象物中心座標間の距離、または座標（ｈｘ，ｈｙ，ｈｚ）と障害物中心座標間の距離を算出し、ロボットアームＲＡと障害物ＯＢ、対象物Ｗとの干渉の有無を判断する過程（ステップＳ１２）にて干渉ありと判断したとき、ハンド８の仮位置を解除し、新たな仮位置でハンド８を仮位置決めする過程（ステップＳ３）に戻る。このハンド８の仮位置に基づく干渉有無の判断を繰り返し実行することにより、ロボットアームＲＡの動作角度が不所望に大きくなることを防止することが可能となる。
【００４２】
評価値を上記記憶手段に記憶しておき、肘高さＥＺ及び手首角度θを求める過程にて算出した、肘高さ重み×肘高さＥＺ、手首角度重み×手首角度θが、前記記憶された評価値よりも小さいとき、前記算出した、肘高さ重み×肘高さＥＺ、手首角度重み×手首角度θを、評価値として新たに上記記憶手段に記憶させるため、ロボットアームＲＡの姿勢の位置エネルギ等の低減を図り必要動力を確実に小さくすることができる。これにより、例えば、各モータを定格出力の低いものにすることが可能となり、製造コストの低減を図ることができる。
【００４３】
また、ステップＳ１２において干渉ありと判断したとき、設定した肩関節Ｊ１の傾斜角度を一定量増加させ、この増加させた傾斜角度に基づいて、肘部４の座標原点Ｏ４を算出する。このように、ステップＳ１２において干渉なしと判断するまで、肩関節Ｊ１の傾斜角度を一定量増加させるため、ロボットアームＲＡが障害物ＯＢを大きく回避し過ぎることを確実に防止することができ、ロボットアームＲＡの姿勢実現のために動作角度が不所望に大きくなることを未然に防止することができる。
【図面の簡単な説明】
【００４４】
【図１】この発明の一実施形態に係るロボットアームの構成を概略表す斜視図である。
【図２】対象物、障害物と同ロボットアームとの位置関係を表す正面図である。
【図３】対象物、障害物と同ロボットアームとの位置関係を表す平面図である。
【図４】同ロボットアームのハンドの拡大斜視図である。
【図５】同ロボットアームの姿勢教示装置の電気的構成を表すブロック図である。
【図６】同ロボットアームの姿勢教示方法を上位概念化して表す流れ図である。
【図７】同ロボットアームの姿勢教示方法を段階的に表す流れ図である。
【符号の説明】
【００４５】
１…第１肩
２…第２肩
３…上腕
４…肘部
５…前腕
６…第１手首
７…第２手首
８…ハンド
１７…姿勢教示装置
１８…姿勢変更・干渉判断手段
１８ａ…仮位置決め内姿勢変更・干渉判断部
１８ｂ…繰り返し過程部
１９…評価値計算手段
２０…評価値比較・教示姿勢決定手段
Ｊ１〜Ｊ７…関節
Ｗ…対象物
ＯＢ…障害物
【図１】
2009045714.tif 000003
【図２】
2009045714.tif 000004
【図３】
2009045714.tif 000005
【図４】
2009045714.tif 000006
【図５】
2009045714.tif 000007
【図６】
2009045714.tif 000008
【図７】
2009045714.tif 000009