JPH11134012A - 軌跡誤差補正機能を有するロボット - Google Patents
軌跡誤差補正機能を有するロボットInfo
- Publication number
- JPH11134012A JPH11134012A JP30982497A JP30982497A JPH11134012A JP H11134012 A JPH11134012 A JP H11134012A JP 30982497 A JP30982497 A JP 30982497A JP 30982497 A JP30982497 A JP 30982497A JP H11134012 A JPH11134012 A JP H11134012A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- error
- axis
- moment
- operation program
- 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.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】
【課題】 重力の影響等を考慮しないで作成された動作
プログラムの再生運転時に、軌跡を補正出来るロボッ
ト。 【解決手段】 ロボット制御装置のCNCとしての通常
機能に基づく出力である各軸位置指令値には、誤差補正
が施される。誤差補正量は補間周期毎にロボットの姿勢
と、各軸モーメントと誤差量の関係式から求められる。
補正量の足し込みは、フィルタリングを行なった上で行
なわれる。フィルタの伝達関数は、1/{K*(A/K
*S+1)}とされる(A;動摩擦係数、K;ばね定
数)である。フィルタリングを施された指令はサーボ制
御の入力とされ、補正された位置指令を入力とするサー
ボ制御が実行され、重力モーメントや慣性力によるアー
ムの撓み、回転機構部の歪みやバックラッシュのガタ、
遊び等の影響により生じる軌跡誤差が補償される。
プログラムの再生運転時に、軌跡を補正出来るロボッ
ト。 【解決手段】 ロボット制御装置のCNCとしての通常
機能に基づく出力である各軸位置指令値には、誤差補正
が施される。誤差補正量は補間周期毎にロボットの姿勢
と、各軸モーメントと誤差量の関係式から求められる。
補正量の足し込みは、フィルタリングを行なった上で行
なわれる。フィルタの伝達関数は、1/{K*(A/K
*S+1)}とされる(A;動摩擦係数、K;ばね定
数)である。フィルタリングを施された指令はサーボ制
御の入力とされ、補正された位置指令を入力とするサー
ボ制御が実行され、重力モーメントや慣性力によるアー
ムの撓み、回転機構部の歪みやバックラッシュのガタ、
遊び等の影響により生じる軌跡誤差が補償される。
Description
【0001】
【発明の属する技術分野】本発明は産業用ロボット(以
下、単に「ロボット」と言う。)に関し、更に詳しく言
えば、重力等の影響によって生じる軌跡誤差を補正する
機能を備えたロボットに関する。
下、単に「ロボット」と言う。)に関し、更に詳しく言
えば、重力等の影響によって生じる軌跡誤差を補正する
機能を備えたロボットに関する。
【0002】
【従来の技術】例えばロボットにオフライン教示を行
い、それに基づいて再生動作を行なった場合、重力モー
メントや慣性力によるアームの撓み、減速機を含む回転
機構部の弾性的な歪みやバックラッシュのガタ、遊び等
の影響により、コンピュータ上のロボットモデルと実際
のロボットの差異を反映した軌跡誤差が生じる。即ち、
オフラインで作成された動作プログラムに指定された教
示点の位置と実際のロボット先端位置(通常はツール先
端点の位置)の間にずれが生じる。
い、それに基づいて再生動作を行なった場合、重力モー
メントや慣性力によるアームの撓み、減速機を含む回転
機構部の弾性的な歪みやバックラッシュのガタ、遊び等
の影響により、コンピュータ上のロボットモデルと実際
のロボットの差異を反映した軌跡誤差が生じる。即ち、
オフラインで作成された動作プログラムに指定された教
示点の位置と実際のロボット先端位置(通常はツール先
端点の位置)の間にずれが生じる。
【0003】従来は、これを補正するため、オフライン
教示の再生運転を行なってロボットを教示点あるいはそ
の近傍まで移動させ、更にロボット先端位置の調整(細
かいジョグ送り)を行ない、実際に希望する位置がロボ
ットに教示されるように教示点の位置データの修正を行
なうことが通例であった。しかし、このような教示点位
置修正の作業は、多大な時間とロボット操作の熟練を要
し、作業者にとって大きな負担となっていた。
教示の再生運転を行なってロボットを教示点あるいはそ
の近傍まで移動させ、更にロボット先端位置の調整(細
かいジョグ送り)を行ない、実際に希望する位置がロボ
ットに教示されるように教示点の位置データの修正を行
なうことが通例であった。しかし、このような教示点位
置修正の作業は、多大な時間とロボット操作の熟練を要
し、作業者にとって大きな負担となっていた。
【0004】また、この方法では、教示点間の軌跡につ
いて上記誤差を減殺する効果を確実に期待することは出
来ない。何故ならば、重力の影響等の要因は教示点間の
軌跡上の諸点でロボット姿勢に応じて様々に変化する
が、教示点修正に伴うプログラム上の経路修正では、そ
のように変動する要因で発生する軌跡誤差を補正するに
は不十分(粗い)と考えられるからである。
いて上記誤差を減殺する効果を確実に期待することは出
来ない。何故ならば、重力の影響等の要因は教示点間の
軌跡上の諸点でロボット姿勢に応じて様々に変化する
が、教示点修正に伴うプログラム上の経路修正では、そ
のように変動する要因で発生する軌跡誤差を補正するに
は不十分(粗い)と考えられるからである。
【0005】
【発明が解決しようとする課題】そこで、本発明の目的
は、教示点間の軌跡に関しても、上記重力の影響等の要
因で発生する軌跡誤差を積極的に補正する機能を備えた
ロボットを提供することにある。また、そのことを通し
てロボットを操作する作業者の負担を軽減し、作業の効
率を改善することにある。
は、教示点間の軌跡に関しても、上記重力の影響等の要
因で発生する軌跡誤差を積極的に補正する機能を備えた
ロボットを提供することにある。また、そのことを通し
てロボットを操作する作業者の負担を軽減し、作業の効
率を改善することにある。
【0006】
【課題を解決するための手段】本発明は、上記課題を解
決するために、動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にしたものである。その際の補正は、少なくとも前記ロ
ボット軸にかかる重力モーメントによって発生する誤差
を補償する。
決するために、動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にしたものである。その際の補正は、少なくとも前記ロ
ボット軸にかかる重力モーメントによって発生する誤差
を補償する。
【0007】本発明の好ましい形態においては、ロボッ
トの姿勢に応じて変化するモーメントが少なくとも一つ
のロボット軸について計算され、更に、モーメントと誤
差発生量を記述する関係を用いて前記少なくとも一つの
ロボット軸について誤差量が求められる。
トの姿勢に応じて変化するモーメントが少なくとも一つ
のロボット軸について計算され、更に、モーメントと誤
差発生量を記述する関係を用いて前記少なくとも一つの
ロボット軸について誤差量が求められる。
【0008】モーメントと誤差量を記述する関係にヒス
テリシスが存在する場合には、誤差量の計算時にトルク
0の通過時の符号方向性に応じて前記ヒステリシスに関
連した関係選択がなされる。また、サーボ制御系へ指令
を渡す際には、誤差補正を行なうロボット軸について、
動摩擦と弾性を考慮したフィルタリングが施されること
が好ましい。
テリシスが存在する場合には、誤差量の計算時にトルク
0の通過時の符号方向性に応じて前記ヒステリシスに関
連した関係選択がなされる。また、サーボ制御系へ指令
を渡す際には、誤差補正を行なうロボット軸について、
動摩擦と弾性を考慮したフィルタリングが施されること
が好ましい。
【0009】補正される誤差には、重力モーメントによ
るアームの撓みの他に、慣性力によるアームの撓み、回
転機構部のバックラッシュのガタ、遊び等の影響により
生じる誤差を含ませることも可能である。
るアームの撓みの他に、慣性力によるアームの撓み、回
転機構部のバックラッシュのガタ、遊び等の影響により
生じる誤差を含ませることも可能である。
【0010】本発明によれば、重力の影響で生じる誤差
が考慮されていない動作プログラムの再生運転につい
て、重力に起因した回転機構部の歪み、アームの撓み、
あるいはそれに加えて慣性力によるアームの撓み、回転
機構部のバックラッシュのガタ、遊び等の影響に由来す
る軌跡誤差が、リアルタイムで自動的に補正される。
が考慮されていない動作プログラムの再生運転につい
て、重力に起因した回転機構部の歪み、アームの撓み、
あるいはそれに加えて慣性力によるアームの撓み、回転
機構部のバックラッシュのガタ、遊び等の影響に由来す
る軌跡誤差が、リアルタイムで自動的に補正される。
【0011】
【発明の実施の形態】図1は、本発明が適用されるロボ
ットを含むシステムのハードウェア構成を例示した要部
ブロック図である。同図に示したように、全体を符号3
0で指示したロボット制御装置は、負荷重量物10をア
ーム先端部1に取り付けたロボットRBを制御する。ロ
ボット先端の位置を代表する点であるツール先端点TC
Pは、負荷重量物10の付近に設定されている。
ットを含むシステムのハードウェア構成を例示した要部
ブロック図である。同図に示したように、全体を符号3
0で指示したロボット制御装置は、負荷重量物10をア
ーム先端部1に取り付けたロボットRBを制御する。ロ
ボット先端の位置を代表する点であるツール先端点TC
Pは、負荷重量物10の付近に設定されている。
【0012】ロボット制御装置30はホストCPU3
1、共有RAM32、サーボCPU33、サーボアンプ
34、メモリ35、教示操作盤用インターフェイス36
並びに一般外部装置用の入出力装置38を備えている。
メモリ35は、システムプログラムが格納されたRO
M、データの一時記憶用のRAM、及びロボットRBの
動作を定めた各種プログラムデータを格納した不揮発性
メモリを含んでいる。
1、共有RAM32、サーボCPU33、サーボアンプ
34、メモリ35、教示操作盤用インターフェイス36
並びに一般外部装置用の入出力装置38を備えている。
メモリ35は、システムプログラムが格納されたRO
M、データの一時記憶用のRAM、及びロボットRBの
動作を定めた各種プログラムデータを格納した不揮発性
メモリを含んでいる。
【0013】教示操作盤用インターフェイス36に接続
された教示操作盤37は、プログラムデータの入力、修
正、登録や、手動送り(ジョグ送り)指令、再生運転指
令等のマニュアル入力に利用される。また、外部装置用
入出力装置38にはオフラインプログラミング装置40
の他、アプリケーションに応じた各種外部装置(例え
ば、溶接ロボットであれば溶接用電力電源装置など)が
接続される。
された教示操作盤37は、プログラムデータの入力、修
正、登録や、手動送り(ジョグ送り)指令、再生運転指
令等のマニュアル入力に利用される。また、外部装置用
入出力装置38にはオフラインプログラミング装置40
の他、アプリケーションに応じた各種外部装置(例え
ば、溶接ロボットであれば溶接用電力電源装置など)が
接続される。
【0014】再生運転あるいは手動送り(ジョグ送り)
の実行時には、ホストCPU31はロボットRBの各軸
に対する移動指令を作成し、誤差補正を行なった上で共
有RAM32へ出力する。サーボCPU33はこれを短
周期で読み出し、ロボット各軸の位置検出器(パルスコ
ーダ)から送られてくる位置信号(フィードバック)信
号に基づいてサーボ処理を実行し、各軸のサーボアンプ
34に電流指令を出力し、ロボット各軸のサーボモータ
を駆動する。
の実行時には、ホストCPU31はロボットRBの各軸
に対する移動指令を作成し、誤差補正を行なった上で共
有RAM32へ出力する。サーボCPU33はこれを短
周期で読み出し、ロボット各軸の位置検出器(パルスコ
ーダ)から送られてくる位置信号(フィードバック)信
号に基づいてサーボ処理を実行し、各軸のサーボアンプ
34に電流指令を出力し、ロボット各軸のサーボモータ
を駆動する。
【0015】また、サーボCPU33はロボット各軸の
位置検出器(パルスコーダ)から送られてくる位置信号
(フィードバック)信号に基づいてロボット各軸の現在
位置を周期的に共有RAM32に書き込む。
位置検出器(パルスコーダ)から送られてくる位置信号
(フィードバック)信号に基づいてロボット各軸の現在
位置を周期的に共有RAM32に書き込む。
【0016】ここで重要なことは、各軸に対する移動指
令に対して本発明の特徴に従った誤差補正が行なわれる
ことであり、その他の構成と機能については通常のロボ
ットシステムのそれと特に変わらない。なお、誤差補正
を行なうための処理を定めたプログラムデータ及び関連
設定値は、予めメモリ35に格納される。
令に対して本発明の特徴に従った誤差補正が行なわれる
ことであり、その他の構成と機能については通常のロボ
ットシステムのそれと特に変わらない。なお、誤差補正
を行なうための処理を定めたプログラムデータ及び関連
設定値は、予めメモリ35に格納される。
【0017】また、重力の影響等が考慮されていない動
作プログラムとしては、オフラインプログラミング装置
40上で作成され、ロボット制御装置30に転送された
オフラインプログラムを考える。以下、ロボット制御装
置30に転送されたオフラインプログラムの再生運転時
に行なう誤差補正に関して、順を追って説明する。
作プログラムとしては、オフラインプログラミング装置
40上で作成され、ロボット制御装置30に転送された
オフラインプログラムを考える。以下、ロボット制御装
置30に転送されたオフラインプログラムの再生運転時
に行なう誤差補正に関して、順を追って説明する。
【0018】本発明が、軌跡上で除去しようとする誤差
は、各軸で駆動されるアームの撓み、回転機構部の歪み
あるいはバックラッシュのガタ、遊び等に由来するもの
であるが、これら誤差要因は、各軸にかかるモーメント
の大きさにほぼ依存しているものと考えられる。そこ
で、各軸で生じる誤差の大きさを評価するための前提と
して、モーメントの大きさと、それによって発生する誤
差量との関係をなんらかの形でロボット制御装置30に
予め与えておく。
は、各軸で駆動されるアームの撓み、回転機構部の歪み
あるいはバックラッシュのガタ、遊び等に由来するもの
であるが、これら誤差要因は、各軸にかかるモーメント
の大きさにほぼ依存しているものと考えられる。そこ
で、各軸で生じる誤差の大きさを評価するための前提と
して、モーメントの大きさと、それによって発生する誤
差量との関係をなんらかの形でロボット制御装置30に
予め与えておく。
【0019】2つの変量の関係をロボットに記憶させる
方法には、一般に種々のものが知られている。従って、
2つの変量をモーメントと誤差として、それら方法を適
宜利用すれば良い。ここでは、例として、(1)実測に
基づくモーメント−誤差関係の記憶、(2)強いばねと
弱いばねを組み合わせたモデルに基づくモーメント−誤
差関係の記憶、について簡単に説明する。
方法には、一般に種々のものが知られている。従って、
2つの変量をモーメントと誤差として、それら方法を適
宜利用すれば良い。ここでは、例として、(1)実測に
基づくモーメント−誤差関係の記憶、(2)強いばねと
弱いばねを組み合わせたモデルに基づくモーメント−誤
差関係の記憶、について簡単に説明する。
【0020】(1)実測の基づくモーメント−誤差関係
の記憶 図2は、ロボットの1つの軸(例えば第3軸)につい
て、モーメント−誤差関係を表わしたグラフの一例であ
る。横軸はモーメントをkgm単位で表わしており、縦
軸はその軸で駆動されるアーム(機体部分)に発生する
誤差量を分単位の角度で表わしている。一般に、モーメ
ントと誤差の関係にはヒステリシスが存在することが知
られており、本グラフもそれを前提に作成されている。
の記憶 図2は、ロボットの1つの軸(例えば第3軸)につい
て、モーメント−誤差関係を表わしたグラフの一例であ
る。横軸はモーメントをkgm単位で表わしており、縦
軸はその軸で駆動されるアーム(機体部分)に発生する
誤差量を分単位の角度で表わしている。一般に、モーメ
ントと誤差の関係にはヒステリシスが存在することが知
られており、本グラフもそれを前提に作成されている。
【0021】図示されているように、グラフ全体は、モ
ーメント=0の状態からの初期推移を表わす部分h0
と、モーメントが負から正へ向かう方向へ変化する場合
の特性を表わす部分h+ と、モーメントが正から負へ向
かう方向へ変化する場合の特性を表わす部分h- から構
成されている。
ーメント=0の状態からの初期推移を表わす部分h0
と、モーメントが負から正へ向かう方向へ変化する場合
の特性を表わす部分h+ と、モーメントが正から負へ向
かう方向へ変化する場合の特性を表わす部分h- から構
成されている。
【0022】各部分h0 、h- 、h+ に沿って分布して
いる×印は実測で得られたデータを表わしており、h0
、h- 、h+ はそれらデータから公知の推定法(例え
ば最小2乗近似)に従って作成される。×印で示した実
測データは、各軸アームの先端部に既知の力を掛け、そ
れに伴う各軸アームの先端部の変位を角度で計測するこ
とで得られる。
いる×印は実測で得られたデータを表わしており、h0
、h- 、h+ はそれらデータから公知の推定法(例え
ば最小2乗近似)に従って作成される。×印で示した実
測データは、各軸アームの先端部に既知の力を掛け、そ
れに伴う各軸アームの先端部の変位を角度で計測するこ
とで得られる。
【0023】各部分h0 、h- 、h+ の内、実際に使用
されるのは通常h- とh+ であるから、h- 、h+ のデ
ータをロボット制御装置30に入力すれば良い。h- 、
h+のデータ形式には種々のものが考えられる。例え
ば、h- 、h+ を近似表現する関数式のパラメータ(例
えば多項式近似における係数と定数項、あるいは折れ線
関数を規定する諸パラメータなど)や、h- 、h+ を数
値テーブル化したものが考えられる。
されるのは通常h- とh+ であるから、h- 、h+ のデ
ータをロボット制御装置30に入力すれば良い。h- 、
h+のデータ形式には種々のものが考えられる。例え
ば、h- 、h+ を近似表現する関数式のパラメータ(例
えば多項式近似における係数と定数項、あるいは折れ線
関数を規定する諸パラメータなど)や、h- 、h+ を数
値テーブル化したものが考えられる。
【0024】いずれにしても、各軸について、これらモ
ーメント−誤差関係のデータがロボット制御装置30に
予め入力される。なお、誤差補正を一部の軸(例えば、
誤差が大きくなり易い第2軸と第3軸)についてのみ適
用する場合には、モーメント−誤差関係のデータは、そ
れら軸のみについて用意すれば良いことは言うまでもな
い(形式的に誤差=0の恒等関数を設定しても良い)。
ーメント−誤差関係のデータがロボット制御装置30に
予め入力される。なお、誤差補正を一部の軸(例えば、
誤差が大きくなり易い第2軸と第3軸)についてのみ適
用する場合には、モーメント−誤差関係のデータは、そ
れら軸のみについて用意すれば良いことは言うまでもな
い(形式的に誤差=0の恒等関数を設定しても良い)。
【0025】(2)強弱ばねの組み合わせモデルに基づ
くモーメント−誤差関係の記憶 図3は、図2と同様の形式でロボットの1つの軸(例え
ば第3軸)について、モーメント−誤差関係を表わした
グラフの別の例である。横軸はモーメントをkgm単位
で表わしており、縦軸はその軸で駆動されるアーム(機
体部分)に発生する誤差量を分単位の角度で表わしてい
る。
くモーメント−誤差関係の記憶 図3は、図2と同様の形式でロボットの1つの軸(例え
ば第3軸)について、モーメント−誤差関係を表わした
グラフの別の例である。横軸はモーメントをkgm単位
で表わしており、縦軸はその軸で駆動されるアーム(機
体部分)に発生する誤差量を分単位の角度で表わしてい
る。
【0026】本グラフに相当するデータは、ロボットの
減速機を含む回転機構部の機械的な特性を表わす仕様の
一部として用意されることが多い。本例は、強弱ばねの
組み合わせモデルに基づいており、モーメントの絶対値
が比較的小さい範囲では、強いばねでモーメント−誤差
関係が表現され、モーメントの絶対値が比較的大きな範
囲では、弱いばねでモーメント−誤差関係が表現されて
いる。
減速機を含む回転機構部の機械的な特性を表わす仕様の
一部として用意されることが多い。本例は、強弱ばねの
組み合わせモデルに基づいており、モーメントの絶対値
が比較的小さい範囲では、強いばねでモーメント−誤差
関係が表現され、モーメントの絶対値が比較的大きな範
囲では、弱いばねでモーメント−誤差関係が表現されて
いる。
【0027】また、モーメント=0の周りの一定範囲
(−μ1 〜μ1 )では、ヒステリシスの存在が表現され
ており、モーメントに対する誤差量を表わす関数がf+
とf-に分かれている。関数f+ は、モーメントが負か
ら正へ向かう方向へ変化する場合の誤差量を表わす一
方、関数f- は、モーメントが正から負へ向かう方向へ
変化する場合の誤差量を表わしている。本例のグラフで
は、本例の場合も、図2のグラフと同様のデータ形式に
より、各軸(全軸あるいは一部の軸)について、これら
モーメント−誤差関係のデータがロボット制御装置30
に予め入力される。
(−μ1 〜μ1 )では、ヒステリシスの存在が表現され
ており、モーメントに対する誤差量を表わす関数がf+
とf-に分かれている。関数f+ は、モーメントが負か
ら正へ向かう方向へ変化する場合の誤差量を表わす一
方、関数f- は、モーメントが正から負へ向かう方向へ
変化する場合の誤差量を表わしている。本例のグラフで
は、本例の場合も、図2のグラフと同様のデータ形式に
より、各軸(全軸あるいは一部の軸)について、これら
モーメント−誤差関係のデータがロボット制御装置30
に予め入力される。
【0028】上記の如く、ロボット制御装置30にモー
メント−誤差関係を記憶させておくことにより、各軸に
かかるモーメントが判れば、各軸に発生する誤差量が推
定出来ることになる。そして、各軸にかかるモーメント
は、ロボットの構造パラメータ(アーム長、アーム質量
など)、負荷重量の表現パラメータ(負荷重量値、質量
中心位置など)が分かっていれば、ロボット姿勢(各軸
の位置)から計算することが出来る。
メント−誤差関係を記憶させておくことにより、各軸に
かかるモーメントが判れば、各軸に発生する誤差量が推
定出来ることになる。そして、各軸にかかるモーメント
は、ロボットの構造パラメータ(アーム長、アーム質量
など)、負荷重量の表現パラメータ(負荷重量値、質量
中心位置など)が分かっていれば、ロボット姿勢(各軸
の位置)から計算することが出来る。
【0029】図4は、ベース側から順に第1軸J1、第
2軸J2・・・第6軸J6を持つロボットの各軸J1〜
J6のモータにかかるモーメントをロボット姿勢の関数
として計算する手法を説明するための図である。ここに
記す手法は、各軸で必要とされるモーメントトルクを手
先側から順にリンク毎の釣合い条件から求めるものであ
る。
2軸J2・・・第6軸J6を持つロボットの各軸J1〜
J6のモータにかかるモーメントをロボット姿勢の関数
として計算する手法を説明するための図である。ここに
記す手法は、各軸で必要とされるモーメントトルクを手
先側から順にリンク毎の釣合い条件から求めるものであ
る。
【0030】本図を参照して計算手順を計算式で記せば
次のようになる。なお、本図における軸構成と関連諸量
の描示は、適宜簡略化し、J3軸を中心に例示的に行な
った。
次のようになる。なお、本図における軸構成と関連諸量
の描示は、適宜簡略化し、J3軸を中心に例示的に行な
った。
【0031】1.J6軸のモータにかかる重力モーメン
ト=負荷重量値*J6軸の回転中心から負荷重量の質量
中心までの距離 2.J5軸のモータにかかる重力モーメント=J6軸の
モータにかかる重力モーメント+(l5*J5軸アーム
の質量*SIN θ5 ) 3.J4軸のモータにかかる重力モーメント=J5軸の
モータにかかる重力モーメント+(l4*J4軸アーム
の質量*SIN θ4 ) 4.J3軸のモータにかかる重力モーメント=J4軸〜
J6軸によるモーメント+(l3*J3軸アームの質量
*SIN θ3 ) 5.J2軸のモータにかかる重力モーメント=J3軸の
モータにかかる重力モーメント+(l2*J2軸アーム
の質量*SIN θ2 ) 上記各式において、li はJi軸の回転中心からJi軸
で駆動される機体部分の重心位置までの距離で、予めロ
ボット制御装置30に設定される。負荷重量値、J6軸
の回転中心から負荷重量の質量中心までの距離、アーム
質量等も同様に予めロボット制御装置30に設定され
る。θ2 〜θ5 は水平方向を基準にして表現された各軸
の角度位置で、ロボットの移動中の各時点(計算処理周
期ITP毎)に現在位置から求められる。
ト=負荷重量値*J6軸の回転中心から負荷重量の質量
中心までの距離 2.J5軸のモータにかかる重力モーメント=J6軸の
モータにかかる重力モーメント+(l5*J5軸アーム
の質量*SIN θ5 ) 3.J4軸のモータにかかる重力モーメント=J5軸の
モータにかかる重力モーメント+(l4*J4軸アーム
の質量*SIN θ4 ) 4.J3軸のモータにかかる重力モーメント=J4軸〜
J6軸によるモーメント+(l3*J3軸アームの質量
*SIN θ3 ) 5.J2軸のモータにかかる重力モーメント=J3軸の
モータにかかる重力モーメント+(l2*J2軸アーム
の質量*SIN θ2 ) 上記各式において、li はJi軸の回転中心からJi軸
で駆動される機体部分の重心位置までの距離で、予めロ
ボット制御装置30に設定される。負荷重量値、J6軸
の回転中心から負荷重量の質量中心までの距離、アーム
質量等も同様に予めロボット制御装置30に設定され
る。θ2 〜θ5 は水平方向を基準にして表現された各軸
の角度位置で、ロボットの移動中の各時点(計算処理周
期ITP毎)に現在位置から求められる。
【0032】次に、以上の事項を前提に、本実施形態に
おける各軸の制御について説明する。図5は、各軸に関
する制御の要点をブロック図で表わしたものである。本
図に示したように、ロボット制御装置30のCNCとし
ての通常機能に基づく出力である移動指令(各軸位置指
令値)は、誤差補正が施された上でサーボ制御系に入力
される。誤差補正は、補正量の足し込みで行なわれる
が、各軸について計算される誤差量をそのまま足し込む
のではなく、適当なフィルタリングを行なったものが足
し込まれる。
おける各軸の制御について説明する。図5は、各軸に関
する制御の要点をブロック図で表わしたものである。本
図に示したように、ロボット制御装置30のCNCとし
ての通常機能に基づく出力である移動指令(各軸位置指
令値)は、誤差補正が施された上でサーボ制御系に入力
される。誤差補正は、補正量の足し込みで行なわれる
が、各軸について計算される誤差量をそのまま足し込む
のではなく、適当なフィルタリングを行なったものが足
し込まれる。
【0033】このフィルタリングについては、次のよう
に考える。今、ある軸の動摩擦係数をA、ばね定数を
K、誤差量をΔθで表わすと、次式(1)の関係が成立
する。
に考える。今、ある軸の動摩擦係数をA、ばね定数を
K、誤差量をΔθで表わすと、次式(1)の関係が成立
する。
【0034】
【数1】 伝達関数の関係式は、 Δθ=重力/{K*(A/K*S+1)} ・・・(2) となり、フィルタの伝達関数は、1/{K*(A/K*
S+1)}となる(Sはラプラス演算子)。
S+1)}となる(Sはラプラス演算子)。
【0035】このように、フィルタリングの趣旨は、各
軸の動作摩擦及び弾性により重力モーメントとそれに対
応する誤差の発生の遅れを考慮に入れるためのものであ
り、具体的なフィルタリングのパラメータは、動摩擦係
数A、ばね定数Kを使って計算するか、あるいはチュー
ニングによって適正値を定める。
軸の動作摩擦及び弾性により重力モーメントとそれに対
応する誤差の発生の遅れを考慮に入れるためのものであ
り、具体的なフィルタリングのパラメータは、動摩擦係
数A、ばね定数Kを使って計算するか、あるいはチュー
ニングによって適正値を定める。
【0036】このようにしてフィルタリングを施された
指令はサーボ制御の入力とされ、補正された位置指令を
入力とするサーボ制御が実行される。サーボ制御の詳細
は、本発明の特徴と特に関係は無いので説明は省略す
る。
指令はサーボ制御の入力とされ、補正された位置指令を
入力とするサーボ制御が実行される。サーボ制御の詳細
は、本発明の特徴と特に関係は無いので説明は省略す
る。
【0037】図6は、オフラインプログラミング装置4
0で作成された動作プログラムの再生運転時に、通常の
処理(経路移動の動作命令文の読み込み、解釈、軌道計
画作成)に続いて、共有RAM32にCNCとしての出
力を書き込む際に、ITP毎(補間周期毎)に実行され
る、本発明の特徴を反映した処理の概略を記したフロー
チャート(処理1)である。
0で作成された動作プログラムの再生運転時に、通常の
処理(経路移動の動作命令文の読み込み、解釈、軌道計
画作成)に続いて、共有RAM32にCNCとしての出
力を書き込む際に、ITP毎(補間周期毎)に実行され
る、本発明の特徴を反映した処理の概略を記したフロー
チャート(処理1)である。
【0038】同図に示したように、先ずステップS1で
は位置の指令値(CNC側の位置レジスタが持っている
値)より各軸位置を得て、前述の計算により各軸(全軸
または一部の軸。以下同様。)の重力モーメントを計算
する。また、必要に応じて干渉トルクも計算する。干渉
トルクの計算については、各種の計算手法が知られてい
るのでここでは詳述しないが、ロボット制御装置30に
与えられている動力学モデルのソフトウェアから計算さ
れる。
は位置の指令値(CNC側の位置レジスタが持っている
値)より各軸位置を得て、前述の計算により各軸(全軸
または一部の軸。以下同様。)の重力モーメントを計算
する。また、必要に応じて干渉トルクも計算する。干渉
トルクの計算については、各種の計算手法が知られてい
るのでここでは詳述しないが、ロボット制御装置30に
与えられている動力学モデルのソフトウェアから計算さ
れる。
【0039】ステップS2では、各軸について計算され
た重力モーメント、あるいは重力モーメントと干渉トル
クの和から、誤差量を計算する。この計算は、前述した
態様でロボット制御装置30に与えられているモーメン
ト−誤差関係のデータを使って実行される。
た重力モーメント、あるいは重力モーメントと干渉トル
クの和から、誤差量を計算する。この計算は、前述した
態様でロボット制御装置30に与えられているモーメン
ト−誤差関係のデータを使って実行される。
【0040】続くステップS3では、各軸毎に求められ
た誤差量に、上述したフィルタリング処理に相当する計
算(ディジタルフィルタリング)を施す。そして、ステ
ップS4で、その出力を補間処理毎に出力される移動指
令に足し込む処理を行なう。処理後の出力は共有RAM
32に書き込まれ、サーボCPU33による通常のサー
ボ制御の入力とされる。
た誤差量に、上述したフィルタリング処理に相当する計
算(ディジタルフィルタリング)を施す。そして、ステ
ップS4で、その出力を補間処理毎に出力される移動指
令に足し込む処理を行なう。処理後の出力は共有RAM
32に書き込まれ、サーボCPU33による通常のサー
ボ制御の入力とされる。
【0041】なお、ステップS2で、ヒステリシスを持
つモーメント−誤差関係のデータが利用される場合(例
えば、図2、図3のグラフに対応するデータが利用され
る場合)には、ヒステリシスに関連して一方の関数関係
の一方を選択する必要が生じる。図2の関係の利用時に
は、モーメントの全想定値域についてh+ とh- の一方
を選択する必要がある。また、図3の関係の利用時に
は、モーメント値の絶対値がμ1 以下の場合に、f+ と
f- の一方を選択する必要がある。
つモーメント−誤差関係のデータが利用される場合(例
えば、図2、図3のグラフに対応するデータが利用され
る場合)には、ヒステリシスに関連して一方の関数関係
の一方を選択する必要が生じる。図2の関係の利用時に
は、モーメントの全想定値域についてh+ とh- の一方
を選択する必要がある。また、図3の関係の利用時に
は、モーメント値の絶対値がμ1 以下の場合に、f+ と
f- の一方を選択する必要がある。
【0042】これら選択は、最新のトルク=0の機会に
ついて、トルク符号がいずれの方向から0になったかを
判断して行なう。そのために、トルク符号の0通過の方
向性を表わすフラグF(F=0or1)をロボット制御装
置30のメモリ35内に設定し、図7のフローチャート
に示したような処理2によって、フラグFを所要時に更
新する。
ついて、トルク符号がいずれの方向から0になったかを
判断して行なう。そのために、トルク符号の0通過の方
向性を表わすフラグF(F=0or1)をロボット制御装
置30のメモリ35内に設定し、図7のフローチャート
に示したような処理2によって、フラグFを所要時に更
新する。
【0043】即ち、各軸についてITP毎にトルク値
(処理1のステップS1で計算されたもの)をチェック
し、0か否か判定する(ステップQ1)。もし、0であ
れば、更に直前(前回ITP)のトルク値の符号をチェ
ックする(ステップQ2)。そして、もしそれが正であ
れば、トルク値F=0とし(ステップQ3)、負であれ
ば、トルク値F=1とする(ステップQ4)。
(処理1のステップS1で計算されたもの)をチェック
し、0か否か判定する(ステップQ1)。もし、0であ
れば、更に直前(前回ITP)のトルク値の符号をチェ
ックする(ステップQ2)。そして、もしそれが正であ
れば、トルク値F=0とし(ステップQ3)、負であれ
ば、トルク値F=1とする(ステップQ4)。
【0044】図2あるいは図3の関係が利用された場
合、F=0は、正から負へ向かう0通過の最新履歴を表
わしているから、ステップS1における関数選択は、h
- あるいはf- となる。逆に、F=1は、負から正へ向
かう0通過の最新履歴を表わしているから、h* あるい
はf+ が選択される。なお、フラグFの初期値はここで
はF=0としたが、場合によってはF=1とする(動作
内容等を考慮して設計的に定める)。
合、F=0は、正から負へ向かう0通過の最新履歴を表
わしているから、ステップS1における関数選択は、h
- あるいはf- となる。逆に、F=1は、負から正へ向
かう0通過の最新履歴を表わしているから、h* あるい
はf+ が選択される。なお、フラグFの初期値はここで
はF=0としたが、場合によってはF=1とする(動作
内容等を考慮して設計的に定める)。
【0045】
【発明の効果】以上説明したように、本発明によれば、
例えばオフラインで作成された動作プログラムの再生運
転時に、重力に起因したアームの撓み、あるいはそれに
加えて慣性力によるアームの撓み、回転機構部のバック
ラッシュのガタ、遊び等の影響に由来する軌跡誤差が、
リアルタイムで補正される。また、動作プログラムの位
置データの修正作業も削減されるので、作業効率が向上
する。
例えばオフラインで作成された動作プログラムの再生運
転時に、重力に起因したアームの撓み、あるいはそれに
加えて慣性力によるアームの撓み、回転機構部のバック
ラッシュのガタ、遊び等の影響に由来する軌跡誤差が、
リアルタイムで補正される。また、動作プログラムの位
置データの修正作業も削減されるので、作業効率が向上
する。
【図1】本発明が適用されるロボットを含むシステムの
ハードウェア構成を例示した要部ブロック図である。
ハードウェア構成を例示した要部ブロック図である。
【図2】ロボットの1つの軸について、モーメント−誤
差関係を表わしたグラフの一例である。
差関係を表わしたグラフの一例である。
【図3】図2と同様の形式でロボットの1つの軸(例え
ば第3軸)について、モーメント−誤差関係を表わした
グラフの別の例である。
ば第3軸)について、モーメント−誤差関係を表わした
グラフの別の例である。
【図4】6軸ロボットの各軸J1〜J6のモータにかか
るモーメントをロボット姿勢の関数として計算する手法
を説明するための図である。
るモーメントをロボット姿勢の関数として計算する手法
を説明するための図である。
【図5】各軸に関する制御の要点をブロック図で表わし
たものである。
たものである。
【図6】動作プログラムの再生運転時に、通常の処理と
ともにITP毎(補間周期毎)に実行される、本発明の
特徴を反映した処理の概略を記したフローチャート(処
理1)である。
ともにITP毎(補間周期毎)に実行される、本発明の
特徴を反映した処理の概略を記したフローチャート(処
理1)である。
【図7】誤差量−モーメントの関係についてのヒステリ
シスに関連して、最新のトルク0通過の方向を判断する
処理の概略を記したフローチャート(処理1)である。
シスに関連して、最新のトルク0通過の方向を判断する
処理の概略を記したフローチャート(処理1)である。
1 アーム先端部 10 負荷重量物 30 ロボット制御装置 31 ホストCPU 32 共有RAM 33 サーボCPU 34 サーボアンプ 35 メモリ 36 教示操作盤用インターフェイス 38 入出力装置 37 教示操作盤 40 オフラインプログラミング装置 RB ロボット
Claims (4)
- 【請求項1】 動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にした、軌跡誤差補正機能を有するロボットであって、 前記補正は、少なくとも前記ロボット軸にかかる重力モ
ーメントによって発生する誤差を補償するものである、
前記ロボット。 - 【請求項2】 動作プログラムの再生運転時に、少なく
とも一つのロボット軸について、動作プログラムに基づ
いて作成された指令を補正してサーボ制御系へ渡すよう
にした、軌跡誤差補正機能を有するロボットであって、 前記補正は、少なくとも前記ロボット軸にかかる重力モ
ーメントによって発生する誤差を補償するものであり、 前記補正のために、前記ロボットの姿勢に応じて変化す
るモーメントが前記少なくとも一つのロボット軸につい
て計算され、更に、モーメントと誤差発生量を記述する
関係を用いて前記少なくとも一つのロボット軸について
誤差量が求められる、前記ロボット。 - 【請求項3】 前記モーメントと誤差量を記述する関係
にヒステリシスが存在し、前記誤差量の計算時にトルク
0の通過時の符号方向性に応じて前記ヒステリシスに関
連した関係選択がなされる、請求項2に記載されたロボ
ット。 - 【請求項4】 動作プログラムに基づいて作成された指
令を補正してサーボ制御系へ渡す際に、前記少なくとも
一つのロボット軸についての動摩擦と弾性を考慮したフ
ィルタリングが施される、請求項1、請求項2または請
求項3に記載されたロボット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30982497A JPH11134012A (ja) | 1997-10-24 | 1997-10-24 | 軌跡誤差補正機能を有するロボット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30982497A JPH11134012A (ja) | 1997-10-24 | 1997-10-24 | 軌跡誤差補正機能を有するロボット |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11134012A true JPH11134012A (ja) | 1999-05-21 |
Family
ID=17997711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30982497A Pending JPH11134012A (ja) | 1997-10-24 | 1997-10-24 | 軌跡誤差補正機能を有するロボット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11134012A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1391684A1 (de) * | 2002-08-16 | 2004-02-25 | Carl Zeiss | Koordinatenmessmaschine und Fehlerkorrekturverfahren |
WO2008032591A1 (fr) * | 2006-09-12 | 2008-03-20 | Kabushiki Kaisha Yaskawa Denki | Appareils de transfert de pièces à travailler |
US7363109B2 (en) | 2003-05-20 | 2008-04-22 | Fujitsu Limited | Backlash compensation control method, backlash compensation controller and backlash compensation control program |
JP2011034434A (ja) * | 2009-08-04 | 2011-02-17 | Fanuc Ltd | 誤差補正手段を備えた数値制御装置 |
JP2013166224A (ja) * | 2012-02-16 | 2013-08-29 | Canon Inc | ロボットの制御装置、ロボット及びそのプログラム |
WO2013180222A1 (ja) * | 2012-05-30 | 2013-12-05 | 株式会社神戸製鋼所 | 多関節ロボットの軌跡制御装置および制御方法 |
WO2014126218A1 (ja) * | 2013-02-15 | 2014-08-21 | 株式会社神戸製鋼所 | 多関節ロボットの弾性変形補償制御装置 |
JP2014219416A (ja) * | 2007-05-11 | 2014-11-20 | コミッサリアア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴ | 連接構造の動作をキャプチャするための処理方法 |
CN110262247A (zh) * | 2019-07-05 | 2019-09-20 | 青岛大学 | 多机器人系统的分布式命令滤波模糊控制方法 |
CN111376267A (zh) * | 2018-12-27 | 2020-07-07 | 发那科株式会社 | 工业用机器人系统 |
CN112571412A (zh) * | 2019-09-30 | 2021-03-30 | 中电九天智能科技有限公司 | 一种智能制造设备的控制系统 |
US12172312B2 (en) | 2021-03-25 | 2024-12-24 | Seiko Epson Corporation | Method of generating control program for robot, storage medium, and teaching apparatus |
-
1997
- 1997-10-24 JP JP30982497A patent/JPH11134012A/ja active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1391684A1 (de) * | 2002-08-16 | 2004-02-25 | Carl Zeiss | Koordinatenmessmaschine und Fehlerkorrekturverfahren |
US7363109B2 (en) | 2003-05-20 | 2008-04-22 | Fujitsu Limited | Backlash compensation control method, backlash compensation controller and backlash compensation control program |
TWI423377B (zh) * | 2006-09-12 | 2014-01-11 | Yaskawa Denki Seisakusho Kk | Workpiece handling equipment |
WO2008032591A1 (fr) * | 2006-09-12 | 2008-03-20 | Kabushiki Kaisha Yaskawa Denki | Appareils de transfert de pièces à travailler |
JPWO2008032591A1 (ja) * | 2006-09-12 | 2010-01-21 | 株式会社安川電機 | ワーク搬送装置 |
JP5120258B2 (ja) * | 2006-09-12 | 2013-01-16 | 株式会社安川電機 | ワーク搬送装置 |
JP2014219416A (ja) * | 2007-05-11 | 2014-11-20 | コミッサリアア レネルジー アトミーク エ オ ゼネルジ ザルタナテイヴ | 連接構造の動作をキャプチャするための処理方法 |
JP2011034434A (ja) * | 2009-08-04 | 2011-02-17 | Fanuc Ltd | 誤差補正手段を備えた数値制御装置 |
JP2013166224A (ja) * | 2012-02-16 | 2013-08-29 | Canon Inc | ロボットの制御装置、ロボット及びそのプログラム |
US9676100B2 (en) | 2012-02-16 | 2017-06-13 | Canon Kabushiki Kaisha | Control apparatus of robot, robot, and program thereof |
US9254569B2 (en) | 2012-05-30 | 2016-02-09 | Kobe Steel, Ltd. | Trajectory control device and control method for articulated robot |
JP2013248682A (ja) * | 2012-05-30 | 2013-12-12 | Kobe Steel Ltd | 多関節ロボットの軌跡制御装置および制御方法 |
WO2013180222A1 (ja) * | 2012-05-30 | 2013-12-05 | 株式会社神戸製鋼所 | 多関節ロボットの軌跡制御装置および制御方法 |
US9597800B2 (en) | 2013-02-15 | 2017-03-21 | Kobe Steel, Ltd. | Elastic deformation compensation control device for articulated robot |
CN104981326A (zh) * | 2013-02-15 | 2015-10-14 | 株式会社神户制钢所 | 多关节机器人的弹性变形补偿控制装置 |
JP2014155982A (ja) * | 2013-02-15 | 2014-08-28 | Kobe Steel Ltd | 多関節ロボットの弾性変形補償制御装置 |
WO2014126218A1 (ja) * | 2013-02-15 | 2014-08-21 | 株式会社神戸製鋼所 | 多関節ロボットの弾性変形補償制御装置 |
CN111376267A (zh) * | 2018-12-27 | 2020-07-07 | 发那科株式会社 | 工业用机器人系统 |
CN111376267B (zh) * | 2018-12-27 | 2024-12-20 | 发那科株式会社 | 工业用机器人系统 |
CN110262247A (zh) * | 2019-07-05 | 2019-09-20 | 青岛大学 | 多机器人系统的分布式命令滤波模糊控制方法 |
CN110262247B (zh) * | 2019-07-05 | 2022-06-17 | 青岛大学 | 多机器人系统的分布式命令滤波模糊控制方法 |
CN112571412A (zh) * | 2019-09-30 | 2021-03-30 | 中电九天智能科技有限公司 | 一种智能制造设备的控制系统 |
CN112571412B (zh) * | 2019-09-30 | 2024-03-26 | 中电九天智能科技有限公司 | 一种智能制造设备的控制系统 |
US12172312B2 (en) | 2021-03-25 | 2024-12-24 | Seiko Epson Corporation | Method of generating control program for robot, storage medium, and teaching apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6826450B2 (en) | Robot controller | |
Miranda-Colorado et al. | Experimental parameter identification of flexible joint robot manipulators | |
US9211646B2 (en) | Control apparatus and control method for robot arm, assembly robot, control program for robot arm, and control-purpose integrated electronic circuit for robot arm | |
EP0519081B1 (en) | Method of correcting deflection of robot | |
JP6585666B2 (ja) | 速度一定が要求されるアプリケーションにおいて学習制御を行うロボット及びその制御方法 | |
JPH10264080A (ja) | ロボット制御装置 | |
JPS63314606A (ja) | 多関節ロボットの制御装置 | |
WO1991005296A1 (en) | Sliding mode control method | |
JPH11134012A (ja) | 軌跡誤差補正機能を有するロボット | |
US11141855B2 (en) | Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article | |
CN105717869B (zh) | 工业机器人操作空间路径复合限制求解方法 | |
JPH02198783A (ja) | 産業用ロボットの位置決め補正方式 | |
JPH07261853A (ja) | ロボットの振動低減装置 | |
JP6652310B2 (ja) | ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法 | |
JPH10138187A (ja) | 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法 | |
JPH07319547A (ja) | ロボットの倣い制御方法 | |
TW202019640A (zh) | 減速機系統、對驅動單元之指令值之修正方法、修正資料之產生方法、及減速機系統之製造方法 | |
JP3580562B2 (ja) | ロボット | |
JP2703767B2 (ja) | ロボットの教示データ作成方法 | |
JPH0392911A (ja) | スライディングモード制御によるロボット制御方法 | |
JPS6190207A (ja) | ロボツト制御装置 | |
JP7310271B2 (ja) | 制御装置、制御方法、およびロボットシステム | |
JPS59220806A (ja) | 工業用ロボツトの制御方法 | |
JPS60118478A (ja) | 関節形ロボツトの位置制御装置 | |
JPS61121102A (ja) | モ−タ位置制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040217 |
|
A977 | Report on retrieval |
Effective date: 20050412 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050419 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050809 |