JP2003019682A - 多関節ロボットの姿勢算出方法および姿勢算出装置 - Google Patents

多関節ロボットの姿勢算出方法および姿勢算出装置

Info

Publication number
JP2003019682A
JP2003019682A JP2001208539A JP2001208539A JP2003019682A JP 2003019682 A JP2003019682 A JP 2003019682A JP 2001208539 A JP2001208539 A JP 2001208539A JP 2001208539 A JP2001208539 A JP 2001208539A JP 2003019682 A JP2003019682 A JP 2003019682A
Authority
JP
Japan
Prior art keywords
posture
equation
joint
calculation
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001208539A
Other languages
English (en)
Other versions
JP3884928B2 (ja
Inventor
Toshiyuki Kondo
俊之 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2001208539A priority Critical patent/JP3884928B2/ja
Publication of JP2003019682A publication Critical patent/JP2003019682A/ja
Application granted granted Critical
Publication of JP3884928B2 publication Critical patent/JP3884928B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】 【課題】先端部の位置および傾斜角度から他の部分の姿
勢を解析的に特定することのできない構造の多関節ロボ
ットに対して、また、高密度に配置された多関節ロボッ
ト同士やその他の干渉物に対して、他の部分の姿勢を収
束計算により求めるための初期値として、適切な近似姿
勢を算出する。 【解決手段】多関節ロボットの関節のうち2つを選択
し、この2つの関節の姿勢変数の関係を表す第1方程式
を導出する(ステップS2)。第1方程式に数値を走査
的に代入して誤差を記録し(ステップS3)、このうち
極小の誤差を示す姿勢変数の組を調査、算出する(ステ
ップS4)。さらに、他の姿勢変数との関係をも表す第
2方程式を導出し(ステップS5)、この第2方程式か
ら別の姿勢変数を算出する(ステップS6)。求まった
姿勢変数の組を初期値として収束計算を行い真の姿勢値
を求める(ステップS7)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多関節ロボットの
姿勢算出方法および姿勢算出装置に関し、特に、多関節
ロボットの先端部の位置および傾斜角度が決まっている
ときに、各関節の姿勢値を算出する多関節ロボットの姿
勢算出方法および姿勢算出装置に関する。
【0002】
【従来の技術】工場の製造ラインでは、溶接、塗装およ
び組み立て作業等に多関節ロボットが採用されている。
【0003】通常、多関節ロボットの先端部には作業に
応じたエンドエフェクタ(作業ツール)が取り付けられ
ている。エンドエフェクタが空間上の任意の位置におい
て任意の姿勢をとることを可能にするためには空間上の
位置を示すX、Y、Z座標で表される3つの自由度と、
傾斜角度を示すロール、ピッチ、ヨーで表される3つの
自由度との合計6つの自由度が必要であり、これを実現
するために、多関節ロボットは6つの関節を有している
ものが多い。
【0004】また、多関節ロボットが広範に採用される
のに従い、生産ラインに対しての高密度配置によるライ
ン長あたりの生産性の向上が望まれ、1つの工程内で複
数の多関節ロボットが作業を分担しながら動作する事例
や、ワークや治具、搬送装置等の混在する中で多関節ロ
ボットが作業を行うといった事例が増えている。この場
合、多関節ロボット同士やその他の干渉物が、特に関節
部分で接触することがないように、十分に注意を払って
動作のプログラムまたはティーチングを行う必要があ
る。
【0005】
【発明が解決しようとする課題】ところで、多関節ロボ
ットの動作をプログラミングまたはティーチングする際
には、エンドエフェクタの位置および傾斜角度は予め与
えられていることが多い。例えば、溶接作業であれば溶
接のポイントと被溶接板が設定されている向きとによ
り、エンドエフェクタの位置および傾斜角度も決定され
る。
【0006】このような場合、多関節ロボットの各関節
の姿勢を決定するためには、エンドエフェクタの位置お
よび傾斜角度を与えられたパラメータとして、各関節の
姿勢を求める方程式を導出してこれを解くこととなる。
【0007】ところが、多関節ロボットの構造が、図1
1に示すようなオフセット量Wを持つときには関節の姿
勢を求める方程式を解析的に解くことはできないという
ことが知られている。このように、解析的に姿勢を求め
ることができない構造の多関節ロボットについては、数
値解法を適用することになり、各関節について適当な姿
勢値を与えて、その姿勢値を初期値としてニュートン・
ラフソン(Newton-Raphson)法などの収束計算を行う方
法がある。この方法により、所望のエンドエフェクタの
位置および傾斜角度が得られるように収束させて各関節
についての姿勢値を求めることができる。
【0008】また、高密度配置による多関節ロボット同
士や、その他の干渉物との接触を回避する観点からは、
なるべく多くの姿勢を求めておけば選択肢が多くなるの
で望ましいが、収束計算においては、1つの初期値から
1つの姿勢しか求めることができない。例えば、適当な
エンドエフェクタの位置および傾斜角度に対して、理論
上、16通りの姿勢をとり得る多関節ロボットがあると
して、この16通りの姿勢を収束計算によって求めるた
めには16組の初期値が必要である。しかし、この16
組の初期値をどのように選定すればよいのかを示す具体
的な手法がない。
【0009】つまり、初期値の選び方によっては、異な
る初期値であっても同一解である姿勢に収束してしまっ
たり、収束速度が遅い、または収束しないなどの不都合
が発生することがある。
【0010】本発明はこのような課題を考慮してなされ
たものであり、先端部の位置および傾斜角度から他の部
分の姿勢を解析的に特定することのできない構造の多関
節ロボットに対して、また、高密度に配置された多関節
ロボット同士やその他の干渉物に対して、他の部分の姿
勢を収束計算により求めようとするとき、その収束計算
を実行するための初期値として、適切な近似姿勢を算出
することを可能にする多関節ロボットの姿勢算出方法お
よび姿勢算出装置を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明に係る多関節ロボ
ットの姿勢算出方法は、少なくとも3つの関節を有する
多関節ロボットにおける先端部の位置および傾斜角度か
ら前記関節の姿勢値または近似姿勢値を算出する多関節
ロボットの姿勢算出方法において、前記関節から選択し
た複数の関節の姿勢変数と、前記先端部の位置または傾
斜角度とを関係付ける第1方程式を導出する第1方程式
導出過程と、前記第1方程式が近似的に成立するための
前記選択した関節の姿勢変数の近似姿勢値を算出する第
1算出過程と、近似姿勢値を求めることのできる関節の
姿勢変数と、さらにその他の関節の姿勢変数とを関係付
ける第2方程式を導出する第2方程式導出過程と、前記
第1算出過程で算出した近似姿勢値と前記第2方程式を
用いて、前記その他の関節の近似姿勢値を求める第2算
出過程とを有することを特徴とする。
【0012】これにより、多関節ロボットの先端部に取
り付けられたエンドエフェクタ等の位置および傾斜角度
から他の関節部分の姿勢を解析的に特定することのでき
ない構造の多関節ロボットに対して、収束計算により他
の関節部分の姿勢を求めようとするとき、その収束計算
を実行するための初期値として、適切な近似姿勢を算出
することができる。
【0013】前記第2方程式導出過程と前記第2算出過
程を繰り返し、前記関節の全ての近似姿勢値を算出する
ようにしてもよい。
【0014】前記第2方程式導出過程と前記第2算出過
程を繰り返して求めた前記関節の近似姿勢値を初期値と
して、前記先端部の位置および傾斜角度を満たす前記関
節の姿勢値を収束計算により算出するようにしてもよ
い。
【0015】前記収束計算には、ニュートン・ラフソン
法もしくはその拡張法を適用してもよい。
【0016】前記第1方程式導出過程で選択する関節は
2つの関節としてもよい。
【0017】前記第1算出過程では、前記第1方程式が
近似的に成立するための前記選択した関節の近似姿勢値
を、前記多関節ロボットが理論的に取りうる姿勢の数だ
け算出するようにしてもよい。
【0018】前記第1算出過程では、前記選択した関節
について可動範囲を所定の微小区分に分割し、前記微小
区分ごとの組み合わせについて前記第1方程式が近似的
に成立するか否かを調査することにより、前記近似姿勢
値を算出するようにしてもよい。
【0019】また、本発明に係る姿勢算出装置は、少な
くとも3つの関節を有する多関節ロボットにおける先端
部の位置および傾斜角度から前記関節の姿勢値または近
似姿勢値を算出する多関節ロボットの姿勢算出装置にお
いて、前記関節から選択した複数の関節の姿勢変数と、
前記先端部の位置または傾斜角度とを関係付ける第1方
程式と、前記第1方程式から近似値を求めることができ
る関節とその他の関節との関係を表す第2方程式とを記
憶する記憶部と、前記第1方程式が近似的に成立するた
めの前記選択した関節の姿勢変数の近似姿勢値を算出す
る第1算出部と、前記第1算出部で算出した近似姿勢値
を前記第2方程式を用いて、前記その他の関節の近似姿
勢値を求める第2算出部とを有することを特徴とする。
【0020】
【発明の実施の形態】以下、本発明に係る多関節ロボッ
トの姿勢算出方法および姿勢算出装置に適用した実施の
形態を図1〜図10を参照しながら説明する。
【0021】本実施の形態は、基本的に、6軸(6つの
関節)をもつ多関節ロボットから2つの関節を選択し、
この2つの関節とエンドエフェクタの位置またはエンド
エフェクタの傾斜角度との関係を示す方程式を導出し
て、この方程式を満たす近似姿勢値を検索するものであ
る。求まった近似姿勢値に基づいて、他の関節の近似姿
勢値も算出した後、これらの近似姿勢値を初期値として
収束計算を実施することにより多関節ロボットの姿勢を
求める。
【0022】図1に示すように、本実施の形態において
用いるロボットシステム10は、機枠12に高密度に配
置された4台の多関節ロボット14からなるロボット群
16と、ロボット群16の動作、姿勢等を算出するティ
ーチング装置(多関節ロボットの姿勢算出装置)18
と、ティーチング装置18で作成したデータに基づいて
ロボット群16を制御するロボット制御部20とを有す
る。
【0023】4台の多関節ロボット14は全て同じ構造
であり、図2に示すように、機枠12に設定された基台
40の中心軸である軸J1に対して回転可能なベース部
42と、ベース部42の先端部横方向の軸J2を中心に
して揺動可能な第1アーム部44と、第1アーム部44
に対して伸縮可能な第2アーム部46と、第2アーム部
46の軸芯である軸J4を中心にして回転可能な第1手
首部48と、第1手首部48の先端部横方向の軸J5を
中心にして揺動可能な第2手首部50と、第2手首部5
0の軸芯である軸J6を中心にして回転可能な先端部5
2と、先端部52に取り付けられたエンドエフェクタ5
4とから構成される。なお、以下の説明では、多関節ロ
ボット14のうち機枠12側を後端側と規定し、後端か
らエンドエフェクタ54へ向かう側を先端側と規定す
る。
【0024】エンドエフェクタ54は、溶接を行うため
の、所謂、C型ガンユニットであり、開閉する一対の溶
接電極56a、56bを有する。この溶接電極56a、
56bが閉じて接するポイントが溶接打点TCP(Tool
Center Point)であり、軸J6上に設定されている。
また、溶接打点TCPを基準にして、軸J6上の先端側
を向く単位ベクトルをベクトルVとして規定する。この
ベクトルVは、エンドエフェクタ54の傾斜角度を示
す。
【0025】多関節ロボット14の各部の寸法を次のよ
うに規定する。すなわち、基台40の後端部から軸J2
までの距離をL1、軸J1と軸J4との幅方向の距離を
2、第2アーム部46が最も縮退した状態における軸
J2と軸J5との距離をL3、軸J4と軸J6との幅方
向の距離をL4、軸J5と溶接打点TCPとの距離をL5
とする。
【0026】さらに、軸J1、J2、J4、J5および
J6におけるベース部42、第1アーム部44、第1手
首部48、第2手首部50および先端部52の回転、揺
動角度(姿勢変数)をθ1、θ2、θ4、θ5およびθ6
する。また、第2アーム部46の第1アーム部44に対
する伸縮量をλ3とする。
【0027】基台40の端部で軸芯(軸J1)と交差す
る点を原点Oと規定し、この原点Oを基準として先端側
をZ軸、多関節ロボット14の幅方向をY軸、Y軸およ
びZ軸に垂直で図2の紙面の手前方向をX軸(図3参
照)と規定する。
【0028】図3に示すように、ベクトルVを原点Oに
平行移動すると仮定したとき、ベクトルVがX−Y平
面、Y−Z平面、Z−X平面に映し出される写像ベクト
ルをそれぞれ、α6(α6X、α6Y、α6Z)、β6(β6X
β6Y、β6Z)およびγ6(γ6X、γ6Y、γ6Z)とする。
ここで、括弧内の3つのパラメータはそれぞれの写像ベ
クトルのX座標成分、Y座標成分、Z座標成分である。
【0029】図4に示すように、ティーチング装置18
は、制御部70と、表示装置としてのモニタ72と、入
出力装置としてのキーボード74およびマウス76とを
備える。制御部70は、制御手段としてのCPU78
と、記憶部であるROM80およびRAM82と、ハー
ドディスク84と、外部機器との入出力制御を行うイン
ターフェース86と、外部記録媒体88aを制御する記
録媒体ドライブ88と、ティーチングデータを算出およ
び作成するデータ算出部90と、ティーチングデータに
基づきモニタ72の画面上でシミュレーションを行うシ
ミュレーション部92とを有する。このシミュレーショ
ン部92は、3次元CADをベースにしており多関節ロ
ボット14のモデルを作成したり、該モデル相互の干渉
(接触等)を調査する機能を持つ。
【0030】図5に示すように、データ算出部90は、
エンドエフェクタ54の姿勢および傾斜角度とから、姿
勢変数θ1およびθ4の16組の近似値を算出する第1算
出部90aと、姿勢変数θ1およびθ4に基づいて他の姿
勢変数について近似値を算出する第2算出部90bと、
第1および第2算出部90a、90bで求めた姿勢変数
の近似値を初期値として収束計算を行う収束計算部90
cを有する。
【0031】多関節ロボット14の姿勢を算出する方法
の説明に先立ち、溶接打点TCPの位置を算出する方法
について説明する。
【0032】溶接打点TCPの位置座標をP6(p6X
6Y、p6Z)としたとき、この位置座標P6は、姿勢変
数θ1、θ2、λ3、θ4〜θ6および距離L1〜L5によっ
て一意的に決まるものであり、各揺動軸および伸縮軸に
おける同時変換行列を乗算することによって求めること
ができる。
【0033】軸J1、J2、第2アーム部46の伸縮
軸、軸J4、J5およびJ6における同時変換行列
1、A2、A3、A4、A5、A6はそれぞれ以下のように
表される。
【0034】
【数1】
【0035】
【数2】
【0036】
【数3】
【0037】
【数4】
【0038】
【数5】
【0039】
【数6】
【0040】また、溶接打点TCPの位置座標P6およ
び傾斜角度α6、β6、γ6をそれぞれ転置行列で表す
と、次の(7)式〜(10)式を得る。
【0041】 P6=[p6X、p6Y、p6ZT …(7) α6=[α6X、α6Y、α6ZT …(8) β6=[β6X、β6Y、β6ZT …(9) γ6=[γ6X、γ6Y、γ6ZT …(10) さらに、この表現方法を用いると、傾斜角度α6、β6
γ6と同時変換行列A1、A2、A3、A4、A5およびA6
との関係は次の(11)式のように表される。
【0042】
【数7】
【0043】このように同時変換行列A1、A2、A3
4、A5およびA6を用いると、溶接打点TCPの位置
座標P6および傾斜角度α6、β6、γ6を算出することが
できる。
【0044】次に、溶接打点TCPの位置座標P6およ
び傾斜角度α6、β6、γ6が与えられているときに、多
関節ロボット14の姿勢変数、すなわち、θ1、θ2、λ
3、θ4〜θ6を算出する方法について図6〜図10を参
照しながら説明する。
【0045】まず、ステップS1において、(11)式
を展開して次の連立方程式である(12)式〜(23)
式をたてる。なお、以下の式ではsinθNをSN、co
sθ NをCN(ただし、N=1、2、4、5、6とす
る。)と簡略化して表記する。
【0046】 α6X=C56(C124−S14)−S5126−S6(S412+S14) …(12) β6X=−S65(C124−S14)+S5612−C6(S412+ S14) …(13) γ6X=S5(C124−S14)+S215 …(14) p6X=L55(C124−S14)+L5125−L4(S412+S14)+(L3+λ3)S21+L21 …(15) α6Y=(S124+S41)C56−S1256−S6(S142−C14) …(16) β6Y=−(S124+S41)S65+S1256−C6(S142− C14) …(17) γ6Y=(S124+C14)S5+S125 …(18) p6Y=L55(S124+C14)+L5125−L4(S142−C14)+(L3+λ3)S12−L21 …(19) α6Z=−S2456−S526+S246 …(20) β6Z=S2645+S562+S246 …(21) γ6Z=−S254+C2 …(22) p6Z=−L5254+L525+L424+(L3+λ3)C2+L1 …(23) これらの(12)式〜(23)式は、L4の、所謂、オ
フセット量が「0」であれば、θ1、θ2、λ3、θ4〜θ
6について解析的に解くことができるが、本実施の形態
ではオフセット量に相当するL4が、L4≠0であること
から、解析的に解くことはできない。よって、次のステ
ップS2以降の数値解法を行ってθ1、θ2、λ3、θ4
θ6を解く。
【0047】ステップS2において、(12)式〜(2
3)式のうち適当な式を選択して、互いの式の関係から
6つの姿勢変数θ1、θ2、λ3、θ4〜θ6のうち4つを
消去し、2つの姿勢変数の式を導出する。
【0048】例えば、(14)式、(15)式、(1
8)式および(19)式を選択すると、S2、S4
5、C2、C5が消去され、2つの姿勢変数θ1およびθ
4で定まるS1、C1およびC4を含む次の(24)式(第
1方程式)を得る。この(24)式はRAM82に記憶
する。
【0049】 p6X1−p6Y1=L5(γ6X−γ6Y1)−L44+L2 …(24) この(24)式に含まれる姿勢変数はθ1およびθ4の2
つだけであり、しかも、簡易な関係式になっているので
演算が容易である。
【0050】次に、ステップS3において、(24)式
の姿勢変数θ1およびθ4に走査的に数値を代入して誤差
を調べる。
【0051】具体的には、姿勢変数θ1およびθ4の可動
範囲をそれぞれ微小区分、例えば100等分に分割し、
これらの微小区分内の代表する数値を、RAM82に記
憶した(24)式に代入する。そして、右辺と左辺との
誤差を記録する。図7は、この記録のための書式を模式
的に表したものであり、姿勢変数θ1、θ4のそれぞれが
100分割され、100×100のマトリックス状に形
成されている。
【0052】次に、ステップS4において、(24)式
が近似的に成立する姿勢変数θ1およびθ4の組をデータ
算出部90によって算出する。
【0053】具体的には、図7の書式に記録した誤差の
絶対値が極小値をとる箇所を選択する。このとき、選択
する箇所の数は多関節ロボット14が取りうる姿勢の理
論的組み合わせの数だけ選択する。すなわち、図8Aお
よび図8Bに示すように、溶接打点TCPの位置座標P
6および傾斜角度を示すベクトルVが同一であっても、
θ1、θ2、λ3、θ4〜θ6の組み合わせによって多関節
ロボット14が取りうる姿勢は複数通り存在するもので
あり、本実施の形態の場合は論理的に16通りの組み合
わせが存在することが分かっている。
【0054】このことから、図7に示す書式において
も、極小値を示す箇所が16組存在することとなり、こ
れらの16組の姿勢変数θ1、θ4を選択すればよい。
【0055】なお、図7の書式で、極小値が連続してい
る場合は、その連続している区画同士は同一の組み合わ
せとみなす。
【0056】多関節ロボット14の姿勢を求める他の方
法としては、前記の連立方程式である(12)式〜(2
3)式に対して6つの姿勢変数θ1、θ2、λ3、θ4〜θ
6の全ての組み合わせを走査するように検索を行う手法
も考えられるが、それぞれの関節の可動範囲を100等
分として検索を行うと、その組み合わせは1006通り
存在する。これらの組み合わせを比較的複雑な式である
(12)式〜(23)式に代入しながら検索を行うこと
は処理負担が非常に大きく、コンピュータを使用しても
長時間を要する。
【0057】これに対し、前記ステップS3およびS4
の処理は、(24)式に対して、まずθ1およびθ4の2
つの姿勢変数だけについて検索を行うもので、組み合わ
せの数は1002通りだけで済み、非常に短時間に結果
を得ることができる。
【0058】次に、ステップS5において、θ1および
θ4を含み、さらに別の姿勢変数を含む方程式(第2方
程式)を導出する。具体的には、(14)式および(1
8)式から次の(25)式を導出する。
【0059】 γ6Y1−γ6X1=S45 …(25) この(25)式を次の(26)式に変形してRAM82
に記憶する。
【0060】 θ5=Sin-1((γ6Y1−γ6X1)/S4) …(26) 次に、ステップS6において、データ算出部90の機能
により、RAM82に記憶した(26)式にステップS
4で算出した16組の姿勢変数θ1、θ4をそれぞれ代入
して解くことにより16個の姿勢変数θ5を算出する。
【0061】以下、同様にして他の姿勢変数を順次算出
する。
【0062】具体的には、θ1、θ4、θ5およびθ6を含
む次の(27)式を(12)式および(16)式から導
出し、この(16)式にθ1、θ4、θ5を代入すること
によりθ6を算出する。
【0063】 α6Y1−α6X1=S456+C46 …(27) 次に、θ4、θ6およびθ2を含む次の(28)式を(2
0)式および(21)式から導出し、この(28)式に
θ4、θ6を代入することによりθ2を算出する。
【0064】 α6Z+β6Z6+β6Z=S24 …(28) さらに、θ2、θ4、および、λ3を含む次の(29)式
を(22)式および(23)式から導出し、この(2
9)式に姿勢変数θ2、θ4を代入してλ3を算出する。
【0065】 p6Z=γ6Z5+L424+(L3+λ3)C2+L1 …(29) このようにして、(24)式が略成立する姿勢変数θ1
とθ4との組み合わせに基づいて、他の姿勢変数θ2、λ
3、θ4、θ5およびθ6についても16組のすべてについ
て順次算出することができる。これらの16組の姿勢変
数θ1、θ2、λ 3、θ4〜θ6は、(24)式が近似的に
成立する条件において求めた近似姿勢値であり、多少の
誤差を含んでいる。そこで、次のステップS7でこれら
の誤差を「0」に収束させる。
【0066】ステップS7において、ステップS5およ
びS6で求めた多関節ロボット14の姿勢を示す16組
の近似姿勢値としての姿勢変数θ1、θ2、λ3、θ4〜θ
6を初期値として設定し、前記収束計算部90cにより
所定の収束計算を適用する。
【0067】例えば、ニュートン・ラフソン法を適用す
るならば、6つの姿勢変数θ1、θ2、λ3、θ4〜θ6
qと表し、連立方程式である(12)式〜(23)式を
r=R(q)と置いたとき、ヤコビ行列Jを次の(3
0)式により求める。
【0068】 J=dR/dq=[∂Ri/∂qi] …(30) ここで、iは繰り返し計算の繰り返し回数を表すパラメ
ータである。
【0069】ヤコビ行列Jを用いて次の(31)式を所
定回数だけ、i+1を次のiに置き換えながら繰り返し
て行うことにより収束計算を行う。
【0070】 qi+1=qi+kJ-1(qi)(r−R(qi)) …(31) ここで、kは計算の収束性を改善するための定数であ
る。
【0071】これにより、16組の姿勢変数θ1、θ2
λ3、θ4〜θ6の誤差をそれぞれ「0」に収束させるこ
とができるので、多関節ロボット14の取りうる姿勢が
16通り求まったこととなる。
【0072】なお、ニュートン・ラフソン法は、比較的
収束速度が速い数値解法であり、他の収束計算に比較す
ると高速に算出することが可能となり好適である。ニュ
ートン・ラフソン法を拡張した方法を適用してもよいこ
とはもちろんである。
【0073】次に、ステップS8において、求まった1
6組の姿勢変数θ1、θ2、λ3、θ4〜θ6、すなわち多
関節ロボット14の16通りの姿勢をシミュレーション
部92を用いてモニタ72の画面上に表示させ、4台の
多関節ロボット14同士が接触または干渉することがな
いかを確認する。そして、16通りの姿勢のうちから動
作上の前後の姿勢や安全性を勘案して最適である姿勢を
選定する。
【0074】ステップS8のシミュレーションについ
て、図9を参照しながらより具体的に説明すると、操作
者は入力装置のキーボード74及びマウス76を操作す
ることによってエンドエフェクタ54の位置座標P6
傾斜角度を示すベクトルVを入力する。入力した位置座
標P6およびベクトルVはインターフェース86を介し
てデータ算出部90に伝えられる。そして、このデータ
算出部90では、上述のとおり第1算出部90a、第2
算出部90bおよび収束計算部90cの機能によって、
多関節ロボット14の姿勢を16通り算出する。
【0075】次に、算出された多関節ロボット14の1
6通りの姿勢はシミュレーション部92へ伝えられて、
多関節ロボット14をモデル化した画像をモニタ72の
画面上に表示する。
【0076】操作者は、このモデル化した16通りの画
像をモニタ72の画面上で視認しながら、シミュレーシ
ョン部92が持つ干渉確認機能などを用いて、多関節ロ
ボット14同士および他の構造物との接触、干渉の有無
を確認する。そして、16通りの画像のうち最適である
ものを選択する。選択した姿勢は、多関節ロボット14
の正式な姿勢として決定されたことを、入力装置である
キーボード74,マウス76により入力し、指定された
姿勢の姿勢変数はRAM82またはハードディスク84
に記憶されるとともに、ロボット制御部20にも伝えら
れ、実機のロボット群16の制御に利用される。
【0077】次に、シミュレーション機能を用いること
なく、実際の多関節ロボット14を直接的に動作させて
姿勢の良否を判断する例について図10を参照しながら
説明する。
【0078】図10のロボット制御部20には、制御部
70のデータ算出部90と同じ機能をもったデータ算出
部91が組み込まれており、入力装置79を介して入力
されたデータに基づいて多関節ロボット14の姿勢を算
出することができる。またロボット制御部20は、ロボ
ット群16の図示しないアクチュエータや角度センサと
の入出力処理を行いロボット群16を制御するインター
フェース87を有する。
【0079】操作者は、入力装置79により、エンドエ
フェクタ54の位置座標P6と傾斜角度を示すベクトル
Vを入力する。入力した位置座標P6およびベクトルV
はデータ算出部91に伝えられ、上述の場合と同様に第
1算出部90a、第2算出部90bおよび収束計算部9
0cの機能によって、多関節ロボット14の姿勢を16
通り算出する。
【0080】次に、算出された多関節ロボット14の1
6通りの姿勢変数はインターフェース87に伝えられ、
その姿勢変数に基づき、多関節ロボット14を実際に動
作させる。操作者は、多関節ロボット14の実際の動作
を直接的に確認し、姿勢の良否を判断する。このとき、
多関節ロボット14の動作は、低速で動作する設定にし
ておき、多関節ロボット14同士が接触しそうになった
ときには、入力装置79からの指令により停止させるよ
うにするとよい。
【0081】このようにして、16通りの姿勢を実際の
動作によって確認して、そのうち最適であると判断した
ものを入力装置79から入力指示し、所定の記憶部に記
憶するようにする。
【0082】このように本実施の形態に係る多関節ロボ
ットの姿勢算出方法および姿勢算出装置によれば、多関
節ロボット14の先端部に設けたエンドエフェクタ54
の位置座標P6および傾斜角度を表すベクトルVが与え
られたとき、これらの値と多関節ロボット14の各関節
との関係を表す(12)式〜(23)式から、所定の2
つの関節の姿勢変数θ1、θ4を含む第1方程式を導出す
る。そして、この第1方程式を近似的に充足する関節の
姿勢値を調査、算出するようにしたので、多関節ロボッ
ト14の構造が解析的に解くことができない形状であっ
ても、まず近似的に2つの関節の姿勢値を調査、算出す
ることができる。このとき、調査する組み合わせは各関
節の分割数の2乗回だけで済むので、短時間で調査でき
る。
【0083】さらに、求まった2つの関節の姿勢値を用
いて、他の関節との関係を表す第2方程式を導出して、
この第2方程式から他の関節についても近似姿勢値を順
次算出することができる。
【0084】また、このようにすると、多関節ロボット
14が理論上取りうる姿勢の数の全ての組み合わせにつ
いて各関節の近似姿勢値を求めることができる。
【0085】そして、求めた近似姿勢値を初期値として
ニュートン・ラフソン法などの収束計算を適用すれば、
誤差を「0」に収束させて真の姿勢値を算出することが
できる。
【0086】さらにまた、本実施の形態によれば、収束
計算において、初期値としての近似姿勢値は当初から小
さい誤差しか含まないので、少ない回数の繰り返し計算
で誤差を「0」に収束させることができる。また、初期
値としての近似姿勢値は16通り用意されているが、こ
れらの初期値はそれぞれ個別の姿勢値に収束し、特定の
同一姿勢に収束してしまうことがない。従って、多関節
ロボット14が取りうる16通りの姿勢を全て把握する
ことができる。
【0087】上述の実施の形態では、近似計算を行うた
めに最初に用いる第1方程式は、θ 1およびθ4の2つの
関節に関する姿勢変数値を含む形式としたが、選択する
変数はθ1およびθ4以外であってもよく、また、式の導
出が困難である場合は、3つ以上の関節に関する姿勢変
数を含む式としてもよい。
【0088】また、多関節ロボット14は、例えば、7
軸構造やリンク機構を含む構造など異なる構造であって
もよい。
【0089】さらに、計算条件として与えられるエンド
エフェクタ54の位置座標P6と傾斜角度を示すベクト
ルVとは、1通りである必要はなく、エンドエフェクタ
54が移動する経路を連続的に表記しておき、これらの
経路に対して連続して多関節ロボット14の姿勢を算出
するようにしてもよい。またこの場合、姿勢の算出とロ
ボット14の動作をほぼ同時に行い、所謂、リアルタイ
ム制御方式にしてもよい。
【0090】さらにまた、この発明に係る多関節ロボッ
トの姿勢算出方法および姿勢算出装置は、上述の実施の
形態例に限らず、この発明の要旨を逸脱することなく、
種々の構成を採り得ることはもちろんである。
【0091】
【発明の効果】以上説明したように、本発明に係る多関
節ロボットの姿勢算出方法および姿勢算出装置によれ
ば、、先端部の位置および傾斜角度から他の部分の姿勢
を解析的に特定することのできない構造の多関節ロボッ
トに対して、また、高密度に配置された多関節ロボット
同士やその他の干渉物に対して、他の部分の姿勢を収束
計算により求めようとするとき、その収束計算を実行す
るための初期値として、適切な近似姿勢を算出すること
ができるという効果が達成される。
【図面の簡単な説明】
【図1】本実施の形態に係るロボットシステムを示す説
明図である。
【図2】多関節ロボットの構造を示す説明図である。
【図3】エンドエフェクタの傾斜角度を表すベクトルの
説明図である。
【図4】ティーチング装置の構成を示すブロック図であ
る。
【図5】データ算出部の構成を示すブロック図である。
【図6】多関節ロボットの姿勢算出方法の手順を示すフ
ローチャートである。
【図7】2つの姿勢変数について、第1方程式の誤差を
記録する書式例を示す説明図である。
【図8】図8Aは、所定の姿勢をとる多関節ロボットを
示す説明図であり、図8Bは、エンドエフェクタの姿勢
のみが図8Aの例に等しく、他の関節の姿勢が異なる状
態を示す説明図である。
【図9】多関節ロボットの姿勢をシミュレーションによ
って確認する適用例を示す説明図である。
【図10】多関節ロボットの姿勢を実際のロボットの動
作によって確認する適用例を示す説明図である。
【図11】多関節ロボットのオフセット量を示す説明図
である。
【符号の説明】
10…ロボットシステム 12…機枠 14…多関節ロボット 16…ロボット群 18…ティーチング装置 20…ロボット制
御部 40…基台 42…ベース部 44…第1アーム部 46…第2アーム
部 48…第1手首部 50…第2手首部 52…先端部 54…エンドエフ
ェクタ 70…制御部 78…CPU 82…RAM 86、87…イン
ターフェース 90、91…データ算出部 92…シミュレー
ション部 J1、J2、J4〜J6…軸 O…原点 TCP…溶接打点 V…ベクトル λ3…伸縮量

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】少なくとも3つの関節を有する多関節ロボ
    ットにおける先端部の位置および傾斜角度から前記関節
    の姿勢値または近似姿勢値を算出する多関節ロボットの
    姿勢算出方法において、 前記関節から選択した複数の関節の姿勢変数と、前記先
    端部の位置または傾斜角度とを関係付ける第1方程式を
    導出する第1方程式導出過程と、 前記第1方程式が近似的に成立するための前記選択した
    関節の姿勢変数の近似姿勢値を算出する第1算出過程
    と、 近似姿勢値を求めることのできる関節の姿勢変数と、さ
    らにその他の関節の姿勢変数とを関係付ける第2方程式
    を導出する第2方程式導出過程と、 前記第1算出過程で算出した近似姿勢値と前記第2方程
    式を用いて、前記その他の関節の近似姿勢値を求める第
    2算出過程とを有することを特徴とする多関節ロボット
    の姿勢算出方法。
  2. 【請求項2】請求項1記載の姿勢算出方法において、 前記第2方程式導出過程と前記第2算出過程を繰り返
    し、前記関節の全ての近似姿勢値を算出することを特徴
    とする多関節ロボットの姿勢算出方法。
  3. 【請求項3】請求項2記載の姿勢算出方法において、 前記第2方程式導出過程と前記第2算出過程を繰り返し
    て求めた前記関節の近似姿勢値を初期値として、前記先
    端部の位置および傾斜角度を満たす前記関節の姿勢値を
    収束計算により算出することを特徴とする多関節ロボッ
    トの姿勢算出方法。
  4. 【請求項4】請求項3記載の姿勢算出方法において、 前記収束計算には、ニュートン・ラフソン法もしくはそ
    の拡張法を適用して、前記関節の姿勢値を算出すること
    を特徴とする多関節ロボットの姿勢算出方法。
  5. 【請求項5】請求項1〜4のいずれか1項に記載の姿勢
    算出方法において、 前記第1方程式導出過程で選択する関節は2つの関節で
    あることを特徴とする多関節ロボットの姿勢算出方法。
  6. 【請求項6】請求項1〜5のいずれか1項に記載の姿勢
    算出方法において、 前記第1算出過程では、前記第1方程式が近似的に成立
    するための前記選択した関節の近似姿勢値を、前記多関
    節ロボットが理論的に取りうる姿勢の数だけ算出するこ
    とを特徴とする多関節ロボットの姿勢算出方法。
  7. 【請求項7】請求項1〜6のいずれか1項に記載の姿勢
    算出方法において、 前記第1算出過程では、前記選択した関節について可動
    範囲を所定の微小区分に分割し、前記微小区分ごとの組
    み合わせについて前記第1方程式が近似的に成立するか
    否かを調査することにより、前記近似姿勢値を算出する
    ことを特徴とする多関節ロボットの姿勢算出方法。
  8. 【請求項8】少なくとも3つの関節を有する多関節ロボ
    ットにおける先端部の位置および傾斜角度から前記関節
    の姿勢値または近似姿勢値を算出する多関節ロボットの
    姿勢算出装置において、 前記関節から選択した複数の関節の姿勢変数と、前記先
    端部の位置または傾斜角度とを関係付ける第1方程式
    と、前記第1方程式から近似値を求めることができる関
    節とその他の関節との関係を表す第2方程式とを記憶す
    る記憶部と、 前記第1方程式が近似的に成立するための前記選択した
    関節の姿勢変数の近似姿勢値を算出する第1算出部と、 前記第1算出部で算出した近似姿勢値を前記第2方程式
    を用いて、前記その他の関節の近似姿勢値を求める第2
    算出部とを有することを特徴とする多関節ロボットの姿
    勢算出装置。
JP2001208539A 2001-07-09 2001-07-09 多関節ロボットの姿勢算出方法および姿勢算出装置 Expired - Fee Related JP3884928B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001208539A JP3884928B2 (ja) 2001-07-09 2001-07-09 多関節ロボットの姿勢算出方法および姿勢算出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001208539A JP3884928B2 (ja) 2001-07-09 2001-07-09 多関節ロボットの姿勢算出方法および姿勢算出装置

Publications (2)

Publication Number Publication Date
JP2003019682A true JP2003019682A (ja) 2003-01-21
JP3884928B2 JP3884928B2 (ja) 2007-02-21

Family

ID=19044337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001208539A Expired - Fee Related JP3884928B2 (ja) 2001-07-09 2001-07-09 多関節ロボットの姿勢算出方法および姿勢算出装置

Country Status (1)

Country Link
JP (1) JP3884928B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016083722A (ja) * 2014-10-24 2016-05-19 ライフロボティクス株式会社 ロボットアーム機構
JP2016087717A (ja) * 2014-10-30 2016-05-23 ライフロボティクス株式会社 ロボットアーム機構
JP2018012165A (ja) * 2016-07-21 2018-01-25 ファナック株式会社 搬送用ロボット

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016083722A (ja) * 2014-10-24 2016-05-19 ライフロボティクス株式会社 ロボットアーム機構
JP2016087717A (ja) * 2014-10-30 2016-05-23 ライフロボティクス株式会社 ロボットアーム機構
US20170225325A1 (en) * 2014-10-30 2017-08-10 Life Robotics Inc. Robot arm mechanism
CN107148328A (zh) * 2014-10-30 2017-09-08 生活机器人学股份有限公司 机械臂机构
CN107148328B (zh) * 2014-10-30 2019-12-31 生活机器人学股份有限公司 机械臂机构
US10960537B2 (en) 2014-10-30 2021-03-30 Life Robotics Inc. Robot arm mechanism
JP2018012165A (ja) * 2016-07-21 2018-01-25 ファナック株式会社 搬送用ロボット
US10220523B2 (en) 2016-07-21 2019-03-05 Fanuc Corporation Conveying robot

Also Published As

Publication number Publication date
JP3884928B2 (ja) 2007-02-21

Similar Documents

Publication Publication Date Title
JP4137909B2 (ja) ロボットプログラム補正装置
JP7158862B2 (ja) 情報処理方法及び情報処理装置
JPH11242513A (ja) ロボットの位置決めを行うインタフェース装置
JP5268495B2 (ja) オフライン教示データの作成方法及びロボットシステム
JP3349652B2 (ja) オフラインティーチング方法
US20180117764A1 (en) Force control coordinate axis setting device, robot, and force control coordinate axis setting method
JP2012091304A (ja) ティーチングデータ作成方法およびティーチングデータ作成装置
JP2004094399A (ja) 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム
JP2007000954A (ja) ロボット教示装置及び方法
JP4000306B2 (ja) 多関節ロボットのティーチングデータ作成方法
JP3840973B2 (ja) ロボット教示データの補正方法
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
JP3884928B2 (ja) 多関節ロボットの姿勢算出方法および姿勢算出装置
JP2003103481A (ja) 多関節ロボットの姿勢適正化方法および適正化装置
JP7199073B2 (ja) 垂直多関節ロボットの教示データ作成システム
JP2012106316A (ja) 干渉検出方法及び干渉検出装置
JPH11191005A (ja) ロボット制御装置
CN111488654A (zh) 基于全局坐标系递次回归方式的机器人运动学求解方法
JP2610996B2 (ja) 多関節ロボット制御装置
JP4647919B2 (ja) 制御方法および制御装置
JP2000112510A (ja) ロボットの教示方法及びその装置
JP2009148894A (ja) 多関節ロボット
JP4000307B2 (ja) 多関節ロボットのティーチングデータ作成方法
JPS62154006A (ja) ロボツト制御装置
WO2023002624A1 (ja) 機構データに基づいてロボットを制御するロボットの制御装置および動作プログラムの修正装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050214

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050217

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061120

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees