JPH08202426A - ロボットの制御方法 - Google Patents

ロボットの制御方法

Info

Publication number
JPH08202426A
JPH08202426A JP2726595A JP2726595A JPH08202426A JP H08202426 A JPH08202426 A JP H08202426A JP 2726595 A JP2726595 A JP 2726595A JP 2726595 A JP2726595 A JP 2726595A JP H08202426 A JPH08202426 A JP H08202426A
Authority
JP
Japan
Prior art keywords
robot
corner
error
radius
trajectory
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.)
Withdrawn
Application number
JP2726595A
Other languages
English (en)
Inventor
Tetsuro Kato
哲朗 加藤
Yukinobu Tsuchida
行信 土田
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2726595A priority Critical patent/JPH08202426A/ja
Publication of JPH08202426A publication Critical patent/JPH08202426A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 ロボットがコーナを回る際の遠心力による軌
跡精度の劣化防止。 【構成】 ロボットが半径rのコーナを速度vで回る
時、質量mが集中しているとみなしたツール先端点TC
Pには、遠心力<F>=(mv2 /r)<u>がかかる
(<u>は半径方向の単位ベクトル)。遠心力による半
径方向の軌跡誤差eは、a=(JK-1T <u>)・<
u>として、e=a(mv2 /r)となる。JはTCP
の絶対座標値(x,y,z)と各軸値(θ1 〜θ6 )の
変換関係を定めるヤコビ行列、Kは各軸とトルクと捻れ
量の関係を定めるバネ定数K1 〜K6を対角要素とする
行列である。この基本式に基づき、ソフトウエア処理に
よってコーナ半径rを変えず、速度vを自動調整して、
エラー量eを許容量e0 以下に抑える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本願発明は、工場における省力
化、自動化等に利用される産業用ロボット(以下、単に
ロボットと言う。)の制御技術に関し、更に詳しく言え
ば、ロボットがコーナを回る際に軌跡精度を悪化させな
い為のロボット制御方法に関する。
【0002】
【従来技術】ロボットの移動経路にコーナ(教示経路の
曲率が相対的に大きな部分のこと;以下同様)が含まれ
ている場合、ロボットがそのコーナを回る際にロボット
の手先部分は相対的に大きな速度を持つことになり、ま
たそれと同時に、コーナ通過時の速度とコーナ半径(よ
り一般的に言えば、経路の曲率)に応じて遠心力が発生
する。ロボットは弾性を有しているから、この遠心力に
よって手先部分はコーナの外側へ向かって膨らんだ軌道
をとる傾向が生じ、コーナ周辺においてロボットの軌跡
精度が悪化する。
【0003】従来は、教示時に試験的な再生運転を行な
ってコーナ通過時の軌跡精度をチェックし、必要に応じ
て教示経路を修正する、あるいは教示速度を落とすなど
の手段によって軌跡精度の悪化を防いでいた。しかしこ
の方法では、軌跡のずれ量(エラー量)を所定値以下に
抑える為にオペレータは試行錯誤的な作業を強いられる
ことになり、非常に煩雑であった。
【0004】
【発明が解決しようとする課題】そこで本願発明の目的
は、コーナ通過時に生じる遠心力に起因したロボットの
軌跡精度の悪化を自動的に回避することが出来るロボッ
トの制御方法を提供することにある。また、本願発明は
そのことを通してロボットを利用した作業の効率を向上
させることを目指している。
【0005】
【課題を解決するための手段】本願発明は、ロボット制
御装置を用いたソフトウェア処理によってロボットがコ
ーナを回る際の軌跡精度の劣化を防止する。本願発明で
は、ロボット制御装置により、ロボットがコーナを回る
時に生じる遠心力によるツール先端点の軌跡誤差eに対
する移動速度v並びにコーナ半径rの依存関係を評価
し、その評価に基づいて3つの形態でコーナ通過時の軌
跡精度の劣化を防止する。
【0006】第1の形態においては、コーナ通過時のロ
ボットの速度vをソフトウェア処理によって、エラー量
eを予め設定された許容量e0 以下に抑えるように修正
することによって軌跡精度の劣化を防止する。
【0007】第2の形態においては、コーナ通過時のコ
ーナ半径rをソフトウェア処理によって、エラー量eを
予め設定された許容量e0 以下に抑えるように修正する
ことによって軌跡精度の劣化を防止する。
【0008】第3の形態においては、ロボットがコーナ
を回る時に生じる遠心力によるツール先端点の軌跡誤差
eに対する移動速度v及びコーナ半径rの依存関係に基
づいて誤差eの大きさを推定し、ロボットがコーナの通
過時に推定された誤差eを補償するようにソフトウェア
処理によって位置指令を作成してロボットを移動させる
ことで軌跡精度の劣化を防止する。
【0009】
【作用】本願発明の第1、第2の形態によれば、教示時
に試行錯誤を繰り返すことなく、コーナ通過時には移動
速度あるいはコーナ半径が自動的に調整され、ロボット
がコーナを回る時に生じる遠心力によるツール先端点の
軌跡誤差eの大きさが予めめ設定された許容量以下に抑
えられる。
【0010】また、本願発明の第3の形態によれば、教
示時に試行錯誤を繰り返すことなく、コーナ通過時には
推定される遠心力による誤差を補償するようにソフトウ
ェア処理によって位置指令が作成され、ロボットが移動
される。
【0011】
【実施例】図1は、コーナをロボットが回る際の状況を
説明する模式図である。本実施例においては、同図に示
したように、手先の質量mはツール先端点TCPに集中
しているものとする。ツール先端点TCPは回転中心O
c を中心とする回転半径rを有するコーナ軌道上にあ
り、接線方向に速度v(速度ベクトル<v>の大きさ)
をもって移動している。この時TCPに作用する遠心力
を<F>=(Fx ,Fy ,Fz )とする。
【0012】ここで、<>はベクトルを表わす記号とし
て使用した(以下、同様)。また、Fx ,Fy ,Fz は
作業空間内に固定された適当な座標系(以下、「ワーク
座標系」と言う。)上で表わされた遠心力のx成分、y
成分及びz成分である。更に、回転中心Oc からTCP
に向かう単位ベクトルを<u>で表わす。
【0013】この時、遠心力Fは次式(1)で与えられ
る。 <F>=(mv2 /r)<u> ・・・(1) 図2は、本実施例において本願発明が適用されるロボッ
トの軸構成を表わした模式図である。同図に示されてい
るように、本実施例で使用されるロボット1は6個の関
節軸を有する6軸ロボットであるものとし、各軸の角度
位置を表わす軸変数をθ1 〜θ6 、各軸のトルクをT1
〜T6 で表わす。また、ワーク座標系上で表わしたTC
Pの位置を<x>=(x,y,z)で表わし、<x>と
軸変数θ1 〜θ6 の間の関係を次の式(2)で表わすこ
ととする。
【0014】
【数1】 更に、<x>と軸変数θ1 〜θ6 の間の変換関係を規定
するヤコビ行列J並びに各軸にかかるトルクを成分に持
つベクトル<T>を次式(3),(4)で定義する。
【0015】
【数2】 この時、遠心力<F>と各軸にかかるトルク<T>の間
には次の関係が成立する。 <T>=JT <F> ・・・(5) (1)式と(5)式から<F>を消去すれば次式(6)
を得る。 <T>=JT (mv2 /r)<u> ・・・(6) ここで、記号「 T」はその行列の転置行列を表わす記号
として用いた(以下、同様)。
【0016】図3は、ロボットの各軸のモータとリンク
の間に存在する弾性をモデル化して表わした概念図であ
る。同図に示したように、ロボットの各リンク2はそれ
を駆動するモータ3と弾性的に結合されているとみなす
ことが出来る。この弾性結合のバネ定数をKi (i=
1,2,3・・・6)とする。また、各軸にかかるトル
ク<T>によって生じる捻れをεi (i=1,2,3・
・・6)で表わす。そして、行列K及びベクトル<ε>
を次式(7),(8)で定義する。なお、一般にロボッ
ト機構部の構成要素には剛性の大きなものが使用される
から、上記バネ定数Ki は十分に大きく、従って、各軸
の弾性変形としての捻れεi は微小量とみなすことが出
来る。
【0017】
【数3】 この時、トルク<T>とベクトル<ε>の間には次式
(9)が成り立つ。 <T>=K<ε> ・・・(9) (6)式と(9)式から<T>を消去すれば次式(1
0)を得る。 JT (mv2 /r)<u>=K<ε> ・・・(10) 各軸が<ε>だけ捻れた時のツール先端点のワーク座標
系上で表わした位置を<x' >=(x' ,y' ,z' )
とすると、<x' >はヤコビ行列Jと捻れを表わすベク
トル<ε>を用いて、近似的に次式(11)で表わすこ
とが出来る。
【0018】
【数4】 この時、図4に示したように、半径方向のエラー量eを
次式(12)で定義する。 e=(<x' >−<x>)・<u> ・・・(12) ここで、「・」はベクトルの内積を表わす記号として用
いた(以下、同様)。すると、(11),(12)式よ
り、次式(13)式が得られる。 e=(J<ε>)・<u> ・・・(13) 更に、(10),(13)式より<ε>を消去すれば、
次式(14)式が得られる。 e=(mv2 /r)(JK-1T <u>)・<u> ・・・(14) 表式を簡単にする為、 a=(JK-1T <u>)・<u> ・・・(15) と置けば、(14)式は、 e=a(mv2 /r) ・・・(16) となる。以下に説明するように、本願発明は3つの制御
方式で具体化され得るが、この(16)式はいずれの方
式を採用する場合にも制御の基本式として使用出来る。
以下、方式別に概要を説明する。
【0019】(方式1)この方式では、コーナ半径rが
指定されている場合に、速度vを自動調整することによ
り、ツール先端点の軌跡の半径方向のエラー量eが許容
量e0 以下に抑えられる。コーナ半径rに対する調整は
行なわれない。e≦e0 を満足する速度vの条件は、前
出の式(16)式から直ちに次式(17)で与えられ
る。
【0020】
【数5】 (方式2)この方式では、速度vが指定されている場合
に、コーナ半径rを自動調整することにより、ツール先
端点の軌跡の半径方向のエラー量eが許容量e0 以下に
抑えられる。速度vに対する調整は行なわれない。e≦
e0 を満足する半径rの条件は、前出の式(16)式か
ら直ちに次式(18)で与えられる。 r≧av2 /e0 ・・・(18) (方式3)この方式では、速度vとコーナ半径rが指定
されている場合に、予測されるエラー量eを相殺するよ
うにコーナ半径rを小さくする動作指令を作成し、結果
的にツール先端点が正しい軌跡を描くように制御され
る。速度vに対する調整は行なわれない。指定されるコ
ーナ半径r自体には変更は加えられない。
【0021】このうような制御を行なう為には、(1
6)式から、位置指令を通常の制御で作成される<x>
に代えて、次式(19)で与えられる<xadj >とすれ
ば良い。
【0022】 <xadj >=<x>−e<u> =<x>−a(mv2 /r)<u> ・・・(19) 次に、これら3方式に従った制御行なう為に使用可能な
ロボット制御装置について図5の要部ブロック図を参照
して説明する。図5において符号10で表示されたロボ
ット制御装置は、マイクロプロセッサを含む中央演算処
理装置(以下、CPUという。)11を備えている。C
PU11にはROMからなるメモリ12、RAMからな
るメモリ13、不揮発性メモリ14、液晶ディスプレイ
(LCD)を備えた教示操作盤15、サーボ回路17を
経て各軸のモータを内蔵するロボット機構部に接続され
たロボット軸制御部16が各々バス19を介して接続さ
れている。
【0023】ROM12には、CPU11がロボット本
体1及びロボット制御装置10自身の制御を行なう為の
各種のプログラムが格納される。RAM13はデ−タの
一時記憶や演算の為に利用されるメモリである。不揮発
性メモリ14には、各種パラメータ設定値や動作プログ
ラムが格納される。
【0024】ここでは、コーナを回る経路移動を含む動
作プログラムとして、次のものを考える。 1:カクジク イチ[1] 100%イチギメ 2:チョクセン イチ[2] 200mm/sec ナメラカ
100 3:エンコ イチ[3] イチ[4] 200mm/sec ナメラカ100 4:チョクセン イチ[5] 200mm/sec イチギメ この動作プログラムの意味するところを図6を参照して
説明すると、次のようになる。
【0025】図6に示したように、ロボットのTCPを
先ずイチ[1]で位置決めしてから、イチ[2]までは
直線移動形式の移動が教示されている。この間の教示速
度は200mm/secとし、イチ[2]において位置決め割
合は0%(加減速制御なし)とする。イチ[2]から
は、イチ[2]、イチ[3]、イチ[4]の3点を通る
円弧軌道が教示されている。円弧の中心(回転中心)を
Oc とし、回転半を50mmとする。また、この間の教示
速度は200mm/secとし、イチ[4]において位置決め
割合は0%(加減速制御なし)とする。
【0026】イチ[4]からイチ[5]までは直線移動
形式の移動が教示されている。但し、教示速度は200
mm/secとし、イチ[5]において位置決めがなされる。
なお、符号P1 ,P2 ,P3 ,P4 ・・・Pn-2 ,Pn-
1 ,Pn は円孤イチ[2]〜イチ[4]に沿った経路長
をn等分(nは不揮発性メモリ14内に記憶されている
設定値)に分割した各点を表わしている。
【0027】次に、以上の前提の下で前記各方式1〜方
式3実行する際の処理内容について図7〜図9のフロー
チャートを参照図に加えて説明する。
【0028】(方式1)既に述べたように、この方式で
は速度vが式(17)を満たすように自動調整される。
一般に、速度の低下は最小限であることが好ましいの
で、ここでは式(17)で等号の成立するような制御を
考える。(17)式におけるパラメータaの値はRAM
13に、半径方向のエラー許容量e0 の値は不揮発性メ
モリ14内に各々予め格納されているものとする。aの
値はその都度計算される。バネ定数Ki の値は理論計算
あるいは実験的な方法によって別途定められる。また、
エラー許容量e0 の値はユーザが指定出来ることが好ま
しく、ここではe0 =2mmとする。
【0029】処理内容の概要は図7のフローチャートに
記した通りである。なお、説明はロボットが各軸移動形
式でイチ[1]に到達してから以後の制御について行な
う(一般に、各軸移動形式で移動させる場合には軌跡精
度は問題とされないので、遠心力を考慮した制御は行な
わない)。
【0030】先ず、動作プログラムから読み込まれた1
ブロック分の動作文をデコードし(ステップSS1)、
コーナを回る移動に関するものか否かを判断する(ステ
ップSS2)。イチ[1]からイチ[2]への移動は直
線移動形式に指定されているので、判断結果はノーであ
る。従って、ステップSS7へ進み、教示された速度
(200mm/sec)と経路(イチ[1]→イチ[2])の
条件で通常の処理によって各軸の分配パルスを計算し、
各軸のサーボ制御部(ロボット軸制御部16)へ送る。
これにより、教示経路に基づいて計算された補間点列
{<x>}で指定された各位置へロボットが移動され
る。なお、補間点列{<x>}を計算して位置指令を作
成する処理については通常通りなので説明を省略する
(以下、同様)。
【0031】イチ[2]への移動の為の処理が完了した
ら(ステップSS8でイエス)、ステップSS9で次の
経路移動動作文が読み込まれていることを確認し、ステ
ップSS1へ戻る。
【0032】イチ[2]からイチ[3]を経てイチ
[4]への移動は円弧移動形式に指定されているので、
ステップSS2の判断結果はイエスとなる。この場合に
は、分割点P1 ,P2 ・・・Pn について次の(20)
式を計算する。
【0033】
【数6】 そして、それらの内最も小さいものをvmin とした時、
vmin が教示された速度(200mm/sec)よりも大きけ
れば(ステップSS4でノー)、教示速度通りの移動を
実行しても誤差が許容量e0 (=2mm)以下に収まると
判断してステップSS7へ進み、教示された速度(20
0mm/sec)と経路(イチ[2]→イチ[3]→イチ
[4])の条件で通常の処理によって各軸の分配パルス
を計算し、各軸のサーボ制御部(ロボット軸制御部1
6)へ送る。
【0034】これにより、教示経路(イチ[2]→イチ
[3]→イチ[4])に基づいて計算された補間点列
{<x>}で指定された各位置へロボットが移動され
る。
【0035】イチ[4]に至る移動の為の処理が完了し
たら(ステップSS8でイエス)、ステップSS9で次
の経路移動動作文が読み込まれていることを確認し、再
度ステップSS1へ戻る。
【0036】一方、もしステップSS4でvmin が教示
された速度(200mm/sec)以下であった場合には(ス
テップSS4でイエス)、教示速度通りの移動を実行す
ると誤差が許容量e0 (=2mm)を越えると判断してス
テップSS5へ進み、教示された速度(200mm/sec)
をvmin に読み換えて経路(イチ[2]→イチ[3]→
イチ[4])に沿った移動をロボットに行なわせる為の
分配パルス計算を実行し、各軸のサーボ制御部(ロボッ
ト軸制御部16)へ送る。
【0037】これにより、教示経路(イチ[2]→イチ
[3]→イチ[4])に基づいて計算された補間点列
{<x>}で指定された各位置へロボットが移動され
る。この間の移動速度はvmin に抑えられているから、
誤差は常時e0 (=2mm)以下となる。
【0038】イチ[4]に至る移動の為の処理が完了し
たら(ステップSS8でイエス)、ステップSS9で次
の経路移動動作文が読み込まれていることを確認し、再
度ステップSS1へ戻る。
【0039】イチ[4]からイチ[5]への移動は直線
移動形式に指定されているので、イチ[1]からイチ
[2]への移動の場合と同様の処理が行なわれる。即
ち、ステップSS2からステップSS7へ進み、教示さ
れた速度(200mm/sec)と経路(イチ[4]→イチ
[5])の条件で通常の処理によって各軸の分配パルス
を計算し、各軸のサーボ制御部(ロボット軸制御部1
6)へ送る。
【0040】イチ[5]への移動の為の処理が完了した
ら(ステップSS8でイエス)、ステップSS9に進む
が、今度は次の経路移動動作文が読み込まれていないの
で処理を終了する。
【0041】(方式2)既に述べたように、この方式で
はコーナ半径rが式(18)を満たすように自動調整さ
れる。一般にコーナ半径の拡大は最小限であることが好
ましいので、ここでは式(18)で等号の成立するよう
な制御を考える。方式1の場合と同様、(18)式にお
けるパラメータaの値はRAM13に、半径方向のエラ
ー許容量e0 の値は不揮発性メモリ14内に各々予め格
納されているものとする。また、エラー許容量e0 の値
はe0 =2mmとする。
【0042】処理内容の概要は図8のフローチャートに
記した通りである。この処理はコーナーを形成する区間
の前後に区間を定める教示位置(本事例では、図6中の
イチ[2]及びイチ[4])の変更を伴うので、処理は
ロボットの移動開始に先だって行なわれる。なお、コー
ナ半径rの変更後のロボット移動開始の処理は従来と変
わらないから、説明はコーナ半径rの変更に関する処理
に限定して行なう。
【0043】先ず、動作プログラムから読み込まれた1
ブロック分の動作文をデコードし(ステップST1)、
コーナを回る移動に関するものか否かを判断する(ステ
ップST2)。イチ[1]からイチ[2]への移動は直
線移動形式に指定されているので、判断結果はノーであ
る。従って、この段階では遠心力を考慮した特段の処理
は行なわずにステップST6へ進み、残りの経路移動動
作文が有ればステップST1へ戻る。
【0044】イチ[2]からイチ[3]を経てイチ
[4]への移動は円弧移動形式に指定されているので、
ステップST2の判断結果はイエスとなる。この場合に
は、分割点P1 ,P2 ・・・Pn について次の(21)
式を計算する。 a(v2 /e0 )=a×(2002 /2) ・・・(21) そして、それらの内最も大きいものをrmax とした時、
rmax と教示経路(イチ[2]〜イチ[4])のコーナ
半径(=50mm)との大小比較を行なう(ステップST
4)。もし、rmax が50mm未満であれば(判断はノ
ー)、教示経路通りの移動を実行しても誤差が許容量e
0 (=2mm)以下に収まると判断する。この場合には、
遠心力を考慮した特段の処理は行なわずにステップST
6へ進み、残りの経路移動動作文が有ればステップST
1へ戻る。
【0045】一方、もしステップST4でrmax が50
mm以上であった場合には(判断はイエス)、教示内容通
りの経路移動を実行すると誤差が許容量e0 (=2mm)
を越えると判断してステップST5へ進み、図6に破線
で示したように、コーナ半径を50mmからrmax に変更
する。その為に、イチ[2]のデータを位置Q1 のデー
タに、イチ[3]のデータを位置Q2 のデータに、イチ
[4]のデータを位置Q3 のデータに各々変更する。
【0046】次いで、ステップST6へ進み、残りの経
路移動動作文が有ればステップST1へ戻る。イチ
[4]からイチ[5]への移動は直線移動形式に指定さ
れているので、続くステップST2の判断結果はノーで
ある。従って、遠心力を考慮した特段の処理は行なわず
にステップST6へ進み、残りの経路移動動作文が無い
ことを確認して処理を終了する。
【0047】なお、上記ステップST5における位置Q
1 ,Q2 ,Q3 の決め方は次の通りである。コーナの始
点(イチ[2])と終点(イチ[4])における接線
(イチ[1]とイチ[2]を結ぶ直線並びにイチ[4]
とイチ[5]を結ぶ直線)を考え、半径がrmax を有
し、これら接線と接する円弧をイチ[1]〜イチ[5]
の位置データから計算により求める。そして、各接点を
Q1 ,Q3 とする。Q3 は計算された円弧の中間点とす
れば良い。
【0048】(方式3)この方式では、教示速度vと教
示されたコーナ半径rは変更せずに、予測されるエラー
量eを相殺するようにコーナ半径rを小さくする動作指
令を作成し、結果的にツール先端点が正しい軌跡を描く
ようにロボットを制御する。(19)式におけるパラメ
ータaの値は予めRAM13内に格納されているものと
する。aの値はその都度計算される。バネ定数Ki の値
は理論計算あるいは実験的な方法によって別途定められ
る。本方式では、エラー許容量e0 の値は設定する必要
がない。
【0049】処理内容の概要は図9のフローチャートに
記した通りである。なお、説明は方式1の場合と同様の
理由により、ロボットが各軸移動形式でイチ[1]に到
達してから以後の制御について行なう。本方式では、位
置指令を規定する補間点のデータを作成する処理が通常
と異なるので、補間点作成の処理(ステップSV1〜ス
テップSV9)とロボット動作の処理(ステップSW1
〜ステップSV4)に分けて説明する。また、両処理に
おける補間点列データの書込み/読出しの実行指標N
(初期値N=0)を記憶するレジスタが不揮発性メモリ
14内に設定されているものとする。
【0050】補間点作成の処理では、動作プログラムか
ら読み込まれた1ブロック分の動作文をデコードし(ス
テップSV1)、1個またはそれ以上の補間点について
補間点列{<x>}を作成する(ステップSV2)。そ
して、続くステップSV3で動作がコーナを回る移動に
関するものか否かを判断する。
【0051】イチ[1]からイチ[2]への移動は直線
移動形式に指定されているので、ステップSV3の判断
結果はノーである。従って、ステップSV3からステッ
プSV5へ進み、指標Nの値をチェックする。判断がイ
エスであれば直ちに、また、ノーであればイエスになる
のを待ってステップSV6へ進む。そして、ステップS
V4を経由しなかった場合のステップSV6では、ステ
ップSV2で作成された補間点列{<x>}を修正せず
にバッファメモリ(不揮発性メモリ14内に設定)に書
込み指標Nを1インクリメントする。
【0052】続くステップSV8でその区間(ここでは
イチ[1]〜イチ[2])の全補間点の作成が完了した
か否かを判断し、ノーであればステップSV2以下を繰
り返す。ステップSV8でイエスの判断が出されたら、
移動経路の終点まで補間点作成が完了していないことを
確認した上で(ステップSV9)、ステップSV1まで
戻って次の動作文のデコードを行ない、1個またはそれ
以上の補間点について補間点列{<x>}を作成する
(ステップSV2)。
【0053】本事例では、イチ[2]〜イチ[4]の移
動の運動形式は円弧で指定されているから、次のステッ
プSV3では判断結果はイエスとなる。この場合には位
置指令の内容を変更する為に、ステップSV4へ進み、
分割点P1 ,P2 ・・・Pnについて次の(22)式を
計算する。 <xadj >=<x>−e<u> =<x>−a(mv2 /r)<u> =<x>−a(2002 /50)<u> ・・・(22) 次いで、ステップSV4からステップSV5へ進み、指
標Nの値をチェックする。判断がイエスであれば直ち
に、また、ノーであればイエスになるのを待ってステッ
プSV6へ進む。そして、ステップSV4を経由した場
合のステップSV6では、ステップSV4で修正された
補間点列{<xadj >}をバッファメモリ(不揮発性メ
モリ14内に設定)に書込み指標Nを1インクリメント
する。
【0054】続くステップSV8でその区間(今回はイ
チ[2]〜イチ[4])の全補間点の作成が完了したか
否かを判断し、ノーであればステップSV2以下を繰り
返す。ステップSV8でイエスの判断が出されたら、移
動経路の終点まで補間点作成が完了していないことを確
認した上で(ステップSV9)、ステップSV1まで戻
って次の動作文のデコードを行ない、1個またはそれ以
上の補間点について補間点列{<x>}を作成する(ス
テップSV2)。
【0055】イチ[4]からイチ[5]への移動は直線
移動形式に指定されているので、ステップSV3の判断
結果はノーである。従って、ステップSV3からステッ
プSV5へ進み、指標Nの値をチェックする。判断がイ
エスであれば直ちに、また、ノーであればイエスになる
のを待ってステップSV6へ進む。そして、ステップS
V2で作成された補間点列{<x>}を修正せずにバッ
ファメモリに書込み指標Nを1インクリメントする。
【0056】続くステップSV8でその区間(イチ
[4]〜イチ[5])の全補間点の作成が完了したか否
かを判断し、ノーであればステップSV2以下を繰り返
す。ステップSV8でイエスの判断が出されたら、移動
経路の終点まで補間点作成が完了したことを確認して
(ステップSV9)、処理を終了する。
【0057】一方、補間点作成の処理と並行して実行さ
れるロボット動作の為の処理では、先ず、ステップSW
1で指標Nが0より大きいかがチェックされる。もし、
イエスであれば直ちに、ステップSW2へ進み、バッフ
ァから補間点列{<x>}のデータを読み出す。また、
ステップSW1の判断がノーであった場合には、上述し
た補間点作成処理でバッファに補間点列{<x>}のデ
ータを書き込まれ、指標Nがインクリメントされるのを
待つ(ステップSV6,SV7)。
【0058】指標Nがインクリメントされると、その直
後のステップSW1でイエスが出されるから、ステップ
SW2へ進み、バッファから補間点列{<x>}のデー
タを読み出す。補間点列{<x>}のデータを読み出し
たら、指標Nをデクリメントする(ステップSW3)。
そして、読み出された補間点列{<x>}のデータに基
づいて分配パルスを計算して各軸のサーボ制御部へ送
り、ロボットを補間点列{<x>}で指定された位置へ
移動させる(ステップSW4)。以上の処理をロボット
が経路の終点(イチ[5])に到達するまで繰り返し
て、処理を終了する。
【0059】以上、図2に示した軸構成を備えた6軸ロ
ボットについて、図6に示した教示経路を前提に実施例
の説明を行なったが、ロボットの軸構成や教示経路にバ
リエーションがあっても本願発明の適用は可能である。
例えば、コーナがスプライン要素を接続した区間で与え
られる場合には、その区間について上記分割点P1 〜P
n をとれば、方式1あるいは方式2を適用することが出
来る。方式3を適用する場合には、各補間点について位
置指令を修正する処理を、上記した実施例と同様に実行
すれば良い。
【0060】
【発明の効果】本願発明によれば、教示時に試行錯誤を
繰り返すことなく、遠心力が作用するコーナ部の移動に
ついてロボット軌跡の精度が自動的に確保される。ま
た、そのことを通してロボットを利用した作業の効率を
向上させることが出来る。
【図面の簡単な説明】
【図1】コーナをロボットが回る際の状況(遠心力、速
度、質量、コーナ半径、半径方向単位ベクトル等の定義
内容)を説明する模式図である。
【図2】本実施例において本願発明が適用されるロボッ
トの軸構成を表わした模式図である。
【図3】ロボットの各軸のモータとリンクの間に存在す
る弾性をモデル化して表わした概念図である。
【図4】コーナをロボットが回る際に生じる軌跡誤差e
について説明する模式図である。
【図5】実施例で使用されるロボット制御装置を要部ブ
ロック図で示したものである。
【図6】実施例における動作プログラムの内容及び方式
2における軌跡の変更内容を説明する図である。
【図7】方式1における処理の概要を説明するフローチ
ャートである。
【図8】方式2における処理の概要を説明するフローチ
ャートである。
【図9】方式3における処理の概要を説明するフローチ
ャートである。
【符号の説明】
1 ロボット 2 リンク 3 モータ 10 ロボット制御装置 11 中央演算処理装置(CPU) 12 ROM 13 RAM 14 不揮発性メモリ 15 教示操作盤 16 ロボット軸制御部 17 サーボ回路 19 バス P1 ,P2 ,P3 ・・・Pn コーナを回る経路に沿っ
た分割点 Q1 イチ[2]を修正した点 Q2 イチ[3]を修正した点 Q3 イチ[4]を修正した点

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウェア処理能力を有するロボット
    制御装置によって制御されるロボットがコーナを回る際
    の軌跡精度の劣化を防止する為のロボットの制御方法で
    あって、 前記ロボットがコーナを回る時に生じる遠心力によるツ
    ール先端点の軌跡誤差eに対する移動速度vの依存関係
    に基づいて、 コーナ通過時のロボットの速度vをソフトウェア処理に
    よって、エラー量eを予め設定された許容量e0 以下に
    抑えるように修正する前記ロボットの制御方法。
  2. 【請求項2】 ソフトウェア処理能力を有するロボット
    制御装置によって制御されるロボットがコーナを回る際
    の軌跡精度の劣化を防止する為のロボットの制御方法で
    あって、 前記ロボットがコーナを回る時に生じる遠心力によるツ
    ール先端点の軌跡誤差eに対するコーナ半径rの依存関
    係に基づいて、 コーナ通過時のコーナ半径rをソフトウェア処理によっ
    て、エラー量eを予め設定された許容量e0 以下に抑え
    るように修正する前記ロボットの制御方法。
  3. 【請求項3】 ソフトウェア処理能力を有するロボット
    制御装置によって制御されるロボットがコーナを回る際
    の軌跡精度の劣化を防止する為のロボットの制御方法で
    あって、 前記ロボットがコーナを回る時に生じる遠心力によるツ
    ール先端点の軌跡誤差eに対する移動速度v及びコーナ
    半径rの依存関係に基づいて誤差eの大きさを推定し、 前記ロボットが前記コーナの通過時には、前記推定され
    た誤差eを補償するようにソフトウェア処理によって位
    置指令を作成してロボットを移動させるようにした前記
    ロボットの制御方法。
JP2726595A 1995-01-24 1995-01-24 ロボットの制御方法 Withdrawn JPH08202426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2726595A JPH08202426A (ja) 1995-01-24 1995-01-24 ロボットの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2726595A JPH08202426A (ja) 1995-01-24 1995-01-24 ロボットの制御方法

Publications (1)

Publication Number Publication Date
JPH08202426A true JPH08202426A (ja) 1996-08-09

Family

ID=12216251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2726595A Withdrawn JPH08202426A (ja) 1995-01-24 1995-01-24 ロボットの制御方法

Country Status (1)

Country Link
JP (1) JPH08202426A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5556971B1 (ja) * 2013-05-14 2014-07-23 三菱電機株式会社 数値制御装置
WO2019114629A1 (zh) * 2017-12-13 2019-06-20 北京柏惠维康科技有限公司 一种获取机器人tcp坐标的方法和装置
JP2019123060A (ja) * 2018-01-18 2019-07-25 ファナック株式会社 ロボット制御装置
JP2019136841A (ja) * 2018-02-14 2019-08-22 ファナック株式会社 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5556971B1 (ja) * 2013-05-14 2014-07-23 三菱電機株式会社 数値制御装置
WO2014184820A1 (ja) * 2013-05-14 2014-11-20 三菱電機株式会社 数値制御装置
US9851709B2 (en) 2013-05-14 2017-12-26 Mitsubishi Electric Corporation Numerical control device
WO2019114629A1 (zh) * 2017-12-13 2019-06-20 北京柏惠维康科技有限公司 一种获取机器人tcp坐标的方法和装置
JP2019123060A (ja) * 2018-01-18 2019-07-25 ファナック株式会社 ロボット制御装置
CN110053042A (zh) * 2018-01-18 2019-07-26 发那科株式会社 机器人控制装置
US10814482B2 (en) 2018-01-18 2020-10-27 Fanuc Corporation Robot controller
CN110053042B (zh) * 2018-01-18 2020-12-25 发那科株式会社 机器人控制装置
DE102019200117B4 (de) * 2018-01-18 2021-01-14 Fanuc Corporation Robotersteuerung
JP2019136841A (ja) * 2018-02-14 2019-08-22 ファナック株式会社 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法
US11117257B2 (en) 2018-02-14 2021-09-14 Fanuc Corporation Robot system for performing learning control based on machining results and control method therefor

Similar Documents

Publication Publication Date Title
US6826450B2 (en) Robot controller
JP3830475B2 (ja) 制御装置
JP6585666B2 (ja) 速度一定が要求されるアプリケーションにおいて学習制御を行うロボット及びその制御方法
JPH10264080A (ja) ロボット制御装置
JP2008523487A (ja) 数値制御機械の移動可能な機械要素の移動案内のための方法および装置
JP2001092516A (ja) 数値制御曲面加工装置
EP0519081B1 (en) Method of correcting deflection of robot
JPH11175130A (ja) ロボットの制御装置
CN113985817B (zh) 一种可在线插补的机器人小线段轨迹局部光顺方法及系统
CN111684380A (zh) 机器人的运动控制方法、控制系统和存储装置
US5646493A (en) Robot profile control method
EP0780745B1 (en) Method and apparatus for free curve interpolation
JPH0944225A (ja) ロボットの制御方法
JPH08202426A (ja) ロボットの制御方法
JPH04111006A (ja) ロボットの経路補間方法
JPH11134012A (ja) 軌跡誤差補正機能を有するロボット
JP3316967B2 (ja) ロボットの制御装置
CN109648557B (zh) 一种六轴机器人空间运动规划方法
JP3493765B2 (ja) 産業用ロボットの制御方法とその装置
JPH08305429A (ja) ロボット急停止後の再開方法
JPH0778021A (ja) ロボットの位置教示方法及びロボット制御装置
US20240083024A1 (en) Spring constant correction device, method therefor, and recording medium
JPH08263128A (ja) ロボットの位置決め制御時の加減速制御方法
JPH058187A (ja) ロボツト
JPH06180606A (ja) 駆動対象物の制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020402