JPS6115207A - ロボツト制御方法およびその装置 - Google Patents
ロボツト制御方法およびその装置Info
- Publication number
- JPS6115207A JPS6115207A JP13618384A JP13618384A JPS6115207A JP S6115207 A JPS6115207 A JP S6115207A JP 13618384 A JP13618384 A JP 13618384A JP 13618384 A JP13618384 A JP 13618384A JP S6115207 A JPS6115207 A JP S6115207A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- data
- robot control
- equation
- interpolation data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical 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/41—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45083—Manipulators, 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(発明の分野)
この発明は、ロボット制御方法およびその装置に関する
もので、特に、補間制御についての改良を加えたロボッ
ト制御方法およびその装置に関する。
もので、特に、補間制御についての改良を加えたロボッ
ト制御方法およびその装置に関する。
(先行技術の説明)
プレイバック方式などによってロボットを制御する場合
には、離散的なティーチング点の情報のみを制御装置内
に記憶させているため、再生動作においては、これらの
ティーチング点の位置などの情報を補間して制御を行な
う必要が生ずる。
には、離散的なティーチング点の情報のみを制御装置内
に記憶させているため、再生動作においては、これらの
ティーチング点の位置などの情報を補間して制御を行な
う必要が生ずる。
このような補間の方法としては、たとえば周知の直線補
間や円弧補間などがある。これらの補間法は、演算が比
較的簡単であるという特徴を有するものの、それぞれの
補間法に適応した軌跡(たとえば直線補間では、直線や
曲率半径の大きな曲線)以外の軌跡に対しては、一般的
に滑らかさに欠けるという欠点を有している。
間や円弧補間などがある。これらの補間法は、演算が比
較的簡単であるという特徴を有するものの、それぞれの
補間法に適応した軌跡(たとえば直線補間では、直線や
曲率半径の大きな曲線)以外の軌跡に対しては、一般的
に滑らかさに欠けるという欠点を有している。
一方、東京大学の穂坂衛教授等によって与えられた形状
設計のアルゴリズムをロボットの補間制−に応用した技
術が、この発明の発明者によって既に提案されている。
設計のアルゴリズムをロボットの補間制−に応用した技
術が、この発明の発明者によって既に提案されている。
この技術は、たとえば特開昭56−52408号の中に
記載されており、また、穂坂のアルゴリズムそのものに
ついては、たとえば「情報処理」第17巻第12号第1
120頁〜第1127頁(1976年12月)に記載さ
れている。そこで、ここでは、以下の説明に必要な範囲
内で、この技術を説明する。
記載されており、また、穂坂のアルゴリズムそのものに
ついては、たとえば「情報処理」第17巻第12号第1
120頁〜第1127頁(1976年12月)に記載さ
れている。そこで、ここでは、以下の説明に必要な範囲
内で、この技術を説明する。
穂坂のアルゴリズムを応用したこの補間法(以下、「穂
坂の補間」と呼ぶ)は、ひとつの補間曲線を、ティーチ
ング点の数に対応した数だけの部分曲線(これは「曲線
弁」と呼ばれる)の集合としてとらえ、これらの曲線弁
のうち隣接した曲線弁に対して特定の平均化操作を行な
うことによって、さらに滑らかな補間曲線を作り出すと
いう思想に立脚している。この方法では、まず、第1図
に示したように、ティーチング点の位置ベクトルR4(
i=1〜m)のうち、隣接する位置ベクトルR1゜I Ri+1の間を直線補間して、第1段階めの補間曲線C
1を作る。この補間曲線(折れ線)C1のう′ち、R9
とRi+1とを結ぶ曲線弁をパラメータU(0≦U≦1
)によって、D、1(u)とパラメータ表示する。この
記号り、1(u)のうちの添字iは1番目の曲線弁く接
続要素とも呼ばれる)であることを示し、添字1は第1
段階めの補間による曲線弁であることを示す(以下、同
様)。このようにして第1段階めの補間曲線を定義した
後、漸化式;%式%() 【1) を繰り返し用いて、第n段階めの曲線弁Di、。(U)
を求め、このり、(u)の集合として、第n段1n。
坂の補間」と呼ぶ)は、ひとつの補間曲線を、ティーチ
ング点の数に対応した数だけの部分曲線(これは「曲線
弁」と呼ばれる)の集合としてとらえ、これらの曲線弁
のうち隣接した曲線弁に対して特定の平均化操作を行な
うことによって、さらに滑らかな補間曲線を作り出すと
いう思想に立脚している。この方法では、まず、第1図
に示したように、ティーチング点の位置ベクトルR4(
i=1〜m)のうち、隣接する位置ベクトルR1゜I Ri+1の間を直線補間して、第1段階めの補間曲線C
1を作る。この補間曲線(折れ線)C1のう′ち、R9
とRi+1とを結ぶ曲線弁をパラメータU(0≦U≦1
)によって、D、1(u)とパラメータ表示する。この
記号り、1(u)のうちの添字iは1番目の曲線弁く接
続要素とも呼ばれる)であることを示し、添字1は第1
段階めの補間による曲線弁であることを示す(以下、同
様)。このようにして第1段階めの補間曲線を定義した
後、漸化式;%式%() 【1) を繰り返し用いて、第n段階めの曲線弁Di、。(U)
を求め、このり、(u)の集合として、第n段1n。
階めの所望の補間曲線C1を得る。ここで、ω(τ)は
ウェイト関数である。
ウェイト関数である。
(1)式の意味するところは、第2図によって、より明
確に理解することができよう。すなわち、まず、第2図
に示した第(に−1)段階めの補間曲線Ck−1に属す
る1番目の接続要素r〕i、に−1(u)および(++
1)番目の接続要素Di+1.に−1”)のうち、特定
のU(たとえばU )に対応する点Di、に一1境界点
叶との、それぞれの間に位置する部分Li、 ’ ir
lを取り出す。次に、これらの部分り、l−++1上の
それぞれの点の位置を、ウェイト関数ω(τ)を用いて
加重平均する。そして、このようにして得られた疑似重
心点を、第に段階における曲線弁D3k(u)のうちの
ひとつの点り、、K((1,1とするのである。パラメ
ータUのそれぞれの値についてこのような操作を行なう
ことによって、Dt、k(u)の全体を得ることができ
る。
確に理解することができよう。すなわち、まず、第2図
に示した第(に−1)段階めの補間曲線Ck−1に属す
る1番目の接続要素r〕i、に−1(u)および(++
1)番目の接続要素Di+1.に−1”)のうち、特定
のU(たとえばU )に対応する点Di、に一1境界点
叶との、それぞれの間に位置する部分Li、 ’ ir
lを取り出す。次に、これらの部分り、l−++1上の
それぞれの点の位置を、ウェイト関数ω(τ)を用いて
加重平均する。そして、このようにして得られた疑似重
心点を、第に段階における曲線弁D3k(u)のうちの
ひとつの点り、、K((1,1とするのである。パラメ
ータUのそれぞれの値についてこのような操作を行なう
ことによって、Dt、k(u)の全体を得ることができ
る。
第3図は、各段階における各曲線弁が、どの接続要素か
ら得られるかを矢印によって示した図である。ただし、
記号(i、n)はo、。(u)を示し、他も同様である
。このうち、たとえば矢印ARは、)が得られることを
示している。この図かられか、1.・・・n)から得ら
れるわけであり“、また、(1)式は線形の漸化式であ
るから、Di、。(11)は、次のように、R1,(j
=0.1.・・・n)の線形結合として書l+J き表わすことができる。
ら得られるかを矢印によって示した図である。ただし、
記号(i、n)はo、。(u)を示し、他も同様である
。このうち、たとえば矢印ARは、)が得られることを
示している。この図かられか、1.・・・n)から得ら
れるわけであり“、また、(1)式は線形の漸化式であ
るから、Di、。(11)は、次のように、R1,(j
=0.1.・・・n)の線形結合として書l+J き表わすことができる。
ここで係数fj、。(u)L;L、(1)式を実際に計
算することによって、Uの多項式として表わすことがで
きるが、詳細は省略する。
算することによって、Uの多項式として表わすことがで
きるが、詳細は省略する。
(2)式において重要な点は、第n段階めのそれぞれの
曲線分は、連続する(n+1)個のティーチング点R、
(j=o、1,2.・・・n)の情報を取り込んだ形1
←J r形成されているということである。したがって、たと
えば第3段階めに得られる補間曲線C3を実際の制御に
おける補間曲線として用いる場合には、連続した4個の
ティーチング点の位置情報を取り込んだ補間となってい
る。
曲線分は、連続する(n+1)個のティーチング点R、
(j=o、1,2.・・・n)の情報を取り込んだ形1
←J r形成されているということである。したがって、たと
えば第3段階めに得られる補間曲線C3を実際の制御に
おける補間曲線として用いる場合には、連続した4個の
ティーチング点の位置情報を取り込んだ補間となってい
る。
このため、種板の補間はティーチング点の連鎖における
大域的な幾何学的性質を考慮した補間となっており、直
線補間や円弧補間と比較して、より滑らかな補間曲線が
得られる。
大域的な幾何学的性質を考慮した補間となっており、直
線補間や円弧補間と比較して、より滑らかな補間曲線が
得られる。
ところが、種板の補間にもいくつかの欠点がある。その
ひとつは、得られた補間曲線が、一般にはティーチング
点を通らないということである。
ひとつは、得られた補間曲線が、一般にはティーチング
点を通らないということである。
このため、得られるべき補間曲線がティーチング点のす
べてを通るように、計算上のティーチング点(「基準点
]と呼ばれている)PIを、次の(4)式によって定義
する。
べてを通るように、計算上のティーチング点(「基準点
]と呼ばれている)PIを、次の(4)式によって定義
する。
そして、この連立方程式を解くことによって得られる基
準点P、を基礎にして、上述した補間曲線を求めなけれ
ばならない。このような手続すなわち逆変換が必要であ
るために、計算ステップが増加してしまう。
準点P、を基礎にして、上述した補間曲線を求めなけれ
ばならない。このような手続すなわち逆変換が必要であ
るために、計算ステップが増加してしまう。
また、種板の補間におけるパラメータは、各曲線分のパ
ラメータ表示を行なう目的で導入された空間パラメータ
であって、現実の時刻との対応が明確ではない。このた
め、Uと時刻との対応を表わす関数形を各曲線分ごとに
決定するというステップを付加する必要が生ずる。
ラメータ表示を行なう目的で導入された空間パラメータ
であって、現実の時刻との対応が明確ではない。このた
め、Uと時刻との対応を表わす関数形を各曲線分ごとに
決定するというステップを付加する必要が生ずる。
さらに、補間曲線の平滑化を進める目的で、かなり大き
なnに対する第n段階めの補間曲線を用いると、円から
直線への変化のような、幾何学的性質が急激に変化する
ような軌跡をティーチングしである場合には、その時点
よりも前の時間帯における軌跡の記憶が残っているため
に、ロボットへの位置の指令値がこの変化に追随し得な
くなってしまう。この問題に関しては、たとえば特開昭
57−125406号に記載されているように、軌跡の
幾何学的変化が大きい位置では、種板の補間を行なうた
めの手段を無効化するという方法もある。しかしながら
、このような変化にもある程度追随可能であり、かつ十
分な滑らかさを確保できる補間法を得ることができれば
、このような無効化を多用しなくても済むことになり、
状況によっては、無効化を要しないことになろう。
なnに対する第n段階めの補間曲線を用いると、円から
直線への変化のような、幾何学的性質が急激に変化する
ような軌跡をティーチングしである場合には、その時点
よりも前の時間帯における軌跡の記憶が残っているため
に、ロボットへの位置の指令値がこの変化に追随し得な
くなってしまう。この問題に関しては、たとえば特開昭
57−125406号に記載されているように、軌跡の
幾何学的変化が大きい位置では、種板の補間を行なうた
めの手段を無効化するという方法もある。しかしながら
、このような変化にもある程度追随可能であり、かつ十
分な滑らかさを確保できる補間法を得ることができれば
、このような無効化を多用しなくても済むことになり、
状況によっては、無効化を要しないことになろう。
(発明の目的)
この発明の目的は、比較的簡単であるにもかかわらず、
軌跡の大域的性格を取り込んだ補間制御を行なうことが
でき、従来のl111m装置の基礎となっている種々の
補間法の長所を兼ね備えたロボット制御方法およびその
装置を提供することである。
軌跡の大域的性格を取り込んだ補間制御を行なうことが
でき、従来のl111m装置の基礎となっている種々の
補間法の長所を兼ね備えたロボット制御方法およびその
装置を提供することである。
(発明の構成)
この発明のロボット制御方法は、駆動機構を有するロボ
ットの作業点に、所定の順序で所定の離散的な通過点を
通過する運動を行なわせるためのロボット制御方法であ
って、前記通過点のそれぞれの位置を表現する位置デー
タと、前記通過点のそれぞれにおいて前記作業点が有す
べき速度の大きさを表現する速度データとを用いること
によって、前記速度データに依存する大きさと、前記位
置データのうち前記所定の順序に沿って連続する複数の
通過点をそれぞれ表現するデータの相対的関係に依存す
る方向とを有する速度で、前記作業点が前記通過点を通
過するという条件に基づいて補間データを求めるステッ
プを含んでいる。
ットの作業点に、所定の順序で所定の離散的な通過点を
通過する運動を行なわせるためのロボット制御方法であ
って、前記通過点のそれぞれの位置を表現する位置デー
タと、前記通過点のそれぞれにおいて前記作業点が有す
べき速度の大きさを表現する速度データとを用いること
によって、前記速度データに依存する大きさと、前記位
置データのうち前記所定の順序に沿って連続する複数の
通過点をそれぞれ表現するデータの相対的関係に依存す
る方向とを有する速度で、前記作業点が前記通過点を通
過するという条件に基づいて補間データを求めるステッ
プを含んでいる。
また、この発明のロボット制御装置は、上記方法を実現
する手段を含んでいる。
する手段を含んでいる。
ただし、この明Iomで用いる「作業点」という用語は
、ロボットのツールの先端やエンドエフェクタの先端、
さらにはレーザ溶断ロボットなどではレーザの焦点位U
など、ロボットが実際に作業を行なう位置を指すものと
して用いる。また、「通過点」とは、出発点や停止点を
も包含した用語である。
、ロボットのツールの先端やエンドエフェクタの先端、
さらにはレーザ溶断ロボットなどではレーザの焦点位U
など、ロボットが実際に作業を行なう位置を指すものと
して用いる。また、「通過点」とは、出発点や停止点を
も包含した用語である。
(発明の実施例〉
(1) 実施例の全体的構成と動作
第4図は、この発明の一実施例であるロボット制御装置
と、この制御装置を用いて制御されるロボットとを例示
した全体図である。第4図に示したロボットRBは、直
角座標型のレーザ溶断ロボットであるが、この発明のロ
ボット制御装置は他の種類のロボット、たとえば各種の
座標型や多関節型の、溶接ロボットや組立ロボットなど
の制御にも用いることかできるということを、あらかじ
め指摘しておく。
と、この制御装置を用いて制御されるロボットとを例示
した全体図である。第4図に示したロボットRBは、直
角座標型のレーザ溶断ロボットであるが、この発明のロ
ボット制御装置は他の種類のロボット、たとえば各種の
座標型や多関節型の、溶接ロボットや組立ロボットなど
の制御にも用いることかできるということを、あらかじ
め指摘しておく。
第1図において、このロボットRBは基台1を有してお
り、この基台1は、水平方向すなわち図のX方向に延び
た作業台2と、この作業台2の両側部から、X方向に対
して直角に延びた、支持台3とを備えている。作業台2
の上には、X方向に移動自在な移動台4か載置されてお
り、この移動台4は、モータM1 (図示せず)によっ
て駆動されて、X方向に往復運動を行なう。支持台3の
1−には、2本のコラム5が略平行に立設されており、
これらの]コラムの頂部の間には、図のY方向に延びた
ビーム6が架設されている。このビーム6には、鉛直方
向すなわち図のZ方向に延びた移動コラム7が、Y方向
に移動自在に取りつけられている。モータM2は、この
移動コラム7をY方向に往復運動させるための動力源で
ある。移動コラム7には、その下端に取りつけられたモ
ータM4を7方向に上下させるためのモータM3が設け
られている。モータM4の下部には、Z方向に延びたア
ーム8が、モータM4の回転軸からはずれた位置に取り
つけられ、でおり、モータM4の回転に伴なって、この
アーム8は図のθ方向に回転する。
り、この基台1は、水平方向すなわち図のX方向に延び
た作業台2と、この作業台2の両側部から、X方向に対
して直角に延びた、支持台3とを備えている。作業台2
の上には、X方向に移動自在な移動台4か載置されてお
り、この移動台4は、モータM1 (図示せず)によっ
て駆動されて、X方向に往復運動を行なう。支持台3の
1−には、2本のコラム5が略平行に立設されており、
これらの]コラムの頂部の間には、図のY方向に延びた
ビーム6が架設されている。このビーム6には、鉛直方
向すなわち図のZ方向に延びた移動コラム7が、Y方向
に移動自在に取りつけられている。モータM2は、この
移動コラム7をY方向に往復運動させるための動力源で
ある。移動コラム7には、その下端に取りつけられたモ
ータM4を7方向に上下させるためのモータM3が設け
られている。モータM4の下部には、Z方向に延びたア
ーム8が、モータM4の回転軸からはずれた位置に取り
つけられ、でおり、モータM4の回転に伴なって、この
アーム8は図のθ方向に回転する。
また、アーム8の下側部には、レーザトーチTが取りつ
けられたモータM5が設けられており、このモータM5
が回転することによって、レーザトーチTが図のψ方向
に旋回する。これらのモータM1〜M5には、それぞれ
のモータの回転角を、コニンコードするためのエンコー
ダE1〜E5 (図示せず)が、それぞれ取りつけられ
ている。
けられたモータM5が設けられており、このモータM5
が回転することによって、レーザトーチTが図のψ方向
に旋回する。これらのモータM1〜M5には、それぞれ
のモータの回転角を、コニンコードするためのエンコー
ダE1〜E5 (図示せず)が、それぞれ取りつけられ
ている。
レーザ発振装置9は、溶断作業に必要とされるだ(プの
パワーを有するレーザ光を発振し、レーザガイドバイブ
1oを通して、このレーザ光をレーザトーチTへと与え
ることがCきる。制御装置11は、このロボットRBと
レーザ発振′装置9とを制御するためのものであって、
この発明の実施例であるロボット制御装置である。
パワーを有するレーザ光を発振し、レーザガイドバイブ
1oを通して、このレーザ光をレーザトーチTへと与え
ることがCきる。制御装置11は、このロボットRBと
レーザ発振′装置9とを制御するためのものであって、
この発明の実施例であるロボット制御装置である。
第5図は、前述した制御装置11の中に含まれる制御回
路20のブロック図である。この制御回路20は、主制
御回路として、たとえばマイクロコンピュータ21を含
んでいる。マイクロコンピュータ21は、バス213を
介して互いに接続されたCI”’U211、メモリ21
2およびI10ボート214を備えている。また、制御
回路20には、I10ポート214を介してマイクロコ
ンピュータ21の内部へと接続された補間回路22が含
まれている。この補間回路22は、侵に詳しく説明する
ように、ティーチング点の間の補間演算を行なうための
回路である。この補間回路22は、この図に示したよう
に、専用の回路として設けてもよく、また、マイクロコ
ンピュータ21内において、プログラムに基く補間演算
を行なわせることによって、この補間回路22を省略す
ることも可能である。
路20のブロック図である。この制御回路20は、主制
御回路として、たとえばマイクロコンピュータ21を含
んでいる。マイクロコンピュータ21は、バス213を
介して互いに接続されたCI”’U211、メモリ21
2およびI10ボート214を備えている。また、制御
回路20には、I10ポート214を介してマイクロコ
ンピュータ21の内部へと接続された補間回路22が含
まれている。この補間回路22は、侵に詳しく説明する
ように、ティーチング点の間の補間演算を行なうための
回路である。この補間回路22は、この図に示したよう
に、専用の回路として設けてもよく、また、マイクロコ
ンピュータ21内において、プログラムに基く補間演算
を行なわせることによって、この補間回路22を省略す
ることも可能である。
I10ポート214にはまた、前述したモータM −M
5とエンコーダF1〜F5とをそれぞれ含んだサーボ系
S −S 、ティーチングボα1 α5 ックス23、ティーチングスイツヂSWおよびレーザ発
振装置9が接続されている。ティーチングボックス23
は、ティーチング、テスト、再生の各モードを切替える
モード切替スイッチや、各種制御条件を入力する入力ス
イッチなど(図示せず)を備えている。また、ティーチ
ングスイッチSWを押すことによって、エンコーダE1
〜E5からの情報がティーチング情報として、マイクロ
コンピュータ21の中に取り込まれる。
5とエンコーダF1〜F5とをそれぞれ含んだサーボ系
S −S 、ティーチングボα1 α5 ックス23、ティーチングスイツヂSWおよびレーザ発
振装置9が接続されている。ティーチングボックス23
は、ティーチング、テスト、再生の各モードを切替える
モード切替スイッチや、各種制御条件を入力する入力ス
イッチなど(図示せず)を備えている。また、ティーチ
ングスイッチSWを押すことによって、エンコーダE1
〜E5からの情報がティーチング情報として、マイクロ
コンピュータ21の中に取り込まれる。
第4図に示したロボットRBに再生動作を行なわせるに
は、まず、ワーク(図示せず)を、移動箱4の上に固定
する。その後、ティーヂングボックス23を操作するこ
とによって、再生モードとする。すると、CPU211
は、メモリ212に配憶されているティーチング情報を
順次読み出し、バス213およびI10ボート214を
介して、この情報を補間回路22へと与える。この補間
回路22は、後に詳しく説明するような構成と動作とを
有しており、入力されたティーチング情報の補間演紳を
行なって得られた補間指令値をモータM1〜M6へと出
力する。モータM1〜M6は、この補間指令値に基づい
て回転し、それによってレーザトーチTの先端は、ワー
クに対する相対位置と相対速度とを変化させながら、所
定の軌跡を描く。C1)U211は、これと同時に、レ
ーザ発振装置9へと出力制御信号を与える。レーザ発振
装Wi9は、この出力制御信号に基づいて、そのレーザ
出力を、所定の出力値に固定するか、または必要に応じ
て変化させる。このような動作によって、レーザトーチ
Tからのレーザがワークに照射され、所望の軌跡に従っ
たワークの溶断が行なわれる。
は、まず、ワーク(図示せず)を、移動箱4の上に固定
する。その後、ティーヂングボックス23を操作するこ
とによって、再生モードとする。すると、CPU211
は、メモリ212に配憶されているティーチング情報を
順次読み出し、バス213およびI10ボート214を
介して、この情報を補間回路22へと与える。この補間
回路22は、後に詳しく説明するような構成と動作とを
有しており、入力されたティーチング情報の補間演紳を
行なって得られた補間指令値をモータM1〜M6へと出
力する。モータM1〜M6は、この補間指令値に基づい
て回転し、それによってレーザトーチTの先端は、ワー
クに対する相対位置と相対速度とを変化させながら、所
定の軌跡を描く。C1)U211は、これと同時に、レ
ーザ発振装置9へと出力制御信号を与える。レーザ発振
装Wi9は、この出力制御信号に基づいて、そのレーザ
出力を、所定の出力値に固定するか、または必要に応じ
て変化させる。このような動作によって、レーザトーチ
Tからのレーザがワークに照射され、所望の軌跡に従っ
たワークの溶断が行なわれる。
(2) 補間制御の原理
ここで、前述した制御回路20において実行される補間
の原理を具体例に則して説明する。たとえば、プレイバ
ック方式のロボット用制御装置を考えた場合、ティーチ
ングによって、離散的な通過点としてのティーチング点
の位n情報たとえば位置ベクトルX・(i=1.2.・
・・、I IIは整数)の各■ 成分と、上記ティーチング点を作業点が通過するときの
通過速度の大ぎさU、とが与えられている。
の原理を具体例に則して説明する。たとえば、プレイバ
ック方式のロボット用制御装置を考えた場合、ティーチ
ングによって、離散的な通過点としてのティーチング点
の位n情報たとえば位置ベクトルX・(i=1.2.・
・・、I IIは整数)の各■ 成分と、上記ティーチング点を作業点が通過するときの
通過速度の大ぎさU、とが与えられている。
そこで、X・(1,2,・・・、m)の連鎖の間を補間
する位置の補間関数を、時刻tの関数として×(t)と
書き、この発明の条件を満足するx (t)のひとつの
例として、各補間区間ごとに成立する次の補間関数を考
える。
する位置の補間関数を、時刻tの関数として×(t)と
書き、この発明の条件を満足するx (t)のひとつの
例として、各補間区間ごとに成立する次の補間関数を考
える。
(i=1.2. ・・・、鵬)
川(5)ただし、(5)式において、U、は、第
6図に示づ有するものとして定義されるベクトルである
。す・・・(7) である。ここで記号+! IIは、ベクトルのノルムを
示す。
川(5)ただし、(5)式において、U、は、第
6図に示づ有するものとして定義されるベクトルである
。す・・・(7) である。ここで記号+! IIは、ベクトルのノルムを
示す。
もっとも、i=1すなわち出発点においては、×ト1は
定義されていないが、この場合のxi−1は適当な値と
して設定しておけばよく、たとえば×i−1””−(x
i+1−xi ) ・・・(8)と設定して
おくことができる。この(8)式は、反ト、が、xiに
関して、×1+1の反対側に位置するという条件である
。また、]・は、作業点がXiからxi+1に至るまで
の所要時間であって、T+=Iし、u−×、、If /
(LliHLJi+1) 、、、 (
g)で与えられる。さらに、(5)式における時刻tは
、作業点がX、を通過した時刻を1=0として測ってあ
り、したがってx 、 (i=1.2.・・・、s)の
それぞれを通過するごとにOへとリセットされる時刻で
ある。もっとも、軌跡全体を通した時刻t で表現した
いときには、 t→t −Σモ ・・・(1o)a
j・1 と置換えれば良い。
定義されていないが、この場合のxi−1は適当な値と
して設定しておけばよく、たとえば×i−1””−(x
i+1−xi ) ・・・(8)と設定して
おくことができる。この(8)式は、反ト、が、xiに
関して、×1+1の反対側に位置するという条件である
。また、]・は、作業点がXiからxi+1に至るまで
の所要時間であって、T+=Iし、u−×、、If /
(LliHLJi+1) 、、、 (
g)で与えられる。さらに、(5)式における時刻tは
、作業点がX、を通過した時刻を1=0として測ってあ
り、したがってx 、 (i=1.2.・・・、s)の
それぞれを通過するごとにOへとリセットされる時刻で
ある。もっとも、軌跡全体を通した時刻t で表現した
いときには、 t→t −Σモ ・・・(1o)a
j・1 と置換えれば良い。
(5)式のx (t)が、この発明の基礎となる条件を
満足することは、容易に確認することができる。
満足することは、容易に確認することができる。
事実、(5)式において、t=o、T・とすると、■
x(0)=x・ ・・・(1
1)x(T暑=x、 4− (x、+1−x、 ) =
x、+1・・・(12) となる。また 夛j(【)−÷(1)と置くと、(5)
ゝdも 式より、 → (ニー七)2 → (亙−t)七 −七2V
(tl −u; −+ w・−七u+tl T2 ・
・・(13)工2 ゛ 工2 となる。ただし、 引−令(礼、−支、 ) −2(’iu、 +G+。1
)・・・(14) である。したがって、t=o、T、とすると、次の式を
術る。
1)x(T暑=x、 4− (x、+1−x、 ) =
x、+1・・・(12) となる。また 夛j(【)−÷(1)と置くと、(5)
ゝdも 式より、 → (ニー七)2 → (亙−t)七 −七2V
(tl −u; −+ w・−七u+tl T2 ・
・・(13)工2 ゛ 工2 となる。ただし、 引−令(礼、−支、 ) −2(’iu、 +G+。1
)・・・(14) である。したがって、t=o、T、とすると、次の式を
術る。
・・・(15)
V(0)=J
v(T・)=ui+1 ・・・(1
6)1〜xi+2の相対関係で定まる量であるから、(
5)式で与えられる補間関数は、この発明の基礎となる
条件を満足する補間関数のひとつの例となっている。
6)1〜xi+2の相対関係で定まる量であるから、(
5)式で与えられる補間関数は、この発明の基礎となる
条件を満足する補間関数のひとつの例となっている。
ここで、(5)式の補間関数の性質をさらに詳しく説明
する。まず、(5)式の補間関数は、時刻tについての
3次式であるから、tについて整理すれば、4つの係数
が含まれていることになる。したがって、(5)式を別
の観点から見れば、tについての3次の多項式に含まれ
ている4つの係数を、補間区間の両端のティーチングを
通すための2つの条件と、両端のティーチング点におi
プる速度の方向をティーチング点の位置の相対的関係に
依存させるための2つの条件とによって特定したものと
考えることもできる。
する。まず、(5)式の補間関数は、時刻tについての
3次式であるから、tについて整理すれば、4つの係数
が含まれていることになる。したがって、(5)式を別
の観点から見れば、tについての3次の多項式に含まれ
ている4つの係数を、補間区間の両端のティーチングを
通すための2つの条件と、両端のティーチング点におi
プる速度の方向をティーチング点の位置の相対的関係に
依存させるための2つの条件とによって特定したものと
考えることもできる。
この例においては、速度v Hの方向が、ティーチング
点X、において、ベクトルxi−IXiと、ベクトルx
iXi+1とのそれぞれの方向の中間の方向となってい
ることに注意されたい。このような条件を課すことによ
って、ティーチング点×iとxi+1との間の補間関数
が、この区間の外部に隣接する2つのティーチング点マ
ド、およびマi。
点X、において、ベクトルxi−IXiと、ベクトルx
iXi+1とのそれぞれの方向の中間の方向となってい
ることに注意されたい。このような条件を課すことによ
って、ティーチング点×iとxi+1との間の補間関数
が、この区間の外部に隣接する2つのティーチング点マ
ド、およびマi。
2のそれぞれの位置情報を取り込んだものとなっている
のである。すなわち、(5)式のような比較的簡単な関
数によって、作業点が動くべき軌跡の大域的な正確が反
映されているのである。
のである。すなわち、(5)式のような比較的簡単な関
数によって、作業点が動くべき軌跡の大域的な正確が反
映されているのである。
また、このような条件が存在するために、1=1゜2.
3.・・・、lのそれぞれについて求められた(5)式
の補間関数をつないで得られる全体的な補間関数は、そ
れぞれのティーチング点においても、位置および速度の
意味で滑らかな関数となっている。位置が時刻tについ
ての3次関数であるということは、x (t)の、tに
ついての4回以上の微係数は常に0となり、これらにお
いても連続性が存在することになる。
3.・・・、lのそれぞれについて求められた(5)式
の補間関数をつないで得られる全体的な補間関数は、そ
れぞれのティーチング点においても、位置および速度の
意味で滑らかな関数となっている。位置が時刻tについ
ての3次関数であるということは、x (t)の、tに
ついての4回以上の微係数は常に0となり、これらにお
いても連続性が存在することになる。
さらに、(5)式の補間関数は、多事式の一般的性質か
られかるように、直線部および曲線部のいずれをもかな
り正確に表現できることになる。従って、位置および速
度の意味で滑らかなX、〜Xi+3が一直線上に存在す
る場合には、直線補間に極めて近い補間関数が得られる
。さらに、ひとつの円周上にX・〜xi+3が存在すれ
ば、円弧補間に極めて近い補間関数を得ることができる
。
られかるように、直線部および曲線部のいずれをもかな
り正確に表現できることになる。従って、位置および速
度の意味で滑らかなX、〜Xi+3が一直線上に存在す
る場合には、直線補間に極めて近い補間関数が得られる
。さらに、ひとつの円周上にX・〜xi+3が存在すれ
ば、円弧補間に極めて近い補間関数を得ることができる
。
ところで、(5)式の補間関数においては、ui=0と
なるようなティーチング点すなわち出発点や停止点での
娠舞が問題となる。そこで、(5)式を時刻tについて
微分し、加速度α(1)を求めると、 a (t ) = (−2Lit + W;)七2
(u;−QH+UH,,ン’−16,(17)τ1 となる。
なるようなティーチング点すなわち出発点や停止点での
娠舞が問題となる。そこで、(5)式を時刻tについて
微分し、加速度α(1)を求めると、 a (t ) = (−2Lit + W;)七2
(u;−QH+UH,,ン’−16,(17)τ1 となる。
コ(7)(17)式においてt−0,u H=0とする
と、c:(0)=■=1u、、。
と、c:(0)=■=1u、、。
6 ′ 1 ”・・・(18)
” −I Cxi++−X;)−2u+uとなる。つま
り、t=0.u、=Oすなわち出発点においても、加速
度α(1)の方向が定義されでおり、出発点を含む軌跡
にも(5)式の補間関数を用いることができることを示
している。停止点においても、同様に、停止までの動き
は完全に定義される。
り、t=0.u、=Oすなわち出発点においても、加速
度α(1)の方向が定義されでおり、出発点を含む軌跡
にも(5)式の補間関数を用いることができることを示
している。停止点においても、同様に、停止までの動き
は完全に定義される。
上述した説明では、(5)式を例にとって、この発明に
用いられる補間の原理を説明したが、もちろん、(5)
式以外の関数形を基礎とすることも可能である。たとえ
ば、x(t)として、tについて04次以上の高次の多
項式や、多項式以外の、少なくとも4つの係数を含むよ
うな時刻tの関数によってもこの発明に必要な条件を満
足させることができる。4徴収Fの多項式を用いると、
加速度をも滑らかにつなぐような補間関数とすることも
できる。また、注目している補間区間X、−X、。
用いられる補間の原理を説明したが、もちろん、(5)
式以外の関数形を基礎とすることも可能である。たとえ
ば、x(t)として、tについて04次以上の高次の多
項式や、多項式以外の、少なくとも4つの係数を含むよ
うな時刻tの関数によってもこの発明に必要な条件を満
足させることができる。4徴収Fの多項式を用いると、
加速度をも滑らかにつなぐような補間関数とすることも
できる。また、注目している補間区間X、−X、。
1に隣接したティーチング点×・ 、×112のみなら
ず、さらに遠方のティーチング点の情報を取り込むこと
もできよう。
ず、さらに遠方のティーチング点の情報を取り込むこと
もできよう。
このように、この発明の条件に対応する補間関数は、大
域的性格と滑らかさの点において、前述した穂坂の補間
に匹敵する利点を有していることになる。また、一方で
は、穂坂の補間における、時刻の対応関係の決定や逆変
換のような複雑な手続を要せず、直線補間や円弧補間と
あまり変わらない簡単な関数形によって補間制御が可能
となるわけである。これらの意味において、この発明に
おける条件を満足する補間法は、これらの従来の補間法
の長所を兼ね備えていることになる。
域的性格と滑らかさの点において、前述した穂坂の補間
に匹敵する利点を有していることになる。また、一方で
は、穂坂の補間における、時刻の対応関係の決定や逆変
換のような複雑な手続を要せず、直線補間や円弧補間と
あまり変わらない簡単な関数形によって補間制御が可能
となるわけである。これらの意味において、この発明に
おける条件を満足する補間法は、これらの従来の補間法
の長所を兼ね備えていることになる。
(3) 補間制御の具体化
次に、前述した(5)式を補間制御の基礎とする場合を
例にとって、この発明に用いられる補間制御の具体化に
ついて説明する。この補間制御は、たとえば第5図の制
御回路20の内部において、各ティーチング点の位置情
報X、と、速度情報U富 iとに基づいて(5)式をそのまま演算し、その演算結
果に応じた指令値をロボットの各モータM1〜M5へと
出力ずればよい。この方法ももちろん有用であるが、以
下では、より高速に補間演算を行なう方法を導き、それ
に従った制御について説明する。 そこでまず、(5)
、 (13)、 (17)式を整理して次の(19)〜
(21)式として再掲しておく。
例にとって、この発明に用いられる補間制御の具体化に
ついて説明する。この補間制御は、たとえば第5図の制
御回路20の内部において、各ティーチング点の位置情
報X、と、速度情報U富 iとに基づいて(5)式をそのまま演算し、その演算結
果に応じた指令値をロボットの各モータM1〜M5へと
出力ずればよい。この方法ももちろん有用であるが、以
下では、より高速に補間演算を行なう方法を導き、それ
に従った制御について説明する。 そこでまず、(5)
、 (13)、 (17)式を整理して次の(19)〜
(21)式として再掲しておく。
さらに、加速度の時刻tによる微分β(1)は、となる
。
。
つまり、(19)式のXは、微分方程式(20)〜(2
2)を次の初期条件で積分することによって得られるこ
とになる。
2)を次の初期条件で積分することによって得られるこ
とになる。
α!n! = −p (−2(Jl+Vυ
・・−(23)Vini =
Ui −(24)X・・
=X・ ・・・(25)n1
1 ところで、微分方程式(20)〜(22)をそのまま解
いた場合には、(19)式を計算することにほかならな
いことになり、多くの掛算を必要とする。このため、こ
こでは、(19)〜(22)式を加算によって解くよう
に近似することによって、計算ステップの減少を図るこ
とにする。すなわち、微小時間Δtを導入し、次の式に
よって、上記微分方程式を近似する。
・・−(23)Vini =
Ui −(24)X・・
=X・ ・・・(25)n1
1 ところで、微分方程式(20)〜(22)をそのまま解
いた場合には、(19)式を計算することにほかならな
いことになり、多くの掛算を必要とする。このため、こ
こでは、(19)〜(22)式を加算によって解くよう
に近似することによって、計算ステップの減少を図るこ
とにする。すなわち、微小時間Δtを導入し、次の式に
よって、上記微分方程式を近似する。
Xnew ”xold +■old ”Δ1 −
・・(26)vnew =■old+αold・Δt
・・・(27)α −α +β ・△t
・・・(28)new old old −−−・ 1 ・・・(29) β。。□=β+ d= 2 (u+ −Wl’ ”’−
’++t ) セこれらにおいて、添字1o1dJは、
前の時刻tについて得られたそれぞれの値を示し、[n
cwlは、時刻(t+Δt)におけるそれぞれの値を示
す。このような変形を行なうことによって、Δtとして
たとえば2−108eCととった場合には、2−10s
ecごとに上記(26)〜(28)式の加算を行なえば
、新たな補間値を近似的に得ることができるわけである
。特に、この例のように、Δt = 2 ’(Nは整数
)ととれば、(26)〜(28)式のそれぞれの右辺第
2項の計算は、■oldなどをNビットだけ下位側にシ
フトさせるだけですむわけであるから、掛算を必要とせ
ずに、シフト演算と加算のみによって、微分方程式を解
くことができる。このように、シフト演算と加算のみで
微分方程式を解くことによって、演算時間は短縮化され
、専用のハードウェアでこの演算を行なわせることも容
易になる。(26)〜(28)式の加算の繰返しは、[
11回だけ繰返ル しく記号[]は整数化に関するガウスの記号を示す)、
その後、次のティーチング点の情報をとり込んで、新た
に加算の繰返しを始める。このため、累積誤差は、上記
の例では1デジツト以下となり、この近似による誤差は
、実用上、問題とならない。
・・(26)vnew =■old+αold・Δt
・・・(27)α −α +β ・△t
・・・(28)new old old −−−・ 1 ・・・(29) β。。□=β+ d= 2 (u+ −Wl’ ”’−
’++t ) セこれらにおいて、添字1o1dJは、
前の時刻tについて得られたそれぞれの値を示し、[n
cwlは、時刻(t+Δt)におけるそれぞれの値を示
す。このような変形を行なうことによって、Δtとして
たとえば2−108eCととった場合には、2−10s
ecごとに上記(26)〜(28)式の加算を行なえば
、新たな補間値を近似的に得ることができるわけである
。特に、この例のように、Δt = 2 ’(Nは整数
)ととれば、(26)〜(28)式のそれぞれの右辺第
2項の計算は、■oldなどをNビットだけ下位側にシ
フトさせるだけですむわけであるから、掛算を必要とせ
ずに、シフト演算と加算のみによって、微分方程式を解
くことができる。このように、シフト演算と加算のみで
微分方程式を解くことによって、演算時間は短縮化され
、専用のハードウェアでこの演算を行なわせることも容
易になる。(26)〜(28)式の加算の繰返しは、[
11回だけ繰返ル しく記号[]は整数化に関するガウスの記号を示す)、
その後、次のティーチング点の情報をとり込んで、新た
に加算の繰返しを始める。このため、累積誤差は、上記
の例では1デジツト以下となり、この近似による誤差は
、実用上、問題とならない。
(4) 補間回路22の構成と動作
上述した補間法の具体例に基づく演算は、第5図中の補
間回路22において行なわれる。この補間回路22の詳
細を、第7図にブロック図として示す。
間回路22において行なわれる。この補間回路22の詳
細を、第7図にブロック図として示す。
この補間回路22は、I10ボート214.バス213
を介してCPU211およびメモリ212へと接続され
たバッファ101〜104を備えている。このうち、加
速度の時間微分βの値をバッファするバッファ101の
出力は、加速度αに関する加算を行なう加算器105に
入力されており、この加算器105の出力は、加速度α
の値をバッファするバッファ106へと与えられている
。
を介してCPU211およびメモリ212へと接続され
たバッファ101〜104を備えている。このうち、加
速度の時間微分βの値をバッファするバッファ101の
出力は、加速度αに関する加算を行なう加算器105に
入力されており、この加算器105の出力は、加速度α
の値をバッファするバッファ106へと与えられている
。
このバッフ7106の出力は2つに分岐されて、そのひ
とつは上述した加算器105の他の入力として与えられ
、他のひとつは、速度Vに関する加算を行なう加算器1
07へと与えられている。加算器107の出ノjは、速
度Vの値をバッファするバッファ108へと与えられ、
このバッファ’I 08の出力は、加算器107の他の
入力と、位置Xについて加算を行なう加算器109のひ
とつの入力として与えられている。また、このバッフ?
108の出ツノはライン111を介して、I10ボート
214へも与えられている。加算器109の出力は、位
置×の値をバッファするバッファ110へと与えられて
いる。このバッファ110の出力は2つに分岐されて、
そのひとつは加算器109の他の入力として与えられ、
他のひとつはうイン112を介してI10ボート214
へと与えられている。
とつは上述した加算器105の他の入力として与えられ
、他のひとつは、速度Vに関する加算を行なう加算器1
07へと与えられている。加算器107の出ノjは、速
度Vの値をバッファするバッファ108へと与えられ、
このバッファ’I 08の出力は、加算器107の他の
入力と、位置Xについて加算を行なう加算器109のひ
とつの入力として与えられている。また、このバッフ?
108の出ツノはライン111を介して、I10ボート
214へも与えられている。加算器109の出力は、位
置×の値をバッファするバッファ110へと与えられて
いる。このバッファ110の出力は2つに分岐されて、
そのひとつは加算器109の他の入力として与えられ、
他のひとつはうイン112を介してI10ボート214
へと与えられている。
上述した加算器105,107,109はそれぞれ、そ
の2つの入力のうち、前段のバッファである101,1
06.108の出力としてそれぞれ得られる入力を下位
側に10ビツトだけシフトさせて、残りの入力つまり後
段のバッファ106゜108.110のそれぞれの出力
と加算するように構成されている。したがって、前段の
バッファからの入力を01とし、後段のバッファからの
残りの入力を02とすると、これらの加算器によって得
られる加算出力Qは、 Q=Q2 +Q1X2 ・・・(
30)となっている。
の2つの入力のうち、前段のバッファである101,1
06.108の出力としてそれぞれ得られる入力を下位
側に10ビツトだけシフトさせて、残りの入力つまり後
段のバッファ106゜108.110のそれぞれの出力
と加算するように構成されている。したがって、前段の
バッファからの入力を01とし、後段のバッファからの
残りの入力を02とすると、これらの加算器によって得
られる加算出力Qは、 Q=Q2 +Q1X2 ・・・(
30)となっている。
バッファ102〜104はそれぞれ、加速度、速度およ
び位置に関する初期化を行なうためのものであって、そ
の出力はそれぞれバッファ106゜108および110
へと与えられている。クロック発生回路113は、バッ
ファ106,108および110にクロック信号φを与
えるためのものであり、I10ボート214に接続され
たクロック用バッファ114と、このクロック用バッフ
ァ114の出力およびタイマ116の出力を受けてクロ
ック信号φを出力するカウンタ115とを備えている。
び位置に関する初期化を行なうためのものであって、そ
の出力はそれぞれバッファ106゜108および110
へと与えられている。クロック発生回路113は、バッ
ファ106,108および110にクロック信号φを与
えるためのものであり、I10ボート214に接続され
たクロック用バッファ114と、このクロック用バッフ
ァ114の出力およびタイマ116の出力を受けてクロ
ック信号φを出力するカウンタ115とを備えている。
この補間回路22における、前述した(26)−(29
)式に基づく補間演算は、次のように行なわれる。
)式に基づく補間演算は、次のように行なわれる。
まず、ティーチングボックス23(第5図)を操作する
ことによって再生モードとすると、メモリ212の中に
記憶されていたティーチング情報に基づいて、CPU2
11が、加速度の時間微分、加速度、速度および位置の
、ひとつの補間区間におよびx= 、 N22)〜(
25)式参照)を計算し、こIn+ れらをそれぞれバッファ101〜104に与えるただし
、βはひとつの補間区間の中では定数となっているため
、 ・・・(31) である。また、これと並行して、微小時間幅△を−2−
l0secの値がメモリ212からクロック用バッファ
114へと与えられる。また、前述したそれぞれバッフ
ァ106.108および110へと移されて、この補間
回路22は初期化される。
ことによって再生モードとすると、メモリ212の中に
記憶されていたティーチング情報に基づいて、CPU2
11が、加速度の時間微分、加速度、速度および位置の
、ひとつの補間区間におよびx= 、 N22)〜(
25)式参照)を計算し、こIn+ れらをそれぞれバッファ101〜104に与えるただし
、βはひとつの補間区間の中では定数となっているため
、 ・・・(31) である。また、これと並行して、微小時間幅△を−2−
l0secの値がメモリ212からクロック用バッファ
114へと与えられる。また、前述したそれぞれバッフ
ァ106.108および110へと移されて、この補間
回路22は初期化される。
一方、Δtの値はカウンタ115へと向えられる。
カウンタ115はタイマ116からのタイマ出力を受け
てカウントし、そのカウント値がΔtを越えるごとに、
キャリ信号をクロック信号φとして出力する。
てカウントし、そのカウント値がΔtを越えるごとに、
キャリ信号をクロック信号φとして出力する。
最初のクロツクザイクルにおいて、バッファ106にバ
ッファされていた加速度の初期値αioiが、加算器1
05へと出力される。この加算器105は、バッファ1
01からの初期値βioiを下位側に10ビツトだけシ
フ]〜させて、このα1oiと加え合わせる。バッファ
106の出力αtniは、加算器107にも与えられて
おり、この加算器1O7はこのα、・を10ピツトだけ
下位側にシフIn+ トさせて、バッファ108の出力であるviniに加え
合わせる。バッフ7108の出力であるvi。
ッファされていた加速度の初期値αioiが、加算器1
05へと出力される。この加算器105は、バッファ1
01からの初期値βioiを下位側に10ビツトだけシ
フ]〜させて、このα1oiと加え合わせる。バッファ
106の出力αtniは、加算器107にも与えられて
おり、この加算器1O7はこのα、・を10ピツトだけ
下位側にシフIn+ トさせて、バッファ108の出力であるviniに加え
合わせる。バッフ7108の出力であるvi。
は、加算器109にも与えられ、加算器109馳
は、このviniを下位側に10ビツトだけシフトさせ
て、バッファ110の出力であるxiniと加え合わせ
る。これらの動作と並行して、バッファ108.110
のそれぞれの出力V・・、X・・Inl
In+ はそれぞれ、速度指令値および位置指令値としてI10
ボート214へと出力されている。これに引き続いて、
加算器105,107.109のぞれぞれの加算出力が
次段のバッファ106.108.110へとそれぞれ与
えられ、これらのバッファの内容が更新される。
て、バッファ110の出力であるxiniと加え合わせ
る。これらの動作と並行して、バッファ108.110
のそれぞれの出力V・・、X・・Inl
In+ はそれぞれ、速度指令値および位置指令値としてI10
ボート214へと出力されている。これに引き続いて、
加算器105,107.109のぞれぞれの加算出力が
次段のバッファ106.108.110へとそれぞれ与
えられ、これらのバッファの内容が更新される。
クロックφのその後の各サイクルにおいてもこれと同様
に、加算器105,107.109は、それぞれ、前段
のバッフr101,106.108の出力を下位側にシ
フトさせたものと、後段のバ・ソファ106,108,
110の出力とを加え合わせて、後段のバッファ106
.108.110へと格納する。そして、バッファ1o
s、iiOに格納されているそれぞれの内容は、速度指
令値および位置指令値として出力される。
に、加算器105,107.109は、それぞれ、前段
のバッフr101,106.108の出力を下位側にシ
フトさせたものと、後段のバ・ソファ106,108,
110の出力とを加え合わせて、後段のバッファ106
.108.110へと格納する。そして、バッファ1o
s、iiOに格納されているそれぞれの内容は、速度指
令値および位置指令値として出力される。
したがって、ひとつのクロツクザイクルに着目すると、
バッファ101,106,108.11加算結果として
、加算器105,107,109のそれぞれの後段のバ
ッファ106,108.110に新たに格納する内容を
α 、V 、Xnew new 。。、で表わせば、次の式が成立することになる。
バッファ101,106,108.11加算結果として
、加算器105,107,109のそれぞれの後段のバ
ッファ106,108.110に新たに格納する内容を
α 、V 、Xnew new 。。、で表わせば、次の式が成立することになる。
X−xold+vold・2−10 ・・−(32
)new α −αold+βold・2−10 ・・−(3
4)00w βold−βini ・・・(
35)Δt= 2−10であることを考慮すれば、これ
らの式は前述した(26)〜(29)式にほかならない
。したがって、クロックφの各サイクルごとに、補間さ
れた速度指令値および位置指令値が更新されることにな
る。
)new α −αold+βold・2−10 ・・−(3
4)00w βold−βini ・・・(
35)Δt= 2−10であることを考慮すれば、これ
らの式は前述した(26)〜(29)式にほかならない
。したがって、クロックφの各サイクルごとに、補間さ
れた速度指令値および位置指令値が更新されることにな
る。
工゛
ひとつの補間区間における繰返しが[−71回行なわれ
ると、この補間回路22はリセットされ、その後、新た
な初期値に基づいた補則演算を開始する。この動作は、
再生終了命令があるまでくり返され、所望の補間制御が
行なわれることになる。
ると、この補間回路22はリセットされ、その後、新た
な初期値に基づいた補則演算を開始する。この動作は、
再生終了命令があるまでくり返され、所望の補間制御が
行なわれることになる。
(5) 制御回路20の変形例(I)ところで、上述
した実施例では、補間演算は、専用のハードウェアであ
る補間回路22において行なわれており、これによって
、高速の補間演算が可能となっている。しかしながら、
この補間演算もCPU211の中で行うように構成し、
補間回路22を省略することも可能である。
した実施例では、補間演算は、専用のハードウェアであ
る補間回路22において行なわれており、これによって
、高速の補間演算が可能となっている。しかしながら、
この補間演算もCPU211の中で行うように構成し、
補間回路22を省略することも可能である。
そこで以下では、CPU211によって補間演算を行な
う場合の動作を、第8図に示したフローチャートを参照
して説明する。
う場合の動作を、第8図に示したフローチャートを参照
して説明する。
まず、ティーチングボックス23を操作して再生モード
とすると、CPU211はメモリ212から、整数Nを
読取る(ステップ81)。次に、補間区間の番号iを1
としくステップS2)、ティーチング情報X 〜×・
、ui、ui、1を+−1++2 メモリ212から読取る(ステップS3)。次に1、
(31)式を用いて計算する(ステップ84)。補間の
繰返しカウント数Jを1としくステップS5)、X・・
、■・・などの初期値を用いて、Xold。
とすると、CPU211はメモリ212から、整数Nを
読取る(ステップ81)。次に、補間区間の番号iを1
としくステップS2)、ティーチング情報X 〜×・
、ui、ui、1を+−1++2 メモリ212から読取る(ステップS3)。次に1、
(31)式を用いて計算する(ステップ84)。補間の
繰返しカウント数Jを1としくステップS5)、X・・
、■・・などの初期値を用いて、Xold。
Inl lnl
voldなどの聞をそれぞれ定義するとともに、Xol
d 、voldをそれぞれ位置指令値、速度指令値とし
て出力する(ステップS6)。
d 、voldをそれぞれ位置指令値、速度指令値とし
て出力する(ステップS6)。
CPU211の内部タイマ(図示せず)を1−〇にセッ
トしくステップS7)、ステップS8で時刻tを読取る
。次のステップ$9においてこの時刻tがj×Δtより
小さいときにはステップS8に戻るが、j×Δtより大
きいときには、(26)〜(29)式によって×”ne
wなどを計算する00w (ステップ810)、Δtを■。1dなどに掛は合わせ
るには、voldなどを下位側にNビットだけシフトさ
せて計算することができる。その後vn。
トしくステップS7)、ステップS8で時刻tを読取る
。次のステップ$9においてこの時刻tがj×Δtより
小さいときにはステップS8に戻るが、j×Δtより大
きいときには、(26)〜(29)式によって×”ne
wなどを計算する00w (ステップ810)、Δtを■。1dなどに掛は合わせ
るには、voldなどを下位側にNビットだけシフトさ
せて計算することができる。その後vn。
、およびX。0.を、速度指令値および位置指令値下1
として出力する(ステップ511)。jが[−p]より
も大きいか否かを判断しくステップ512)、て新たに
X 、V などを定義する(スデツold
old ブ513)。その後、j=j+1としてステ918間区
間であるか否か、つまり最終のティーチング点に至るま
で補間演算を行なったか否かを判断しくステップ814
)、iが最終値でない場合には、i = i+1として
、ステップS3へと戻る。iが最終値となると、補間演
算は終了する。
も大きいか否かを判断しくステップ512)、て新たに
X 、V などを定義する(スデツold
old ブ513)。その後、j=j+1としてステ918間区
間であるか否か、つまり最終のティーチング点に至るま
で補間演算を行なったか否かを判断しくステップ814
)、iが最終値でない場合には、i = i+1として
、ステップS3へと戻る。iが最終値となると、補間演
算は終了する。
(6) 制御回路20の変形例(It)ところで、(
5)式に基づくこのような補間制御はそれのみでも単独
で行なうことができるが、他の補間法と組合わせること
も可能である。そのような例として、ここでは、ティー
チングにおける出発点や停止点の付近の動作を滑らかに
するような他の補間法との組合せについて述べる。前述
したように、(5)式に基づく補間法は、出発点および
停止点においても完全に定義されるから、滑らかな出発
や停止すなわち軟出発、軟停止を目的どした他の補間法
と共用することは必須ではないが、以下に述べるような
組合せを用いると、出発時や停止時の制御がさらに精密
化されることになる。
5)式に基づくこのような補間制御はそれのみでも単独
で行なうことができるが、他の補間法と組合わせること
も可能である。そのような例として、ここでは、ティー
チングにおける出発点や停止点の付近の動作を滑らかに
するような他の補間法との組合せについて述べる。前述
したように、(5)式に基づく補間法は、出発点および
停止点においても完全に定義されるから、滑らかな出発
や停止すなわち軟出発、軟停止を目的どした他の補間法
と共用することは必須ではないが、以下に述べるような
組合せを用いると、出発時や停止時の制御がさらに精密
化されることになる。
そこでまず、新たに定式化された軟出発、軟停止の原理
について説明し、その後、これらと共用された形での、
この発明の他の変形例を説明する。
について説明し、その後、これらと共用された形での、
この発明の他の変形例を説明する。
第9図は、このうち、軟出発の原理を説明するための図
であり、時刻1=0でX ” X oに停止していた作
業点が、X=×1を速度U1で通過するという条件を示
している。
であり、時刻1=0でX ” X oに停止していた作
業点が、X=×1を速度U1で通過するという条件を示
している。
この軟出発の方法では、作業点の加速度α(1)を、所
定の位置たとえば×1からの距離に相関させるように構
成する。したがって、この相関関係として比例関係を採
用した場合には、kを定数とここで■(t)は作業点の
速度である。次の(37)式の関係を(36)式に代入
すると、tに関する、位置x (t)の2階の微分方程
式である(31°)式が得られる。
定の位置たとえば×1からの距離に相関させるように構
成する。したがって、この相関関係として比例関係を採
用した場合には、kを定数とここで■(t)は作業点の
速度である。次の(37)式の関係を(36)式に代入
すると、tに関する、位置x (t)の2階の微分方程
式である(31°)式が得られる。
Ab女(七)+k”Mtt)・ki六
川(37°)(37°)式は容易に解くことができて
、次の(38)。
川(37°)(37°)式は容易に解くことができて
、次の(38)。
(39)式が得られる。
2 [) = (Xa−交1)CoSしt+ Q+
−(38)※(1)=−臥九戊)srilkt
・・・(39)ただし、 U・=−k (xo−xl) ・・−(4
0)kT=π/2 ・・・
(41)であり、ここでTは、作業点が×1に至るまで
の移動時間である。軟出発の制御にあたっては、(38
)、 (39)式をそのまま演算することも可能である
が、ここでは、加算の繰返しによって、微分方程式を解
くという方法を採用する。そこで、(37)式と(31
°)式とを微小時間幅Δtに対する式ど考え、時刻tに
おける作業点の位置と速度とをそれぞれxold 、v
oldとし、時刻t+八tにおけるそれらをそれぞれX
。ew ” newとすれば、次の(42)式および(
43)式が得られる。
−(38)※(1)=−臥九戊)srilkt
・・・(39)ただし、 U・=−k (xo−xl) ・・−(4
0)kT=π/2 ・・・
(41)であり、ここでTは、作業点が×1に至るまで
の移動時間である。軟出発の制御にあたっては、(38
)、 (39)式をそのまま演算することも可能である
が、ここでは、加算の繰返しによって、微分方程式を解
くという方法を採用する。そこで、(37)式と(31
°)式とを微小時間幅Δtに対する式ど考え、時刻tに
おける作業点の位置と速度とをそれぞれxold 、v
oldとし、時刻t+八tにおけるそれらをそれぞれX
。ew ” newとすれば、次の(42)式および(
43)式が得られる。
’Itmat−Xold −
−V。Id ・・・(42)Δち
・・・(43)
これらの式を整理すると、次の式を得る。
◇ −”old +に2・(−′xold ”1 ”
へteW ・・・(45) ところが、この式をそのまま基礎にすると、(45)式
の右辺においてに2の掛算が必要となってくる。
へteW ・・・(45) ところが、この式をそのまま基礎にすると、(45)式
の右辺においてに2の掛算が必要となってくる。
このため、
k′
2 ・△t’ =に2・Δt ・・・(46)
Δt〉6M >−些一 ? ・・・(47) が成立するように、整数に′および微小時間幅Δt′を
定義すると、(45)式の右辺第2項は、次の(48)
式のように書き換えることができる。
Δt〉6M >−些一 ? ・・・(47) が成立するように、整数に′および微小時間幅Δt′を
定義すると、(45)式の右辺第2項は、次の(48)
式のように書き換えることができる。
である。このような変形をすることによって、kk′
2の掛算は2 の掛算に置換され、さらに、2に′の掛
算はに′ビットだけの、上位側へのシフトによって置換
えることができることになる。ところが、2へt′とい
うファクタがあるために、今度はΔの掛算という問題が
生ずる。これを解決するxoId+×1)・Δtだけの
増加分を■。1dに加算−2” <−x。、d十x 1
>−、a−Δt −(50)だけの増加分がV。1d
に加算されるから、上記(48)式の第1辺と等価な加
算がなされることになる。
算はに′ビットだけの、上位側へのシフトによって置換
えることができることになる。ところが、2へt′とい
うファクタがあるために、今度はΔの掛算という問題が
生ずる。これを解決するxoId+×1)・Δtだけの
増加分を■。1dに加算−2” <−x。、d十x 1
>−、a−Δt −(50)だけの増加分がV。1d
に加算されるから、上記(48)式の第1辺と等価な加
算がなされることになる。
Δtの掛算は、Δt=2’(Nは整数)ととることによ
って、シフトに置換される。すなわち、(44)〜(5
0)式によって得られる次の(51)、 (521式の
加算を、(53)式の初期条件のもとで、位置について
はΔtの時間間隔で、速度についてはΔt/Jの時間間
隔で、イれぞれ繰返りばよいことになる。
って、シフトに置換される。すなわち、(44)〜(5
0)式によって得られる次の(51)、 (521式の
加算を、(53)式の初期条件のもとで、位置について
はΔtの時間間隔で、速度についてはΔt/Jの時間間
隔で、イれぞれ繰返りばよいことになる。
k’ −
vnew ””old +2(−Xold +×1 ”
Δt・・・(52) 次に軟停止についての方法を説明する。軟f?’nにお
ける条件は第10図に示されているように、。で停止さ
せるということである。この場合ら(36)式と同様に
、作業点の加速度α(1)が、停LI貞X1からの距離
に比例するような、次の(54)式を基礎とすることが
できる。
Δt・・・(52) 次に軟停止についての方法を説明する。軟f?’nにお
ける条件は第10図に示されているように、。で停止さ
せるということである。この場合ら(36)式と同様に
、作業点の加速度α(1)が、停LI貞X1からの距離
に比例するような、次の(54)式を基礎とすることが
できる。
ル(t)=や−に2 (−交十辷、) ・・・(54
)v(t)、になどの意味は、前と同様である。
)v(t)、になどの意味は、前と同様である。
境界条件が軟出発と異なるため、この微分方程式%式%
ただし、
kT−π/2 ・・・(58
)である。
)である。
これらの式の演算も、軟出発と同様に加飾の繰返しによ
って微分方程式を解くという方法に置換することが可能
であって、前述した(51)〜(53)式に対応する式
として、次の(59)〜(61)式が得られる。
って微分方程式を解くという方法に置換することが可能
であって、前述した(51)〜(53)式に対応する式
として、次の(59)〜(61)式が得られる。
k′−
■−vold +2(’old +X−1”Δ【00w
・・・(60)
ここでも同様に、速度についての加算の繰返しは、詐
丁ごとに行なわれる。
次に、ひとつのティーチング点から出発し、次のティー
チング点において停止するような場合を考える。この場
合には、第11図に示すように、作業点がX ”” X
1で軟出発した後に、次のティーチング点X=X2に
軟停止させることが必要になってくる。この場合の例と
して、出発点と停止点との中間点において、作業点の加
速度α(1)を最大にし、それから離れるに従って、加
速度α(1)を減少させるという方法をとる。したがっ
て、基本方程式は、 である。ただし、この場合は、 kT−π ・・・(62′)
前と同様に、加算の繰返しのための式は、次のようにな
る。
チング点において停止するような場合を考える。この場
合には、第11図に示すように、作業点がX ”” X
1で軟出発した後に、次のティーチング点X=X2に
軟停止させることが必要になってくる。この場合の例と
して、出発点と停止点との中間点において、作業点の加
速度α(1)を最大にし、それから離れるに従って、加
速度α(1)を減少させるという方法をとる。したがっ
て、基本方程式は、 である。ただし、この場合は、 kT−π ・・・(62′)
前と同様に、加算の繰返しのための式は、次のようにな
る。
・・・(66)
1旧 1 ・・・(67)x
、、=x 、 v、o、=0 ここでもやはり、速度についての加算の繰返しΔ仁 − は、丁ヒとに行なわれる。尚、この場合には、最大速度
は−に但西rある。
、、=x 、 v、o、=0 ここでもやはり、速度についての加算の繰返しΔ仁 − は、丁ヒとに行なわれる。尚、この場合には、最大速度
は−に但西rある。
第12図は、上述した軟出発、軟停止の制御と、(5)
式による補間制御とを組合わせて行なうことができる補
間回路30を示す図である。この補間回路30は、第7
図に示した補間回路22に対応するものであって、その
中に含まれる回路要素などのうち、第7図に示したもの
と同一のものは同じ参照1号を付しである。また、制御
装置の構成要素のうち、この補間回路30以外の部分に
ついでは、第5図に示した構成と同様であるため、重複
説明は省略する。
式による補間制御とを組合わせて行なうことができる補
間回路30を示す図である。この補間回路30は、第7
図に示した補間回路22に対応するものであって、その
中に含まれる回路要素などのうち、第7図に示したもの
と同一のものは同じ参照1号を付しである。また、制御
装置の構成要素のうち、この補間回路30以外の部分に
ついでは、第5図に示した構成と同様であるため、重複
説明は省略する。
第12図の補間回路30と、第7図の補間回路22との
相違点は次の通りである。まず、りOツク発生回路とし
ては、Δt (= 2 ”sec )ごとにクロック
信号φ1を発生する第1のり0ツク発At
−10 主回路314と1.r(=2 /J sec )ご
とにクロック信号φ2を発生する第2のクロック発生回
路315とを備えている。第1のクロック発生回路31
4は、メモリ212からΔtの値を受は取ってバッファ
する第1のクロック用バッファ316と、タイマ320
およびこの第1のクロック用バッファ316のそれぞれ
の出力を受けて第1のクロック信号φ1を出力する第1
のカウンタ317とを備えている。また、第2のクロッ
ク発生Δ仁 回路315も同様に、メモリ212からτの値を受は取
ってバッファする第2のクロック用バッファ318と、
タイマ320およびこの第2のクロック用バッファ31
8のそれぞれの出力を受4」て第2のクロック信号φ2
を出力する第2のカウンタ319とを備えている。これ
らのクロック発生部 回路は、それぞれΔt、−Xの時間ごとに、第1と第2
のカウンタ317,319のキャリ信号を、それぞれク
ロック信号φ1.φ2として出力する。
相違点は次の通りである。まず、りOツク発生回路とし
ては、Δt (= 2 ”sec )ごとにクロック
信号φ1を発生する第1のり0ツク発At
−10 主回路314と1.r(=2 /J sec )ご
とにクロック信号φ2を発生する第2のクロック発生回
路315とを備えている。第1のクロック発生回路31
4は、メモリ212からΔtの値を受は取ってバッファ
する第1のクロック用バッファ316と、タイマ320
およびこの第1のクロック用バッファ316のそれぞれ
の出力を受けて第1のクロック信号φ1を出力する第1
のカウンタ317とを備えている。また、第2のクロッ
ク発生Δ仁 回路315も同様に、メモリ212からτの値を受は取
ってバッファする第2のクロック用バッファ318と、
タイマ320およびこの第2のクロック用バッファ31
8のそれぞれの出力を受4」て第2のクロック信号φ2
を出力する第2のカウンタ319とを備えている。これ
らのクロック発生部 回路は、それぞれΔt、−Xの時間ごとに、第1と第2
のカウンタ317,319のキャリ信号を、それぞれク
ロック信号φ1.φ2として出力する。
したがって、第1のクロック信号φ1は、第7図のクロ
ックφと同じものである。この第1のクロック信号φ1
は、バッファ106および110へは直接に与えられて
いるが、バッファ108へは、マルチプレクサ321を
介して与えられている。
ックφと同じものである。この第1のクロック信号φ1
は、バッファ106および110へは直接に与えられて
いるが、バッファ108へは、マルチプレクサ321を
介して与えられている。
第2のクロック信号φ2はマルチプレクサ321の他の
入力として与えられており、このマルチプレクサ321
は、CPU211からの切替信号SW によってクロッ
ク信号φ 、φ2のうちのいずれか一方を選択し、これ
をバッファ108へと与える。
入力として与えられており、このマルチプレクサ321
は、CPU211からの切替信号SW によってクロッ
ク信号φ 、φ2のうちのいずれか一方を選択し、これ
をバッファ108へと与える。
バッファ110の出力は、加算器109およびI10ボ
ート214のほかに、減算器323の一方の入力として
も与えられている。また、I10ボート214に接続さ
れたバッファ322の出力がこの減算器323の他の入
力として与えられている。減算器323の出力は、入力
する信号をに′ピットだけ上位側にシフトさせて出力す
るシフタ324を介して、マルチプレクサ325の1つ
の入力として与えられている。このマルチプレクサ32
5は、バッファ106の出力を他の入力として受けてお
り、CPU211からの切替信号SW2によって2つの
入力のうちのいずれかを選択し、これを加算器107へ
と与えている一0他の構成は、第7図の補間回路22と
同様である。
ート214のほかに、減算器323の一方の入力として
も与えられている。また、I10ボート214に接続さ
れたバッファ322の出力がこの減算器323の他の入
力として与えられている。減算器323の出力は、入力
する信号をに′ピットだけ上位側にシフトさせて出力す
るシフタ324を介して、マルチプレクサ325の1つ
の入力として与えられている。このマルチプレクサ32
5は、バッファ106の出力を他の入力として受けてお
り、CPU211からの切替信号SW2によって2つの
入力のうちのいずれかを選択し、これを加算器107へ
と与えている一0他の構成は、第7図の補間回路22と
同様である。
第12図の補間回路30を用いて、軟出発→(5)式に
基づく補間→軟停止、の順序で制御を行なう場合につい
てその動作を説明する。まず軟出発においては、切替信
号SW1によってマルチプレクサ321が第2のクロッ
ク発生回路315からの入力を選択する。すると、バッ
ファ108には、第2のクロック信号φ2が人力される
ことになる。
基づく補間→軟停止、の順序で制御を行なう場合につい
てその動作を説明する。まず軟出発においては、切替信
号SW1によってマルチプレクサ321が第2のクロッ
ク発生回路315からの入力を選択する。すると、バッ
ファ108には、第2のクロック信号φ2が人力される
ことになる。
また、切替信号SW2によって、マルチプレクリ325
がシフタ324からの入力を選択する。したがって、加
算器105やバッファ106などは、この回路の動作と
は無関係になってくる。速度の、・とじて最初のティー
チング点の位置X。が、In+ CPU211からバッファ103.104へとそれぞれ
入力される( (53)式参照)。バッファ322には
、次のティーチング点の位lx1がCPU211から入
力される。
がシフタ324からの入力を選択する。したがって、加
算器105やバッファ106などは、この回路の動作と
は無関係になってくる。速度の、・とじて最初のティー
チング点の位置X。が、In+ CPU211からバッファ103.104へとそれぞれ
入力される( (53)式参照)。バッファ322には
、次のティーチング点の位lx1がCPU211から入
力される。
次に、■・ とX1niはそれぞれ、バッファ11n+
08.110へと移される。クロック信号φ2が与えら
れると、バッファ108はその中に格納していたvin
iを加算器107へと与える。これと同時に、vini
は加算器109へも与えられる。
れると、バッファ108はその中に格納していたvin
iを加算器107へと与える。これと同時に、vini
は加算器109へも与えられる。
一方、バッファ110の中に格納されていたxll、は
、加算器109に与えられて、viniを10ビットだ
け下位側ヘシフトした信号と加算される。
、加算器109に与えられて、viniを10ビットだ
け下位側ヘシフトした信号と加算される。
したがって、加算器109ではく×ト■1oiXIn+
△t)の加算が行なわれる。
バッファ110の出力であるxiniは、減算器323
にも与えられる。減算器323は、この×ioiを、バ
ッファ322の出力である×1から差し引いて、(−x
9.+×1)をシフタ324にIn+ 与える。シフタ324はこの信号をに′ビットだけ上位
側にシフトしてマルチプレクサ325に与える。こ。た
め、加算器1o7.他。入加よ2に′。
にも与えられる。減算器323は、この×ioiを、バ
ッファ322の出力である×1から差し引いて、(−x
9.+×1)をシフタ324にIn+ 与える。シフタ324はこの信号をに′ビットだけ上位
側にシフトしてマルチプレクサ325に与える。こ。た
め、加算器1o7.他。入加よ2に′。
(−X・・十′x1)となる。加算器107はこのIn
+ 入力を下位側に10ビツトだけシフトさせて、バッファ
108の出力である■1.と加え合わせる。
+ 入力を下位側に10ビツトだけシフトさせて、バッファ
108の出力である■1.と加え合わせる。
In+
したがって加算器107の出力は、V、、+2”Xn1
(−X・・+X1)・Δtとなる。バッファ108In
+ は、第2のクロック信号φ2の次のサイクルにおいて、
この加算器107の出力を■。1dとしてバッファする
。第2のりOツク信号φ2の各サイクルにおいて、加算
器107とバッファ108とは、同様の動作を繰返す。
+ は、第2のクロック信号φ2の次のサイクルにおいて、
この加算器107の出力を■。1dとしてバッファする
。第2のりOツク信号φ2の各サイクルにおいて、加算
器107とバッファ108とは、同様の動作を繰返す。
このため、バッファ108゜110にそれぞれ格納され
ている値をそれぞれVold 、xoldとすれば、加
算器107は(52)式の演算を行なって■。。、を求
め、これをバッファ108へと与えることになる。この
■。。、は、次のサイクルにおいてV。1dとして取扱
われる。加算器109とバッファ110もまた同様に、
第1のクロック信号φ1のサイクルに従って(51)式
の演算を繰返す。
ている値をそれぞれVold 、xoldとすれば、加
算器107は(52)式の演算を行なって■。。、を求
め、これをバッファ108へと与えることになる。この
■。。、は、次のサイクルにおいてV。1dとして取扱
われる。加算器109とバッファ110もまた同様に、
第1のクロック信号φ1のサイクルに従って(51)式
の演算を繰返す。
クロック信号としてφ1とφ2の2つの信号を用いてい
るため、(51)式と(52)式のそれぞれの演算のサ
イクルは互いに異なったものとなっている。
るため、(51)式と(52)式のそれぞれの演算のサ
イクルは互いに異なったものとなっている。
このため、たとえばφ1〈φ2の場合には、速度につい
ての繰返しが位置についての繰返しよりも遅くなり、そ
れだけ加算回数が減ることになるが、(52)式に関連
して既に説明したように、繰返しごとの増加分を多くと
っているため、現実にバッファ108.110からそれ
ぞれ出力される速度指令値および位置指令値は、その時
点における指令値として適当なものとなっている。
ての繰返しが位置についての繰返しよりも遅くなり、そ
れだけ加算回数が減ることになるが、(52)式に関連
して既に説明したように、繰返しごとの増加分を多くと
っているため、現実にバッファ108.110からそれ
ぞれ出力される速度指令値および位置指令値は、その時
点における指令値として適当なものとなっている。
次に、軟出発の制御を終わり、(5)式に基づく制御に
移るときには、切替信号Sw1.Sw2によって、マル
チプレクサ321が第1のクロック発生回路314側を
選択し、マルチプレクサ325がバッファ106の出力
側を選択するように設定する。すると、第12図の補間
回路30は、第7図の補間回路22と実質的に同じ構成
となり、(5)式に基づく補間演算が行なわれる。
移るときには、切替信号Sw1.Sw2によって、マル
チプレクサ321が第1のクロック発生回路314側を
選択し、マルチプレクサ325がバッファ106の出力
側を選択するように設定する。すると、第12図の補間
回路30は、第7図の補間回路22と実質的に同じ構成
となり、(5)式に基づく補間演算が行なわれる。
軟停止を行なう場合には、切替信号s’w1. sW2
によって、マルチプレクサ321.325を、上述した
軟出発と同じ状態にする。バッファ103.104に与
えられる初期値はそれぞれu−1゜る( (59)〜(
61)式参照)。その後の動作は軟出発の場合と同様で
ある。
によって、マルチプレクサ321.325を、上述した
軟出発と同じ状態にする。バッファ103.104に与
えられる初期値はそれぞれu−1゜る( (59)〜(
61)式参照)。その後の動作は軟出発の場合と同様で
ある。
さらに、軟出発と軟停止とを連続して行ないたい場合に
は、初期値として(67)式の値をバッファ103.1
04へそれぞれ与え、バッファ322にはセ翌を与えれ
ばよい。この場合のこの回路の動作も、上述のものと同
様である。
は、初期値として(67)式の値をバッファ103.1
04へそれぞれ与え、バッファ322にはセ翌を与えれ
ばよい。この場合のこの回路の動作も、上述のものと同
様である。
以上説明した各実施例・変形例は、主として(5)式に
基づいた制御であるが、(5)式はこの発明のびとつの
好ましい実施例の基礎にすぎず、他の補間関数を用いる
ことができることは、前に指摘した通りである。また、
補間関数をそのまま計算せず、この補間関数を解とする
微分方程式を基礎とすることによって、繰返し演算が可
能となり、加算による高速の演算制御が可能となるが、
補間関数を他の方法で計算することも、この発明の範囲
に含まれる。さらに繰返し時間を2−N(Nは整数)
secととることによって、シフト動作と加算だりで上
記微分方程式を解くことができ、さらに高速な演算制御
が得られるが、この発明の補間υ制御はこのような繰返
し時間の導入を必須とするものではない。この発明では
、この発明の基礎となる補間法を単独で用いてもよく、
上述したような軟出発・軟停止、さらには、直線補間1
円弧補間。
基づいた制御であるが、(5)式はこの発明のびとつの
好ましい実施例の基礎にすぎず、他の補間関数を用いる
ことができることは、前に指摘した通りである。また、
補間関数をそのまま計算せず、この補間関数を解とする
微分方程式を基礎とすることによって、繰返し演算が可
能となり、加算による高速の演算制御が可能となるが、
補間関数を他の方法で計算することも、この発明の範囲
に含まれる。さらに繰返し時間を2−N(Nは整数)
secととることによって、シフト動作と加算だりで上
記微分方程式を解くことができ、さらに高速な演算制御
が得られるが、この発明の補間υ制御はこのような繰返
し時間の導入を必須とするものではない。この発明では
、この発明の基礎となる補間法を単独で用いてもよく、
上述したような軟出発・軟停止、さらには、直線補間1
円弧補間。
種板の補間なと、他の任意の補間法と共用して用いるこ
とをも内包している。
とをも内包している。
また、この発明の制御方法および制i!a装置はプレイ
バック方式のロボットに限らず、数値制御ロボットなど
の他の種類のロボットの1bllll!にも用いること
ができる。ティーチング点など、作業点が通過すべき位
置における速度の方向の選択は、上記実施例において例
示した方向に限らず、たとえ向とxix1+1の方向と
に異なった重みをつけて平均化した方向であってもよい
。作業点に描かUるべぎ軌跡の曲率が、出発点から停止
点へ向うに従って単調に増大したり減少したりするよう
な軌跡(たとえば螺旋形)などの場合には、このような
選択も有効である。
バック方式のロボットに限らず、数値制御ロボットなど
の他の種類のロボットの1bllll!にも用いること
ができる。ティーチング点など、作業点が通過すべき位
置における速度の方向の選択は、上記実施例において例
示した方向に限らず、たとえ向とxix1+1の方向と
に異なった重みをつけて平均化した方向であってもよい
。作業点に描かUるべぎ軌跡の曲率が、出発点から停止
点へ向うに従って単調に増大したり減少したりするよう
な軌跡(たとえば螺旋形)などの場合には、このような
選択も有効である。
(発明の効果)
このように、この発明によれば、比較的簡単であるにも
かかわらず、軌跡の大域的性格を取り込んだ補間制御を
行なうことができ、従来の制御装置の基礎となっている
補間法の長所を兼ね賜えたロボット制御方法およびその
装置を得ることができる。
かかわらず、軌跡の大域的性格を取り込んだ補間制御を
行なうことができ、従来の制御装置の基礎となっている
補間法の長所を兼ね賜えたロボット制御方法およびその
装置を得ることができる。
第1図ないし第3図は、種板の補間を説明するための図
である。第4図はこの発明の実施例であるロボットgi
ll m装置を用いたシステムの全体図である。第5図
は第4図のロボット制御装置に含まれる制御回路の全体
的構成を示す図である。第6図はこの発明の実施例に用
いられる補間法の原理を説明するための図である。第7
図はこの発明の実施例に含まれる補間回路の例を示すブ
ロック図である。第8図はこの発明の詳細な説明するた
めのフロー図である。第9図ないし第11図は、この発
明の他の変形例において共用される軟出発・軟停止の方
法を説明するための図である。第12図は軟出発・軟停
止の方法と組合わせて用いられたこの発明の他の変形7
例に含まれる補間回路を示すブロック図である。 11・・・制御装置、20・・・制御回路、21・・・
マイクロコンピュータ、22.30・・・補間回路、1
01〜104,106,108,110.322==−
バッファ、105,107,109・・・加算器、32
1.325・・・マルチブレクリ−1323・・・減算
器、324・・・シフタ、
である。第4図はこの発明の実施例であるロボットgi
ll m装置を用いたシステムの全体図である。第5図
は第4図のロボット制御装置に含まれる制御回路の全体
的構成を示す図である。第6図はこの発明の実施例に用
いられる補間法の原理を説明するための図である。第7
図はこの発明の実施例に含まれる補間回路の例を示すブ
ロック図である。第8図はこの発明の詳細な説明するた
めのフロー図である。第9図ないし第11図は、この発
明の他の変形例において共用される軟出発・軟停止の方
法を説明するための図である。第12図は軟出発・軟停
止の方法と組合わせて用いられたこの発明の他の変形7
例に含まれる補間回路を示すブロック図である。 11・・・制御装置、20・・・制御回路、21・・・
マイクロコンピュータ、22.30・・・補間回路、1
01〜104,106,108,110.322==−
バッファ、105,107,109・・・加算器、32
1.325・・・マルチブレクリ−1323・・・減算
器、324・・・シフタ、
Claims (12)
- (1)駆動機構を有するロボットの作業点に、所定の順
序で所定の離散的な通過点を通過する運動を行なわせる
ためのロボット制御方法であって、前記通過点のそれぞ
れの位置を表現する位置データと、前記通過点のそれぞ
れにおいて前記作業点が有すべき速度の大きさを表現す
る速度データとを準備するステップと、 前記位置データと前記速度データとに基づいて、所定の
時間間隔ごとの値を有し、かつ前記通過点の間における
前記作業点の運動を補間する補間データを求めるステッ
プと、 前記補間データに基づいて前記駆動機構を駆動するステ
ップとを含み、 前記速度データに依存する大きさと、前記位置データの
うち前記所定順序に沿って連続する複数の通過点をそれ
ぞれ表現するデータの相対的関係に依存する方向とを有
する速度で、前記作業点が前記通過点を通過する条件に
基づいて、前記補間データが求められる、ロボット制御
方法。 - (2)前記補間データは、時間パラメータに関する3次
以上の多項式として表現された位置の補間関数に基づい
て決定される、特許請求の範囲第1項記載のロボット制
御方法。 - (3)前記多項式で表現された前記位置の補間関数は、
時間パラメータに関する微分方程式を満足し、かつ前記
補間データは、前記微分方程式に基づいて決定される、
特許請求の範囲第2項記載のロボット制御方法。 - (4)前記所定の時間間隔は、Nを整数としたとき2^
−^N秒であり、前記微分方程式は、前記所定の時間間
隔ごとにその値が更新される繰返し演算式によって近似
されており、前記繰返し演算式は、前記所定の時間間隔
と被乗算数との乗算と、前記乗算による乗算結果と被加
算数との加算とを含み、かつ前記繰返し演算式の演算は
、前記被乗算数をNビットだけ下位側にシフトさせて前
記被加算数と加算する演算によって達成される、特許請
求の範囲第3項記載のロボット制御方法。 - (5)前記所定の順序に沿って隣接する2つの通過点の
うち少なくとも一方に対する前記速度データの値が0で
ある場合には、前記隣接する2つの通過点の間を補間す
る補間データは、前記作業点の加速度が所定の位置から
の距離に相関して変化するように演算される、特許請求
の範囲第1項ないし第4項のいずれかに記載のロボット
制御方法。 - (6)前記隣接する2つの通過点の間を補間する前記補
間データは、前記相関を記述する微分方程式に基づいて
演算され、前記相関を記述する前記微分方程式は、前記
所定の時間間隔と、前記所定の時間間隔とは異なる他の
時間間隔とによる、それぞれの繰返し演算の組合せによ
って解かれ、かつ前記繰返し演算は、シフト演算と加算
とによって達成される、特許請求の範囲第5項記載のロ
ボット制御方法。 - (7)駆動機構を有するロボットの作業点に、所定の順
序で所定の離散的な通過点を通過する運動を行なわせる
ためのロボット制御装置であって、前記通過点のそれぞ
れの位置を表現する位置データと、前記通過点のそれぞ
れにおいて前記作業点が有すべき速度の大きさを表現す
る速度データとを記憶する記憶手段と、 前記記憶手段から、前記位置データと前記速度データと
を読出す読出手段と、 前記読出手段から読出された前記位置データと前記速度
データとを入力して、所定の時間間隔ごとの値を有し、
かつ前記通過点の間における前記作業点の運動を補間す
る補間データを発生する補間データ発生手段と、 前記補間データ発生手段で発生された前記補間データを
前記駆動機構に出力して前記駆動機構を駆動させる出力
手段とを備え、 前記補間データ発生手段は、 前記速度データに依存する大きさと、前記位置データの
うち前記順序に沿って連続する複数の通過点をそれぞれ
表現するデータの相対的関係に依存する方向とを有する
速度で、前記作業点が前記通過点を通過する条件に基づ
いて、前記補間データの演算を行なう補間データ演算手
段を含む、ロボット制御装置。 - (8)前記補間データ演算手段は、時間パラメータに関
する3次以上の多項式として表現された位置の補間関数
に基づいて演算を行なう手段である、特許請求の範囲第
7項記載のロボット制御装置。 - (9)前記多項式で表現された前記位置の補間関数は、
時間パラメータに関する微分方程式を満足し、前記補間
データ演算手段は、前記微分方程式に基づいて前記補間
データの演算を行なう微分方程式演算手段を含む、特許
請求の範囲第8項記載のロボット制御装置。 - (10)前記所定の時間間隔は、Nを整数としたとき2
^−^N秒であり、前記微分方程式演算手段は、前記所
定の時間間隔ごとに出力値が更新される繰返し演算手段
を含み、前記繰返し演算手段は、前記所定の時間間隔と
被乗算数との乗算と、前記乗算による乗算結果と被加算
数との加算とを行う乗加算手段を含み、前記乗加算手段
は、前記被乗算数をNビットだけ下位側にシフトさせて
前記被加算数と加算する演算手段である、特許請求の範
囲第9項記載のロボット制御装置。 - (11)前記補間データ発生手段はさらに、前記所定の
順序に沿って隣接する2つの通過点のうち少なくとも一
方に対する前記速度データの値が0である場合には、前
記隣接する2つの通過点の間を補間する補間データを前
記作業点の加速度が所定の位置からの距離に相関して変
化するように演算する第2の補間データ演算手段を含む
、特許請求の範囲第7項ないし第10項のいずれかに記
載のロボット制御装置。 - (12)前記第2の補間データ演算手段は、前記相関を
記述する微分方程式に基づいて演算を行なう第2の微分
方程式演算手段を含み、前記第2の微分方程式演算手段
は、前記所定の時間間隔と、前記所定の時間間隔とは異
なる他の時間間隔とによる、それぞれの繰返し演算を組
合わせて行なう異時間繰返し演算手段を含み、かつ前記
異時間繰返し演算手段は、シフト演算と加算とを行なう
手段を含む、特許請求の範囲第11項記載のロボット制
御装置。
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 true JPS6115207A (ja) | 1986-01-23 |
| JPH0522921B2 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) |
Cited By (5)
| 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 | ||
| JP2008204188A (ja) * | 2007-02-20 | 2008-09-04 | Nagoya Institute Of Technology | モーションコントローラおよびモーションプランナおよび多軸サーボシステムおよびサーボアンプ |
| US8947715B2 (en) | 2012-09-25 | 2015-02-03 | Brother Kogyo Kabushiki Kaisha | Printer for displaying characters, block numbers and block break line |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57178689A (en) * | 1981-04-03 | 1982-11-02 | Cincinnati Milling Machine Co | Device for dynamically controlling central point of working section of robot arm so as to slip out of predetermined course |
| JPS5858609A (ja) * | 1981-10-05 | 1983-04-07 | Hitachi Ltd | 産業用ロボツト軌跡補間方法 |
-
1984
- 1984-06-29 JP JP13618384A patent/JPS6115207A/ja active Granted
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57178689A (en) * | 1981-04-03 | 1982-11-02 | Cincinnati Milling Machine Co | Device for dynamically controlling central point of working section of robot arm so as to slip out of predetermined course |
| JPS5858609A (ja) * | 1981-10-05 | 1983-04-07 | Hitachi Ltd | 産業用ロボツト軌跡補間方法 |
Cited By (5)
| 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 | ||
| JP2008204188A (ja) * | 2007-02-20 | 2008-09-04 | Nagoya Institute Of Technology | モーションコントローラおよびモーションプランナおよび多軸サーボシステムおよびサーボアンプ |
| US8947715B2 (en) | 2012-09-25 | 2015-02-03 | Brother Kogyo Kabushiki Kaisha | Printer for displaying characters, block numbers and block break line |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0522921B2 (ja) | 1993-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4689756A (en) | Robot interpolation control method | |
| Gasparetto et al. | A new method for smooth trajectory planning of robot manipulators | |
| JP3830475B2 (ja) | 制御装置 | |
| Bazaz et al. | Minimum time on-line joint trajectory generator based on low order spline method for industrial manipulators | |
| CN109551485A (zh) | 运动控制方法、装置和系统及存储介质 | |
| JP2015051469A (ja) | ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
| US4764883A (en) | Industrial robot having selective teaching modes | |
| JP4380042B2 (ja) | アニメーション生成方法および装置 | |
| JP2506760B2 (ja) | ロボットの制御装置 | |
| WO1997008596A1 (en) | Curve interpolation method for carrying out speed control operation when robot makes connecting action | |
| JPH0580834A (ja) | 機械部材の運動制御方法および装置 | |
| JP2874238B2 (ja) | 多関節形ロボットの制御方法 | |
| CN109605378A (zh) | 运动参数的处理方法、装置和系统及存储介质 | |
| JPS6115207A (ja) | ロボツト制御方法およびその装置 | |
| CN119369384A (zh) | 一种机械臂运动轨迹的智能规划及控制方法、装置 | |
| JPS60262213A (ja) | 産業用ロボツトの運動制御方法 | |
| JPH04207516A (ja) | 補間方法 | |
| JP6046994B2 (ja) | 制御装置 | |
| JPH0570162B2 (ja) | ||
| JPH05298422A (ja) | 多関節構造体の動作生成方法 | |
| JPS5822410A (ja) | 数値制御方式 | |
| JP2628297B2 (ja) | ロボット制御方法およびその装置 | |
| JPH03213284A (ja) | ロボット制御装置 | |
| JPH09244725A (ja) | 軌道補間装置及びその方法並びに制御装置 | |
| JPS58101303A (ja) | 自動位置制御装置の軌道補間方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |