JPH0522921B2 - - Google Patents

Info

Publication number
JPH0522921B2
JPH0522921B2 JP59136183A JP13618384A JPH0522921B2 JP H0522921 B2 JPH0522921 B2 JP H0522921B2 JP 59136183 A JP59136183 A JP 59136183A JP 13618384 A JP13618384 A JP 13618384A JP H0522921 B2 JPH0522921 B2 JP H0522921B2
Authority
JP
Japan
Prior art keywords
interpolation
point
passing
data
time interval
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 - Fee Related
Application number
JP59136183A
Other languages
English (en)
Other versions
JPS6115207A (ja
Inventor
Hideo Koyama
Takahiro Asano
Fumio Noguchi
Shigeki Fujinaga
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 JP13618384A priority Critical patent/JPS6115207A/ja
Priority to US06/744,601 priority patent/US4689756A/en
Publication of JPS6115207A publication Critical patent/JPS6115207A/ja
Publication of JPH0522921B2 publication Critical patent/JPH0522921B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45083Manipulators, robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Description

【発明の詳細な説明】 (発明の分野) この発明は、ロボツト制御方法およびその装置
に関するもので、特に、補間制御についての改良
を加えたロボツト制御方法およびその装置に関す
る。
(先行技術の説明) プレイバツク方式などによつてロボツトを制御
する場合には、離散的なテイーチング点の情報の
みを制御装置内に記憶させているため、再生動作
においては、これらのテイーチング点の位置など
の情報を補間して制御を行なう必要が生ずる。
このような補間の方法としては、たとえば周知
の直線補間や円弧補間などがある。これらの補間
法は、演算が比較的簡単であるという特徴を有す
るものの、それぞれの補間法に適応した軌跡(た
とえば直接補間では、直線や曲率半径の大きな曲
線)以外の軌跡に対しては、一般的に滑らかさに
欠けるという欠点を有している。
一方、東京大学の穂坂衛教授等によつて与えら
れた形状設計のアルゴリズムをロボツトの補間制
御に応用した技術が、この発明の発明者によつて
既に提案されている。この技術は、たとえば特開
昭56−52408号の中に記載されており、また、穂
坂のアルゴリズムそのものについては、たとえば
「情報処理」第17巻第12号第1120頁〜第1127頁
(1976年12月)に記載されている。そこで、ここ
では、以下の説明に必要な範囲内で、この技術を
説明する。
穂坂のアルゴリズムを応用したこの補間法(以
下、「穂坂の補間」と呼ぶ)は、ひとつの補間曲
線を、テイーチング点の数に対応した数だけの部
分曲線(これは「曲線分」と呼ばれる)の集合と
してとらえ、これらの曲線分のうち隣接した曲線
分に対して特定の平均化操作を行なうことによつ
て、さらに滑らかな補間曲線を作り出すという思
想に立脚している。この方法では、まず、第1図
に示したように、テイーチング点の位置ベクトル
R→i(i=1〜m)のうち、隣接する位置ベクト
ルR→i,R→i+1の間を直線補間して、第1段階めの
補間曲線C1を作る。この補間曲線(折れ線)C1
のうち、R→iとR→i+1とを結ぶ曲線分をパラメータ
u(0≦u≦1)によつて、D→i,1(u)とパラメータ
表示する。この記号D→i,1(u)のうちの添字iはi番
目の曲線分(接続要素とも呼ばれる)であること
を示し、添字1は第1段階めの補間による曲線分
であることを示す(以下、同様)。このようにし
て第1段階めの補間曲線を定義した後、漸化式; D→i,1(u)={∫l udτ・ω(τ)・D→i,k-1(τ)
+∫u pdτ・
ω(τ)・D→i-1,k-1(τ)}÷{∫l udτ・ω(τ)

u 0・dτ・ω(τ)}(k=1,2,…)…(1) を繰り返し用いて、第n段階めの曲線分D→i,o(u)を
求め、このD→i,1(u)の集合として、第n段階めの所
望の補間曲線Coを得る。ここで、ω(τ)はウエ
イト関数である。
(1)式の意味するところは、第2図によつて、よ
り明確に理解することができよう。すなわち、ま
ず、第2図に示した第(k−1)段階めの補間曲
線Ck-1に属するi番目の接続要素D→i,k-1(u)および
(i+1)番号の接続要素D→i+1,k-1(u)のうち、特定
のu(たとえばu1)に対応する点D→i,k-1(u1),D
i
+1,k−1(u1)と、この2つの接続要素の境界点R

k-1 iとの、それぞれの間に位置する部分Li,Li+1
取り出す。次に、れらの部分Li,Li+1上のそれぞ
れの点の位置を、ウエイト関数ω(τ)を用いて
加重平均する。そして、このようにして得られた
疑似重心点を、第k段階における曲線分D→i,k(u)の
うちのひとつの点D→i,k(u1)とするのである。パ
ラメータuのそれぞれの値についてこのような操
作を行なうことによつて、D→i,k(u)の全体を得るこ
とができる。
第3図は、各段階における各曲線分が、どの接
続要素から得られるかを矢印によつて示した図で
ある。ただし、記号(i,n)はD→i,o(u)を示し、
他も同様様である。このうち、たとえば矢印AR
は、D→i,o-1(u)とD→i+1,o-1(u)とから、D→i,o(u)
が得られ
ることを示している。この図からわかるように、
D→i,o(u)は、究極的にはR→i+j(j=0,1,…n

から得得られるわけであり、また、(1)式は線形の
漸化式であるから、D→i,o(u)は、次のように、R→i+
j

(j=0,1,…n)の線形結合として書き表わ
すことができる。
D→i,o(u)=oj=0 R→i+j・fj,o(u) …(2) D→i,0(u)=R→i・fp,p(u),fp,p(u)=1 …(3) ここで係数fj,o(u)は、(1)式を実際に計算するこ
とによつて、uの多項式として表わすことができ
るが、詳細は省略する。
(2)式において重要な点は、第n段階めのそれぞ
れの曲線分は、連続する(n+1)個のテイーチ
ング点R→i+j(j=0,1,2…n)の情報を取り
込んだ形で形成されているということである。し
たがつて、たとえば第3段階めに得得られる補間
曲線C3を実際の制御における補間曲線として用
いる場合には、連続した4個のテイーチング点の
位置情報を取り込んだ補間となつている。
このため、穂坂の補間はテイーチング点の連鎖
における大域的な幾何学的性質を慮した補間とな
つており、直線補間や円弧補間と比較して、より
滑らかな補間曲線が得られる。
ところが、穂坂の補間にもいくつかの欠点があ
る。そのひとつは、得られた補間曲線が、一般に
はテイーチング点を通らないということである。
このため、得られるべき補間曲線がテイーチング
点のすべてを通るように、計算上のテイーチング
点(「基準点」と呼ばれている)P→iを、次の(4)式
によつて定義する。
R→=oj=0 P→i+j・fj,o(u) (i=1,2,…) …(4) そして、この連立方程式を解くことによつて得
られる基準点P→iを基礎にして、上述した補間曲
線を求めなければならない。このような手続すな
わち逆変換が必要であるために、計算ステツプが
増加してしまう。
また、穂坂の補間におけるパラメータは、各曲
線分のパラメータ表示を行なう目的で導入された
空間パラメータであつて、現実の時刻との対応が
明確ではない。このため、uと時刻との対応を表
わす関数形を各曲線分ごとに決定するというステ
ツプを付加する必要が生ずる。
さらに、補間曲線の平滑化を進める目的で、か
なり大きなnに対する第n段階めの補間曲線を用
いると、円から直線への変化のような、幾何学的
性質が急激に変化するような軌跡をテイーチング
してある場合には、その時点よりも前の時間帯に
おける軌跡の記憶が残つているために、ロボツト
への位置の指令値がこの変化に追随し得なくなつ
てしまう。この問題に関しては、たとえば特開昭
57−125406号に記載されているように、軌跡の幾
何学的変が大きい位置では、穂坂の補間を行なう
ための手段を無効化するという方法もある。しか
しながら、このような変化にもある程度追随可能
であり、かつ十分な滑らかさを確保できる補間法
を得ることができれば、このような無効化を多用
しなくも済むことになり、状況によつては、無効
化を要しないことになろう。
(発明の目的) この発明の目的は、比較的簡単であるにもかか
わらず、軌跡の大域的性格を取り込んだ補間制御
を行なうことができ、従来の制御装置の基礎とな
つている種々の補間法の長所を兼ね備えたロボツ
ト制御方法およびその装置を提供することであ
る。
(発明の構成) この発明のロボツト制御方法は、駆動機構を有
するロボツトの作業点に、所定の順序で所定の離
散的な通過点を通過する運動をなわせるためのロ
ボツト制御方法であつて、時間パラメータを変数
とし、かつ4個以上の未定係数を含んだ位置補間
関数を定義しておくとともに、前記順序において
連続する4個の通過点をXi−1,Xi,Xi+1,
Xi+2としたとき、下記の(a)と(b)との双方の条
件を満足するように前記位置未定係数の値を決定
し、それによつて特定される前記位置補間関数に
よつて、通過点Xi,Xi+1の間の区間における
補間軌跡を決定する。
(a) 通過点Xi,Xi+1におけるそれぞれの速度
ベクトルの大きさが、当該通過点Xi,Xi+1
について準備されたそれぞれの前記速度の値に
応じた値となること。
(b) 通過点Xiにおける前記速度ベクトルの方向
が少なくとも通過点Xi−1,Xi,Xi+1の相
対的位置関係に依存する方向となるとともに、
通過点Xi+1における前記速度ベクトルの方
向が少なくとも通過点Xi,Xi+1,Xi+2の
相対的位置関係に依存する方向となること。
また、この発明のロボツト制御装置は、上記方
法を実現する手段を含んでいる。
ただし、この明細書で用いる「作業点」という
用語は、ロボツトのツールの先端やエンドエフエ
クタの先端、さらにはレーザ熔断ロボツトなどで
はレーザの焦点位置など、ロボツトが実際に作業
を行なう位置を指すものとして用いる。また、
「通過点」とは、出発点や停止点をも包含した用
語である。
(発明の実施例) (1) 実施例の全体的構成と動作 第4図は、この発明の一実施例であるロボツト
制御装置と、この制御装置を用いて制御されるロ
ボツトとを例示した全体図である。第4図に示し
たロボツトRBは、直角座標型のレーザ熔断ロボ
ツトであるが、この発明のロボツト制御装置は他
の種類のロボツト、たとえば各種の座標型や多関
節型の、溶接ロボツトや組立ロボツトなどの制御
にも用いることができるということを、あらかじ
め指摘しておく。
第1図において、このロボツトRBは基台1を
有しており、この基台1は、水平方向すなわち図
のX方向に延びた作業台2と、この作業台2の両
側部から、X方向に対して直角に延びた、支持台
3とを備えている。作業台2の上には、X方向に
移動自在な移動台4か載置されており、この移動
台4は、モータM1(図示せず)によつて駆動され
て、X方向に往復運動を行なう。支持台3の上に
は、2本のコラム5が略平行に立設されており、
これらのコラム5の頂部の間には、図のY方向に
延びたビーム6が架設されている。このビーム6
には、鉛直方向すなわち図のZ方向に延びた移動
コラム7が、Y方向に移動自在に取りつけられて
いる。モータM2は、この移動コラム7をY方向
に往復運動させるための動力源である。移動コラ
ム7には、その下端に取りつけられたモータM4
をZ方向に上下させるためのモータM3が設けら
れている。モータM4の下部には、Z方向に延び
たアーム8が、モータM4の回転軸からはずれた
位置に取りつけられており、モータM4の回転に
伴なつて、このアーム8は図のθ方向に回転す
る。また、アーム8の下側部には、レーザトーチ
Tが取りつけられたモータM5が設けられており、
このモータM5が回転することによつて、レーザ
トーチTが図のψ方向に旋回する。これらのモー
タM1〜M5には、それぞれのモータの回転角をエ
ンコードするためのエンコーダE1〜E5(図示せ
ず)が、それぞれ取りつけられている。
レーザ発振装置9は、熔断作業に必要とされる
だけのパワーを有するレーザ光を発振し、レーザ
ガイドパイプ10を通して、このレーザ光をレー
ザトーチTへと与えることができる。制御装置1
1は、このロボツトRBとレーザ発振装置9とを
制御するためのものであつて、この発明の実施例
であるロボツト制御装置である。
第5図は、前述した制御装置11の中に含まれ
る制御回路20のブロツク図である。この制御回
路20は、主制御回路として、たとえばマイクロ
コンピユータ21を含んでいる。マイクロコンピ
ユータ21は、バス213を介して互いに接続さ
れたCPU211、メモリ212およびI/Oポ
ート214を備えている。また、制御回路20に
は、I/Oポート214を介してマイクロコンピ
ユータ21の内部へと接続された補間回路22が
含まれている。この補間回路22は、後に詳しく
説明するように、テイーチング点の間の補間演算
を行なうための回路である。この補間回路22
は、この図に示したように、専用の回路として設
けてもよく、また、マイクロコンピユータ21内
において、プログラムに基く補間演算を行なわせ
ることによつて、この補間回路22を省略するこ
とも可能である。
I/Oポート214にはまた、前述したモータ
M1〜M5とエンコーダE1〜E5とをそれぞれ含んだ
サーボ系S〓1〜S〓5、テイーチングボツクス23、
テイーチングスイツチSWおよびレーザ発振装置
9が接続されている。テイーチングボツクス23
は、テイーチング、テスト、再生の各モードを切
替えるモード切替スイツチや、各種制御条件を入
力する入力スイツチなど(図示せず)を備えてい
る。また、テイーチングスイツチSWを押すこと
によつて、エンコーダE1〜E5からの情報がテイ
ーチング情報として、マイクロコンピユータ21
の中に取り込まれる。
第4図に示したロボツトRBに再生動作を行な
わせるには、まず、ワーク(図示せず)を、移動
第4の上に固定する。その後、テイーチングボツ
クス23を操作することによつて、再生モードと
する。すると、CPU211は、メモリ212に
記憶されているテイーチング情報を順次読み出
し、バス213およびI/Oポート214を介し
て、この情報を補間回路22へと与える。この補
間回路22は、後に詳しく説明するような構成と
動作とを有しており、入力されたテイーチング情
報の補間演算を行なつて得られた補間指令値をモ
ータM1〜M6へと出力する。モータM1〜M6は、
この補間指令値に基づいて回転し、それによつて
レーザトーチTの先端は、ワークに対する相対位
置と相対速度とを変化させながら、所定の軌跡を
描く。CPU211は、これと同時に、レーザ発
振装置9へと出力制御信号を与える。レーザ発振
装置9は、この出力制御信号に基づいて、そのレ
ーザ出力を、所定の出力値に固定するか、または
必要に応じて変化させる。このような動作によつ
て、レーザトーチTからのレーザがワークに照射
され、所望の軌跡に従つたワークの溶断が行なわ
れる。
(2) 補間制御の原理 ここで、前述した制御回路20において実行さ
れる補間の原理を具体例に則して説明する。たと
えば、プレイバツク方式のロボツト用制御装置を
孝えた場合、テイーチングによつて、離散的な通
過点としてのテイーチング点の位置情報たとえば
位置ベクトルx→i(i=1,2,…,m:mは整
数)の各成分と、上記テイーチング点を作業点が
通過するときの通過速度の大きさuiとが与えられ
ている。そこで、x→i(1,2,…,m)の連鎖
の間を補間する位置の補間関数を、時刻tの関数
としてx→(t)と書き、この発明の条件を満足するx→
(t)のひとつの例として、各補間区間ごとに成立す
る次の補間関数を考える。
x→(t)=u→i(Ti−t)2t/Ti 2+(X→i+1−X
i) (3Ti−2t)・t2/Ti 3+u→i+1(t−Ti)・t2/Ti 2
X→i (i=1,2,…m) …(5) ただし、(5)式において、u→iは、第6図に示す
ように、大きさuiを有し、ベクトルxi-1x――――→i

ix――→i+1とのそれぞれの方向の中間の方向を有す
るものとして定義されるベクトルである。すなわ
ち、 u/→i/ui=(X/→i−X/→i-1/‖X/→i−X/
i-1‖+X/→i+1−X/→i/‖X/→i+1−X/→i
‖)/‖X/→i−X/→i-1/‖X/→i−X/→i-1
+X/→i+1−X/→i/‖X/→i+1−X/→i‖‖…(6
) u/→i+1/ui+1=(X/→i+1−X/→i/‖X/→i+1
−X/→i‖+X/→i+2−X/→i+1/‖X/→i+2−X
/→i+1‖)/‖X/→i+1−X/→i/‖X/→i+1−X
/→i‖+X/→i+2−X/→i+1/‖X/→i+2−X/→
i+1‖‖…(7) である。ここで記号‖ ‖は、ベクトルのノルム
を示す。
もつとも、i=1すなわち出発点においては、
X→i-1は定義されていないが、この場合のX→i-1
適当な値として設定しておけばよく。たとえば X→i-1=X→i−(X→i+1−X→i) …(8) と設定しておくことができる。この(8)式は、X→i-
が、X→iに関して、X→i+1の反対側に位置するとい
う条件である。また、Tiは、作業点がx→からx→i+
に至るまでの所要時間であつて、 Ti=‖xi+1−xi‖/(ui+ui+1/2) …(9) で与えられる。さらに、(5)式における時刻tは、
作業点がx→iを通過した時刻をt=0として測つ
てあり、したがつてx→i(i=1,2,…,m)
のそれぞれを通過するごとに0へとリセツトされ
る時刻である。もつとも、軌跡全体を通した時刻
taで表現したいときには、 t→tai-1j=1 Ti …(10) と置換えれば良い。
(5)式のx→(t)が、この発明の基礎となる条件を満
足することは、容易に確認することができる。事
実(5)式において、t=0,Tiとすると、 x→(0)=x→i …(11) x→(Ti)=x→i+(x→i+1−x→i)=x→i+1
(12) となる。また、d/dtx→(t)=v→(t)と置くと、(5)
式よ り、 v→(t)=u→i(Ti−t)2/Ti 2 +w→i(Ti−t)・t/Ti 2+u→i+1t2/Ti 2…(13) となる。ただし、 w→i=6/Ti(x→i+1−x→i) −2(u→i+u→i+1) …(14) である。したがつて、t=0,Tiとすると、次の
式を得る。
v→(0)=u→i …(15) v→(Ti)=u→i+1 …(16) (6)式からわかるように、u→i,u→i+1はx→i-1
x→i+
の相対関係で定まる量であるから、(5)式で与え
られる補間関数は、この発明の基礎となる条件を
満足する補間関数のひとつの例となつている。
ここで、(5)式の補間関数の性質をさらに詳しく
説明す。まず、(5)式の補間関数は、時刻tについ
ての3次式であるから、tについて整理すれば、
4つの係数が含まれていることになる。したがつ
て、(5)式を別の観点から見れば、tについての3
次の多項式に含まれている4つの係数を、補間区
間の両端のテイーチングを通すための2つの条件
と、両端のテイーチング点における速度の方向を
テイーチング点の位置の相対的関係に依存させる
ための2つの条件とによつて特定したものと考え
ることもできる。
この例においては、速度v→(t)の方向が、テイー
チング点x→iにおいて、ベクトルxi-1x――――→i
と、ベ
クトルxix――→i+1とのそれぞれの方向の中間の方向
となつていることに注意されたい。このような条
件を課すことによつて、テイーチング点x→iとx→i+
との間の補間関数が、この区間の外部に隣接す
る2つのテイーチング点x→i-1およびx→i+2のそれ
ぞれの位置情報を取り込んだものとなつているの
である。すなわち、(5)式のような比較的簡単な関
数によつて、作業点が動くべき軌跡の大域的な正
確が反映されているのである。
また、このような条件が存在するために、i=
1,2,3,…,mのそれぞれについて求められ
た(5)式の補間関数をつないで得られる全体的な補
間関数は、それぞれのテイーチング点において
も、位置および速度の意で滑らかな関数となつて
いる。位置が時刻tについての3次関数であると
いうことは、x→(t)の、tについての4回以上の微
係数は常に0→となり、これらにおいても連続性が
存在することになる。
さらに、(5)式の補間関数は、多項式の一般的性
質からわかるように、直線部および曲線部のいず
れをもからに正確に表現できることになる。従つ
て、位置および速度の意味で滑らかなx→i〜x→i+3
が一直線上に存在する場合には、直線補間に極め
て近い補間関数が得られる。さらに、ひとつの円
周上にx→i〜x→i+3が存在すれば、円弧補間に極め
て近い補間関数を得ることができる。
このようにして得られた補間軌跡の例を第13
図に示す。この軌跡Fは、隣接するテイーチング
点間で定義された複数の補間関数「…,Fi-1
Fi,Fi+1,…」の滑らかな連鎖となつている。
ところで、(5)式の補間関数においては、ui=0
となるようなテイーチング点すなわち出発点や停
止点での振舞が問題となる。そこで、(5)式を時刻
tについて微分し、加速度α→(t)を求めると、 α→(t)=(−2u→i+w→i) +2(u→i−w→i+u→i+1)t/Ti …(17) となる。
この(17)式においてt=0,ui=0とすると、 α→(0)=w→iui=0 =6/T(x→i+1−x→i)−2u→i+1 …(18) となる。つまり、t=0,ui=0すなわち出発点
においても、加速度α→(t)の方向が定義されてお
り、出発点を含む軌跡にも(5)式の補間関数を用い
ることができることを示している。停止点におい
ても、同様に、停止までの動きは完全に定義され
る。
上述した説明では、(5)式を例にとつて、この発
明に用いられる補間の原理を説明したが、もちろ
ん、(5)式以外の関数形を基礎とすることも可能で
ある。たとえば、x→(t)として、tについての4次
以上の高次の多項式や、多項式以外の、少なくと
も4つの係数を含むような時刻tの関数によつて
もこの発明に必要な条件を満足させることができ
る。4次以上の多項式を用いると、加速度をも滑
らかにつなぐような補間関数とすることもでき
る。また、注目としている補間区間x→i〜x→i+1
隣接したテイーチング点x→i-1,x→i+2のみならず、
さらに遠方のテイーチング点の情報を取り込むこ
ともできよう。
このように、この発明の条件に対応する補間関
数は、大域域的性格と滑らかさの点において、前
述した穂坂の補間に匹敵する利点を有しているこ
とになる。また、一方では、穂坂の補間におけ
る、時刻の対応関係の決定や逆変換のような複雑
な手続を要ず、直線補間や円弧補間とあまり変わ
らない簡単な関数形によつて補間制御が可能とな
るわけである。これらの意味において、この発明
における条件を満足する補間法は、これらの従来
の補間法の長所を兼ね備えていることになる。
(3) 補間制御の具体化 次に、前述した(5)式を補間制御の基礎となる場
合を例にとつて、この発明に用いられる補間制御
の具体化について説明する。この補間制御は、た
とえば第5図の制御回路20の内部において、各
テイーチング点の位置情報x→iと、速度情報uiとに
基づいて(5)式をそのまま演算し、その演算結果に
応じた指令値をロボツトの各モータM1〜M5へと
出力すればよい。この方法ももちろん有用である
が、以下では、より高速に補間演算を行なう方法
を導き、それに従つた制御について説明する。そ
こでまず、(5),(13),(17)式を整理して次の(19)〜
(21)式として再掲しておく。
x→(t)≡x→=x→i+u→i・Ti(1−t/Ti2
(t/Ti)+ (x→i+1−x→i)・(3−2t/Ti)・(t/Ti2
+u→i+ 1 ・Ti・(t/Ti−1)・(t/Ti2 …(19) v→(t)≡v→=dx/→/dt=u→i+(−2u→i
+w→i)・(t/Ti) +(u→i−w→i+u→i+1)・(t/Ti2 …(20) α→(t)≡α→=dv/→/dt=(−2u→i+w→i
)・1/Ti+2(u→i −w→i+u→i+1)・t/Ti 2 …(21) さらに、加速度の時刻tによる微分β→(t)は、 β→(t)≡β→=dα/→/dt =2(u→i−w→i+u→i+1)・1/Ti 2…(22) となる。
つまり、(19)式のx→は、微分方程式(20)〜(22)を
次の初期条件で積分することによつて得られるこ
とになる。
α→ioi=1/Ti(−2u→i+w→i) …(23) v→ioi=u→i …(24) x→ioi=x→i …(25) ところで、微分方程式(20)〜(22)をそのまま解
いた場合には、(19)式を計算することにほかならな
いことになり、多くの掛算を必要とする。このた
め、ここでは、(19)〜(22)式を加算によつて解く
ように近似することによつて、計算ステツプの減
少を図ることにする。すなわち、微小時間Δtを
導入し、次の式によつて、上記微分方程式を近似
する。
x→oew=x→pld+v→pld・Δt …(26) v→oew=v→pld+α→pld・Δt …(27) α→oew=α→pld+β→pld・Δt …(28) β→oew=β→pld=2(u→i−w→i+u→i+1)・
1/Ti 2…(29) これらにおいて、添字「old」は、前の時刻t
について得られたそれぞれの値を示し、「new」
は、時刻(t+Δt)におけるそれぞれの値を示
す。このような変形を行なうことによつて、Δt
としてたとえば2-10secととつた場合には、
2-10secごとに上記(26)〜(28)式の加算を行
なえば、新たな補間値を近似的に得ることができ
るわけである。特に、この例のように、Δt=2-N
(Nは整数)ととれば、(26)〜(28)式のそれぞ
れの右辺第2項の計算は、v→pldなどをNビツトだ
け下位側にシフトさせるだけですむわけであるか
ら、掛算を必要とせずに、シフト演算と加算のみ
によつて、微分方程式を解くことができる。この
ように、シフト演算と加算のみで微分方程式を解
くことによつて、演算時間は短縮化され、専用の
ハードウエアでこの演算を行なわせることも容易
になる。(26)〜(28)式の加算の繰返しは、
[Ti/Δt]回だけ繰返し(記号[ ]は整数化に関 するガウスの記号を示す)で、その後、次のテイ
ーチング点の情報をとり込んで、新たに加算の繰
返しを始める。このため、累積誤差は、上記の例
では1デシツト以下となり、この近似による誤差
は、実用上、問題とならない。
(4) 補間回路22の構成と動作 上述した補間法の具体例に基づく演算は、第5
図中の補間回路22において行なわれる。この補
間回路22の詳細を、第7図にブロツク図として
示す。
この補間回路22は、I/Oポート214、バ
ス213を介してCPU211およびメモリ21
2へと接続されたバツフア101〜104を備え
ている。このうち、加速度の時間微分β→の値をバ
ツフアするバツフア101の出力は、加速度α→に
関する加算を行なう加算器105に入力されてお
り、この加算器105の出力は、加速度α→の値を
バツフアするバツフア106へと与えられてい
る。このバツフア106の出力は2つに分岐され
て、そのひとつは上述した加算器105の他の入
力として与えられ、他のひとつは、速度v→に関す
る加算を行なう加算器107へと与えられてい
る。加算器107の出力は、速度v→の値をバツフ
アするバツフア108へと与えられ、このバツフ
ア108の出力は、加算器107の他の入力と、
位置x→について加算を行なう加算器109のひと
つの入力として与えられている。また、このバツ
フア108の出力はライン111を介して、I/
Oポート214へも与えられている。加算器10
9の出力は、位置x→の値をバツフアするバツフア
110へと与えられている。このバツフア110
の出力は2つに分岐されて、そのひとつは加算器
109の他の入力として与えられ、他のひとつは
ライン112を介してI/Oポート214へと与
えられている。
上述した加算器105,107,109はそれ
ぞれ、その2つの入力のうち、前段のバツフアで
ある101,106,108の出力としてそれぞ
れ得られる入力を下位側に10ビツトだけシフトさ
せて、残りの入力つまり後段のバツフア106,
108,110のそれぞれの出力と加算するよう
に構成されている。したがつて、前段のバツフア
からの入力をQ1とし、後段のバツフアからの残
りの入力をQ2とすると、これらの加算器によつ
て得られる加算出力Qは、 Q=Q2+Q1×2-10 …(30) となつている。
バツフア102〜104はそれぞれ、加速度、
速度および位置に関する初期化を行なうためのも
のであつて、その出力はそれぞれバツフア10
6,108および110へと与えられている。ク
ロツク発生回路113は、バツフア106,10
8および110にクロツク信号φを与えるための
ものであり、I/Oポート214に接続されたク
ロツク用バツフア114と、このクロツク用バツ
フア114の出力およびタイマ116の出力を受
けてクロツク信号φを出力するカウンタ115と
を備えている。
この補間回路22における、前述した(26)〜
(29)式に基づく補間演算は、次のように行なわ
れる。まず、テイーチングボツクス23(第5
図)を操作することによつて再生モードとする
と、メモリ212の中に記憶されていたテイーチ
ング情報に基づいて、CPU211が、加速度の
時間微分、加速度、速度および位置の、ひとつの
補間区間におけるそれぞれの初期値β→ioi,α→ioi
v→ioi,およびx→ioi((22)〜(25)式参照)を計

し、これらをそれぞれバツフア101〜104に
与える。ただし、β→はひとつの補間区間の中では
定数となつているため、 β→ioi=β→=2 (u→i−w→i+u→i+1)・1/Ti 2…(31) である。また、これと並行して、微小時間幅Δt
=2-10secの値がメモリ212からクロツク用バ
ツフア114へと与えられる。また、前述した初
期値のうちα→ioi,v→ioi,およびx→ioiは、それ
ぞれ
バツフア106,108および110へと移され
て、この補間回路22は初期化される。一方、
Δtの値はカウンタ115へと与えられる。カウ
ンタ115はタイマ116からのタイマ出力を受
けてカウントし、そのカウント値がΔtを越える
ごとに、キヤリ信号をクロツク信号φとして出力
する。
最初のクロツクサイクルにおいて、バツフア1
06にバツフアされていた加速度の初期値α→ioi
が、加算器105へと出力される。この加算器1
05は、バツフア101からの初期値β→ioiを下位
側に10ビツトだけシフトさせて、このα→ioiと加え
合わせる。バツフア106の出力α→ioiは、加算器
107にも与えられており、この加算器107は
このα→ioiを10ビツトだけ下位側にシフトさて、バ
ツフア108の出力であるv→ioiに加え合わせる。
バツフア108の出力であるv→ioiは、加算器10
9にも与えられ、加算器109は、このv→ioiを下
位側に10ビツトだけシフトさせて、バツフア11
0の出力であるx→ioiと加え合わせる。これらの動
作と並行して、バツフア108,110のそれぞ
れの出力v→ioi,x→ioiはそれぞれ、速度指令値およ
び位置指令値としてI/Oポート214へと出力
されている。これに引き続いて、加算器105,
107,109のそれぞれの加算出力が次段のバ
ツフア106,108,110へとそれぞれ与え
られ、これらのバツフアの内容が更新される。
クロツクφのその後の各サイクルにおいてもこ
れと同様に、加算器105,107,109は、
それぞれ、前段のバツフア101,106,10
8の出力を下位側にシフトさせたものと、後段の
バツフア106,108,110の出力とを加え
合わせて、後段のバツフア106,108,11
へと格納する。そして、バツフア108,110
に格納されているそれぞれの内容は、速度指令値
および位置指令値として出力される。
したがつて、ひとつのクロツクサイクルに着目
すると、バツフア101,106,108,11
0に格納されていた内容をそれぞれ、β→pld(=β→
ioi),α→pld,v→pldで表わし、その加算結果と
して、
加算器105,107,109のそれぞれの後段
の06,108,110に新たに格納する内容を
α→oew,V→oew,x→oewで表わせば、次の式が成立

ることになる。
x→oew=x→pld+v→pld・2-10 …(32) v→oew=v→pld+α→pld・2-10 …(33) α→oew=α→pld+β→pld・2-10 …(34) β→pld=β→ioi …(35) Δt=2-10であることを考慮すれば、これらの式
は前述した(26)〜(29)式にほかならない。し
たがつて、クロツクφの各サイクルごとに、補間
された速度指令値および位置指令値が更新される
ことになる。
ひとつの補間区間における繰返しが[Ti/Δt]回 行なわれると、この補間回路22はリセツトさ
れ、その後、新たな初期値に基づいた補間演算を
開始する。この動作は、再生終了命令があるまで
くり返され、所望の補間制御が行なわれることに
なる。
(5) 制御回路20の変形例() ところで、上述した実施例では、補間演算は、
専用のハードウエアである補間回路22において
行なわれており、これによつて、高速速の補間演
算回路が可能となつている。しかしながら、この
補間演算もCPU211の中で行うように構成し、
補間回路22を省略することも可能である。
そこで以下では、CPU211によつて補間演
算を行なう場合の動作を、第8図に示したフロー
チヤートを参照して説明する。
まず、テイーチングボツクス23を操作して再
生モードとすると、CPU211はメモリ212
から、整数Nを読取る(ステツプS1)。次に、補
間区間の番号iを1とし((ステツプS2)、テイ
ーチング情報x→i-1〜x→i+2,ui,ui+1をメモリ21
2から読取る(ステツプS3)。次に、u→i,u→i+1
Ti,[Ti/2-N],β→ioi,α→ioi,v→ioiおよびx
ioiを、(6), (7),(9),(23)〜(25),(31)式を用いて計算す
る(ステツプS4)。補間の繰返しカウント数jを
1とし(ステツプS5)、x→ioi,v→ioiなどの初期値
を用いて、x→pld,v→pldなどの量をそれぞれ定義す
るとともに、x→pldをそれぞれ位置指令値、速度指
令値として出力する(ステツプS6)。
CPU211の内部タイマ(図示せず)をt=
0にセツトし(ステツプS7)、ステツプS8で時刻
tを読取る。次のステツプS9においてこの時刻
tがj×Δtより小さいときにはステツプS8に戻
るが、j×Δtより大きいときには、(26)〜
(29)式によつてx→oew,v→oewなどを計算する
(ステツプS10)、Δtをv→pldなどに掛け合わせるに
は、v→i+1などを下位側にNビツトだけシフトさ
せて計算することができる。その後v→oewおよび
x→oewを、速度指令値および位置指令値として出
力する(ステツプS11)。jが[Ti/2-N]よりも大 きいか否かを判断し(ステツプS12)、J<
[Ti/2-N]の場合は、x→oew,v→oewなどによつて
新た にx→pld,v→pldなどを定義する(ステツプS13)。

の後、j=j+1としてステツプS7へと戻る。
J≧[Ti/2-N]の場合は、iが最終の補間区間であ るか否か、つまり最終のテイーチング点に至るま
で補間演算を行なつたか否かを判断し(ステツプ
S14)、iが最終値でない場合には、i=i+1
として、ステツプS3へと戻る。iが最終値とな
ると、補間演算は終了する。
(6) 制御回路20の変形例() ところで、(5)式に基づくこのような補間制御は
それのみでも単独で行なうことができるが、他の
補間法と組合わせることも可能である。そのよう
な例として、ここでは、テイーチングにおける出
発点や停止点の付近の動作を滑らかにするような
他の補間法との組合せについて述べる。前述した
ように、(5)式に基づく補間法は、出発点および停
止点においても完全に定義されるから、滑らかな
出発や停止すなわち軟出発、軟停止を目的とした
他の補間法と共用することは必須ではないが、以
下に述べるような組合めを用いると、出発時や停
止時の制御がさらに精密化されることになる。そ
こでまず、新たに定式化された軟出発、軟停止の
原理について説明し、その後、これらと共用され
た形での、この出発の他の変形例を説明する。
第9図は、このうち、軟出発の原理を説明する
ための図であり、時刻t=0でx→=x→0に停止し
ていた作業点が、x→=x→1を速度u→1で通過すると
いう条件を示している。
この軟出発の方法では、作業点の加速度α→(t)
を、所定の位置たとえばx→1からの距離に相関さ
せるように構成する。したがつて、この補間関係
として比例関係を採用した場合には、kを定数と
したとき、次の式を基礎とする。
α→(t)=dv/→(t)/dt =k2(−x→+x→i) …(36) ここでv→(t)は作業点の速度である。次の(37)
式の関係を(36)式に代入すると、tに関する、
位置x→(t)の2階の微分方程式である(37′)式が
得られる。
v→(t)=d/dtx→(t) …(37) d2/dt2x→(t)+k2x→(t)=k2x→1 …(37′) (37′)式は容易に解くことができて、次の
(38),(39)式が得られる。
x→(t)= (x→0−x→1)cos kt+x→1 …(38) v→(t)= −k(x→0−x→1)sin kt …(39) ただし、 u→i=−k(x→0−x→1) …(40) kT=π/2 …(41) であり、ここでTは、作業点がx→1に至るまでの
移動時間である。軟出発の制御にあたつては、
(38),(39)式をそのまま演算することも可能で
あるが、ここでは、加算の繰返しによつて、微分
方程式を解くというう方法を採用する。そこで、
(37)式と(37′)式とを微小時間幅Δtに対する式
と考え、時刻tにおける作業点の位置と速度とを
それぞれx→pld,v→pldとし、時刻t+Δtにおける

れらをそれぞれx→oew,v→oewとすれば、次の
(42)式および(43)式が得られる。
x/→oew−x/→pld/Δt=v→pld …(42) v/→oew−v/→pld/Δt =k2・(−x→pld+x→1) …(43) これらの式を整理すると、、次の式を得る。
x→oew= x→pld+v→pld・Δt …(44) v→oew= v→pld+k2・ (−x→pld+x→1)・Δt …(45) ところが、この式をそのまま基礎にすると、
(45)式の右辺においてk2の掛算が必要となつて
くる。このため、 2k′・Δt′=k2・Δt …(46) Δt>Δt′>Δt/2 …(47) が成立するように、整数k′および微小時間幅
Δt′を定義すると、(45)式の右辺第2項は、次の
(48)式のように書き換えることができる。
2k′(−x→pld+x→1)Δt′ =2k′(−x→pld+x→1)・s・Δt …(48) ただし、 s≡Δt′/Δt …(49) である。このような変形をすることによつて、k2
の掛算は2k′の掛算に置換され、さらに、2k′の掛
算はk′ビツトだけの、上位側へのシフトによつて
置換えることができることになる。ところが、
s・Δtというフアクタがあるために、今度はs
の掛算という問題が生ずる。これを解決するため
には、速度についての繰返し演算をΔt/sごとに行 なえばよい。つまり、Δt/ssecごとに、2k′(−x→
pld +x→1)・Δtだけの増加分をv→pldに加算して行け
ば、平均として、Δtあたり、 2k′(−x/→pld+x/→1)・Δt/(Δt/s)×
Δt =2k′(−x→pld+x→1)・s・Δt …(50) だけの増加分がv→pldに加算されるから、上記
(48)式の第1辺と等価な加算がなされることに
なる。Δtの掛算は、Δt=2-N(Nは整数)ととる
ことによつて、シフトに置換される。すなわち、
(44)〜(50)式によつて得られる次の(51),
(52)式の加算を、(53)式の初期条件のもので、
位置についてはΔtの時間間隔で、速度について
はΔt/sの時間間隔で、それぞれ繰返せばよい
ことになる。
x→oew=x→pld+v→pld・Δt …(51) v→oew=v→pld+2k′(−x→pld+x→1)・Δt…(
52) x→ioi=x→0,v→ioi=0→ …(53) 次に軟停止についての方法を説明する。軟停止
における条件は第10図に示されているように、
x→=x→-1を速度u→-1で通過した作業点を、x→=
x→
で停止させるということである。この場合も
(36)式と同様に、作業点の加速度α→(t)が、通過
点x→-1からの距離に比例するような、次の(54)
式を基礎とすることができる。
α→(t)=dv/→(t)/dt=k2(−x→+x→-1)…
(54) v→(t),kなどの意味は、前と同様である。境界
条件が軟出発と異なるため、この微分方程式の解
は、次のようになる。
x→(t)=(x→0−x→-1)sin kt+x→-1 …(55) v→(t)=k(x→0−x→-1)cos kt …(56) ただし、 u→-1=k(x→0−x→-1) …(57) kT=π/2 …(58) である。
これらの式の演算も、軟出発と同様に加算の繰
返しによつて微分方程式を解くという方法に置換
することが可能であつて、前述した(51)〜
(53)式に対応する式として、次の(59)〜(61)
式が得られる。
x→oew=x→pld+v→pld・Δt …(59) v→oew=v→pld+2k′ (−x→pld+x→-1)・Δt …(60) x→ioi=x→-1,v→ioi=u→-1 …(61) ここでも同様に、速度についての加算の繰返し
は、Δt/sごとに行なわれる。
次に、ひとつのテイーチング点から出発し、次
のテイーチング点において停止するような場合を
考える。この場合には、第11図に示すように、
作業点がx→=x→1で軟出発した後に、次のテイー
チング点x→=x→2に軟停止させることが必要にな
つてくる。この場合の例として、出発点と停止点
との中間点において、作業点の加速度α→(t)を最小
にし、それから離れるに従つて、加速度α→(t)を増
加させるという方法をとる。したがつて、基本方
程式は、 α→(t)=dv/→(t)/dt=k2・ (−x→+x/→1+x/→2/2) …(62) である。この方程式の解は次のようになる。
x→(t)=x/→1−x/→2/2・ cos kt+x/→1x/→2/2 …(63) v→(t)=−kx1−x2/2・sin kt …(64) 前と同様に、加算の繰返しのための式は、次の
ようになる。
x→oew=x→pld+v→pld・Δt …(65) v→oew=v→pld+2k′ (−x→pld+x/→1+x/→2/2)Δt …(66) x→ioi=x→1,v→ioi=0→ …(67) ここでもやはり、速度にいての加算の繰返し
は、Δt/sごとに行なわれる。尚、この場合には、 最大速度は−kx/→1−x/→2/2である。
第12図は、上述した軟出発、軟停止の制御
と、(5)式による補間制御とを組合わせて行なうこ
とができる補間回路30を示す図である。この補
間回路30は、第7図に示した補間回路22に対
応するものであつて、その中に含まれる回路要素
などのうち、第7図に示したものと同一のは同じ
参照番号を付してある。また、制御装置の構成要
素のうち、この補間回路30以外の部分について
は、第5図に示した構成と同様であるため、重複
説明は省略する。
第12図の補間回路30と、第7図の補間回路
22との相違点は次の通りである。まず、クロツ
ク発生回路としては、Δt(=2-10sec)ごとにクロ
ツク信号φ1を発生する第1のクロツク発生回路
314と、Δt/s(=2-10/s sec)ごとにクロツ ク信号φ2を発生する第2のクロツク発生回路3
15とを備えている。第1のクロツク発生回路3
14は、メモリ212からΔtの値を受け取つて
バツフアする第1のクロツク用バツフア316
と、タイマ320およびこの第1のクロツク用バ
ツフア316のそれぞれの出力を受けて第1のク
ロツク信号φを出力する第1のカウンタ317と
を備ている。また、第2のクロツク発生回路31
5も同様に、メモリ212からΔt/sの値を受け取 つてバツフアする第2のクロツク用バツフア31
8と、タイマ320およびこの第2のクロツク用
バツフア318のそれぞれの出力を受けて第2の
クロツク信号φ2を出力する第2のカウンタ31
9とを備えている。これらのクロツク発生回路
は、それぞれΔt,Δt/sの時間ごとに、第1と第2 のカウンタ317,319のキヤリ信号を、それ
ぞれクロツク信号φ1,φ2として出力する。した
がつて、第1のクロツク信号φ1は、第7図のク
ロツクφと同じものである。この第1のクロツク
信号φ1は、バツフア106および110へは直
接に与えられているが、バツフア108へは、マ
ルチプレクサ321を介して与えられている。第
2のクロツク信号φ2はマルチプレクサ321の
他の入力として与えられており、このマルチプレ
クサ321は、CPU211からの切替信号SW1
によつてクロツク信号φ1,φ2のうちのいずれか
一方を選択し、これをバツフア108へと与え
る。
バツフア110の出力は、加算器109および
I/Oポート214のほかに、減算器323の一
方の入力としても与えられている。また、I/O
ポート214に接続されたバツフア322の出力
がこの減算器323の他の入力として与えられて
いる。減算器323の出力は、入力する信号を
k′ビツトだけ上位側にシフトさせて出力するシフ
タ324を介して、マルチプレクサ325の1つ
の入力として与えられている。このマルチプレク
サ325は、バツフア106の出力を他の入力と
して受けており、CPU211からの切替信号Sw2
によつて2つの入力のうちのいずれかを選択し、
これを加算器107へと与えている。他の構成
は、第7図の補間回路22と同様である。
第12図の補間回路30を用いて、軟出発→(5)
式に基づく補間→軟停止、の順序で制御を行なう
場合についてその動作を説明する。まず軟出発に
おいては、切替信号Sw1によつてマルチプレクサ
321が第2のクロツク発生回路315からの入
力を選択する。すると、バツフア108には、第
2のクロツク信号φ2が入力されることになる。
また、切替信号Sw2によつて、マルチプレクサ3
25がシフタ324からの入力を選択する。した
がつて、加算器105やバツフア106などは、
この回路の動作とは無関係になつてくる。速度の
初期期値v→ioiとして0→が、また、位置の初期値x
i
oiとして最初のテイーチング点の位置x→0が、
CPU211からバツフア103,104へとそ
れぞれ入力される((53)式参照)。バツフア32
2には、次のテイーチング点の位置x→1がCPU2
11から入力される。
次に、v→ioiとx→ioiはそれぞれ、バツフア108

110へと移される。クロツク信号φ2が与えら
れると、バツフア108はその中に格納していた
v→ioiを加算器107へと与える。これと同時に、
vioiは加算器109へも与えられる。一方、バツ
フア110の中に格納されていたx→ioiは、加算器
109に与えられて、v→ioiを10ビツトだけ下位側
へシフトした信号と加算される。したがつて、加
算器109では(x→ioi+v→ioi×Δt)の加算が行

われる。
バツフア110の出力であるx→ioiは、減算器3
23にも与えられる。減算器323は、このx→ioi
を、バツフア322の出力であるx→1から差し引
いて、(−x→ioi+x→1)をシフタ324に与える。
シフタ324はこの信号をk′ビツトだけ上位側に
シフトしてマルチプレクサ325に与える。この
ため、加算器107の他の入力は2k′×(−x→ioi
x→1)となる。加算器107はこの入力を下位側
に10ビツトだけシフトさせて、バツフア108の
出力であるv→ioiと加え合わせる。したがつて加算
器107の出力は、v→ioi+2k′×(−x→ioi+x→
1)・
Δtとなる。バツフア108は、第2のクロツク
ク信号φ2の次のサイクルにおいて、この加算器
107の出力をv→pldとしてバツフアする。第2の
クロツク信号φ2の各サイクルにおいて、加算器
107とバツフア108とは、同様の動を繰返
す。このため、バツフア108,110にそれぞ
れ格納されている値をそれぞれv→pld,x→pldとすれ
ば、加算器107は(52)式の演算を行なつてv→
oewを求め、これをバツフア108へと与えるこ
とになる。このv→oewは、次のサイクルにおいて
v→pldとして取扱われる。加算器109とバツフア
110もまた同様に、第1のクロツク信号φ1
サイクルに従つて(51)式の演算を繰返す。
クロツク信号としてφ1とφ2の2つの信号を用
いているため、(51)式と(52)式のそれぞれの
演算のサイクルは互いに異なつたものとなつてい
る。このため、たとえばφ1<φ2の場合には、速
度についての繰返しが位置についての繰返しより
も遅くなり、それだけ加算回数が減ることになる
が、(52)式に関連して既に説明したように、繰
返しごとの増加分を多くとつているため、現実に
バツフア108,110からそれぞれ出力される
速度指令値および位置指令値は、その時点におけ
る指令値として適当なものとなつている。
次に、軟出発の制御を終わり、(5)式に基づく制
御に移るときには、切替信号Sw1,Sw2によつ
て、マルチプレクサ321が第1のクロツク発生
回路314側を選択し、マルチプレクサ325が
バツフア106の出力側を選択するように設定す
る。すると、第12図の補間回路30は、第7図
の補間回路22と実質的に同じ構成となり、(5)式
に基づく補間演算が行なわれる。
軟停止を行なう場合には、切替信号Sw1,Sw2
によつて、マルチプレクサ321,325を、上
述した軟出発と同じ状態にする。バツフア10
3,104に与えられる初期値はそれぞれu→-1
x→-1であり、バツフア322にはx→-1が与えられ
る((59)〜(61)式参照)。その後の動作は軟出
発の場合と同様である。
さらに、軟出発と軟停止とを連続して行ないた
い場合には、初期値として(67)式の値をバツフ
ア103,104へそれぞれ与え、バツフア32
2にはx/→1+x/→2/2を与えればよい。この場合
この 回路の動作も、上述のものと同様である。
以上説明した各実施例・変形例は、主として(5)
式に基づいた制御であるが、(5)式はこの発明のひ
とつの好ましい実施例の基礎にすぎず、他の補間
関数を用いることができることは、前に指摘した
通りである。また、補間関数をそのまま計算せ
ず、この補間関数を解とする微分方程式を基礎と
することによつて、繰返し演算が可能となり、加
算による高速の演算制御が可能となるが、補間関
数を他の方法で計算することも、この発明の範囲
に含まれる。さらに繰返し時間を2-N(Nは整数)
secととることによつて、シフト動作と加算だけ
で上記微分方程式を解くことができ、さらに高速
な演算制御が得られるが、この発明の補間制御は
このような繰返し時間の導入を必須とするもので
はない。この発明では、この発明の基礎となる補
間法を単独で用いてもよく、上述したような軟出
発・軟停止、さらには、直線補間、円弧補間、穂
坂の補間など、他の任意の補間法と共用して用い
ることをも内包している。
また、この発明の制御方法および制御装置はプ
レイバツク方式のロボツトに限らず、数値制御ロ
ボツトなどの他の種類のロボツトの制御にも用い
ることができる。テイーチング点など、作業点が
通過すべき位置における速度の方向の選択は、上
記実施例において例示した方向に限らず、たとえ
ばテイーチング点x→iにおいて、xi-1x――――→i
の方向
とxix――→i+1の方向とに異なつた重みをつけて平均
化した方向であつてもよい。作業点に描かせるべ
き軌跡の曲率が、出発点から停止点へ向うに従つ
て単調に増大したり減少したりするような軌跡
(たとえば螺旋形)などの場合には、このような
選択も有効である。
(発明の効果) このように、この発明によれば、比較的簡単で
あるにもかかわらず、軌跡の大域的性格を取り込
んだ補間制御を行なうことができ、従来の制御装
置の基礎となつている補間法の長所を兼ね備えた
ロボツト制御方法およびその装置を得ることがで
きる。特特に、この発明では補間軌道上での加減
速を禁じていないため、隣接する通過点の間で高
速変化が必要な場合にも補間軌跡に沿つて滑らか
な加減速が可能である。このため、ロボツトに急
激な運動を与えることもなく、ロボツトの機構部
に対する負担も少ない。
【図面の簡単な説明】
第1図ないし第3図は、穂坂の補間を説明する
ための図である。第4図はこの発明の実施例であ
るロボツト制御装置を用いたシステムの全体図で
ある。第5図は第4図のロボツト制御装置に含ま
れる制御回路の全体的構成を示す図である。第6
図はこの発明の実施例に用いられる補間法の原理
を説明するための図であ。第7図はこの発明の実
施例に含まれる補間回路の例を示すブロツク図で
ある。第8図はこの発明の変形例を説明するため
のフロー図である。第9図ないし第11図は、こ
の発明の他の変形例において共用される軟出発・
軟停止の方法を説明するための図である。第12
図は軟出発・軟停止の方法と組合わせて用いられ
たこの発明の他の変形例に含まれる補間回路を示
すブロツク図、第13図はこの発明の実施例によ
つて得られる補間軌跡を例示する説明図である。 11……制御装置、20……制御回路、21…
…マイクロコンピユータ、22,30……補間回
路、101〜104,106,108,110,
322……バツフア、105,107,109…
…加算器、321,325……マルチプレクサ、
323……減算器、324……シフタ。

Claims (1)

  1. 【特許請求の範囲】 1 駆動機構を有するロボツトの作業点に、所定
    の順序で所定の離散的な通過点を通過する運動を
    行なわせるためのロボツト制御方法であつて、 前記通過点のそれぞれの位置を表現する位置デ
    ータと、前記通過点のそれぞれにおいて前記作業
    点が有すべき速度の大きさを表現する速度データ
    とを準備するステツプと、 前記位置データと前記速度データとに基づい
    て、所定の時間間隔ごとの値を有し、かつ前記通
    過点における前記作業点の運動を補間する補間デ
    ータを求めるステツプと、 前記補間データに基づいて前記駆動機構を駆動
    するステツプとを含み、 前記補間データを求めるステツプは、 時間パラメータを変数とし、かつ4個以上の未
    定係数を含んだ位置補間関数を定義するステツプ
    と、 前記順序において連続する4個の通過点をXi
    −1,Xi,Xi+1,Xi+2としたとき、 (a) 通過点Xi,Xi+1におけるそれぞれの速度
    ベクトルの大きさが、当該通過点Xi,Xi+1
    について準備されたそれぞれの前記速度の値に
    応じた値となる条件と、 (b) 通過点Xiにおける前記速度ベクトルの方向
    が少なくとも通過点Xi−1,Xi,Xi+1の相
    対的位置関係に依存する方向となるとともに、
    通過点Xi+1における前記速度ベクトルの方
    向が少なくとも通過点Xi,Xi+1,Xi+2の
    相対的位置関係に依存する方向となる条件と、 をの双方の条件を満足するように前記未定係数の
    値を決定し、それによつて特定される前記位置補
    間関数によつて、通過点Xi,Xi+1の間の区間
    における補間軌跡を決定するステツプと、 を含むことを特徴とする、ロボツト制御方法。 2 前記位置補間関数は、時間パラメータに関す
    る3次以上の多項式として表現されてなる、特許
    請求の範囲第1項記載のロボツト制御方法。 3 前記多項式で表現された前記位置補間関数
    は、時間パラメータに関する微分方程式を満足
    し、かつ前記補間データは、前記微分方程式に基
    づいて決定される、特許請求の範囲第2項記載の
    ロボツト制御方法。 4 前記所定の時間間隔は、Nを整数としたとき
    2-N秒であり、前記微分方程式は、前記所定の時
    間間隔ごとにその値が更新される繰返し演算式に
    よつて近似されており、前記繰返し演算式は、前
    記所定の時間間隔と被乗算数との乗算と、前記乗
    算による乗算結果と被加算数との加算とを含み、
    かつ前記繰返し演算式の演算は、前記被乗算数を
    Nビツトだけで下位側にシフトさせて前記被加算
    数と加算する演算によつて達成される、特許請求
    の範囲第3項記載のロボツト制御方法。 5 前記所定の順序に沿つて隣接する2つの通過
    点のうち少なくとも一方に対する前記速度データ
    の値が0である場合には、前記隣接する2つの通
    過点の間を補間する補間データは、前記作業点の
    加速度が所定の位置から距離に相関して変化する
    ように演算される、特許請求の範囲第1項ないし
    第4項のいずれかに記載のロボツト制御方法。 6 前記隣接する2の通過点の間を補間する前記
    補間データは、前記相関を記述する微分方程式に
    基づいて演算され、前記相関を記述する前記微分
    方程式は、前記所定の時間間隔と、前記所定の時
    間間隔とは異なる他の時間間隔とによる、それぞ
    れの繰返し演算の組合せによつて解かれ、かつ前
    記繰返し演算は、シフト演算と加算とによつて達
    成される、特許請求の範囲第5項記載のロボツト
    制御方法。 7 駆動機構を有するロボツトの作業点に、所定
    の順序で所定の離散的な通過点を通過する運動を
    行なわせるためのロボツト制御装置であつて、 前記通過点のそれぞれの位置を表現する位置デ
    ータと、前記通過点のそれぞれにおいて前記作業
    点が有すべき速度の大きさを表現する速度データ
    とを記憶する記憶手段と、 前記記憶手段から、前記位置データと前記速度
    データとを読出す読出手段と、 前記読出手段から読出された前記位置データと
    前記速度データとを入力して、所定の時間間隔ご
    との値を有し、かつ前記通過点の間における前記
    作業点の運動をを補間する補間データを発生する
    補間データ発生手段と、 前記補間データ発生手段で発生された前記補間
    データを前記駆動機構に出力して前記駆動機構を
    駆動させる出力手段とを備え、 前記補間データ発生手段は、 時間パラメータを変数とし、かつ4個以上の未
    定係数を含んだ位置補間関数を保持する手段と、 前記順序において連続する4個の通過点をXi
    −1,Xi,Xi+1,Xi+2としたとき、 (a) 通過点Xi,Xi+1におけるそれぞれの速度
    ベクトルの大きさが、当該通過点Xi,Xi+1
    について準備されたそれぞれの前記速度の値に
    応じた値となる条件と、 (b) 通過点Xiにおける前記速度ベクトルの方向
    が少なくとも通過点Xi−1,Xi,Xi+1の相
    対的位置関係に依存する方向となるとともに、
    通過点Xi+1における前記速度ベクトルの方
    向が少なくとも通過点Xi,Xi+1,Xi+2の
    相対的位置関係に依存する方向となる条件と、 をの双方の条件を満足するように前記未定係数
    の値を決定し、それによつて特定される前記位
    置補間関数によつて、通過点Xi,Xi+1の間
    の区間における補間軌跡を決定する手段と、 を含むことを特徴とする、ロボツト制御装置。 8 前記位置補間関数は、時間パラメータに関す
    る3次以上の多項式として表現されてなる、特許
    請求の範囲第7項記載のロボツト制御装置。 9 前記多項式で表現された前記位置補間関数
    は、時間パラメータに関する微分方程式を満足
    し、前記補間データ演算手段は、前記微分方程式
    に基づいて前記補間データの演算を行なう微分方
    程式演算手段を含む、特許請求の範囲第8項記載
    のロボツト制御装置。 10 前記所定の時間間隔は、Nを整数としたと
    き2-N秒であり、前記微分方程式演算手段は、前
    記所定の時間間隔ごとに出力値が更新される繰返
    し演算手段を含み、前記繰返し演算手段は、前記
    所定の時間間隔と被乗算数との乗算と、前記乗算
    による乗算結果と被加算数との加算とを行う乗加
    算手段を含み、前記乗加算手段は、前記被乗算数
    をNビツトだけ下位側にシフトさせて前記被加算
    数とする演算手段である、特許請求の範囲第9項
    記載のロボツト制御装置。 11 前記補間データ発生手段はさらに、前記所
    定の順序に沿つて隣接する2つの通過点のうち少
    なくとも一方に対する前記速度データの値が0で
    ある場合には、前記隣接する2つの通過点の間を
    補間する補間データを前記作業点の加速度が所定
    の位置からの距離に相関して変化するように演算
    する第2の補間データ演算手段を含む、特許請求
    の範囲第7項ないし第10項のいずれかに記載の
    ロボツト制御装置。 12 前記第2の補間データ演算手段は、前記相
    関を記述する微分方程式に基づいて演算を行なう
    第2の微分方程式演算手段を含み、前記第2の微
    分方程式演算手段は、前記所定の時間間隔と、前
    記所定の時間間隔とは異なる他の時間間隔とによ
    る、それぞれの繰返し演算を組合わせて行なう異
    時間繰返し演算手段を含み、かつ前記異時間繰返
    し演算手段は、シフト演算と加算とを行なう手段
    を含む、特許請求の範囲第11項記載のロボツト
    制御装置。
JP13618384A 1984-06-29 1984-06-29 ロボツト制御方法およびその装置 Granted JPS6115207A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13618384A JPS6115207A (ja) 1984-06-29 1984-06-29 ロボツト制御方法およびその装置
US06/744,601 US4689756A (en) 1984-06-29 1985-06-14 Robot interpolation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13618384A JPS6115207A (ja) 1984-06-29 1984-06-29 ロボツト制御方法およびその装置

Publications (2)

Publication Number Publication Date
JPS6115207A JPS6115207A (ja) 1986-01-23
JPH0522921B2 true JPH0522921B2 (ja) 1993-03-31

Family

ID=15169281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13618384A Granted JPS6115207A (ja) 1984-06-29 1984-06-29 ロボツト制御方法およびその装置

Country Status (1)

Country Link
JP (1) JPS6115207A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255010A (ja) * 1988-04-05 1989-10-11 Mitsubishi Electric Corp 曲線補間装置
JPH0236406A (ja) * 1988-07-26 1990-02-06 Toyoda Mach Works Ltd スプライン補間機能を有するnc装置
JPH0341272U (ja) * 1989-08-31 1991-04-19
JP5380672B2 (ja) * 2007-02-20 2014-01-08 国立大学法人 名古屋工業大学 モーションプランナ、制御システム、および多軸サーボシステム
JP5954078B2 (ja) 2012-09-25 2016-07-20 ブラザー工業株式会社 印字装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4403281A (en) * 1981-04-03 1983-09-06 Cincinnati Milacron Industries, Inc. Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path
JPH0695294B2 (ja) * 1981-10-05 1994-11-24 株式会社日立製作所 産業用ロボットの軌跡補間方法

Also Published As

Publication number Publication date
JPS6115207A (ja) 1986-01-23

Similar Documents

Publication Publication Date Title
US4689756A (en) Robot interpolation control method
JP7203058B2 (ja) 機械システムへの入力を生成する方法、及び複数のロボットジョイントを含むロボット
US4262336A (en) Multi-axis contouring control system
JP3830475B2 (ja) 制御装置
JP3485639B2 (ja) 直角座標空間における経路プランニング方法及びシステム
US4449196A (en) Data processing system for multi-precision arithmetic
Bazaz et al. Minimum time on-line joint trajectory generator based on low order spline method for industrial manipulators
JP2001296912A (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
JPH0319964B2 (ja)
WO1997008596A1 (en) Curve interpolation method for carrying out speed control operation when robot makes connecting action
JP2016055404A (ja) 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体
JP2005182437A (ja) 数値制御装置及び数値制御方法
JP2506760B2 (ja) ロボットの制御装置
KR20100083169A (ko) 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법
JPH0522921B2 (ja)
JP2003241811A (ja) 産業用ロボットの経路計画方法及び経路計画装置
JP2790643B2 (ja) 数値制御装置
JP6046994B2 (ja) 制御装置
Van Aken et al. On-line robot trajectory control in joint coordinates by means of imposed acceleration profiles
JP2643683B2 (ja) ロボットの制御方法
JP2628297B2 (ja) ロボット制御方法およびその装置
JP3805476B2 (ja) モータ制御装置
JP3586110B2 (ja) 軌跡制御装置
JPH0695294B2 (ja) 産業用ロボットの軌跡補間方法
JPH09244725A (ja) 軌道補間装置及びその方法並びに制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees