Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0126828B2 - - Google Patents
[go: Go Back, main page]

JPH0126828B2 - - Google Patents

Info

Publication number
JPH0126828B2
JPH0126828B2 JP9917980A JP9917980A JPH0126828B2 JP H0126828 B2 JPH0126828 B2 JP H0126828B2 JP 9917980 A JP9917980 A JP 9917980A JP 9917980 A JP9917980 A JP 9917980A JP H0126828 B2 JPH0126828 B2 JP H0126828B2
Authority
JP
Japan
Prior art keywords
state
joint
data
orientation
posture
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.)
Expired
Application number
JP9917980A
Other languages
Japanese (ja)
Other versions
JPS5727689A (en
Inventor
Fumio Noguchi
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.)
Shinmaywa Industries Ltd
Original Assignee
Shin Meiva Industry 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 Shin Meiva Industry Ltd filed Critical Shin Meiva Industry Ltd
Priority to JP9917980A priority Critical patent/JPS5727689A/en
Priority to US06/283,117 priority patent/US4445184A/en
Priority to EP81303314A priority patent/EP0044737B2/en
Priority to DE8181303314T priority patent/DE3176640D1/en
Publication of JPS5727689A publication Critical patent/JPS5727689A/en
Publication of JPH0126828B2 publication Critical patent/JPH0126828B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 この発明は多関節ロボツトに関するもので、特
に、直角座標系でテイーチングして多関節座標系
で駆動する場合に適した多関節ロボツトに関す
る。 〔従来の技術〕 従来より、多関節ロボツトが、マニプレータあ
るいはその他の自動機械のために利用されてい
る。このような多関節ロボツトとしては、たとえ
ば特開昭49−50376号公報に開示されているよう
なものがある。 第14図はこのような多関節ロボツトの一例を
示す模式機構図であつて、理解を容易にするため
に、ここでは2次元平面(X−Z平面)内でエン
ドエフエクタEEの位置と姿勢とを制御可能な多
関節ロボツトを考えている。同図に示すように、
この多関節ロボツトは3個の関節E1〜E3によつ
て順次に関節接続された4本の腕A1〜A4を有し
ており、先端腕A4にエンドエフエクタEEが取付
けられている。そして、この多関節ロボツトの制
御にあたつては、各関節E1〜E3の関節角を指定
し、それによつてエンドエフエクタEEの位置と
姿勢とを所望のものとする。 このような制御のための多関節ロボツトのテイ
ーチング方式としては、各関節E1〜E3の関節
角そのものを教示する方式(多関節座標系でのテ
イーチング)と、エンドエフエクタEEの位置
および姿勢を直角座標系(X−Z系)で教示し、
各関節E1〜E3の関節角は、直角座標系から多関
節座標系への座標変換を通じて求める方式とがあ
る。そして、溶接用やシーム用などのように、エ
ンドエフエクタEEを直線的に移動させる動作が
多い用途においては、あたかも直角座標系ロボツ
トのようにテイーチングや再生を行なうことがで
きるの方式が利用されている。 ところが、上記のテイーチング方式において
は、直角座標系でエンドエフエクタEEの位置お
よび姿勢を指定しても、多関節座標系での各関節
角の値が一義的に定まらない場合がある。このよ
うな状況が生ずる原因のひとつとしては、冗長自
由度、すなわち、所定の範囲内でエンドエフエク
タEEの位置および姿勢を自在に変換させるため
に必要十分な自由度(以下、「適合自由度」と言
う。)よりも多い自由度を持つ場合がある。この
場合には、当然ながらエンドエフエクタEEを同
一の位置および姿勢とするための状態は複数個
(無限個)存在する。 ところが、自由度の数そのものは適合自由度と
なつていても上記の状況が生じる場合がある。た
とえば第14図の例では、2次元平面内の位置決
めのために2自由度と、2次元平面内での姿勢決
めのために1自由度との、合計3自由度が「適合
自由度」であり、図示の多関節ロボツトは関節
E1〜E3によつてこの適合自由度を確保している。
それにもかかわらず、図示のエンドエフエクタ
EEの同一の位置および姿勢に対して、実線で示
した関節状態(右折れ状態)と破線で示した関節
状態(左折れ状態)との2つの状態をとり得るの
である。容易にわかるように、このような事情は
X−Z直角座標ロボツト(図示せず)では生ずる
ことはなく、多関節ロボツト特有の事情である。
なお、このような状況の出現は、容易にわかるよ
うに、2次元多関節ロボツトであるか3次元多関
節ロボツトであるかにかかわらず3個以上の関節
で接続された4本以上の腕が存在する場合にのみ
生ずる。仮に第14図の関節E2を取り去つて2
関節にすると、もはや上記の事情が生じないこと
は明らかである。 そして、このような事情があると上記座標変換
に不定性が残つてしまうため、従来では、たとえ
ば第14図の関節E2は右折れ状態のみをとらせ
るという条件を課して座標変換を行なつていた。
このようにすれば、座標変換は一義的となつて、
上記不定性は解消されることとなる。 〔発明が解決しようとする課題〕 ところが、たとえば第14図の多関節ロボツト
を右折れ状態のみに制限してテイーチングや再生
を行なつた場合には、ロボツトの各腕と障害物
IP(たとえばワークピース)との干渉の問題が生
ずる。すなわち、図示の状態からエンドエフエク
タEEを(−Z)方向へ並進移動させる場合には、
腕A2が障害物IPと干渉してしまう。これを避け
るためには関節E2に左折れ状態をとらせればよ
いが、上記の制限によつてこれは禁止されてい
る。このため、障害物IPを一旦、取除くなどの
作業を要することになり、作業の効率を低下させ
てしまう。仮に左折れ状態のみを許すような制御
を行なつたとしても、障害物IPの位置が変化す
る場合もあるため、上記の問題の根本的な解決に
はならない。 このように、従来の多関節ロボツトでは、座標
変換の一義性を確保するために関節角のとり得る
範囲に制限を課しており、それによつて、障害物
とロボツトとの干渉を避けるための煩雑な作業を
必要とするという問題があつた。(逆に言えば、
障害物を取除かない場合には、ロボツトの動作範
囲が大幅に制約されてしまうことになる。)そし
てこのような問題は、第14図に例示したような
適合自由度を持つ2次元多関節ロボツトのみなら
ず、適合自由度を持つ3次元多関節ロボツト(そ
の例は後述する。)においても共通の問題となつ
ている。 〔発明の目的〕 この発明は従来技術における上述の問題の克服
を意図しており、適合自由度を持つ多関節ロボツ
トを対象として、障害物を取除くという作業を必
要とせずにロボツトと障害物との干渉を防止でき
るとともに、ロボツトの動作範囲の制約が少ない
多関節ロボツトを提供することを目的とする。 〔課題を解決するための手段〕 第1A図に示すように、この発明の多関節ロボ
ツトは、 (a)多関節機構、(b)駆動手段、 (c)操作入力手段、(d)記憶手段、 (e)駆動指令信号発生手段、 の各手段を備えている。このうち、多関節機構は
次の(a−1)〜(a−4)の条件によつて特定
されている。 (a‐1)3個以上の関節によつて順次に関節接続さ
れた4本以上の腕を含むこと。 (a‐2)先端腕にエンドエフエクタが取付けられる
こと。 (a‐3)エンドエフエクタの位置および姿勢を所定
の位置範囲および姿勢範囲でそれぞれ任意に変
化させるために必要十分な自由度が、上記関節
による接続によつて確保されていること。 これは既述した「適合自由度」を持つという
条件であり、以下では「適合自由度条件」と呼
ぶ。たとえば、3次元の位置決めと3次元空間
内での姿勢決めを任意に行なうにあたつて、第
1B図のオイラー角表現におけるロール角Rl、
ピツチ角Ptおよびヨー角Ywのうち、エンドエ
フエクタEEのロール角Rlのみを独立して変化
させる自由度は不要である場合を考えると、姿
勢については2自由度が必要であつて、合計、
3(位置)+2(姿勢)=5が、適合自由度であ
る。「必要十分」とは、上記適合自由度未満で
もなく、またそれより大きくもない(つまり冗
長自由度は持たない)ことを意味する。 (a‐4) 各関節の関節角の値の組合わせのひとつひ
とつを関節角状態と呼ぶとき、エンドエフエク
タの位置および姿勢のそれぞれを同一とする複
数の関節角状態が存在すること(以下、この条
件を「多価状態性条件」と呼ぶ)。既述した第
14図の例で言えば、右折れ状態と左折れ状態
とがエンドエフエクタに同一の位置および姿勢
をもたらす「複数の関節角状態」である。この
ような多価状態性条件を満足する多関節機構は
種々存在することが従来より知られている(実
例は後述する)。 (b)の駆動手段は、各関節に結合されて、各関節
を駆動する手段である。 (c)の操作入力手段は、テイーチング時に、 (c‐1)エンドエフエクタの指令位置および指令姿
勢を表現した位置姿勢データDPと、 (c‐2)上記指令位置および指令姿勢を、上記複数
の関節角状態のうちのいずれによつて実現する
かを選択指定する状態指定データDSとを、操
作入力するためのものである。 すなわち、エンドエフエクタの指令位置およ
び指令姿勢とともに、複数の関数角状態のいず
れによつてそれを実現させるかが操作入力によ
つて指定されることになる。 また、(d)の記憶手段は、このようにして、操作
入力された位置姿勢データDPと状態指定データ
DSとを記憶しておく手段である。 さらに、(e)の駆動指令信号発生手段は、記憶手
段から読出された位置姿勢データDPと状態指定
データDSとに基づいて、当該状態指定データDS
で指定される関節角状態をとりつつエンドエフエ
クタの位置および姿勢を指令位置および指令姿勢
にそれぞれ一致させるための駆動指令信号を発生
してそれを駆動手段に出力する手段である。 すなわち、この発明においては、第1図におい
て、位置姿勢データDPのほかに状態指定データ
DSがテイーチング時に操作入力されること、そ
して、再生時などにおいて多関節機構を駆動する
際には、この状態指定データDSを用いて関節状
態を特定しつつ駆動指令信号を発生することがで
きるような構成となつている点が特徴である。 〔作用〕 テイーチング点のそれぞれにおいて、複数の関
節角状態のうちのいずれを実現させるかは、多関
節機構の周囲に存在する障害物の状況などからオ
ペレータ自身がテイーチング時に判断する。選択
された関節角状態を指示する状態指定データを位
置姿勢データとともにオペレータが操作入力手段
から操作入力し、これらのデータは記憶手段中に
記憶される。指令位置および指令姿勢は位置姿勢
データで示されているのであるから、状態指定デ
ータは、各関節角の絶対値を含む必要はない。す
なわち、指令位置および指令姿勢を与えたときに
許される複数の関節角状態のうちのひとつを特定
するに足るデータであればよい。 再生時において、駆動指令信号発生手段は、記
憶手段から上記データを読出し、状態指定データ
で指定された状態をとりつつエンドエフエクタを
指令位置および指令姿勢とするための駆動指令信
号を発生し、それを駆動手段に出力する。 駆動手段がそれに従つて各関節を駆動すること
により、エンドエフエクタは、障害物等を避けつ
つ指令位置および指令姿勢まで移動する。 〔実施例〕 A 実施例の機構的構成 第2図は、この発明の一実施例である多関節
ロボツトRBの機構的構成を示す斜視図であ
る。この多関節ロボツトRBは溶接ロボツトと
して形成されており、次のような部材を有する
多関節機構JMを備えている。 まず、多関節機構JMを地面上で支持するた
めに、固定部材1が地面上に固定されている。
その固定部材1には、円筒形ベース3が取付け
られる。この円筒形ベース3の上端には、円筒
形回転体4が回転軸(図示せず)によつて回転
自在に設けられる。この円筒形回転体4の中空
部には図示しない垂直回転軸が設けられ、この
円筒形回転体4の上方にはそれと一体的に回転
するように支持された回転体5が設けられる。
この円筒形回転体4と回転体5とは、図示しな
い第1のモータに結合されており、それによつ
て回動角α1について回動駆動される。 回転体5は、その上面からほぼ垂直にかつ互
いに平行に延びる支持部材7a,7bを有す
る。この支持部材7a,7bには、水平方向の
軸9によつて、回動腕11が回動角α2について
回動自在に支持される。なお、この回動腕11
は、図示しない第2のモータに結合されて、そ
のモータによつて回動駆動される。また、回動
腕11の回動時にそのバランスをとるためのバ
ランス機構13が設けられている。 回動腕11の先端には軸9に平行な軸15に
よつて、回動腕17が回動自在に支持される
(回動角α3)。そして、この回動腕17は、図示
しない第3のモータによつて回動駆動される。
回動腕17の一方の自由端には、軸9に平行な
軸19によつて、回動軸21が回動自在に支持
される(回動角α4)。この軸21は、図示しな
い第4のモータによつて、軸19回りに回動駆
動される。軸21には、トーチ取付具25を支
持する回転軸23が、軸21に対して同軸に回
動自在に支持される(回動角α5)。この軸23
は、図示しない第5のモータに結合されてお
り、このモータによつて、軸21に対して回動
駆動される。トーチ取付具25には、エンドエ
フエクタとしての溶接トーチ27が取付けられ
る。 このようにして、この溶接用の多関節ロボツ
トRBは、回転体5、回動腕11、回動腕1
7、軸21および回転軸23のそれぞれの回転
角(関節角)α1,α2,α3,α4およびα5を制御す
ることによつて、溶接トーチ27の姿勢および
位置(具体的にはその先端の溶接点Pの位置)
を制御する。 なお、多関節ロボツトPBの制御装置は第2
図中には図示しておらず、これについては後述
する。 B 多関節機構JMの性質 ここで、上記の多関節機構JMが、どのよう
な態様において「適合自由度条件」および「状
態多価性条件」を満足しているかを説明する。 (B‐1)適合自由度条件 第2図の多関節ロボツトRBは、3次元空
間領域内で溶接トーチ27の位置および姿勢
を任意に変化させることを意図して構成され
ている。したがつて、位置につき3自由度、
姿勢につき2自由度が要求され、合計5自由
度が必要十分な自由度(すなわち適合自由
度)である。そして、第2図の多関節ロボツ
トRBは、回動角α1〜α5に関する5自由度を
持つており、それらの組合せにより、XYZ
の空間3方向への位置決めと、θおよびφの
2つの姿勢決めとを任意に行なうことができ
る。このため、多関節ロボツトRBは、3次
元空間領域における適合自由度を有している
ことがわかる。なお、各腕の長さなども、必
要なレンジを確保できるように定められてい
る。 (B‐2)多価状態性条件 第3図は多関節機構JMを簡略化して示す
模式機構図である。この多関節機構JMにお
いては、溶接トーチ27の位置および姿勢の
それぞれを同一とする関節角状態(つまり、
関節角α1〜α5の値の組合わせ)が4個存在す
る。 すなわち、まず第4A図に示すように、軸
9および19の位置をそれぞれ一定に保つた
まま、腕11と17との間の関節(軸15)
を山折れA+(実線)とするか、谷折れA-(破
線)とするかで2つの関節角状態がある。ま
た、第4B図に示すように、溶接トーチ27
を基準として、腕21が固定部材1側にある
状態B-(実線)であるか、固定部材1よりも
遠い側にある状態B+(破線)であるかという
2つの関節角状態もある。なお、関節α5は折
れ関節ではないが、状態B-では腕21が内
側(固定部材1側)に傾いているという意味
で状態B-を「内折れ状態」と呼び、状態B+
では腕21が外側に傾いているという意味で
「外折れ状態」と呼ぶことにする。この明細
書では所定の関節の回転方向の相違によつて
区別される関節角状態を「折れ状態」という
名称で呼ぶこととする。各状態は、上記関節
の「折れ方向」を指定することによつてその
うちの一方が特定される。また、溶接トーチ
27の位置と姿勢とを同一とする複数の関節
角状態(ここで考えている例では4状態)の
全体を「共役状態」と呼ぶ。 第4A図および第4B図の関節角状態の選
択枝(A+、A-)および(B+、B-)はそれ
ぞれ独立であるため、第5図に状態分岐図と
して示すように、 A+かつB+、 A+かつB-、 A-かつB+、 A-かつB-、 の、合計4個の折れ状態をとることができ
る。 実際に、溶接トーチ27の位置および姿勢
を同一値Qとした場合の上記4個の折れ状態
の例を第6図に示す。これらの4状態では、
単に関節角α3およびα5のみが相異なるだけで
なく他の関節角も互いに異なるが、関節角α3
およびα5の状態によつてこれらは相互に識別
されるのである。 ここで注意すべきことは、これらの4個の
折れ状態は多数の状態から任意に選ばれた例
としての4状態ではなく、溶接トーチ27の
位置および姿勢を指定して固定すれば、その
位置および姿勢に対してはこの4状態のみが
存在するということである。したがつて、溶
接トーチ27の位置および姿勢を同一とした
ままで、たとえば第6図のaとbとの中間の
状態をとるということはできない。換言すれ
ば、溶接トーチ27の位置および姿勢(図中
では抽象的に記号Qで示す)を指定した上
で、これらの4個の折れ状態(共役状態)の
いずれであるかを選択指定すれば、関節角α3
およびα5のみでなく、すべての関節角の値は
一義的に定まる。 このような態様において、多関節機構JM
は、「多価状態性条件」を満足する機構の一
例となつている。 (B‐3)クリテイカルゾーン ここで、後に必要となる「クリテイカルゾ
ーン」の定義を説明しておく。例として第2
図の回動腕11と17とについて見れば、回
動角α3の任意の値でのこれら腕11と17と
の関係は第7図に示すように分類できる。第
7図において、aは腕11と17とが軸15
に関してほぼ直線状に整列した状態である。
第7図bでは、腕11と17とは、軸15が
上方に向くように折り曲げられ、それはちよ
うど第2図に示す状態である。そして、第7
図cでは、第7図bとちようど逆の状態を示
している。 さらに、第7図dは、第7図bに示す状態
の場合に比べて、腕11と17との折れ曲が
りの状態が非常に小さい。同様に、第7図e
の場合は、第7図cに示す状態に比べて、そ
の折れ曲がり(関節角α3の絶対値)が非常に
小さい。この第7図dおよびeに示す状態
は、第7図aとほぼ同様に取扱うことができ
る。「クリテイカルゾーン」というのは、こ
の第7図dおよび第7図eのように2つの腕
の折れ曲がりの程度が非常に小さい場合か第
7図aのように全くない場合をいい、そのよ
うなゾーンは所定の数の微小な幅を有する。
そこで、この第7図a,d,eに示す状態を
「クリテイカルゾーンにある状態」という。 腕11と17とに関してこのように定義さ
れたクリテイカルゾーンは、第4A図の状態
A+とA-との間で関節角状態を反転させる際
に必ず通らなければならないゾーンとなつて
いる。また、第7図aは、山折れ状態と谷折
れ状態との境界(臨界)状態となつており、
この境界状態を中心とするゾーンであるため
に、「クリテイカルゾーン」と呼ばれるので
ある。 これと同様に、第4B図の状態B-とB+
の間で関節角状態を反転させる場合について
のクリテイカルゾーンも定義することができ
る。既に説明したように、内折れ状態B-
外折れ状態B+とは、溶接トーチ27に対し
て腕21が固定部材1側にあるか否かによつ
て区別される2状態である。このため、ここ
でのクリテイカルゾーンは、これら2つの折
れ状態の間で関節角状態を変化させる際の中
間に設定する。 具体的には、第2図の溶接トーチ27およ
びトーチ取付具25を、2点鎖線27aおよ
び25aで示される状態と、2点鎖線27b
および25bで示される状態との間で反転さ
せるときの中間姿勢(実線27および25で
示す姿勢と、これに対してα5を180゜回転させ
た姿勢との2つの姿勢)を基準姿勢とし、こ
れらの基準姿勢付近の姿勢全体をクリテイカ
ルゾーンとする。(第2図では姿勢のみの変
化過程を示しているため、状態27aおよび
25aと状態27bおよび25bとでは溶接
トーチの位置が異なつているが、実際には溶
接トーチの位置も同一となるような2状態が
状態B-、B+である。これについては、第4
B図において既述した。) なお、共役状態B-とB+との間で状態を反
転させる場合には、関節角α5を右まわり方向
に変化させるか左まわりに変化させるかの任
意性があるが、ここでは、回動角α5の変化が
少ない向きに回転を行なつて姿勢を変化させ
るようにする。ただし、図示例のようにどち
らまわりでも回動角α5の変化量が同一のとき
には、あらかじめ指定された一方向に回転さ
せる。そして、いずれの場合にも、共役状態
B-、B+の間での状態反転は非ずクリテイカ
ルゾーンを通つて行なわれるようにする。 以上のように定義されたクリテイカルゾーン
が多関節機構JMの制御においてどのような意
味を持つのかについては後述する。 C 制御装置の構成 (C‐1)全般的構成 第8図は、実施例において利用される制御
装置200の概略ブロツク図である。同図に
おいて、操作パネル100には、溶接ロボツ
トをどの動作モードで動かすかを指示するモ
ード切換スイツチ101が設けられる。この
モード切換スイツチ101が、マニユアルモ
ード(M)、テストモード(T)およびオー
ト(再生)モード(A)のいずれかのモードを選
択的に切換えて設定できる。これらのうち、
マニユアルモードは、テイーチング動作の際
のモードであり、テストモードは、1ステツ
プごとにロボツトを動かせながらテイーチン
グデータを確認するモードである。また、オ
ートモードは、テイーチングデータに基づい
てロボツトを連続的に動かして作業を実行す
るモードである。 操作パネル100には、さらに、押ボタン
スイツチ103、およびスイツチ群105が
設けられる。押ボタンスイツチ103は、オ
ートモードのスタート指令を与えると共に、
マニユアルモードにおけるテイーチング指令
を与えるために操作される。スイツチ群10
5に属する3個の押ボタンスイツチは、それ
ぞれ、直線補間動作、ウイービング動作およ
び円弧補間動作を溶接ロボツトに指令する場
合に操作される。速度設定器111は、溶接
トーチ27(したがつて溶接点P)が移動す
べき速度を指令するためのものである。 操作パネル100にはさらに、2つのマニ
ユアルスイツチ群121および131が設け
られる。スイツチ群121は、溶接ロボツト
を直角座標系すなわちXYZ系で位置制御す
るために操作される。一方、スイツチ群13
1は、各回動角度α1ないしα5を直接に制御す
るために用いられる。そのために、この操作
パネル100にはスイツチ群121および1
31のうちのいずれを有効にするかを選択す
る。系切換スイツチ117が設けられる。 これらのマニユアルスイツチ群121およ
び131に属する各スイツチは、それぞれ3
つの位置をとることができ、この第8図にお
いて実線で示す位置がニユートラル位置であ
る。そして、X、Y、Zが表示された3個の
スイツチはそれぞれX軸、Y軸およびZ軸に
平行な方向の、正または負方向に溶接トーチ
27を移動制御するために用いられる。 また、θ、φと表示された2個のスイツチ
は、それぞれ溶接トーチ27の配向度φおよ
び(狭義の)姿勢角θを時計まわりまたは反
時計まわりに変化させるために用いられる。
同様に、α系のマニユアルスイツチ群131
を操作することにより各腕ないし軸の回動角
α1ないしα5を変化させることができる。 操作パネル100に設けられる表示ランプ
113および押ボタンスイツチ115は、こ
の実施例の特徴の1つであるが、これらにつ
いては後述する。 そして、これら各コンポーネントを含む操
作パネル100とデータバス55との間で、
インタフエース(図示せず)を介してデータ
のやりとりが行なわれる。 このデータバス55には、さらに、CPU
31とメモリ33とが連結される。メモリ3
3には、CPU31のシステムプログラムや
ユーザプログラムを記憶しておくための
ROMや、CPU31における演算その他の処
理に必要な記憶領域やフラグ領域を有する
RAMが含まれる。この発明の構成要素であ
る駆動指令信号発生手段や記憶手段は、これ
らのCPU31やメモリ33によつて実現さ
れる。 データバス55には、5つの回動角α1ない
しα5に対応する5つの駆動回路351〜35
5と、各関節に結合されて各関節角α1〜α5
検出する5つのロータリーエンコーダ531
〜535が、それぞれ連結される。 駆動回路351〜355は、多関節機構
JMの各関節にそれぞれ結合された第1から
第5のモータ(図示せず)を駆動するための
ものであり、周知のフイードバツク制御回路
を内蔵している。そして、CPU31から与
えられる駆動指令信号と、ロータリーエンコ
ーダ531〜535で検出される各関節角と
に基づいて、各モータ(したがつて各関節)
を駆動する。 (C‐2)表示ランプ113およびスイツチ115 表示ランプ113は、多関節機構JMの関
節角α3およびα5が、既述したそれぞれのクリ
テイカルゾーンにあるときのみ点灯する。す
なわち、第7図の腕11および17の関係が
同図a,dまたはeとなつており、かつ溶接
トーチ付近の姿勢が第2図の実線27で示さ
れる状態付近となつているときに点灯して、
その旨をオペレータに知らせる。それは、後
述するように、この実施例では多関節機構
JMがクリテイカルゾーン内の状態にあると
きのみ、共役状態の間の反転を許しているこ
とに対応している。なお、表示ランプ113
は、通報ブザーによつて代用、またはそれと
兼用されてもよい。 押ボタンスイツチ115は、これを押下す
ることによつて共役状態の間の反転を指示す
るためのスイツチである。既述したように、
この実施例の多関節機構JMでは、溶接トー
チ27の同一の位置および姿勢に対して、第
6図に示した4つの共役状態がある。このた
め、原理的にはこれら4つの共役状態のうち
から任意のものを選択可能であるが、この実
施例では「A+かつB+状態」との2つの状態
のみを許容し、「A+かつB-状態」と「A-
つB+状態」とは禁止する。 このため、「A+かつB+状態」(以下、「ア
ツプ状態U」」と言う。)と「A-かつB-
態」(以下、「ダウン状態D」と言う。)との
うちのいずれによつて指令位置および指令姿
勢を実現するかを外部から操作入力できれば
よいことになり、単一の押ボタンスイツチ1
15で足りるわけである。そして、この実施
例では、各テイーチング点ごとにアツプ状態
かダウン状態かを逐一指定するのではなく、
アツプ状態とダウン状態との間で状態反転を
行ないたいときのみに押ボタンスイツチ11
5を押下するようにする。このため、この実
施例では、「状態指定データ」を、関節α3
α5との折れ方向を一括指定する「折れ方向反
転指定データ」の形で与えることになる。な
お、最初のテイーチング点での折れ状態はあ
らかじめ定めておく。 そして、この押ボタンスイツチ115の押
下による状態反転指令は、表示ランプ113
の点灯時(つまりクリテイカルゾーン内のと
き)のみ有効化されるようになつている。そ
れは、第7図b,cのように軸(関節)15
における関節角α3の絶対値が大きいときに状
態反転を行なうと、腕11や17が大きな振
幅で状態反転し、ワークピースなどとの干渉
が生じたり、オペレータを傷つけたりするお
それがあるためである。 D テイーチング動作 以上の準備のもとで、溶接ロボツトRBのテ
イーチング動作を、第9A図および第9B図を
参照して説明する。 まず、第9A図の処理に先立つて、操作パネ
ル100に設けられている系切換スイツチ11
7を、XYZ系に切換えておく。それは、ワー
クピース上の溶接線は相互に直角方向に延びて
いる場合が多いことと関係している。つまり、
テイーチング動作(マニユアルモード)中でオ
ペレータが溶接トーチ27をこの溶接線に沿つ
て移動させるにあたつて、直角座標系の方がこ
の移動を容易に行なう、ことができる上、後の
再生モードでの補間演算等も容易となるためで
ある。 その後、オペレータは速度設定器111に溶
接トーチ27の再生時の移動速度を設定し、ス
イツチ群121によつて、溶接トーチ27が移
動すべき方向を指示する。CPU31の内部に
は、所定の時間間隔ごとに出力を発生するタイ
マが設けられている。そして、このタイマから
の出力が発生し、かつ上記のようなスイツチ操
作が行なわれると、CPU31は、スイツチ群
121で指示された方向へ溶接トーチ27を所
定の微小距離だけ移動させた場合の、溶接トー
チ27の指令位置および指令姿勢をいつたん
XYZ系で求める。そして、それを座標変換す
ることにより、多関節系(α系)での指令値を
算出する(ステツプS1、S3、S5)。 この指令値の算出において、アツプ状態を採
用するかダウン状態を採用するかは、前回の指
令値での折れ状態と同一の折れ状態とするとい
う基準に従う。したがつて、ステツプS5での
座標変換の段階では、スイツチ115による状
態指定データ(折れ方向反転指定データ)の操
作入力は不要である。 次にステツプS7では、このようにして算出
された関節角状態がクリテイカルゾーン内の状
態か否かを判断する。たとえば、関節角α3につ
いては、第7図のような方向にその角度を測つ
たときに、その絶対値が所定の微小値以下であ
れば、クリテイカルゾーン内である。そして、
クリテイカルゾーン内であれば、CPU31は、
メモリ33のRAMに含まれるクリテイカルゾ
ーンフラグCZFに論理1を書込み、このフラグ
CZFをセツトする(ステツプS9)。続くステツ
プS11においてCPU31は、前回のテイーチン
グ点での指令値がクリテイカルゾーンであつた
かどうかを判断する。このステツプS11におけ
る判断は、前回テイーチングしたフラグCZFの
内容をチエツクすることによつて行なわれる。 次いで、CPU31は、ステツプS13におい
て、状態反転指示があるかどうかすなわち操作
パネル100の押ボタンスイツチ115が操作
されたかどうかを判断する。すなわち、クリテ
イカルゾーンに入る前の状態がたとえばアツプ
状態Uであつたものが、次にダウン状態Dにす
る必要があるような場合には、この反転スイツ
チ115を操作する。この反転スイツチ115
の押下は、表示ランプ113が点灯しているこ
とをオペレータが確認した上で行なわれる。 この状態反転指示を検出すると、CPU31
は、続くステツプS17において、RAM内のア
ツプダウンフラグUDFを反転させる。このフ
ラグUDFは、たとえばアツプ状態Uのとき論
理1が書込まれ、ダウン状態Dのとき論理0が
書込まれるようにすればよい。 一方、ステツプS7において、今回の指令値
がクリテイカルゾーンでない場合には、続くス
テツプS15において、クリテイカルゾーンフラ
グCZFに論理0を書込みそれをリセツトする。 このため、第10A図に抽象的に示すような
指令値の連鎖(i−1)、i、i′、(i+1)を
考えた場合には、クリテイカルゾーン内の指令
値が2回(i、i′)連続し、かつ後者の指令値
i′においてスイツチ115が押下されたときの
みに、フラグUDFを反転することになる。逆
に言えば、状態反転を行ないたいときには、2
回連続してクリテイカルゾーン内の指令値を与
え、後の指令値を入力する際にスイツチ115
を押下する。 その後、ステツプS19において、アツプダウ
ンフラグUDFの状態に応じて、XYZ系の位置
姿勢指令値を座標変換して、多関節系すなわち
α1ないしα5の指令値を改めて計算する。 多関節機構JMが多価状態性条件を満足して
いることから、この座標変換は多価(つまり複
数の解を持つ変換)となるが、アツプダウンフ
ラグUDFに従つて、それらの複数の解のうち
ひとつを選択する。たとえばフラグUDFが
“1”となつているときには、A+B+状態(ア
ツプ状態)を実現する解を求めればよい。 このようにした得られたα1〜α5の値は、駆動
指令信号として、駆動回路351〜355に与
えられ、これらの駆動回路351〜355は、
各関節に結合されたモータを駆動する。このた
め、第10A図の例では、指令値iからi′へと
溶接トーチ27が移動する際に折れ状態の反転
が生じる。指令値i′から(i+1)への移動で
の状態反転は禁止される(ステツプS7の判断
結果が“No”となる)ため、指令値i′から
(i+1)の間では、たとえばダウン状態Dの
ままである。 なお、通常、指令値i′はフラグCDFを反転さ
せるためのダミー点として扱われる。つまり、
後のテイーチングデータ記憶処理(第9B図)
では、指令値i′に関するデータはテイーチング
データとしては記憶されない。そして、指令値
(i−1)、i、(i+1)のみがテイーチング
データとして記憶される。それは、後述する再
生時には指令値iと(i+1)とのそれぞれの
位置の間で折れ状態反転をさせるのであるが、
テイーチング(マニユアルモード)時には指令
値(i+1)を入力するまでは、CPU31は
指令値(i+1)の内容を知り得ないため、と
りあえずクリテイカルゾーン内のダミー点i′で
状態反転を行なわせておくのである。したがつ
て、ダミー点i′マニユアルモードにおける状態
反転のためだけに設定されたものであり、その
位置姿勢指示値は指令値iと同一であつてもよ
い。 このような処理は、タイマ出力が発生するご
とに繰返して行なわれ、それによつて溶接トー
チ27は、オペレータが意図する軌跡に沿つて
順次移動して行く。そして、このマニユアルモ
ードによつて、溶接トーチ27の位置および姿
勢が所望のもの(テイーチング点)となるごと
にテイーチングデータの記憶処理に移る。 このテイーチングデータの記憶処理(第9B
図)では、操作パネル100のスタートボタン
103を押す。すなわち、モード選択スイツチ
101をマニユアルモード(M)にして、スタ
ートボタン103を押すことによつて、CDU
31にテイーチングデータ記憶のためのインタ
ラプトがかかる。CPU31では、そのインタ
ラプトがかかると、そのときの位置姿勢情報お
よび各フラグCZF、UDFの状態を、テイーチ
ングデータとしてメモリ33の所定の記憶エリ
アに記憶させる。なお、以下では、システム中
のフラグCZF、UDFと、このようにしてテイ
ーチング点ごとに記憶されたフラグCZF、
UDFとを相互に区別するため、後者を
「CZFa」、「UDFa」と表記する。 ここでテイーチングされる位置姿勢情報は、
XYZ系の情報である。なぜなら、前述したよ
うにその方がたとえば操作容易または補間制御
のための演算などに都合が良いからである。こ
のため、この実施例ではXYZ系で操作入力さ
れた位置姿勢データが、フラグCZFa,UDFa
ともにメモリ33に記憶されることになり、ス
テツプS19で算出したα系での指令値は、テイ
ーチングデータとしては記憶されない。 E 再生動作 次に、上記のようにして得られたテイーチン
グデータを用いた多関節ロボツトRBの再生動
作(オートモード動作)を、第11図を参照し
て説明する。なお、このオートモード動作は、
テストモードの下でのテスト動作の後に行なわ
れるが、このテスト動作についての説明は省略
する。 オートモードの場合には、操作パネル100
におけるモード設定スイツチ101をオートモ
ードAに設定する。そして、スタートボタン1
03を押す。CPU31は、メモリ33から、
ひとつのテイーチングデータを読出す(ステツ
プS31)。 以下のステツプのうち、ステツプS33〜S39
は、今読出したテイーチング点での指令位置お
よび指令姿勢(以下、単に「目標値」と言う。)
での折れ状態を、前回の目標値における折れ状
態と状態と同一とするのか、それとも逆とする
のかの判定を行なうためのものである。 既述したように、各目標値での折れ状態の指
示内容は、テイーチング時の操作入力に応じ
て、アツプダウンフラグUDFaとして記憶され
ている。したがつて、各テイーチング点で記憶
されているアツプダウンフラグUDFaが前回と
今回の目標値で互いに反転しているかどうかに
よつて、今回の折れ状態を決定することができ
る。そして、既に「(C−3)クリテイカルゾ
ーン」の項で説明したように、各関節の大幅な
動きを抑制するため、この実施例では関節角状
態がクリテイカルゾーン内にあるときのみ、状
態反転を許容する。より具体的には、 (イ) 前回の目標値がクリテイカルゾーン内にに
あり、 (ロ) 今回の目標値がクリテイカルゾーン外であ
り、かつ (ハ) フラグUDFaの反転によつて状態反転が指
示されているときのみに、前回の目標値にお
ける折れ状態を反転させて今回の折れ状態と
する。 すなわち、第10B図において、前回の目標
値がクリテイカルゾーン内か外かにかかわら
ず、今回の目標値がクリテイカルゾーン内にあ
る場合(第10B図の)や、前回と今回との
それぞれの目標値がともにクリテイカルゾーン
外の場合(第10B図,)には状態反転を
禁止し、上記(イ)〜(ハ)を満足する第10B図の
の場合のみ状態反転を許容する。したがつて、
第10A図の指令値iと(i+1)との間での
状態反転が許容されることになる(既述したよ
うに、指令値i′はダミー点であつて、テイーチ
ングデータとしては記憶されていない)。なお、
第10B図のは、表示ランプ103が点灯し
ていないのにスイツチ115を押下した結果と
して生ずる状況であり、エラー扱いとなる。 上記〜の状況の識別は、フラグUDFa
よびCZFaを参照することによつて行なうこと
ができる。この識別処理が第11図のステツプ
S33〜S37であり、第11図の〜の記号は
第10B図と対応している。なお、どのような
場合に反転を許容するかは、この例以外の基準
を用いてもよい。 状態反転が許容される場合、つまりの場合
には、続くステツプS39において折れ状態の反
転を指示する。これは、システム中のアツプダ
ウンフラグUDFを、今回読出したアツプダウ
ンフラグUDFaの値(第9B図のテイーチング
ステツプで記憶していた値)に応じて書換える
ことにより行なわれる。 続くステツプS41では、補間制御のための予
備計算を行なう。これは、たとえば、直線補間
の場合には、指令速度等に基づいて、連続する
2つのテイーチング点の間での補間ピツチなど
を計算する処理である。その後、CPU31は、
予備計算によつて求められた補間ピツチ等に基
づいて、順次の補間点を計算する(ステツプ
S43)。目標値がXYZ系で表現されているため、
実用上重要なXYZ系での補間計算を容易に行
なうことができる。 そして、ステツプS45において、システム中
のアツプダウンフラグUDFが指示する折れ状
態をとりつつ、溶接トーチ27が与えられた位
置および姿勢に一致させるための各関節角α1
α5の値を求める。たとえば、アツプダウンフラ
グUDFがアツプすなわちA+B+状態(アツプ状
態)を指示しているときには、A+B+状態で指
令位置および指令姿勢とするための各関節角α1
〜α5の値を、XYZ系での指令位置および指令
姿勢からの座標変換により求める。 そして、このような各関節角α1〜α5の値を実
現するための駆動指令信号を発生し、それを各
モータに出力することにより、出力駆動を行な
う(ステツプS47)。それにより、多関節機構
JMは、指定された折れ状態で溶接トーチ27
を移動させ、その位置と姿勢とを上記折れ状態
で指令位置および指令姿勢にそれぞれ一致させ
る。 ステツプS43、S45、S47は溶接トーチ27が
目標位置に到達するまで繰返される(ステツプ
S49)。そして、このような処理が各目標位置
について順次に繰返され、溶接作業終了点に至
ると再生処理が完了する(ステツプS51)。 F 実施例のまとめ このように、スイツチ115の押下という形
で入力される状態指定データ(折れ方向反転指
示データ)によつてフラグUDFの値が決定さ
れ、それに基づいて、同一の位置および姿勢に
対応する複数の関節角状態(折れ状態A+B+
よびA-B-)のうちのひとつが選択されること
により、多関節機構JMの駆動を、障害物を避
けるように行なわせることができる。このよう
な駆動制御は、再生時のほか、テイーチング時
の多関節機構JMの移動制御にも適用され得る
ことは、第9図のステツプS19がフラグUDFに
応じて実行されることから理解できる。 G 変形例 この発明が適用できる多関節機構は上記実施
例のものに限らない。たとえば、第12図に示
す各機構は、腕T1とT2とのそれぞれの位置
と姿勢とを指定したときにも、実線で示した状
態と破線で示した状態との2つの状態をとるこ
とができることは容易に理解できる。したがつ
て、これらの機構を含む多関節機構は「多価状
態性条件」を満足することができる。 また、第13A図に示した多関節機構も、多
価状態性条件と適合自由度度条件とを満すもの
となつており、このような機構が種々存在する
ことは従来から知られている。 さらに、第13B図のように、第2図におけ
る回動腕17を、回動腕11に対して、軸9と
直角方向の軸によつて回動可能に取付けること
もできる。また、第13C図に示すように、第
2図の軸21を回動軸としてその端部に回転軸
を取付けるようにしてもよい。すなわち、関節
が3個あれば、3次元位置決めが可能となり、
そのような場合、目標位置が決まれば、複数の
状態は種々容易に考えつくであろう。 また、たとえば第2図の軸19に相当する点
ないし軸までは直角座標系で位置制御し、軸2
1,23を関節座標系で制御するようにしても
よい。 また、上記実施例では、4個の関節角状態
A+B+、A+B-、A-B+、A-B-のうちA+B+
A-B-との2状態のみを利用しているが、フラ
グCZFおよびUDFを2組ずつ設けて、2組の
共役状態(A+、A-)および(B+、B-)を独
立に指定し、それによつて上記4個の関節角状
態のすべてを選択的にとり得るようにしてもよ
い。この場合には、たとえば関節角α3がクリテ
イカルゾーン内にありさえすれば(A+、A-
状態間の反転を許容すればよい。 なお、冗長自由度を持つ多関節ロボツトの場
合にも何らかの形で関節角状態を特定してやら
ねばならないが、この場合には無数の共役状態
からひとつの状態を指定するために、この発明
のような簡単な指定処理を利用することは非常
に困難である。また、冗長自由度を持たせると
いうことはそれだけ機構を複雑化させることに
なる。このため、適合自由度を持つ多関節機構
において、有限個の折れ状態(それも、通常は
数個程度の状態)の中からひとつを指定するの
みでよいこの発明は、冗長自由度を持つロボツ
トに対する技術とは定性的に異なるものとなつ
ている。 〔発明の効果〕 以上説明したように、この発明によれば、適合
自由度条件と多価状態性条件とを満足する多関節
機構につき、状態指定データによつて複数の関節
角状態のうちのひとつを任意に選択させつつ駆動
制御を行なうことができるため、障害物を避ける
ように関節角状態をとらせつつ多関節機構を駆動
できる。このため、障害物の取除き作業を必要と
せずにロボツトと障害物との干渉を防止できる。 また、関節角状態の指定は上記複数の関節角状
態のうちで任意に行なうことができるため、ロボ
ツトの動作範囲の制約も少ない。
[Industrial Field of Application] The present invention relates to an articulated robot, and particularly to an articulated robot suitable for teaching in a rectangular coordinate system and driving in an articulated coordinate system. BACKGROUND OF THE INVENTION Articulated robots have traditionally been used for manipulators or other automatic machines. An example of such an articulated robot is the one disclosed in Japanese Unexamined Patent Publication No. 49-50376. FIG. 14 is a schematic mechanical diagram showing an example of such an articulated robot, and for ease of understanding, the position and orientation of the end effector EE in a two-dimensional plane (X-Z plane) are shown here. We are considering an articulated robot that can control As shown in the figure,
This multi-jointed robot has four arms A1 to A4 connected sequentially by three joints E1 to E3 , and an end effector EE is attached to the tip arm A4 . ing. When controlling this multi-jointed robot, the joint angles of each joint E1 to E3 are specified, thereby setting the position and posture of the end effector EE to desired values. Teaching methods for multi-joint robots for such control include teaching the joint angles of each joint E1 to E3 (teaching in a multi-joint coordinate system), and teaching the position and posture of the end effector EE. is taught in a rectangular coordinate system (X-Z system),
There is a method in which the joint angles of each joint E 1 to E 3 are obtained through coordinate transformation from a rectangular coordinate system to a multi-joint coordinate system. In applications where the end effector EE often moves in a straight line, such as for welding or seaming, a method that allows teaching and playback to be performed as if it were a Cartesian coordinate system robot is used. ing. However, in the teaching method described above, even if the position and orientation of the end effector EE are specified in the Cartesian coordinate system, the values of each joint angle in the multi-joint coordinate system may not be uniquely determined. One of the causes of this situation is redundant degrees of freedom, that is, degrees of freedom necessary and sufficient to freely transform the position and orientation of the end effector EE within a predetermined range (hereinafter referred to as "adapted degrees of freedom"). ”) may have more degrees of freedom. In this case, there are naturally a plurality (infinite number) of states for setting the end effector EE in the same position and posture. However, even if the number of degrees of freedom itself is a matching degree of freedom, the above situation may occur. For example, in the example shown in Figure 14, a total of three degrees of freedom are the "adaptation degrees of freedom": two degrees of freedom for positioning in the two-dimensional plane, and one degree of freedom for positioning in the two-dimensional plane. Yes, the articulated robot shown is
This degree of freedom of adaptation is ensured by E 1 to E 3 .
Nevertheless, the end effector shown
For the same position and posture of the EE, it can take two states: the joint state shown by the solid line (right bent state) and the joint state shown by the broken line (left bent state). As is easily understood, such a situation does not occur in an X-Z rectangular coordinate robot (not shown), but is a situation unique to an articulated robot.
It should be noted that, as can be easily seen, this situation occurs when a robot has four or more arms connected by three or more joints, regardless of whether it is a two-dimensional articulated robot or a three-dimensional articulated robot. Occurs only if it exists. If joint E 2 in Figure 14 is removed, 2
It is clear that the above situation no longer occurs when it comes to joints. If such a situation exists, indeterminacy remains in the above coordinate transformation, so conventionally, for example, joint E2 in Fig. 14 is subjected to coordinate transformation with the condition that it only bends to the right. I was getting used to it.
In this way, the coordinate transformation becomes unambiguous, and
The above uncertainty will be resolved. [Problem to be Solved by the Invention] However, if teaching or playback is performed with the multi-jointed robot shown in FIG.
Problems of interference with the IP (eg workpiece) arise. That is, when moving the end effector EE in the (-Z) direction from the illustrated state,
Arm A 2 interferes with the obstacle IP. To avoid this, it would be possible to have joint E2 bend to the left, but this is prohibited due to the above restrictions. Therefore, it is necessary to temporarily remove the obstacle IP, which reduces the efficiency of the work. Even if control were performed to allow only left turns, the position of the obstacle IP may change, so this would not fundamentally solve the above problem. In this way, in conventional articulated robots, limits are placed on the possible range of joint angles in order to ensure the unambiguousness of coordinate transformation. There was a problem that it required complicated work. (Conversely,
If the obstacles are not removed, the robot's range of motion will be significantly restricted. ) Such problems occur not only in two-dimensional articulated robots with adapting degrees of freedom as illustrated in Fig. 14, but also in three-dimensional articulated robots with adapting degrees of freedom (an example of which will be described later). It has become a common problem. [Object of the Invention] The present invention is intended to overcome the above-mentioned problems in the prior art, and is aimed at an articulated robot with adaptable degrees of freedom, and is intended to solve the problem of the robot and the obstacle without requiring the task of removing the obstacle. It is an object of the present invention to provide an articulated robot that can prevent interference with the robot and that has fewer restrictions on the robot's operating range. [Means for Solving the Problems] As shown in FIG. 1A, the articulated robot of the present invention includes (a) an articulated mechanism, (b) a drive means, (c) an operation input means, and (d) a storage means. , (e) Drive command signal generating means. Among these, the multi-joint mechanism is specified by the following conditions (a-1) to (a-4). (a-1) Contains four or more arms articulated sequentially by three or more joints. (a-2) An end effector is attached to the distal arm. (a-3) A necessary and sufficient degree of freedom to arbitrarily change the position and posture of the end effector within a predetermined position range and posture range is ensured by the connection through the above-mentioned joints. This is a condition of having the "adaptation degree of freedom" described above, and will be referred to as "adaptation degree of freedom condition" below. For example, when arbitrarily performing three-dimensional positioning and attitude determination in three-dimensional space, the roll angle Rl in the Euler angle representation in Fig. 1B,
Considering the case where there is no need for a degree of freedom to independently change only the roll angle Rl of the end effector EE among the pitch angle P t and the yaw angle Y w , two degrees of freedom are required for the posture. total,
3 (position) + 2 (posture) = 5 is the adaptation degree of freedom. "Necessary and sufficient" means that the degree of freedom for adaptation is neither less than nor greater than the above degree of freedom (that is, there is no redundant degree of freedom). (a-4) When each combination of joint angle values of each joint is called a joint angle state, there are multiple joint angle states in which the position and posture of the end effector are the same (hereinafter referred to as This condition is called the ``multivalent state condition''). In the example of FIG. 14 described above, the right-turning state and the left-turning state are "multiple joint angle states" that bring the end effector to the same position and posture. It has been known that there are various multi-joint mechanisms that satisfy such multivalent state conditions (examples will be described later). The driving means (b) is a means coupled to each joint to drive each joint. During teaching, the operation input means (c) inputs (c-1) position and orientation data DP representing the commanded position and commanded orientation of the end effector, and (c-2) the aforementioned commanded position and commanded orientation. This is for operating and inputting state designation data DS that selectively designates which of the joint angle states is to be realized. That is, in addition to the commanded position and commanded orientation of the end effector, which of a plurality of functional angle states is to be used to realize the commanded position and orientation is specified by the operational input. In addition, the storage means (d) stores the position/orientation data DP and state designation data inputted in this manner.
It is a means to remember the DS. Further, the drive command signal generation means (e) generates the state designation data DS based on the position/orientation data DP and the state designation data DS read from the storage means.
This means generates a drive command signal for making the position and orientation of the end effector coincide with the commanded position and commanded orientation, respectively, while maintaining the joint angle state specified by , and outputs it to the driving means. That is, in the present invention, in FIG. 1, in addition to the position and orientation data DP, the state designation data
The DS is operated as an input during teaching, and when driving a multi-joint mechanism during playback, etc., the state specification data DS can be used to specify the joint state and generate a drive command signal. It is characterized by its unique structure. [Operation] At each teaching point, the operator determines which of the plurality of joint angle states to realize during teaching based on the situation of obstacles existing around the multi-joint mechanism. The operator inputs state designation data indicating the selected joint angle state together with position and orientation data from the operation input means, and these data are stored in the storage means. Since the command position and command orientation are indicated by position and orientation data, the state designation data does not need to include the absolute value of each joint angle. That is, any data is sufficient as long as it is sufficient to specify one of the plurality of joint angle states allowed when the command position and command posture are given. During playback, the drive command signal generation means reads the data from the storage means and generates a drive command signal for setting the end effector at the command position and orientation while taking the state specified by the state designation data; It outputs it to the driving means. The drive means drives each joint accordingly, so that the end effector moves to the commanded position and commanded posture while avoiding obstacles and the like. [Embodiment] A Mechanical configuration of the embodiment FIG. 2 is a perspective view showing the mechanical configuration of the articulated robot RB, which is an embodiment of the present invention. This multi-joint robot RB is formed as a welding robot and is equipped with a multi-joint mechanism JM having the following members. First, a fixing member 1 is fixed on the ground in order to support the multi-joint mechanism JM on the ground.
A cylindrical base 3 is attached to the fixed member 1. A cylindrical rotating body 4 is provided at the upper end of the cylindrical base 3 so as to be freely rotatable around a rotating shaft (not shown). A vertical rotating shaft (not shown) is provided in the hollow portion of this cylindrical rotating body 4, and a rotating body 5 is provided above this cylindrical rotating body 4 and supported so as to rotate integrally therewith.
The cylindrical rotary body 4 and the rotary body 5 are connected to a first motor (not shown), and are driven to rotate at a rotation angle α1 . The rotating body 5 has support members 7a and 7b extending substantially perpendicularly and parallel to each other from its upper surface. A rotating arm 11 is supported by the support members 7a, 7b so as to be rotatable about a rotation angle α2 by a horizontal shaft 9. Note that this rotating arm 11
is coupled to a second motor (not shown) and rotationally driven by the motor. Further, a balance mechanism 13 is provided for balancing the rotating arm 11 when it rotates. A rotary arm 17 is rotatably supported at the tip of the rotary arm 11 by a shaft 15 parallel to the shaft 9 (rotation angle α 3 ). This rotating arm 17 is rotationally driven by a third motor (not shown).
A rotating shaft 21 is rotatably supported at one free end of the rotating arm 17 by a shaft 19 parallel to the shaft 9 (rotating angle α 4 ). This shaft 21 is rotationally driven around the shaft 19 by a fourth motor (not shown). A rotary shaft 23 that supports a torch fixture 25 is rotatably supported on the shaft 21 coaxially with the shaft 21 (rotation angle α 5 ). This shaft 23
is connected to a fifth motor (not shown), and is rotationally driven about the shaft 21 by this motor. A welding torch 27 as an end effector is attached to the torch fixture 25. In this way, this welding multi-joint robot RB includes a rotating body 5, a rotating arm 11, and a rotating arm 1.
7. The posture and position of the welding torch 27 (specifically is the position of the welding point P at the tip)
control. The control device for the articulated robot PB is the second one.
It is not shown in the figure, and will be described later. B Properties of Multi-joint Mechanism JM Here, in what manner the above-mentioned multi-joint mechanism JM satisfies the "compatibility degree of freedom condition" and the "state multivalence condition" will be explained. (B-1) Compatible degrees of freedom conditions The articulated robot RB shown in FIG. 2 is constructed with the intention of arbitrarily changing the position and posture of the welding torch 27 within a three-dimensional space. Therefore, 3 degrees of freedom per position,
Two degrees of freedom are required for each pose, and a total of five degrees of freedom are the necessary and sufficient degrees of freedom (ie, adaptation degrees of freedom). The articulated robot RB shown in Fig. 2 has five degrees of freedom regarding the rotation angles α 1 to α 5 .
The positioning in three spatial directions and the two postures θ and φ can be arbitrarily performed. Therefore, it can be seen that the articulated robot RB has a degree of freedom of adaptation in the three-dimensional spatial domain. The length of each arm is also determined to ensure the necessary range. (B-2) Multivalent state condition Figure 3 is a simplified schematic diagram of the multi-joint mechanism JM. In this multi-joint mechanism JM, the joint angle state where the position and posture of the welding torch 27 are the same (that is,
There are four combinations of joint angles α 1 to α 5 . That is, as shown in FIG. 4A, the joint (axis 15) between arms 11 and 17 is first adjusted while keeping the positions of axes 9 and 19 constant.
There are two joint angle states depending on whether the angle is a mountain fold A + (solid line) or a valley fold A - (dashed line). Further, as shown in FIG. 4B, a welding torch 27
There are also two joint angle states: a state B - (solid line) in which the arm 21 is on the side of the fixed member 1, and a state B + (broken line) in which the arm 21 is on the side farther from the fixed member 1. Although joint α 5 is not a bent joint, in state B - the arm 21 is tilted inward (toward the fixed member 1 side), so state B - is called an "inward folded state", and state B +
Here, we will call this the "outward bending state" to mean that the arm 21 is tilted outward. In this specification, joint angle states that are distinguished by differences in the rotational directions of a given joint will be referred to as "bent states." One of the states is specified by specifying the "bending direction" of the joint. Furthermore, the entirety of a plurality of joint angle states (four states in the example considered here) in which the position and posture of the welding torch 27 are the same is referred to as a "conjugate state." Since the joint angle state options (A + , A - ) and (B + , B - ) in Figs. 4A and 4B are independent, A + A total of four bending states can be taken: B + , A + and B - , A - and B + , A - and B - . In fact, FIG. 6 shows examples of the four bending states described above when the position and orientation of the welding torch 27 are set to the same value Q. In these four states,
Not only the joint angles α 3 and α 5 are different, but the other joint angles are also different from each other, but the joint angle α 3
They are mutually distinguished by the state of α 5 and α 5 . What should be noted here is that these four bending states are not four states arbitrarily selected from a large number of states, but if the position and orientation of the welding torch 27 are specified and fixed, the positions can be changed. This means that only these four states exist for postures. Therefore, it is not possible to maintain the same position and attitude of the welding torch 27, for example, in a state intermediate between a and b in FIG. 6. In other words, after specifying the position and orientation of the welding torch 27 (abstractly indicated by the symbol Q in the figure), select and specify which of these four bent states (conjugate states) it is in. , joint angle α 3
And not only α 5 but also all joint angle values are uniquely determined. In such an embodiment, the multi-joint mechanism JM
is an example of a mechanism that satisfies the "multivalent state condition". (B-3) Critical Zone Here, I will explain the definition of "critical zone" that will be needed later. As an example, the second
Looking at the rotating arms 11 and 17 in the figure, the relationship between these arms 11 and 17 at any value of the rotating angle α 3 can be classified as shown in FIG. In FIG. 7, a indicates that arms 11 and 17 are connected to axis
They are arranged almost linearly with respect to each other.
In FIG. 7b, the arms 11 and 17 are bent in such a way that the axis 15 points upwards, just as it is shown in FIG. And the seventh
FIG. 7c shows a situation that is just the opposite of FIG. 7b. Furthermore, in FIG. 7d, the bending of the arms 11 and 17 is much smaller than in the state shown in FIG. 7b. Similarly, Figure 7e
In this case, the bending (absolute value of joint angle α 3 ) is very small compared to the state shown in FIG. 7c. The situations shown in FIGS. 7d and 7e can be handled in substantially the same way as in FIG. 7a. The "critical zone" refers to cases where the degree of bending of the two arms is very small as shown in Figure 7 d and Figure 7 e, or there is no bending at all as shown in Figure 7 a. The zone has a predetermined number of minute widths.
Therefore, the states shown in FIGS. 7a, d, and e are called "states in the critical zone." The critical zone thus defined for arms 11 and 17 is as shown in FIG. 4A.
It is a zone that must be passed through when reversing the joint angle state between A + and A - . In addition, Fig. 7a shows the boundary (critical) state between the mountain fold state and the valley fold state,
Because the zone is centered around this boundary state, it is called the "critical zone." Similarly, a critical zone can also be defined for the case where the joint angle state is reversed between states B - and B + in FIG. 4B. As already explained, the inwardly bent state B - and the outwardly bent state B + are two states that are distinguished depending on whether or not the arm 21 is on the fixed member 1 side with respect to the welding torch 27 . Therefore, the critical zone here is set in the middle when changing the joint angle state between these two bent states. Specifically, the welding torch 27 and torch fixture 25 in FIG.
The intermediate posture when inverted between the states shown by The entire posture around these reference postures is defined as a critical zone. (Since Figure 2 shows the process of changing only the posture, the position of the welding torch is different between states 27a and 25a and states 27b and 25b, but in reality, the position of the welding torch is the same. The two states are states B - and B + .For this, the fourth
As already described in Figure B. ) In addition, when reversing the state between the conjugate states B - and B + , there is an option to change the joint angle α 5 clockwise or counterclockwise, but here, The posture is changed by rotating in a direction in which the rotation angle α 5 changes less. However, when the amount of change in the rotation angle α 5 is the same in both directions as in the illustrated example, the rotation is performed in one direction specified in advance. And in each case, the conjugate state
The state reversal between B - and B + is made to occur through the critical zone. The meaning of the critical zone defined as above in controlling the multi-joint mechanism JM will be described later. C. Configuration of Control Device (C-1) General Configuration FIG. 8 is a schematic block diagram of the control device 200 used in the embodiment. In the figure, an operation panel 100 is provided with a mode changeover switch 101 for instructing in which operation mode the welding robot should be operated. This mode changeover switch 101 can selectively switch and set any one of manual mode (M), test mode (T), and auto (reproduction) mode (A). Of these,
The manual mode is a mode for teaching operations, and the test mode is a mode for checking teaching data while moving the robot step by step. Furthermore, the auto mode is a mode in which the robot continuously moves to perform work based on teaching data. The operation panel 100 is further provided with a push button switch 103 and a switch group 105. The pushbutton switch 103 gives a command to start the auto mode, and
Operated to give teaching commands in manual mode. switch group 10
The three pushbutton switches belonging to No. 5 are operated when instructing the welding robot to perform a linear interpolation operation, a weaving operation, and a circular interpolation operation, respectively. The speed setter 111 is for commanding the speed at which the welding torch 27 (and therefore the welding point P) should move. The operation panel 100 is further provided with two manual switch groups 121 and 131. The switch group 121 is operated to control the position of the welding robot in a rectangular coordinate system, that is, an XYZ system. On the other hand, switch group 13
1 is used to directly control each rotation angle α 1 to α 5 . For this purpose, this operation panel 100 includes switch groups 121 and 1.
Select which of the 31 to enable. A system switching switch 117 is provided. Each of the switches belonging to these manual switch groups 121 and 131 has three
The position shown by the solid line in FIG. 8 is the neutral position. The three switches labeled X, Y, and Z are used to control the movement of the welding torch 27 in positive or negative directions parallel to the X, Y, and Z axes, respectively. Further, two switches labeled θ and φ are used to change the orientation degree φ and (in a narrow sense) attitude angle θ of the welding torch 27 clockwise or counterclockwise, respectively.
Similarly, α system manual switch group 131
By operating the rotation angle α 1 to α 5 of each arm or axis can be changed. The display lamp 113 and pushbutton switch 115 provided on the operation panel 100 are one of the features of this embodiment, and these will be described later. Then, between the operation panel 100 including each of these components and the data bus 55,
Data is exchanged via an interface (not shown). This data bus 55 further includes a CPU
31 and memory 33 are connected. memory 3
3 is for storing the system program and user program of CPU31.
Contains ROM, storage areas and flag areas necessary for calculations and other processing in the CPU 31
Includes RAM. The drive command signal generation means and storage means which are the constituent elements of this invention are realized by these CPU 31 and memory 33. The data bus 55 includes five drive circuits 351 to 35 corresponding to five rotation angles α 1 to α 5 .
5, and five rotary encoders 531 coupled to each joint to detect each joint angle α 1 to α 5
~535 are respectively concatenated. The drive circuits 351 to 355 are multi-joint mechanisms.
It is for driving the first to fifth motors (not shown) respectively connected to each joint of the JM, and has a built-in well-known feedback control circuit. Based on the drive command signal given from the CPU 31 and each joint angle detected by the rotary encoders 531 to 535, each motor (and therefore each joint)
to drive. (C-2) Indicator lamp 113 and switch 115 The indicator lamp 113 lights up only when the joint angles α 3 and α 5 of the multi-joint mechanism JM are in the respective critical zones described above. That is, the light is turned on when the relationship between the arms 11 and 17 in FIG. 7 is as shown in a, d, or e in the figure, and the attitude near the welding torch is near the state shown by the solid line 27 in FIG. 2. do,
Inform the operator. As will be explained later, in this example, it is a multi-joint mechanism.
This corresponds to the fact that JM allows inversion between conjugate states only when the state is in the critical zone. In addition, the display lamp 113
may be replaced by a notification buzzer, or may be used in conjunction with it. Push button switch 115 is a switch for instructing reversal between conjugate states by pressing it. As already mentioned,
In the multi-joint mechanism JM of this embodiment, there are four conjugate states shown in FIG. 6 for the same position and posture of the welding torch 27. Therefore, in principle, any one of these four conjugate states can be selected, but in this embodiment, only two states, "A + and B + state" are allowed, and "A + "and B - state" and "A - and B + state" are prohibited. Therefore, either the "A + and B + state" (hereinafter referred to as "up state U") or the "A - and B - state" (hereinafter referred to as "down state D") Therefore, it is sufficient to be able to externally input whether the commanded position and commanded posture are to be achieved by using a single pushbutton switch 1.
15 is sufficient. In this embodiment, instead of specifying the up state or down state for each teaching point one by one,
Press the push button switch 11 only when you want to reverse the state between the UP state and the DOWN state.
Make sure to press 5. Therefore, in this embodiment, "state designation data" is provided in the form of "bending direction reversal designation data" that collectively designates the bending direction of joints α 3 and α 5 . Note that the bending state at the first teaching point is determined in advance. The state reversal command by pressing the pushbutton switch 115 is issued by the display lamp 113.
It is enabled only when is lit (in other words, within the critical zone). It is the axis (joint) 15 as shown in Figure 7b and c.
If the state is reversed when the absolute value of the joint angle α 3 in be. D Teaching Operation Based on the above preparations, the teaching operation of welding robot RB will be explained with reference to FIGS. 9A and 9B. First, prior to the process shown in FIG. 9A, the system changeover switch 11 provided on the operation panel 100 is
7 to the XYZ system. This is related to the fact that the weld lines on the workpiece often run at right angles to each other. In other words,
When the operator moves the welding torch 27 along the welding line during the teaching operation (manual mode), the rectangular coordinate system allows this movement to be performed more easily, and it also makes it easier to move the welding torch 27 in the replay mode later. This is because interpolation calculations and the like of . Thereafter, the operator sets the moving speed of the welding torch 27 during regeneration on the speed setting device 111, and uses the switch group 121 to instruct the direction in which the welding torch 27 should move. A timer is provided inside the CPU 31 to generate an output at predetermined time intervals. Then, when an output from this timer is generated and the switch operation as described above is performed, the CPU 31 determines what happens when the welding torch 27 is moved by a predetermined minute distance in the direction specified by the switch group 121. Once the command position and command posture of the welding torch 27 are
Find it using the XYZ system. Then, by converting the coordinates thereof, command values in the multi-joint system (α system) are calculated (steps S1, S3, and S5). In calculating this command value, whether to adopt the up state or the down state is based on the criterion that the bending state is the same as the bending state at the previous command value. Therefore, at the stage of coordinate transformation in step S5, it is not necessary to input the state designation data (folding direction reversal designation data) using the switch 115. Next, in step S7, it is determined whether the joint angle state calculated in this way is within the critical zone. For example, for the joint angle α 3 , if the absolute value is less than a predetermined minute value when the angle is measured in the direction shown in FIG. 7, it is within the critical zone. and,
If it is within the critical zone, CPU31
Write logic 1 to the critical zone flag CZF included in the RAM of the memory 33, and set this flag.
Set CZF (step S9). In the following step S11, the CPU 31 determines whether the command value at the previous teaching point was in the critical zone. The determination in step S11 is made by checking the contents of the flag CZF that was taught last time. Next, in step S13, the CPU 31 determines whether there is a state reversal instruction, that is, whether the push button switch 115 of the operation panel 100 has been operated. That is, when the state before entering the critical zone is, for example, the up state U, and it is necessary to change it to the down state D next, the reversing switch 115 is operated. This reversing switch 115
is pressed after the operator confirms that the display lamp 113 is lit. When this state reversal instruction is detected, the CPU 31
In the following step S17, the up-down flag UDF in the RAM is inverted. For this flag UDF, for example, logic 1 may be written in the up state U, and logic 0 may be written in the down state D. On the other hand, in step S7, if the current command value is not in the critical zone, in the following step S15, logic 0 is written in the critical zone flag CZF and it is reset. Therefore, when considering a chain of command values (i-1), i, i', (i+1) as abstractly shown in FIG. , i′) consecutively and the latter command value
The flag UDF is inverted only when the switch 115 is pressed at i'. Conversely, when you want to invert the state, use 2
After giving a command value within the critical zone twice in succession, switch 115 is pressed when inputting a later command value.
Press . Thereafter, in step S19, the position and orientation command values of the XYZ system are coordinate-transformed according to the state of the up-down flag UDF, and the command values of the multi-joint system, that is, α1 to α5 , are calculated anew. Since the articulated mechanism JM satisfies the multivalue state condition, this coordinate transformation is multivalued (that is, a transformation with multiple solutions), but according to the up-down flag UDF, those multiple solutions Choose one. For example, when the flag UDF is "1", it is sufficient to find a solution that realizes the A + B + state (up state). The values of α 1 to α 5 thus obtained are given to drive circuits 351 to 355 as drive command signals, and these drive circuits 351 to 355
Drives a motor connected to each joint. Therefore, in the example of FIG. 10A, the bending state is reversed when the welding torch 27 moves from the command value i to i'. Since state reversal when moving from command value i' to (i+1) is prohibited (determination result in step S7 becomes "No"), for example, down state D It remains as it is. Note that the command value i' is normally treated as a dummy point for inverting the flag CDF. In other words,
Later teaching data storage processing (Figure 9B)
In this case, data regarding the command value i' is not stored as teaching data. Then, only the command values (i-1), i, and (i+1) are stored as teaching data. This is because the bending state is reversed between the respective positions of the command value i and (i+1) during playback, which will be described later.
During teaching (manual mode), the CPU 31 cannot know the contents of the command value (i+1) until it is input, so the state is inverted at the dummy point i' in the critical zone for the time being. It is. Therefore, the dummy point i' is set only for state reversal in the manual mode, and its position and orientation instruction value may be the same as the instruction value i. Such processing is repeated every time a timer output is generated, and thereby the welding torch 27 sequentially moves along the trajectory intended by the operator. Then, in this manual mode, each time the position and orientation of the welding torch 27 become desired (teaching point), the process moves to storing the teaching data. Storage processing of this teaching data (9th B)
), the start button 103 on the operation panel 100 is pressed. That is, by setting the mode selection switch 101 to manual mode (M) and pressing the start button 103, the CDU
31 is interrupted for storing teaching data. When the interrupt occurs, the CPU 31 stores the position and orientation information and the states of the flags CZF and UDF at that time in a predetermined storage area of the memory 33 as teaching data. In addition, the following describes the flags CZF and UDF in the system, and the flags CZF and UDF stored for each teaching point in this way.
In order to distinguish them from UDF, the latter are expressed as "CZF a " and "UDF a ". The position and orientation information taught here is
This is XYZ type information. This is because, as described above, this is convenient for easier operation and calculations for interpolation control, for example. Therefore, in this embodiment, the position and orientation data input in the XYZ system is stored in the memory 33 together with the flags CZF a and UDF a , and the command value in the α system calculated in step S19 is It is not stored as data. E. Reproduction Operation Next, the reproduction operation (auto mode operation) of the multi-jointed robot RB using the teaching data obtained as described above will be explained with reference to FIG. Note that this auto mode operation is
Although this is performed after the test operation under the test mode, a description of this test operation will be omitted. In the case of auto mode, the operation panel 100
Set the mode setting switch 101 to auto mode A. And start button 1
Press 03. From the memory 33, the CPU 31
One piece of teaching data is read out (step S31). Steps S33 to S39 of the following steps
are the command position and command orientation at the teaching point just read out (hereinafter simply referred to as "target value").
This is for determining whether to make the bending state at the previous target value the same as the bending state at the previous target value, or to make it the opposite. As described above, the instruction contents of the bending state at each target value are stored as the up-down flag UDF a in accordance with the operation input during teaching. Therefore, the current bending state can be determined depending on whether the up-down flag UDF a stored at each teaching point is inverted between the previous and current target values. As already explained in the section "(C-3) Critical Zone", in order to suppress the large movement of each joint, in this embodiment, the state is limited only when the joint angle state is within the critical zone. Allow inversion. More specifically, (a) the previous target value is within the critical zone, (b) the current target value is outside the critical zone, and (c) the state is changed due to the inversion of flag UDF a . Only when reversal is instructed, the bending state at the previous target value is reversed to become the current bending state. In other words, in Figure 10B, regardless of whether the previous target value was inside or outside the critical zone, the current target value is within the critical zone (as shown in Figure 10B), or if the previous and current target values are different from each other. If both target values are outside the critical zone (Fig. 10B), state reversal is prohibited, and state reversal is permitted only in the case of Fig. 10B, which satisfies the above (a) to (c). Therefore,
State reversal is allowed between the command value i and (i+1) in Figure 10A (as mentioned above, the command value i' is a dummy point and is not stored as teaching data. do not have). In addition,
FIG. 10B shows a situation that occurs as a result of pressing the switch 115 even though the display lamp 103 is not lit, and is treated as an error. The above-mentioned situations can be identified by referring to the flags UDF a and CZF a . This identification process is the step shown in Figure 11.
S33 to S37, and the symbols ~ in FIG. 11 correspond to those in FIG. 10B. Note that criteria other than this example may be used to determine in what cases inversion is permitted. If the state reversal is permitted, that is, the reversal of the folded state is instructed in the subsequent step S39. This is done by rewriting the up-down flag UDF in the system in accordance with the value of the up-down flag UDF a read this time (the value stored in the teaching step in FIG. 9B). In the following step S41, preliminary calculations for interpolation control are performed. For example, in the case of linear interpolation, this is a process of calculating the interpolation pitch between two consecutive teaching points based on the command speed and the like. After that, the CPU 31
Sequentially calculate interpolation points based on the interpolation pitch etc. obtained by preliminary calculation (step
S43). Since the target value is expressed in the XYZ system,
Interpolation calculations in the XYZ system, which are important in practice, can be easily performed. Then, in step S45, each joint angle α 1 ~ is adjusted to make the welding torch 27 match the given position and posture while taking the bent state indicated by the up-down flag UDF in the system.
Find the value of α5 . For example, when the up-down flag UDF indicates up, that is, the A + B + state (up state), each joint angle α 1 is set to the command position and command posture in the A + B + state.
The value of ~α 5 is determined by coordinate transformation from the command position and command orientation in the XYZ system. Then, a drive command signal for realizing the values of each joint angle α 1 to α 5 is generated and output drive is performed by outputting it to each motor (step S47). Thereby, the articulated mechanism
JM uses the welding torch 27 in the specified bent state.
is moved so that its position and orientation match the commanded position and commanded orientation, respectively, in the above-mentioned folded state. Steps S43, S45, and S47 are repeated until the welding torch 27 reaches the target position (steps
S49). Then, such processing is sequentially repeated for each target position, and when the welding work end point is reached, the regeneration processing is completed (step S51). F. Summary of Examples In this way, the value of the flag UDF is determined by the state specification data (folding direction reversal instruction data) input in the form of pressing the switch 115, and based on this, the same position and orientation are determined. By selecting one of a plurality of corresponding joint angle states (bent states A + B + and A - B - ), the multi-joint mechanism JM can be driven to avoid obstacles. . It can be understood from the fact that step S19 in FIG. 9 is executed in accordance with the flag UDF that such drive control can be applied to movement control of the multi-joint mechanism JM during teaching as well as during playback. G. Modification The multi-joint mechanism to which this invention can be applied is not limited to the above embodiment. For example, each mechanism shown in FIG. 12 can take two states, a state shown by a solid line and a state shown by a broken line, even when the respective positions and postures of arms T1 and T2 are specified. It is easy to understand what can be done. Therefore, multi-joint mechanisms including these mechanisms can satisfy the "multivalent stateability condition." Furthermore, the multi-joint mechanism shown in Figure 13A also satisfies the multivalent stateability condition and the adaptive degrees of freedom condition, and it has been known for a long time that various such mechanisms exist. . Furthermore, as shown in FIG. 13B, the rotating arm 17 in FIG. 2 can be rotatably attached to the rotating arm 11 about an axis perpendicular to the axis 9. Further, as shown in FIG. 13C, the shaft 21 in FIG. 2 may be used as a rotation shaft, and a rotation shaft may be attached to the end thereof. In other words, if there are three joints, three-dimensional positioning is possible.
In such a case, once the target position is determined, a variety of conditions may be easily conceived. For example, the position of a point or axis corresponding to axis 19 in FIG. 2 is controlled using a rectangular coordinate system, and
1 and 23 may be controlled using a joint coordinate system. In addition, in the above example, four joint angle states
Among A + B + , A + B - , A - B + , A - B - , A + B + and
Although only two states, A - B -, are used, two sets of flags CZF and UDF are provided, and two sets of conjugate states (A + , A - ) and (B + , B - ) can be independently set. The joint angle state may be specified so that all of the above four joint angle states can be selected. In this case, for example, as long as the joint angle α 3 is within the critical zone (A + , A - )
It is sufficient to allow reversal between states. Note that even in the case of an articulated robot with redundant degrees of freedom, the joint angle state must be specified in some way, but in this case, in order to specify one state from an infinite number of conjugate states, a method such as the one in this invention is used. It is very difficult to use simple specification processing. Furthermore, providing redundant degrees of freedom makes the mechanism that much more complex. Therefore, in a multi-joint mechanism with adaptive degrees of freedom, this invention requires only one bending state to be specified from a finite number of bending states (usually only a few states). The technology is qualitatively different from that of the previous version. [Effects of the Invention] As explained above, according to the present invention, for a multi-joint mechanism that satisfies the adaptive degrees of freedom condition and the multivalent state condition, one of a plurality of joint angle states is determined by state specification data. Since drive control can be performed while arbitrarily selecting one, the multi-joint mechanism can be driven while adjusting the joint angle state so as to avoid obstacles. Therefore, interference between the robot and the obstacle can be prevented without requiring any work to remove the obstacle. Further, since the joint angle state can be specified arbitrarily among the plurality of joint angle states, there are fewer restrictions on the robot's motion range.

【図面の簡単な説明】[Brief explanation of drawings]

第1A図は、この発明の構成を説明するブロツ
ク図、第1B図はエンドエフエクタの姿勢に関す
る自由度の説明図、第2図は、この発明の一実施
例である多関節ロボツトの多関節機構の説明図、
第3図から第6図は、実施例における多価状態性
条件の説明図、第7図は、クリテイカルゾーンの
説明図、第8図は、実施例に用いられる制御装置
のブロツク図、第9図はテイーチング動作を示す
フローチヤート、第10図は、状態反転条件の説
明図、第11図は、再生動作を示すフローチヤー
ト、第12図および第13図は、この発明の変形
例の模式機構図、第14図は、多価状態性条件を
満足する2次元多関節機構の模式機構図である。 RB……多関節ロボツト、JM……多関節機構、
27……溶接トーチ(エンドエフエクタ)、10
0……制御パネル、115……状態反転用押ボタ
ンスイツチ、α1〜α5……回動角(関節角)。
FIG. 1A is a block diagram explaining the configuration of the present invention, FIG. 1B is an explanatory diagram of degrees of freedom regarding the posture of the end effector, and FIG. An explanatory diagram of the mechanism,
3 to 6 are explanatory diagrams of the multivalent state condition in the example, FIG. 7 is an explanatory diagram of the critical zone, and FIG. 8 is a block diagram of the control device used in the example. FIG. 9 is a flowchart showing the teaching operation, FIG. 10 is an explanatory diagram of state reversal conditions, FIG. 11 is a flowchart showing the reproducing operation, and FIGS. 12 and 13 are schematic diagrams of modifications of the present invention. Mechanism diagram, FIG. 14 is a schematic diagram of a two-dimensional multi-joint mechanism that satisfies the multivalent state condition. RB...Multi-joint robot, JM...Multi-joint mechanism,
27...Welding torch (end effector), 10
0...Control panel, 115...Push button switch for state reversal, α1 to α5 ...Rotation angle (joint angle).

Claims (1)

【特許請求の範囲】 1 次の(a)から(c)までの各要素を備えることを特
徴とする多関節ロボツト。 (a) 次の(a−1)から(a−4)までのすべて
の条件を満足する多関節機構: (a‐1)3個以上の関節によつて順次に関節接続さ
れた4本以上の腕を含むこと; (a‐2)先端腕にエンドエフエクタが取付けられる
こと; (a‐3)前記エンドエフエクタの位置および姿勢を
所定の位置範囲および姿勢範囲でそれぞれ任
意に変化させるために必要十分な自由度が、
前記関節による前記接続で確保されているこ
と; (a‐4)前記関節のそれぞれの関節角の値の組合せ
のひとつひとつを関節角状態と呼ぶとき、前
記エンドエフエクタの位置および姿勢のそれ
ぞれを同一とする複数の関節角状態が存在す
ること、 (b) 前記関節のそれぞれに結合されて、各関節を
駆動する駆動手段: (c) 前記多関節ロボツトのテイーチング時におい
て、次の(c−1)と(c−2)とのデータを
操作入力するための操作入力手段: (c‐1)前記エンドエフエクタの指令位置および指
令姿勢を表現した位置姿勢データ; (c‐2)前記指令位置および指令姿勢を、前記複数
の関節角状態のうちのいずれによつて実現す
るかを選択指定する状態指定データ、 (d) 前記操作入力手段によつて入力された前記位
置姿勢データと前記状態指定データとを記憶す
る記憶手段: (e) 前記記憶手段から読出した前記位置姿勢デー
タと前記状態指定データとに基づいて、当該状
態指定データで指定される関節角状態をとりつ
つ前記エンドエフエクタの位置および姿勢を前
記指令位置および前記指令姿勢にそれぞれ一致
させるための駆動指令信号を発生して前記駆動
手段に出力する駆動指令信号発生手段。 2 前記位置姿勢データは複数のテイーチング点
のそれぞれにおいて操作入力され、 前記テイーチング点のそれぞれにおいて存在す
る前記複数の関節角状態は、所定の関節の折れ方
向によつて互いに識別されており、 前記状態指定データは、前回のテイーチング点
における前記折れ方向に対して、今回のテイーチ
ング点における前記折れ方向を反転させる際に操
作入力される折れ方向反転指示データである、特
許請求の範囲第1項記載の多関節ロボツト。 3 前記操作入力手段は、前回のテイーチング点
での指令位置および指令姿勢が所定の範囲内にあ
るときのみ、今回のテイーチング点での前記折れ
方向反転指示データの操作入力を有効化させる操
作入力有効化手段を有する特許請求の範囲第2項
記載の多関節ロボツト。
[Scope of Claims] 1. An articulated robot characterized by comprising each of the following elements (a) to (c). (a) Multi-jointed mechanism that satisfies all of the following conditions (a-1) to (a-4): (a-1) Four or more joints connected sequentially by three or more joints. (a-2) An end effector is attached to the distal arm; (a-3) To arbitrarily change the position and posture of the end effector within a predetermined position range and posture range, respectively. The degree of freedom necessary and sufficient for
(a-4) When each combination of joint angle values of the joints is referred to as a joint angle state, the positions and postures of the end effectors must be the same. (b) A driving means coupled to each of the joints to drive each joint; (c) During teaching of the multi-joint robot, the following (c-1) ) and (c-2): (c-1) Position and orientation data expressing the commanded position and commanded attitude of the end effector; (c-2) The commanded position and state designation data for selectively designating which of the plurality of joint angle states the commanded posture is to be realized by, (d) the position and orientation data input by the operation input means and the state designation. storage means for storing data: (e) Based on the position/posture data and the state specification data read from the storage means, the end effector is controlled to take the joint angle state specified by the state specification data; A drive command signal generation means for generating a drive command signal for making a position and orientation coincide with the command position and the command orientation, respectively, and outputting the generated drive command signal to the drive means. 2. The position/posture data is operationally inputted at each of a plurality of teaching points, and the plurality of joint angle states existing at each of the teaching points are mutually identified by the bending direction of a predetermined joint, and the state Claim 1, wherein the specified data is folding direction reversal instruction data that is input when reversing the folding direction at the current teaching point with respect to the folding direction at the previous teaching point. Multi-jointed robot. 3. The operation input means enables operation input for validating the operation input of the folding direction reversal instruction data at the current teaching point only when the command position and command orientation at the previous teaching point are within a predetermined range. 3. The articulated robot according to claim 2, further comprising a means for converting the robot to an articulated robot.
JP9917980A 1980-07-19 1980-07-19 Multi-articulated robot Granted JPS5727689A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9917980A JPS5727689A (en) 1980-07-19 1980-07-19 Multi-articulated robot
US06/283,117 US4445184A (en) 1980-07-19 1981-07-13 Articulated robot
EP81303314A EP0044737B2 (en) 1980-07-19 1981-07-20 Articulated robot
DE8181303314T DE3176640D1 (en) 1980-07-19 1981-07-20 Articulated robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9917980A JPS5727689A (en) 1980-07-19 1980-07-19 Multi-articulated robot

Publications (2)

Publication Number Publication Date
JPS5727689A JPS5727689A (en) 1982-02-15
JPH0126828B2 true JPH0126828B2 (en) 1989-05-25

Family

ID=14240418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9917980A Granted JPS5727689A (en) 1980-07-19 1980-07-19 Multi-articulated robot

Country Status (1)

Country Link
JP (1) JPS5727689A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5930690A (en) * 1982-08-09 1984-02-18 株式会社日立製作所 Method of controlling multiple articulated type robot having redundancy
JPH0750408B2 (en) * 1984-01-23 1995-05-31 セイコーエプソン株式会社 Robot controller

Also Published As

Publication number Publication date
JPS5727689A (en) 1982-02-15

Similar Documents

Publication Publication Date Title
US4517653A (en) Method for controlling an industrial robot
JP6477877B2 (en) Robot system
JP5458769B2 (en) Robot control device
JP3207409B2 (en) Robot tool attitude control method
JPH0259285A (en) Robot motion teaching method and control device
JPH0126828B2 (en)
JP5729052B2 (en) Robot control device
JPS58155189A (en) Position control device for industrial robots
JPH0379284A (en) Control method for industrial robot
JPS649154B2 (en)
JPS6352982A (en) Industrial robot
JPS6125210A (en) Industrial joint robot
JPS5856105A (en) Industrial robot
JPH01175608A (en) How to create robot teaching data
JPH01188903A (en) How to modify robot teaching data
JPS58176705A (en) Method and device for storing route of industrial robot
JPH05177565A (en) Calibration device for robot
JPS6054275A (en) Welding torch drive control method
JPH0146271B2 (en)
JPH0375271B2 (en)
JPH01173207A (en) Robot teaching method
JPH0413109B2 (en)
JPH0962322A (en) Control device for multi-axis robot and control method thereof
JP2521782B2 (en) Control method for industrial robot
JPS61193206A (en) Teaching method for robot