JP2010269421A - ロボット制御装置及び方法 - Google Patents

ロボット制御装置及び方法 Download PDF

Info

Publication number
JP2010269421A
JP2010269421A JP2009124330A JP2009124330A JP2010269421A JP 2010269421 A JP2010269421 A JP 2010269421A JP 2009124330 A JP2009124330 A JP 2009124330A JP 2009124330 A JP2009124330 A JP 2009124330A JP 2010269421 A JP2010269421 A JP 2010269421A
Authority
JP
Japan
Prior art keywords
control
correction
axis
value
joint drive
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
Application number
JP2009124330A
Other languages
English (en)
Other versions
JP5433304B2 (ja
Inventor
Hidenori Tanaka
英紀 田中
Tetsuya Kubota
哲也 久保田
Jun Fujimori
潤 藤森
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries 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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2009124330A priority Critical patent/JP5433304B2/ja
Publication of JP2010269421A publication Critical patent/JP2010269421A/ja
Application granted granted Critical
Publication of JP5433304B2 publication Critical patent/JP5433304B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】補正された位置姿勢値を一意の各軸値に逆変換できない特異点において、ロボットの位置決め精度を向上する。
【解決手段】
コントローラ2は、補正された位置姿勢指令値をロボット7の各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、逆変換できるときに、補正位置姿勢指令値を各補正軸指令値に逆変換し、各補正軸指令値から補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出してメモリ3に格納する一方、逆変換できないときに、制御タイミングの直前の少なくとも1つの制御タイミングにおいてメモリ3に格納された各補正値に基づいて各関節駆動軸の推測補正値を算出し、各推測補正値を補正前の各軸指令値に加算することにより各補正軸指令値を算出するとともに、各推測補正値を各補正値としてメモリ3に格納する。
【選択図】図1

Description

本発明は、ロボットの制御装置及び方法に関する。
特許文献1に記載の従来技術に係るロボット制御装置は、ロボットのアームの各駆動軸の回転量を示す各軸値を入力する入力手段と、入力手段によって入力された各軸値を、直交座標系におけるロボットのアーム先端の位置およびロボットの姿勢を示す位置姿勢値に順変換する順変換手段と、順変換手段によって順変換された位置姿勢値を、ロボット固有の誤差に基づいて補正する補正手段と、補正手段によって補正された位置姿勢値を、各軸値に逆変換する逆変換手段と、逆変換手段によって逆変換された各軸値をロボットに指示する指示手段とを備える。これにより、ロボットの各軸値による教示に対してもロボットの位置決めを精度高く制御することができる。
特開2006−159361号公報。
岡田拓史ほか、「多関節ロボット機構誤差補正方式」、日本機械学会論文集(C編)、51巻、第462号、324頁−331頁、昭和60年2月。
従来技術に係る多関節ロボットにおいては、当該多関節ロボットの直交座標系における位置及び姿勢を示す位置姿勢値を各関節の駆動軸の回転量(以下、軸値という。)のデータに一意に逆変換できない特異点とよばれる位置が存在することが知られている。しかしながら、特許文献1には、補正手段によって補正された位置姿勢値を各軸値に逆変換できない場合の動作については記載されていない。このため、特異点では、ロボットを停止させるか、補正前の位置姿勢値に基づいてロボットを運転させるなどの制御を行う必要があった。このため、多関節ロボットを連続経路制御(以下、CP(Continuous Path)制御という。)することにより、スポット溶接、アーク溶接又はレーザ加工などの軌道の制御が必要とされる動作を行わせているときに、特異点では軌道が急激に変化してしまうという課題があった。また、特異点の近傍でCP制御からPTP(Poin to Point)制御に切り換えた場合、PTP制御を行っている間はロボットの軌道を所望の軌道に一致させることができないという課題があった。
本発明の目的は以上の問題点を解決し、補正された位置姿勢値を一意の各軸値に逆変換できない特異点において、ロボットの位置決め精度を従来技術に比較して向上できるロボット制御装置及び方法を提供することにある。
第1の発明に係るロボット制御装置は、少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御手段を備えたロボット制御装置において、
上記制御手段は、
上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
(a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
(b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
(c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
(c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換し、上記各補正軸指令値から上記補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出して記憶手段に格納する一方、
(c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納し、
(d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とする。
上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納することに代えて、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出することを特徴とする。
また、上記ロボット制御装置において、上記制御手段は、
上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングにおいて、当該制御タイミングが上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるか否かを判断し、
上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングが、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるときは、上記補正位置姿勢指令値を逆変換して得られる各軸指令値から上記各軸指令値を減算し、当該減算結果の補正値及び上記制御タイミングの直前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各補正値に基づいて各関節駆動軸の推測補正値を算出することを特徴とする。
さらに、上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の平均値を、上記推測補正値とすることを特徴とする。
またさらに、上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の各差分値に基づいて、上記各関節駆動軸の推測補正値を算出することを特徴とする。
また、上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された補正値を、上記推測補正値とすることを特徴とする。
さらに、上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して所定の関数を当てはめ、当該当てはめられた関数を用いて上記各関節駆動軸の推測補正値を算出することを特徴とする。
またさらに、上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して予め設定された所定の重みを用いて、上記各補正値の加重平均値を算出し、当該加重平均値を上記推測補正値とすることを特徴とする。
また、上記ロボット制御装置において、上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする。
第2の発明に係るロボット制御装置は、少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御手段を備えたロボット制御装置において、
上記制御手段は、
上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
(a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
(b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
(c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
(c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換して記憶手段に格納する一方、
(c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納し、
(d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とする。
上記ロボット制御装置において、上記制御手段は、上記逆変換できないときに、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納することに代えて、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出することを特徴とする。
また、上記ロボット制御装置において、上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする。
第3の発明に係るロボット制御方法は、少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御ステップを含むロボット制御方法において、
上記制御ステップは、
上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
(a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
(b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
(c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
(c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換し、上記各補正軸指令値から上記補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出して記憶手段に格納する一方、
(c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納し、
(d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とする。
上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納することに代えて、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出することを特徴とする。
また、上記ロボット制御方法において、上記制御ステップは、
上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングにおいて、当該制御タイミングが上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるか否かを判断し、
上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングが、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるときは、上記補正位置姿勢指令値を逆変換して得られる各軸指令値から上記各軸指令値を減算し、当該減算結果の補正値及び上記制御タイミングの直前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各補正値に基づいて各関節駆動軸の推測補正値を算出することを特徴とする。
さらに、上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の平均値を、上記推測補正値とすることを特徴とする。
またさらに、上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の各差分値に基づいて、上記各関節駆動軸の推測補正値を算出することを特徴とする。
また、上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された補正値を、上記推測補正値とすることを特徴とする。
さらに、上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して所定の関数を当てはめ、当該当てはめられた関数を用いて上記各関節駆動軸の推測補正値を算出することを特徴とする。
またさらに、上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して予め設定された所定の重みを用いて、上記各補正値の加重平均値を算出し、当該加重平均値を上記推測補正値とすることを特徴とする。
また、上記ロボット制御方法において、上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする。
第4の発明に係るロボット制御方法は、少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御ステップを含むロボット制御方法において、
上記制御ステップは、
上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
(a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
(b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
(c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
(c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換して記憶手段に格納する一方、
(c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納し、
(d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とする。
上記ロボット制御方法において、上記制御ステップは、上記逆変換できないときに、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納することに代えて、
上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出することを特徴とする。
また、上記ロボット制御方法において、上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする。
本発明に係るロボット制御装置及び方法によれば、補正位置姿勢指令値を各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、逆変換できるときに、補正位置姿勢指令値を各補正軸指令値に逆変換し、各補正軸指令値から補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出して記憶手段に格納する一方、逆変換できないときに、制御タイミングの前の少なくとも1つの制御タイミングにおいて記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、各推測補正値を補正前の各軸指令値に加算することにより各補正軸指令値を算出するとともに、各推測補正値を各関節駆動軸の補正値として記憶手段に格納し、各補正軸指令値に従って各関節駆動軸を回転させるように制御するので、補正位置姿勢指令値を一意の各補正軸指令値に逆変換できない特異点において、ロボットの位置決め精度を従来技術に比較して向上できる。
本発明の第1の実施形態に係るロボット制御装置1と、ロボット7と、コンピュータ50と、ティーチペンダント51と、外部記憶装置52とを備えたロボット制御システムの構成を示すブロック図である。 図1のロボット7の構成を示す構成図である。 図1のコントローラ2によって実行されるロボット制御処理を示すフローチャートである。 図3のステップS8において実行される推測補正値算出処理を示すフローチャートである。 図3のロボット制御処理によって算出される軸指令値θnmと、補正軸指令値θcnmと、補正値Dnmの一例を示すグラフである。 本発明の第1の実施形態の第1の変形例に係る推測補正値算出処理を示すフローチャートである。 本発明の第1の実施形態の第2の変形例に係る推測補正値算出処理を示すフローチャートである。 本発明の第1の実施形態の第3の変形例に係る推測補正値算出処理を示すフローチャートである。 本発明の第1の実施形態の第4の変形例に係る推測補正値算出処理を示すフローチャートである。 本発明の第1の実施形態の第5の変形例に係る推測補正値算出処理を示すフローチャートである。 本発明の第2の実施形態に係るロボット制御処理を示すフローチャートである。 図11のステップS86において実行される推測補正値算出処理を示すフローチャートである。 図11のロボット制御処理によって算出される軸指令値θnmと、補正軸指令値θcnmと、補正値Dnmの一例を示すグラフである。 本発明の第3の実施形態に係るロボット制御処理を示すフローチャートである。 本発明の第4の実施形態に係る現在位置出力処理を示すフローチャートである。 本発明の第5の実施形態に係るロボット制御処理を示すフローチャートである。
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
第1の実施形態.
図1は、本発明の第1の実施形態に係るロボット制御装置1と、ロボット7と、コンピュータ50と、ティーチペンダント51と、外部記憶装置52とを備えたロボット制御システムの構成を示すブロック図であり、図2は、図1のロボット7の構成を示す構成図である。図1において、本実施形態に係るロボット制御装置1は、CPU(Central Processing Unit)にてなるコントローラ2と、メモリ3と、インターフェース回路4と、駆動装置5と、測定装置6とを備えて構成される。
ここで、詳細後述するように、ロボット制御装置1は、複数の関節駆動軸を介して複数のリンク11〜16が連結してなる多関節ロボット(ロボットアームともいう。)7の制御点Aの制御タイミングTmにおける位置及び姿勢を表す位置姿勢指令値P1m〜P6mに基づいて、各制御タイミングTmにおいて、
(a)位置姿勢指令値P1m〜P6mを各関節駆動軸の回転量を表す補正前の各軸指令値θnmに逆変換し、
(b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、位置姿勢指令値P1m〜P6mを補正して、補正位置姿勢指令値Pc1m〜Pc6mを算出し、
(c)補正位置姿勢指令値Pc1m〜Pc6mを各関節駆動軸の回転量を表す各補正軸指令値θcnmに逆変換できるか否かを判断し、
(c1)逆変換できるときに、補正位置姿勢指令値Pc1m〜Pc6mを各補正軸指令値θcnmに逆変換し、各補正軸指令値θcnmから補正前の各軸指令値θnmを減算することにより各関節駆動軸の補正値Dnmを算出してメモリ3に格納する一方、
(c2)逆変換できないときに、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された各関節駆動軸の補正値Dnmに基づいて各関節駆動軸の推測補正値DPnmを算出し、各推測補正値DPnmを補正前の各軸指令値θnmに加算することにより各補正軸指令値θcnmを算出するとともに、各推測補正値DPnmを各関節駆動軸の補正値Dnmとしてメモリ3に格納し、
(d)各補正軸指令値θcnmに従って各関節駆動軸を回転させるように制御することを特徴としている。
図2において、ロボット7は6軸多関節ロボットであって、基柱10と、リンク11〜16と、回転関節J1,J4,J6と、旋回関節J2,J3,J5と、ハンド17とを備えて構成される。ここで、基柱10の一端は基台9に対して鉛直に固定され、他端は関節J1に連結されている。また、リンク11の各端部は関節J1及びJ2に連結され、リンク12の各端部は関節J2及びJ3に連結され、リンク13の各端部は関節J3及びJ4に連結され、リンク14の各端部は関節J4及びJ5に連結され、リンク15の各端部は関節J5及びJ6に連結されている。さらに、リンク16の一端は関節J6に連結され、リンク16の他端A(以下、制御点Aという。)はハンド17に連結されている。制御点Aに設けられたハンド17には、例えば、溶接トーチ又は把持ハンドなどの所定のツールが取り付けられる。ここで、図2に示すように、ロボット7の作業原点O(基柱10の基台9への固定位置である。)を右手系の直交座標系の原点とし、基台9に直交する方向をZ方向とする。
図1において、コンピュータ50は、ロボット7の各教示点における制御点Aの位置及びハンド17の姿勢を表す所定の教示データとハンド17の移動速度とに基づいてCP制御を行うことにより、各教示点間において制御点Aが直線を描くようにロボット7の各制御タイミングTm(m=1,2,…,M)毎に制御点Aの位置及びハンド17の姿勢を算出する。そして、コンピュータ50は、各制御タイミングTmにおける制御点Aの位置及びハンド17の姿勢を表す位置姿勢指令値P1m〜P6mを含む制御データをロボット制御装置1に出力する。ここで、制御タイミングTmにおける位置姿勢指令値P1m、P2m及びP3mは、それぞれ制御点AのXYZ座標系におけるX座標、Y座標及びZ座標であり、位置姿勢指令値P4m、P5m及びP6mは、それぞれハンド17のロール角、ピッチ角及びヨー角である。また、ディスプレイ50dは、コンピュータ50の動作状態の表示及びロボット制御装置1から受信した各データの表示を行う。さらに、入力部50iは、例えばキーボードであり、ロボット制御装置1の動作を制御するための指示コマンドなどを入力するためのものである。また、ティーチペンダント51は、ハンド17を人間が把持して目的の位置及び姿勢に移動してロボット7に所定の動作パターンを行わせることにより、ロボット7の各教示点における制御点Aの位置及びハンド17の姿勢を表す所定の教示データを取得し、取得された教示データに基づいてコンピュータ50と同様に制御データを生成するための操作端末である。
インターフェース回路4は、コンピュータ50、ティーチペンダント51及び外部記憶装置52から入力された制御データに対してロボット制御装置1との信号変換などの所定のインターフェース処理を実行してコントローラ2に出力する一方、コントローラ2から入力されたデータに対してコンピュータ50、ティーチペンダント51及び外部記憶装置52との信号変換などの所定のインターフェース処理を実行してコンピュータ50に出力する。さらに、コントローラ2は、ロボット制御装置1の全体の動作を制御するとともに、位置姿勢指令値P1m〜P6mをメモリ3に格納し、当該格納された位置姿勢指令値P1m〜P6mに基づいて、詳細後述するロボット制御処理によって各制御タイミングTmにおける各関節Jn(n=1,2,…,6)の駆動軸の回転量である補正軸指令値θcnmを算出し、駆動装置5に出力する。駆動装置5は各関節Jnの駆動軸を回転させるためのアクチュエータであり、コントローラ2からの補正軸指令値θcnmに従って、各関節Jnの駆動軸を回転させる。メモリ3は、コントローラ2によって実行される種々のソフトウェアのプログラムを予め格納する。また、測定装置6は、各関節Jn毎に設けられた角度センサであって、各関節Jnの実際の軸値を各制御タイミングTmにおいて測定し、当該測定された軸値をコントローラ2に出力する。
次に、コントローラ2によって実行されるロボット制御処理を説明する。図3は、図1のコントローラ2によって実行されるロボット制御処理を示すフローチャートであり、図4は、図3のステップS8において実行される推測補正値算出処理を示すフローチャートである。図3において、始めに、ステップS1において、各制御タイミングTmにおける位置姿勢指令値P1m〜P6mがメモリ3から読み出され、ステップS2において、パラメータmが初期値1に設定される。そして、コントローラ2は、ステップS3において、制御タイミングTmにおける位置姿勢指令値P1m〜P6mを各関節Jnの駆動軸の回転量である軸指令値θnmに逆変換する。なお、コントローラ2は、位置姿勢指令値P1m〜P6mを軸指令値θnmに逆変換できなかったときは、所定のエラー処理を行いロボット7の動作を停止させるように駆動装置5を制御し、ロボット制御処理を終了する。
引き続き、コントローラ2は、ステップS4において、非特許文献1に記載の「多関節ロボット機構誤差補正方式」を用いて各位置姿勢指令値P1m〜P6mを補正して、当該補正後の補正位置姿勢指令値Pc1m〜Pc6mを算出する。ここで、多関節ロボット機構誤差補正方式は、制御点Aの位置を所定の位置に移動させかつハンド17を所定の姿勢をとるように制御したときの、制御点Aの実際の位置及びハンド17の実際の姿勢からのズレを補正するものである。このようなズレは、ロボット7に固有のたわみ、加工誤差、及び組立誤差などに基づく機構誤差、据付誤差、ならびに各軸の機械原点の誤差に起因する。以下、このような誤差補正方式による補正を、高精度ロボットモデルによる補正という。
次に、ステップS5において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できるか否かが判断され、YESのときはステップS6に進む一方、NOのときはステップS8に進む。ここで、コントローラ2は、補正位置姿勢指令値Pc1m〜Pc6mを補正軸指令値θc1m〜θc6mに逆変換するための連立方程式の判別式を用いて、ステップS5における判断を行う。
ステップS6において、補正位置姿勢指令値Pc1m〜Pc6mは補正軸指令値θc1m〜θc6mに逆変換され、ステップS7において、補正軸指令値θcnmから補正前の軸指令値θnmを減算することにより、各関節Jnに対する制御タイミングTmにおける各補正値Dnmが算出される。そして、ステップS11に進む。
一方、ステップS8において、各関節Jn毎に、図4の「推測補正値算出処理」によって推測補正値DPnmが推測される。図4の推測補正値算出処理では、ステップS21において、制御タイミングTm−1,Tm−2,Tm−3においてメモリ3に格納された補正値Dnm−1,補正値Dnm−2及び補正値Dnm−3の平均値Daveが算出され、ステップS22において、推測補正値DPnmが平均値Daveに設定され、ロボット制御処理に戻る。そして、図3のステップS9において、各関節Jnの補正値Dnmが推測補正値DPnmに設定され、ステップS10において、補正前の軸指令値θnmに補正値Dnmを加算することにより、補正軸指令値θcnmが算出され、ステップS11に進む。
ステップS11では、各関節Jnの補正値Dnmはメモリ3に格納され、ステップS12において、コントローラ2は、補正軸指令値θcnmに基づいてロボット7を動作させるようにロボット駆動装置5を制御する。次に、ステップS13において、制御タイミングTmが最後の制御タイミングTMより前の制御タイミングであるか否かが判断され、YESのときはロボット制御処理を終了し、NOのときはステップS14においてパラメータmに1を加算してステップS3に戻る。
なお、制御タイミングT2又はT3において補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できなかった場合には、直前の1つ又は2つの制御タイミングにおいてメモリ3に格納された各補正値Dnmを用いて図4の推測補正値算出処理を行う。制御タイミングT1において補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できなかった場合には、ロボット制御処理を終了する。
図5は、図3のロボット制御処理によって算出される軸指令値θnmと、補正軸指令値θcnmと、補正値Dnmの一例を示すグラフである。図5において、制御タイミングT1〜T4では、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換可能であり、図3のステップS5においてYESであると判断されている。しかしながら、制御タイミングT5及びT6では、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに変換不可能であり、図3のステップS5においてNOであると判断されている。このため、例えば、制御タイミングT5では、制御タイミングT2,T3,T4においてメモリ3に格納された各補正値Dn2,Dn3,Dn4の平均値であるDPn5が補正値Dn5として用いられている。
以上詳述したように、本実施形態によれば、制御タイミングTmにおいて補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないときにも、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された補正値に基づいて制御タイミングTmにおける補正値Dnmを推測して補正軸指令値θcnmを算出する。従って、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない特異点においても、従来技術に比較してロボット7の軌跡が急激に変化することなく、位置決め精度を向上できる。
なお、本実施形態において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないときに、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて推測補正値DPnmを算出した。しかしながら、本発明はこれに限られず、制御タイミングTmの直前の複数の制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて推測補正値DPnmを算出すればよい。
第1の実施形態の第1の変形例.
図6は、本発明の第1の実施形態の第1の変形例に係る推測補正値算出処理を示すフローチャートである。図6のステップS31において、メモリ3に格納された補正値Dnm−3から補正値Dnm−2を減算して差分値DD1を算出し、ステップS32において、メモリ3に格納された補正値DDnm−2から補正値DDnm−1を減算して差分値DD2を算出する。そして、ステップS33において、差分値DD3から差分値DD1を減算して差分値DD3を算出する。さらに、ステップS34において、メモリ3に格納された補正値Dnm−1に差分値DD3を加算することにより、制御タイミングTmにおける関節Jnの軸値の推測補正値DPnmを算出し、図3のロボット制御処理に戻る。本変形例によれば、制御タイミングTmにおいて補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに変換できないときに、直前の制御タイミングTm−3,Tm−2,Tm−1においてメモリ3に格納された各補正値Dnm−3,Dnm−2,Dnm−1の各差分値DD1及びDD2を用いて推測補正値DPnmを算出するので、第1の実施形態と同様の効果を奏する。
なお、本変形例において、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された補正値Dnmの各差分値DD1及びDD2を用いて推測補正値DPnmを算出した。しかしながら、本発明はこれに限られず、制御タイミングTmの直前の3回以上の複数の制御タイミングにおいてメモリ3に格納された補正値Dnmの各差分値を用いて推測補正値DPnmを算出すればよい。
第1の実施形態の第2の変形例.
図7は、本発明の第1の実施形態の第2の変形例に係る推測補正値算出処理を示すフローチャートである。図7のステップS41において、メモリ3に格納された補正値Dnm−1を推測補正値DPnmとし、図3のロボット制御処理に戻る。本変形例によれば、制御タイミングTmにおいて補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに変換できないときに、直前の制御タイミングTm−1においてメモリ3に格納された補正値Dnm−1を推測補正値DPnmとするので、第1の実施形態に比較して短時間で推測補正値DPnmを推測できる。
第1の実施形態の第3の変形例.
図8は、本発明の第1の実施形態の第3の変形例に係る推測補正値算出処理を示すフローチャートである。図8のステップS51において、メモリ3に格納された制御タイミングTmの直前の所定の数の制御タイミングにおいてメモリ3に格納された補正値Dnmに対して所定の関数を当てはめ、当該当てはめられた関数を用いて推測補正値DPnmを算出し、図3のロボット制御処理に戻る。具体的には、例えば、制御タイミングTmの直前の5個の制御タイミングTm−5〜Tm−1においてメモリ3に格納された各補正値Dnm−5〜Dnm−1に対して3次関数を当てはめ、当該当てはめられた3次関数を用いて制御タイミングTmにおける推測補正値DPnmを算出する。本変形例によれば、制御タイミングTmにおいて補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに変換できないときに、直前の所定の数の制御タイミングにおいてメモリ3に格納された各補正値Dnmを用いて推測補正値DPnmを算出するので、第1の実施形態と同様の効果を奏する。
第1の実施形態の第4の変形例.
図9は、本発明の第1の実施形態の第4の変形例に係る推測補正値算出処理を示すフローチャートである。図9のステップS61において、W1>W2>W3となるように予め設定された重みW3,W2,W1を用いて、メモリ3に格納された補正値Dnm−3〜Dnm−1の加重平均値Davew1を算出する。具体的には、重みW1,W2,W3は、それぞれ、0.5,0.3,0.2に予め設定される。そして、ステップS62において、加重平均値Davew1を推測補正値DPnmとして図3のロボット制御処理に戻る。本変形例によれば、制御タイミングTmに近い制御タイミングに対してより大きい重みWmを与えて加重平均値Davew1を算出するので、第1の実施形態に比較して、精度良く推測補正値DPnmを推測できる。
なお、本変形例において、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて推測補正値DPnmを算出した。しかしながら、本発明はこれに限られず、制御タイミングTmの直前の複数の制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて推測補正値DPnmを算出すればよい。
第1の実施形態の第5の変形例.
図10は、本発明の第1の実施形態の第5の変形例に係る推測補正値算出処理を示すフローチャートである。本変形例では、図3のステップS11において、各関節Jnの補正値Dnmをメモリ3に格納するときに、当該補正値Dnmが図3のステップS7の処理によって算出されたか推測補正値算出処理によって算出されたかを示すフラグをともに格納する。図10のステップS71において、ステップS7の処理によって算出された補正値が推測補正値算出処理によって推測された補正値に対する重みよりも大きくなるように予め設定された重みW3,W2,W1を用いて、メモリ3に格納された補正値Dnm−3〜Dnm−1の加重平均値Davew2を算出する。具体的には、ステップS7の処理によって算出された補正値に対する重みは推測補正値算出処理によって推測された補正値に対する重みの2倍の値に予め設定される。そして、ステップS72において、加重平均値Davew2を推測補正値DPnmとして図3のロボット制御処理に戻る。本変形例によれば、ステップS7の処理によって算出された補正値に対する重みを推測補正値算出処理によって推測された補正値に対する重みより大きく設定されるので、第1の実施形態に比較して、精度良く推測補正値DPnmを推測できる。
なお、本変形例において、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて推測補正値DPnmを算出した。しかしながら、本発明はこれに限られず、制御タイミングTmの直前の複数の制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて推測補正値DPnmを算出すればよい。
第2の実施形態.
図11は、本発明の第2の実施形態に係るロボット制御処理を示すフローチャートであり、図12は、図11のステップS86において実行される推測補正値算出処理を示すフローチャートである。本実施形態に係るロボット制御処理は、第1の実施形態に係るロボット制御処理に比較して、補正位置姿勢指令値Pc1m〜Pc6mを各補正軸指令値θcnmに逆変換できる制御タイミングTmにおいて、当該制御タイミングTmが補正位置姿勢指令値Pc1m〜Pc6mを各補正軸指令値θcnmに逆変換できない最新の制御タイミングから3回の制御タイミング以内であるか否かを判断し、補正位置姿勢指令値Pc1m〜Pc6mを各補正軸指令値θcnmに逆変換できる制御タイミングが、補正位置姿勢指令値Pc1m〜Pc6mを各補正軸指令値θcnmに逆変換できない最新の制御タイミングから3回の制御タイミング以内であるときは、補正位置姿勢指令値Pc1m〜Pc6mを逆変換して得られる各軸指令値θctnmから各軸指令値θnmを減算し、当該減算結果の仮の補正値Dtnm及び制御タイミングTmの直前の2つの制御タイミングTm−1,Tm−2においてメモリ3に格納された各補正値Dtnm−1,Dtm−2に基づいて各関節駆動軸の推測補正値DPnmを算出することを特徴している。
図11において、始めに、ステップS1において、各制御タイミングTmにおける位置姿勢指令値P1m〜P6mがメモリ3から読み出される。そして、ステップS81においてパラメータkが初期値0に設定され、ステップS2において、パラメータmが初期値1に設定される。そして、コントローラ2は、ステップS3において、制御タイミングTmにおける位置姿勢指令値P1m〜P6mを各関節Jnの駆動軸の回転量である軸指令値θnmに逆変換する。なお、コントローラ2は、位置姿勢指令値P1m〜P6mを軸指令値θnmに逆変換できなかったときは、所定のエラー処理を行いロボット7の動作を停止させるように駆動装置5を制御し、ロボット制御処理を終了する。
引き続き、コントローラ2は、ステップS4において、高精度ロボットモデルによって各位置姿勢指令値P1m〜P6mを補正して、当該補正後の補正位置姿勢指令値Pc1m〜Pc6mを算出する。次に、ステップS5において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できるか否かが判断され、YESのときはステップS82に進む一方、NOのときはステップS84に進みパラメータkが0に設定され、関節Jn毎に、図4の「推測補正値算出処理」によって推測補正値DPnmが推測されてステップS9に進む。
ステップS82では、パラメータkに1が加算される。そして、ステップS83において、パラメータkが3以下であるか否かが判断され、YESのときはステップS86に進む一方、NOのときはステップS6に進む。ステップS6において、補正位置姿勢指令値Pc1m〜Pc6mは補正軸指令値θc1m〜θc6mに逆変換され、ステップS7において、補正軸指令値θcnmから軸指令値θnmを減算することにより、各関節Jnに対する制御タイミングTmにおける各補正値Dnmが算出される。そして、ステップS11に進む。
ステップS86では、関節Jn毎に、図12の「推測補正値算出処理」によって推測補正値DPnmが推測される。具体的には、図12のステップS201において、補正位置姿勢指令値Pc1m〜Pc6mを仮の補正軸指令値θct1m〜θct6mに逆変換する。そして、ステップS202において、仮の補正軸指令値θcnmから軸指令値θnmを減算することにより、各関節Jnに対する仮の補正値Dtnmを算出する。さらに、ステップS203において、仮の補正値Dtnmならびに補正値Dnm−1及びDnm−2
の平均値Dave1を算出し、ステップS204において、算出された平均値Dave1を推測補正値DPnmとして、ロボット制御処理に戻る。
ステップS9では、各関節Jnの補正値Dnmが推測補正値DPnmに設定され、ステップS10において、軸指令値θnmに補正値Dnmを加算することにより補正軸指令値θcnmが算出され、ステップS11に進む。
ステップS11では、各関節Jnの補正値Dnmはメモリ3に格納され、ステップS12において、コントローラ2は、補正軸指令値θcnmに基づいてロボット7を動作させるようにロボット駆動装置5を制御する。次に、ステップS13において、制御タイミングTmが最後の制御タイミングTMより前の制御タイミングであるか否かが判断され、YESのときはロボット制御処理を終了し、NOのときはステップS14においてパラメータmに1を加算してステップS3に戻る。
図13は、図11のロボット制御処理によって算出される軸指令値θnmと、補正軸指令値θcnmと、補正値Dnmの一例を示すグラフである。図13において、制御タイミングT1〜T4及びT7〜T10では、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換可能であり、図3のステップS5においてYESであると判断されている。しかしながら、制御タイミングT5及びT6では、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに変換不可能であり、図3のステップS5においてNOであると判断されている。このため、例えば、制御タイミングT5では、制御タイミングT2,T3,T4における各補正値Dn2,Dn3,Dn4の平均値であるDPn5が補正値Dn5として用いられている。また、制御タイミングT7,T8,T9は、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない状態から逆変換できる状態に変化した後の3回以内の各制御タイミングである。このため、図12の推測補正値算出処理によって推測補正値DPnmが算出されている。さらに、制御タイミングT10は、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない状態から逆変換できる状態に変化した後の4回目の制御タイミングであるので、推測補正値算出処理は行われていない。
以上詳述したように、本実施形態によれば、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない状態から逆変換できる状態に変化した後の3回以内の各制御タイミングにおいて、図12の推測補正値算出処理によって推測補正値DPnmを算出した。従って、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない状態から逆変換できる状態に変化したときに、第1の実施形態に比較して、補正軸指令値θcnmの変化が小さくなり、ハンド17を滑らかに動作させて位置決め精度を向上できる。
なお、本実施形態において、図12の推測補正値算出処理によって補正値を推測した。しかしながら、本発明はこれに限られず、制御タイミングTmにおける仮の補正値Dtnmならびに制御タイミングTmの直前の少なくとも1つの制御タイミングにおいてメモリ3に格納された補正値Dnmを用いて、第1の実施形態の第1乃至第5の変形例に係る推測補正値算出処理と同様の推測補正値算出処理によって推測補正値DPnmを算出してもよい。また、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない状態から逆変換できる状態に変化した制御タイミングTmの直前の3回の制御タイミングTm−1,Tm−2,Tm−3においてメモリ3に格納された補正値DPnmを用いて、第1の実施形態又は第1の実施形態の第1乃至第5の変形例に係る推測補正値算出処理によって推測補正値DPnmを算出してもよい。
第3の実施形態.
上述した各実施形態及び各変形例において、コンピュータ50は、各制御タイミングTmにおける制御点Aの位置及びハンド17の姿勢を表す位置姿勢指令値P1m〜P6mを含む制御データをロボット制御装置1に出力した。本実施形態において、コンピュータ50は、以下の3つの制御データDa,Db及びDcのうちの1つの制御データをロボット制御装置1に出力する。
(1)制御データDa.
各制御タイミングTmにおける制御点Aの位置及びハンド17の姿勢を表す位置姿勢指令値P1m〜P6mを含む。
(2)制御データDb.
各制御タイミングTmにおける、ロボット7の固有の誤差に起因する位置ずれの補正が必要な各関節Jnの軸指令値θanmを含む。
(3)制御データDc.
各制御タイミングTmにおける、ロボット7の固有の誤差に起因する位置ずれの補正が不要な各関節Jnの軸指令値θnmを含む。
ここで、各関節Jnの補正が不要な補正軸指令値θcnmは、ロボット7に固有の誤差に起因する位置のズレが考慮された軸値であり、具体的には、ティーチペンダント51を使用してロボット7を目的の位置及び姿勢に直接的に移動させて教示し、あるいはハンド17を人間が把持して目的の位置及び姿勢に移動して教示し、教示した位置及び姿勢を計測することによって得られた各関節Jnの各軸値を測定することによって得られる。
図14は、本発明の第3の実施形態に係るロボット制御処理を示すフローチャートである。ステップS91において、メモリ3内の制御データが、各制御タイミングTmにおける位置姿勢指令値P1m〜P6mを含むか否かが判断され、YESのときはステップS92において図3のロボット制御処理が実行されてロボット制御処理を終了する一方、NOのときはステップS93に進む。ステップS93において、メモリ3内の制御データが、各制御タイミングTmにおける補正が必要な軸指令値θanmを含むか否かが判断され、YESのときはステップS94に進む一方、NOのときはステップS95に進む。
ステップS94では、ロボット7には誤差が無いと仮定して、軸指令値θanmを直交座標系における位置姿勢指令値P1m〜P6mに順変換し、ステップS92に進む。一方、ステップS95において、補正が不要な軸指令値θnmに基づいてロボット7を動作させるようにロボット駆動装置5を制御してロボット制御処理を終了する。
本実施形態によれば、第1の実施形態に比較して、コンピュータ50から制御データDa、Db及びDcのうちのどの制御データが入力されても、ロボット7の固有の誤差に基づいて補正された補正軸指令値θcnmに従ってロボット7の動作を制御できる。特に、制御データDcが入力される場合、各駆動軸のメカストッパおよびソフトリミットが指示通りに作用するので、各軸の動作領域の限界を確実に把握したい場合に有効である。
さらに、例えば、ロボット7の動作範囲の限界近くで誤差に基づく補正量が適正でないために、あるいはオフラインでの制御データ作成のときに回避すべきケーブルなどのデータが漏れていたために、一部の制御データに対して、人間による直接的な教示が行われることがある。オフラインによる制御データが、人間によって修正されると、オフラインによる制御データと、人間による直接教示の制御データとが混在することになる。本実施形態によれば、制御データDb及び制御データDcを用いることができるので、オフラインの教示データが人間による教示によって修正を加えられても、従来技術に比較してロボット7の位置決め精度を向上できる。
第4の実施形態.
図15は、本発明の第4の実施形態に係る現在位置出力処理を示すフローチャートである。コントローラ2は、第1又は第2の実施形態に係るロボット制御処理と同期して、各制御タイミングTmにおいて現在位置出力処理を行う。図15のステップS301において、コントローラ2は、測定装置6により各関節Jnの軸値のタイミングTmにおける測定値αnを取得する。そして、ステップS302において、コンピュータ50からの指示コマンドに従って、取得した測定値αnを逆補正するか否かを判断し、YESのときはステップS303に進む一方、NOのときはステップS307に進む。ここで、逆補正とは、測定値αnからロボット制御処理のステップS7又はS9において算出された補正値Dnmを差し引くことをいう。ステップS307では、測定値αnをコンピュータ50に出力して、現在位置出力処理を終了する。一方、ステップS303では、測定値αnからメモリ3に格納された補正値Dnmを減算することにより逆補正された軸値θDnが算出され、ステップS304に進む。ステップS304において、コンピュータ50からの指示コマンドに従って、ロボット7の現在位置を各軸値として出力するか否かが判断され、YESのときはステップS306に進む一方、NOのときはステップS305に進む。ステップS306において、逆補正された軸値θDnをコンピュータに出力して、現在位置出力処理を終了する。また、ステップS305において、逆補正された軸値θDnは表示用位置姿勢値PDnに順変換されてコンピュータ50に出力され、現在位置出力処理を終了する。コンピュータ50は、ロボット制御装置1からの軸値の測定値αn、逆補正された軸値θDn又は表示用位置姿勢値PDnをディスプレイ50dに出力して表示する。
本実施形態によれば、制御タイミングTmにおいて計測された軸値αnをメモリ3に格納された補正値Dnmを用いて逆補正して出力することができる。
第5の実施形態.
図16は、本発明の第5の実施形態に係るロボット制御処理を示すフローチャートである。本実施形態に係るロボット制御処理は、第2の実施形態に係るロボット制御処理(図11参照。)に比較して、補正位置姿勢指令値Pc1m〜Pc6mを各関節駆動軸の回転量を表す各補正軸指令値θcnmに逆変換できるか否かを判断し、逆変換できるときに、補正位置姿勢指令値Pc1m〜Pc6mを上記各補正軸指令値θcnmに逆変換してメモリ3に格納する一方、逆変換できないときに、上制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された各関節駆動軸の補正軸指令値θcnmに基づいて、制御タイミングTmにおける各関節駆動軸の補正軸指令値θcnmを算出するとともにメモリ3に格納したことを特徴としている。具体的には、図16のロボット制御処理は、図11のステップS84及びS86における各処理をステップS101及びS104における各処理にそれぞれ置き換え、ステップS9,S10における各処理をステップS102における処理に置き換え、ステップS11における処理をステップS103における処理に置き換えたものである。
ステップS5において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないと判断されたときには、ステップS101の処理が実行される。ステップS101において、各関節Jn毎に、制御タイミングTmの直前の3回の制御タイミングTm−3,Tm−2,Tm−1においてメモリ3に格納された各補正軸指令値θcnm−3,θcnm−2,θcnm−1に基づいて推測補正軸指令値θPnmを推測し、ステップS102に進む。具体的には、補正軸指令値θcnm−3,θcnm−2,θcnm−1の平均値を推測補正軸指令値θPnmとする。
また、ステップS83において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できない状態から逆変換できる状態に変化した後の3回以内の各制御タイミングであると判断されたときには、補正位置姿勢指令値Pcnmと、補正軸指令値θcnm−2と、補正軸指令値θcnm−1とに基づいて、各関節Jn毎に推測補正軸指令値θPnmを推測して、ステップS102に進む。具体的には、補正位置姿勢指令値Pcnmを仮の補正軸指令値θt1nmに逆変換し、各関節毎Jn毎に、仮の補正軸指令値θt1nmと、補正軸指令値θcnm−2と、補正軸指令値θcnm−1との平均値を推測補正軸指令値θPnmとする。
ステップS102において、軸補正指令値θcnmを推測補正軸指令値θPnmに設定する。また、図11のステップS11に代えて、ステップS103において、各関節Jnの補正軸指令値θcnmをメモリ3に格納する。本実施形態は、第2の実施形態と同様の効果を奏する。
なお、ステップS101において、各関節Jn毎に、制御タイミングTmの直前の3回の制御タイミングTm−3,Tm−2,Tm−1においてメモリ3に格納された各補正軸指令値θcnm−3,θcnm−2,θcnm−1の平均値を推測補正軸指令値θPnmとした。しかしながら、本発明はこれに限られず、制御タイミングTmの直前の少なくとも1つの制御タイミングにおいてメモリ3に格納された各補正軸指令値に基づいて、例えば、第1の実施形態の第1乃至第5の変形例に係る推測補正値算出処理と同様の演算を行って、推測補正軸指令値θPnmを算出すればよい。また、ステップS83においてYESと判断されたときは、制御タイミングTmにおける仮の補正軸指令値θt1nmならびに制御タイミングTmの直前の少なくとも1つの制御タイミングにおいてメモリ3に格納された補正軸指令値θcnmを用いて、第1の実施形態の第1乃至第5の変形例に係る推測補正値算出処理と同様の推測補正値算出処理によって推測補正軸指令値θPnmを算出してもよい。
上記各実施形態及び各変形例において、ロボット制御装置1は6軸多関節ロボット7の動作を制御した。しかしながら、本発明はこれに限られず、補正位置姿勢指令値を一意の補正軸指令値に逆変換できない特異点を有する、1軸ロボット、4軸多関節ロボット、5軸多関節ロボット又は7軸多関節ロボットなどの少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの動作を制御してもよい。
また、上記各実施形態及び各変形例において、コントローラ2は、補正位置姿勢指令値Pc1m〜Pc6mを補正軸指令値θc1m〜θc6mに逆変換するための連立方程式の判別式を用いて、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できるか否かを判断した。しかしながら、本発明はこれに限られず、関節J5の軸値の絶対値が0度近傍の値であるか否か、又は、制御点AのXYZ座標系における位置がロボット7の可動範囲内であるか否かに基づいて、上記判断を行ってもよい。
さらに、上記各実施形態及び各変形例において、コントローラ2は、コンピュータ50からの制御データをメモリ3に格納し、格納された制御データに従ってロボット7の動作を制御した。しかしながら、本発明はこれに限られず、上記制御データをティーチペンダント51又は外部記憶装置52から読み出してもよい。
またさらに、図3及び図11のロボット制御処理のステップS11において、各関節Jnの補正値Dnmをメモリ3に格納したが、本発明はこれに限られず、ステップS5において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できると判断されたときにのみ、各関節Jnの補正値Dnmをメモリ3に格納してもよい。また、図3及び図11のロボット制御処理において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないときに、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された各関節駆動軸の補正値Dnmに基づいて各関節駆動軸の推測補正値DPnmを算出した。しかしながら、本発明はこれに限られず、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないときに、制御タイミングTmの前の少なくとも1つの制御タイミングにおいてメモリ3に格納された各関節駆動軸の補正値Dnmに基づいて各関節駆動軸の推測補正値DPnmを算出してもよい。
また、図16のロボット制御処理のステップS103において、各関節Jnの補正軸指令値θcnmをメモリ3に格納したが、本発明はこれに限られず、ステップS5において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できると判断されたときにのみ、各関節Jnの補正軸指令値θcnmをメモリ3に格納してもよい。さらに、図16のロボット制御処理において、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないときに、制御タイミングTmの直前の3回の制御タイミングにおいてメモリ3に格納された各関節Jnの補正軸指令値θcnmに基づいて各関節駆動軸の推測補正軸指令値θPnmを算出した。しかしながら、本発明はこれに限られず、補正位置姿勢指令値Pc1m〜Pc6mを一意の補正軸指令値θc1m〜θc6mに逆変換できないときに、制御タイミングTmの前の少なくとも1つの制御タイミングにおいてメモリ3に格納された各関節Jnの補正軸指令値θcnmに基づいて各関節駆動軸の推測補正軸指令値θPnmを算出してもよい。
以上詳述したように、本発明に係るロボット制御装置及び方法によれば、補正位置姿勢指令値を各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、逆変換できるときに、補正位置姿勢指令値を各補正軸指令値に逆変換し、各補正軸指令値から補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出して記憶手段に格納する一方、逆変換できないときに、制御タイミングの前の少なくとも1つの制御タイミングにおいて記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、各推測補正値を補正前の各軸指令値に加算することにより各補正軸指令値を算出するとともに、各推測補正値を各関節駆動軸の補正値として記憶手段に格納し、各補正軸指令値に従って各関節駆動軸を回転させるように制御するので、補正位置姿勢指令値を一意の各補正軸指令値に逆変換できない特異点において、ロボットの位置決め精度を従来技術に比較して向上できる。
1…ロボット制御装置、
2…コントローラ、
3…メモリ、
4…インターフェース回路、
5…駆動装置、
6…測定装置、
7…ロボット、
9…基台、
10…基柱、
11〜16…リンク、
17…ハンド、
50…コンピュータ、
50d…ディスプレイ、
50i…入力部、
51…ティーチペンダント、
52…外部記憶装置、
A…制御点、
J1〜J6…関節。

Claims (24)

  1. 少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御手段を備えたロボット制御装置において、
    上記制御手段は、
    上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
    (a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
    (b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
    (c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
    (c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換し、上記各補正軸指令値から上記補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出して記憶手段に格納する一方、
    (c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納し、
    (d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とするロボット制御装置。
  2. 上記制御手段は、上記逆変換できないときに、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納することに代えて、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出することを特徴とする請求項1記載のロボット制御装置。
  3. 上記制御手段は、
    上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングにおいて、当該制御タイミングが上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるか否かを判断し、
    上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングが、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるときは、上記補正位置姿勢指令値を逆変換して得られる各軸指令値から上記各軸指令値を減算し、当該減算結果の補正値及び上記制御タイミングの直前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各補正値に基づいて各関節駆動軸の推測補正値を算出することを特徴とする請求項1又は2記載のロボット制御装置。
  4. 上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の平均値を、上記推測補正値とすることを特徴とする請求項1乃至3のうちのいずれか1つに記載のロボット制御装置。
  5. 上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の各差分値に基づいて、上記各関節駆動軸の推測補正値を算出することを特徴とする請求項1乃至3のうちのいずれか1つに記載のロボット制御装置。
  6. 上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された補正値を、上記推測補正値とすることを特徴とする請求項1乃至3のうちのいずれか1つに記載のロボット制御装置。
  7. 上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して所定の関数を当てはめ、当該当てはめられた関数を用いて上記各関節駆動軸の推測補正値を算出することを特徴とする請求項1乃至3のうちのいずれか1つに記載のロボット制御装置。
  8. 上記制御手段は、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して予め設定された所定の重みを用いて、上記各補正値の加重平均値を算出し、当該加重平均値を上記推測補正値とすることを特徴とする請求項1乃至3のうちのいずれか1つに記載のロボット制御装置。
  9. 上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする請求項1乃至8のうちのいずれか1つに記載のロボット制御装置。
  10. 少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御手段を備えたロボット制御装置において、
    上記制御手段は、
    上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
    (a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
    (b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
    (c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
    (c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換して記憶手段に格納する一方、
    (c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納し、
    (d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とするロボット制御装置。
  11. 上記制御手段は、上記逆変換できないときに、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納することに代えて、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出することを特徴とする請求項10記載のロボット制御装置。
  12. 上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする請求項10又は11記載のロボット制御装置。
  13. 少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御ステップを含むロボット制御方法において、
    上記制御ステップは、
    上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
    (a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
    (b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
    (c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
    (c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換し、上記各補正軸指令値から上記補正前の各軸指令値を減算することにより各関節駆動軸の補正値を算出して記憶手段に格納する一方、
    (c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納し、
    (d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とするロボット制御方法。
  14. 上記制御ステップは、上記逆変換できないときに、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出するとともに、上記各推測補正値を各関節駆動軸の補正値として上記記憶手段に格納することに代えて、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出し、上記各推測補正値を上記補正前の各軸指令値に加算することにより上記各補正軸指令値を算出することを特徴とする請求項13記載のロボット制御方法。
  15. 上記制御ステップは、
    上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングにおいて、当該制御タイミングが上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるか否かを判断し、
    上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できる制御タイミングが、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換できない最新の制御タイミングから所定の回数の制御タイミング以内であるときは、上記補正位置姿勢指令値を逆変換して得られる各軸指令値から上記各軸指令値を減算し、当該減算結果の補正値及び上記制御タイミングの直前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各補正値に基づいて各関節駆動軸の推測補正値を算出することを特徴とする請求項13又は14記載のロボット制御方法。
  16. 上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の平均値を、上記推測補正値とすることを特徴とする請求項13乃至15のうちのいずれか1つに記載のロボット制御方法。
  17. 上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値の各差分値に基づいて、上記各関節駆動軸の推測補正値を算出することを特徴とする請求項13乃至15のうちのいずれか1つに記載のロボット制御方法。
  18. 上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された補正値を、上記推測補正値とすることを特徴とする請求項13乃至15のうちのいずれか1つに記載のロボット制御方法。
  19. 上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して所定の関数を当てはめ、当該当てはめられた関数を用いて上記各関節駆動軸の推測補正値を算出することを特徴とする請求項13乃至15のうちのいずれか1つに記載のロボット制御方法。
  20. 上記制御ステップは、上記逆変換できないときに、上記制御タイミングの前の複数の制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正値に基づいて各関節駆動軸の推測補正値を算出するときに、上記記憶手段に格納された各補正値に対して予め設定された所定の重みを用いて、上記各補正値の加重平均値を算出し、当該加重平均値を上記推測補正値とすることを特徴とする請求項13乃至15のうちのいずれか1つに記載のロボット制御方法。
  21. 上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする請求項13乃至20のうちのいずれか1つに記載のロボット制御方法。
  22. 少なくとも1つの関節駆動軸を介して複数のリンクが連結してなるロボットの制御点の位置及び姿勢を、所定の制御タイミング毎に制御する制御ステップを含むロボット制御方法において、
    上記制御ステップは、
    上記各制御タイミングにおける上記制御点の位置及び姿勢を表す位置姿勢指令値に基づいて、上記各制御タイミングにおいて、
    (a)上記位置姿勢指令値を上記各関節駆動軸の回転量を表す補正前の各軸指令値に逆変換し、
    (b)所定の位置姿勢を指示したときの実際の位置姿勢におけるロボット固有の誤差に基づいて、上記位置姿勢指令値を補正して、補正位置姿勢指令値を算出し、
    (c)上記補正位置姿勢指令値を上記各関節駆動軸の回転量を表す各補正軸指令値に逆変換できるか否かを判断し、
    (c1)逆変換できるときに、上記補正位置姿勢指令値を上記各補正軸指令値に逆変換して記憶手段に格納する一方、
    (c2)逆変換できないときに、上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納し、
    (d)上記各補正軸指令値に従って上記各関節駆動軸を回転させるように制御することを特徴とするロボット制御方法。
  23. 上記制御ステップは、上記逆変換できないときに、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出するとともに上記記憶手段に格納することに代えて、
    上記制御タイミングの前の少なくとも1つの制御タイミングにおいて上記記憶手段に格納された各関節駆動軸の補正軸指令値に基づいて、上記制御タイミングにおける各関節駆動軸の補正軸指令値を算出することを特徴とする請求項22記載のロボット制御方法。
  24. 上記制御タイミングの前の複数の制御タイミングは、上記制御タイミングの直前の複数の制御タイミングであることを特徴とする請求項22又は23記載のロボット制御方法。
JP2009124330A 2009-05-22 2009-05-22 ロボット制御装置及び方法 Active JP5433304B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009124330A JP5433304B2 (ja) 2009-05-22 2009-05-22 ロボット制御装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009124330A JP5433304B2 (ja) 2009-05-22 2009-05-22 ロボット制御装置及び方法

Publications (2)

Publication Number Publication Date
JP2010269421A true JP2010269421A (ja) 2010-12-02
JP5433304B2 JP5433304B2 (ja) 2014-03-05

Family

ID=43417874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009124330A Active JP5433304B2 (ja) 2009-05-22 2009-05-22 ロボット制御装置及び方法

Country Status (1)

Country Link
JP (1) JP5433304B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014076498A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
CN104750023A (zh) * 2015-02-13 2015-07-01 河北联合大学 一种基于模型的焊接机器人离线示教数据的获取方法
WO2015162757A1 (ja) * 2014-04-24 2015-10-29 三菱電機株式会社 ロボット制御装置およびロボット制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0366576A (ja) * 1989-08-04 1991-03-22 Fujitsu Ltd ロボットの軌跡制御装置
JPH03175503A (ja) * 1989-12-04 1991-07-30 Nec Corp 位置決め誤差補正方式
JPH06324730A (ja) * 1993-05-14 1994-11-25 Yaskawa Electric Corp 産業用ロボットの制御装置
JPH07200018A (ja) * 1993-12-27 1995-08-04 Toyoda Mach Works Ltd ロボットの制御装置
JPH07276273A (ja) * 1994-04-11 1995-10-24 Nippon Steel Corp パラレルリンクマニピュレータのたわみ補正制御方法
JP2006159361A (ja) * 2004-12-08 2006-06-22 Kawasaki Heavy Ind Ltd ロボット制御装置およびロボット制御方法
JP2006227724A (ja) * 2005-02-15 2006-08-31 Mitsubishi Electric Corp ロボットの制御装置および制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0366576A (ja) * 1989-08-04 1991-03-22 Fujitsu Ltd ロボットの軌跡制御装置
JPH03175503A (ja) * 1989-12-04 1991-07-30 Nec Corp 位置決め誤差補正方式
JPH06324730A (ja) * 1993-05-14 1994-11-25 Yaskawa Electric Corp 産業用ロボットの制御装置
JPH07200018A (ja) * 1993-12-27 1995-08-04 Toyoda Mach Works Ltd ロボットの制御装置
JPH07276273A (ja) * 1994-04-11 1995-10-24 Nippon Steel Corp パラレルリンクマニピュレータのたわみ補正制御方法
JP2006159361A (ja) * 2004-12-08 2006-06-22 Kawasaki Heavy Ind Ltd ロボット制御装置およびロボット制御方法
JP2006227724A (ja) * 2005-02-15 2006-08-31 Mitsubishi Electric Corp ロボットの制御装置および制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014076498A (ja) * 2012-10-09 2014-05-01 Sinfonia Technology Co Ltd 多関節ロボット及び半導体ウェハ搬送装置
WO2015162757A1 (ja) * 2014-04-24 2015-10-29 三菱電機株式会社 ロボット制御装置およびロボット制御方法
US10052757B2 (en) 2014-04-24 2018-08-21 Mitsubishi Electric Corporation Robot control device and robot control method
DE112014006610B4 (de) 2014-04-24 2019-09-19 Mitsubishi Electric Corporation Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
CN104750023A (zh) * 2015-02-13 2015-07-01 河北联合大学 一种基于模型的焊接机器人离线示教数据的获取方法

Also Published As

Publication number Publication date
JP5433304B2 (ja) 2014-03-05

Similar Documents

Publication Publication Date Title
JP6924142B2 (ja) ロボットシステム
WO2017064851A1 (ja) ロボット教示方法及びロボットアーム制御装置
JP5946859B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
US10864632B2 (en) Direct teaching method of robot
US20140031982A1 (en) Robotic system and robot control device
JP5531996B2 (ja) 6軸ロボットの軸間オフセット検出方法
JPWO2007111252A1 (ja) マニピュレータの制御方法および制御システム
JP2015030078A (ja) ロボット装置及びロボット制御方法
JP2015033747A (ja) ロボットシステム、ロボット制御装置及びロボット制御方法
JP5672173B2 (ja) 6軸ロボットの軸間オフセット検出方法
JP2010231575A (ja) ロボットのオフライン教示装置、ロボットのオフライン教示方法、及びロボットシステム
US11865697B2 (en) Robot system and method for operating same
JP5433304B2 (ja) ロボット制御装置及び方法
JP4888374B2 (ja) ロボットの動作制御装置及びその動作制御方法
JP2019177432A (ja) ロボットシステム及び制御方法
JP6576824B2 (ja) ロボット制御装置
JP5071237B2 (ja) 6軸ロボットの5軸原点位置較正方法、6軸ロボットの制御装置、多関節型ロボットの軸原点位置較正方法及び多関節型ロボットの制御装置
JP5786550B2 (ja) 6軸ロボットの軸間オフセット検出方法
JP2006260010A (ja) ロボット制御装置,ロボット制御方法,コンピュータプログラム
JP2005052913A (ja) ロボット制御装置
JP2019136841A (ja) 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法
WO2019215998A1 (ja) ロボットの制御方法
JP5382148B2 (ja) ロボットの動作制御装置及びその動作制御方法
JP4960589B2 (ja) ロボット制御装置およびロボット制御方法
JP2014180726A (ja) 多関節ロボットのバネ定数補正装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5433304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250