JP2694669B2 - ロボットの動作制御方法 - Google Patents
ロボットの動作制御方法Info
- Publication number
- JP2694669B2 JP2694669B2 JP1147468A JP14746889A JP2694669B2 JP 2694669 B2 JP2694669 B2 JP 2694669B2 JP 1147468 A JP1147468 A JP 1147468A JP 14746889 A JP14746889 A JP 14746889A JP 2694669 B2 JP2694669 B2 JP 2694669B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- vector
- hand
- interpolation
- work tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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—Programme-control systems
- G05B19/02—Programme-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 programme data in numerical form
- G05B19/408—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 programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4086—Coordinate conversions; Other special calculations
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はロボットの動作制御方法に係り、特に、ロボ
ットが保持する作業工具の姿勢を三次元空間内で制御す
るのに好適な動作制御方法に関する。
ットが保持する作業工具の姿勢を三次元空間内で制御す
るのに好適な動作制御方法に関する。
従来、ロボットの動作制御方法は種々、発明されてお
り、特公昭61−2964号公報は、ロボットの手先位置及び
姿勢を三次元空間内において所望の軌道をたどるように
制御する方法を示す。ロボットによって作業が行われる
場合、ロボットの自由度配置に依存することなく、三次
元空間内における手先の位置、姿勢の着目してロボット
の動作制御が行われることが望ましい。この場合、教示
により、離散的に与えられたロボット手先の位置、姿勢
の間が補間され、得られた位置、姿勢を満たすロボット
各自由度の変位が求められて駆動制御が行われたり、あ
るいは、補間により得られた位置、姿勢に対応するロボ
ット各自由度の速度、またはトルク(ないしは力)が求
められて駆動制御が行われる。
り、特公昭61−2964号公報は、ロボットの手先位置及び
姿勢を三次元空間内において所望の軌道をたどるように
制御する方法を示す。ロボットによって作業が行われる
場合、ロボットの自由度配置に依存することなく、三次
元空間内における手先の位置、姿勢の着目してロボット
の動作制御が行われることが望ましい。この場合、教示
により、離散的に与えられたロボット手先の位置、姿勢
の間が補間され、得られた位置、姿勢を満たすロボット
各自由度の変位が求められて駆動制御が行われたり、あ
るいは、補間により得られた位置、姿勢に対応するロボ
ット各自由度の速度、またはトルク(ないしは力)が求
められて駆動制御が行われる。
前記、特公昭61−2964号公報は、ロボット設置位置に
対して固定された直交座標系が設定され、この座標系に
関する位置と、この直交座標系を基準にとった角度とを
用いて、与えられた2点の位置、姿勢の間が、これらの
位置、角度を示すパラメータの各々を各独立に線形内挿
することにより補間され、得られた補間位置、角度に対
応するロボット各自由度の変位が求められて制御される
例を開示する。また、このような制御が行われる場合の
教示データは、前記公報あるいは特公昭60−51121号公
報に記載されているように、上記制御方式に対応して、
直交座標系に関する位置および角度座標値として記憶さ
れる。
対して固定された直交座標系が設定され、この座標系に
関する位置と、この直交座標系を基準にとった角度とを
用いて、与えられた2点の位置、姿勢の間が、これらの
位置、角度を示すパラメータの各々を各独立に線形内挿
することにより補間され、得られた補間位置、角度に対
応するロボット各自由度の変位が求められて制御される
例を開示する。また、このような制御が行われる場合の
教示データは、前記公報あるいは特公昭60−51121号公
報に記載されているように、上記制御方式に対応して、
直交座標系に関する位置および角度座標値として記憶さ
れる。
前記従来技術では、ロボットの姿勢が直交座標系に関
する角度座標値の形で表現され、与えられた2つの姿勢
に対応する角度座標値どうしの間が各々の成分毎に独立
に補間されて得られる中間的な角度座標値として求めら
れ、これに基づいてロボットが制御される方法がとられ
ていた。このように姿勢が角度座標値を用いて表わされ
る方法には、ポール著「ロボット・マニピュレータ」
(Paul:Robot Manipulators,MIT Press)などにも示さ
れている、オイラ角を用いる方法、ロール、ピッチ、ヨ
ー角を用いる方法などがある。しかし、これらの方法で
は、特定の姿勢に対して角度座標値が不安となり、この
ような表現法を用いることができない状態が存在する。
例えば、オイラー角が用いられる場合には、第8図に示
されるように、姿勢を与える主軸Nの角度座標がxy平面
内で規定される第1の角度αと、該xy平面に垂直な面内
で規定される第2の角βとで与えられるが、主軸NがZ
軸と一致した場合の角度座標αは無限に存在する。この
ような状態は表現法に依存した特異点と呼ばれるが、こ
のとき、補間の姿勢軌跡が一意に定まらない。
する角度座標値の形で表現され、与えられた2つの姿勢
に対応する角度座標値どうしの間が各々の成分毎に独立
に補間されて得られる中間的な角度座標値として求めら
れ、これに基づいてロボットが制御される方法がとられ
ていた。このように姿勢が角度座標値を用いて表わされ
る方法には、ポール著「ロボット・マニピュレータ」
(Paul:Robot Manipulators,MIT Press)などにも示さ
れている、オイラ角を用いる方法、ロール、ピッチ、ヨ
ー角を用いる方法などがある。しかし、これらの方法で
は、特定の姿勢に対して角度座標値が不安となり、この
ような表現法を用いることができない状態が存在する。
例えば、オイラー角が用いられる場合には、第8図に示
されるように、姿勢を与える主軸Nの角度座標がxy平面
内で規定される第1の角度αと、該xy平面に垂直な面内
で規定される第2の角βとで与えられるが、主軸NがZ
軸と一致した場合の角度座標αは無限に存在する。この
ような状態は表現法に依存した特異点と呼ばれるが、こ
のとき、補間の姿勢軌跡が一意に定まらない。
また、ロボットの各自由度の変化からロボットの手先
位置、姿勢を求める計算は正座標変換と呼ばれるが、こ
の時、各自由度の前後にとった座標系どうしの変換が行
列の形で表わされ、この変換の積として多自由度の変位
に基づく手先位置、姿勢が得られる方法、あるいはベク
トルが用いられる方法などが一般的に用いられる。この
場合、手先の姿勢は、手先に固定された座標系の基底ベ
クトルの、ロボット基台に固定された座標系に対する方
向余弦の形で得られるが、これがオイラー角などの角度
座標値による表現に変換されるためには、逆三角関数等
を用いた変換演算が必要であった。上記正座標変換及び
方向余弦とオイラー角等との変換演算の具体例について
は、前記のポール著「ロボット・マニピュレータ」など
に詳述されている。
位置、姿勢を求める計算は正座標変換と呼ばれるが、こ
の時、各自由度の前後にとった座標系どうしの変換が行
列の形で表わされ、この変換の積として多自由度の変位
に基づく手先位置、姿勢が得られる方法、あるいはベク
トルが用いられる方法などが一般的に用いられる。この
場合、手先の姿勢は、手先に固定された座標系の基底ベ
クトルの、ロボット基台に固定された座標系に対する方
向余弦の形で得られるが、これがオイラー角などの角度
座標値による表現に変換されるためには、逆三角関数等
を用いた変換演算が必要であった。上記正座標変換及び
方向余弦とオイラー角等との変換演算の具体例について
は、前記のポール著「ロボット・マニピュレータ」など
に詳述されている。
また。上記とは逆にロボットの手先位置、姿勢から各
自由度の変位を求める計算は逆座標変換と呼ばれるが、
上記のことからも明らかなように、オイラー角などの角
度座標値からロボット各自由度の変位を求めるには、角
度座標値が一旦方向余弦を用いた表現等に変換され、更
にこれが各自由度変位に変換演算される方法が一般的で
あった。なお、この手法の具体例は、5自由度を持つロ
ボットについて、上記特公昭61−2964号公報にニュート
ン・ラプソン法により反復計算を行う例が開示されてい
る。また、この方法に対応して、特公昭60−51121号公
報には、直交座標系に関する位置座標値と角度座標値を
ロボットの軌道上の点の情報として記憶する方式が開示
されている。この例では角度座標値として、ロール、ピ
ッチ、ヨーの表現法が用いられている。
自由度の変位を求める計算は逆座標変換と呼ばれるが、
上記のことからも明らかなように、オイラー角などの角
度座標値からロボット各自由度の変位を求めるには、角
度座標値が一旦方向余弦を用いた表現等に変換され、更
にこれが各自由度変位に変換演算される方法が一般的で
あった。なお、この手法の具体例は、5自由度を持つロ
ボットについて、上記特公昭61−2964号公報にニュート
ン・ラプソン法により反復計算を行う例が開示されてい
る。また、この方法に対応して、特公昭60−51121号公
報には、直交座標系に関する位置座標値と角度座標値を
ロボットの軌道上の点の情報として記憶する方式が開示
されている。この例では角度座標値として、ロール、ピ
ッチ、ヨーの表現法が用いられている。
さらに、姿勢の補間法について述べると、補間始、終
端におけるオイラー角あるいはロール、ピッチ、ヨー角
の各成分を線形に比例配分して補間する方法が一般的に
用いられており、上記の特公昭60−2964号公報において
も、この方法が示されている。このような補間法を用い
た場合、補間の途中軌道、即ちロボットのハンドあるい
は手先の作業工具の動き方、姿勢変化の様態は、明らか
に、角度座標値の定義のしかたによって異る。例えばオ
イラー角を用いて表わす場合と、ロール、ピッチ、ヨー
角を用いて表わす場合では異る。また、例えばオイラー
角を用いる場合であっても、これを表現する基準となる
直交座標系の定義のしかたによって、姿勢補間軌道は異
ったものとなる。これは特定の直交座標系で表現された
角度座標値だけに着目して姿勢の補間を行うことによっ
ており、3次元的回転量を与える角度座標系において、
位置の場合のような加法定理が成り立たないための問題
である。このように従来方法では、表現法そのものに姿
勢補間軌道が左右されてしまうため、必ずしも軌道の教
示を行う人間にとって動作が予想しやすいものとはなら
ず、予期しないロボット動作を伴うことがある、などの
問題点もあった。
端におけるオイラー角あるいはロール、ピッチ、ヨー角
の各成分を線形に比例配分して補間する方法が一般的に
用いられており、上記の特公昭60−2964号公報において
も、この方法が示されている。このような補間法を用い
た場合、補間の途中軌道、即ちロボットのハンドあるい
は手先の作業工具の動き方、姿勢変化の様態は、明らか
に、角度座標値の定義のしかたによって異る。例えばオ
イラー角を用いて表わす場合と、ロール、ピッチ、ヨー
角を用いて表わす場合では異る。また、例えばオイラー
角を用いる場合であっても、これを表現する基準となる
直交座標系の定義のしかたによって、姿勢補間軌道は異
ったものとなる。これは特定の直交座標系で表現された
角度座標値だけに着目して姿勢の補間を行うことによっ
ており、3次元的回転量を与える角度座標系において、
位置の場合のような加法定理が成り立たないための問題
である。このように従来方法では、表現法そのものに姿
勢補間軌道が左右されてしまうため、必ずしも軌道の教
示を行う人間にとって動作が予想しやすいものとはなら
ず、予期しないロボット動作を伴うことがある、などの
問題点もあった。
本発明の課題は、第1にロボットの各自由度の変位
と、手先位置、姿勢の3次元的表現との間の変換演算を
容易とし、演算処理量を低減するための、ロボット手先
位置及び姿勢の表現法、教示における記憶形式を提供す
るとともに、第2にこの表現法を応用した、教示を行う
人間にとって理解の容易なロボット動作を実現できる姿
勢補間方法を提供するにある。
と、手先位置、姿勢の3次元的表現との間の変換演算を
容易とし、演算処理量を低減するための、ロボット手先
位置及び姿勢の表現法、教示における記憶形式を提供す
るとともに、第2にこの表現法を応用した、教示を行う
人間にとって理解の容易なロボット動作を実現できる姿
勢補間方法を提供するにある。
上記の第1の課題は、複数の自由度を有するロボット
の動作を制御する動作方法において、ロボットの手先に
取付けられたハンドもしくは作業工具の姿勢が、ロボッ
トの基台に固定された基準となる直交座標系に関する、
前記ハンドもしくは作業工具に固定された直交座標系の
基底ベクトルの成分として記憶されることによて達成さ
れる。
の動作を制御する動作方法において、ロボットの手先に
取付けられたハンドもしくは作業工具の姿勢が、ロボッ
トの基台に固定された基準となる直交座標系に関する、
前記ハンドもしくは作業工具に固定された直交座標系の
基底ベクトルの成分として記憶されることによて達成さ
れる。
また、上記第2の課題は、複数の自由度を有するロボ
ットの手先に取付けられたハンドもしくは作業工具の少
なくとも二つの姿勢が教示され、その間を補間してロボ
ットを動作させるロボットの動作制御方法において、前
記ハンドもしくは作業工具の姿勢が、ロボット基台に固
定された基準となる直交座標系に関する、前記ハンドも
しくは作業工具に固定された直交座標系の基底ベクトル
の成分として表現され、補間始端及び補間終端における
前記ハンドもしくは作業工具に固定された直交座標系相
互間の変換が同次変換として求められ、該変換と等価な
一つの軸まわりの回転変換を与える回転軸及び回転角が
求められ、前記基底ベクトルを該回転角を補間しながら
該回転軸のまわりに回転して得られるベクトルを用いて
前記ハンドもしくは作業工具の姿勢補間軌道が決定され
ることにより達成される。
ットの手先に取付けられたハンドもしくは作業工具の少
なくとも二つの姿勢が教示され、その間を補間してロボ
ットを動作させるロボットの動作制御方法において、前
記ハンドもしくは作業工具の姿勢が、ロボット基台に固
定された基準となる直交座標系に関する、前記ハンドも
しくは作業工具に固定された直交座標系の基底ベクトル
の成分として表現され、補間始端及び補間終端における
前記ハンドもしくは作業工具に固定された直交座標系相
互間の変換が同次変換として求められ、該変換と等価な
一つの軸まわりの回転変換を与える回転軸及び回転角が
求められ、前記基底ベクトルを該回転角を補間しながら
該回転軸のまわりに回転して得られるベクトルを用いて
前記ハンドもしくは作業工具の姿勢補間軌道が決定され
ることにより達成される。
上記第2の課題は、また、複数の自由度を有するロボ
ットの手先に取付けられたハンドもしくは作業工具の少
なくとも二つの姿勢が教示され、その間を補間してロボ
ットを動作させるロボットの動作制御方法において、前
記ハンドもしくは作業工具の姿勢が、ロボット基台に固
定された基準となる直交座標系に関する、前記ハンドも
しくは作業工具に固定された直交座標系の基底ベクトル
の成分として表現され、補間始端及び補間終端における
前記基底ベクトルの内の第1の基底ベクトルに共通な垂
直な回転軸ベクトルが求められ、前記補間始端及び補間
終端における前記第1の基底ベクトルどうしがなす角度
である第1の回転角が求められ、前記補間始端及び補間
終端における前記基底ベクトルのうちの第2の基底ベク
トルと前記回転軸ベクトルとのなす角相互の差である第
2の回転角が求められ、前記第1及び第2の回転角を補
間しながら前記第1の基底ベクトルを前記回転軸ベクト
ルのまわりに回転して得られる補間結果第1基底ベクト
ルと、前記第2の基底ベクトルを該補間結果第1基底ベ
クトルのまわりに回転して得られる補間結果第2基底ベ
クトルの両者によって前記ハンドもしくは作業工具の姿
勢補間軌道が決定されることによっても達成される。
ットの手先に取付けられたハンドもしくは作業工具の少
なくとも二つの姿勢が教示され、その間を補間してロボ
ットを動作させるロボットの動作制御方法において、前
記ハンドもしくは作業工具の姿勢が、ロボット基台に固
定された基準となる直交座標系に関する、前記ハンドも
しくは作業工具に固定された直交座標系の基底ベクトル
の成分として表現され、補間始端及び補間終端における
前記基底ベクトルの内の第1の基底ベクトルに共通な垂
直な回転軸ベクトルが求められ、前記補間始端及び補間
終端における前記第1の基底ベクトルどうしがなす角度
である第1の回転角が求められ、前記補間始端及び補間
終端における前記基底ベクトルのうちの第2の基底ベク
トルと前記回転軸ベクトルとのなす角相互の差である第
2の回転角が求められ、前記第1及び第2の回転角を補
間しながら前記第1の基底ベクトルを前記回転軸ベクト
ルのまわりに回転して得られる補間結果第1基底ベクト
ルと、前記第2の基底ベクトルを該補間結果第1基底ベ
クトルのまわりに回転して得られる補間結果第2基底ベ
クトルの両者によって前記ハンドもしくは作業工具の姿
勢補間軌道が決定されることによっても達成される。
ロボットのハンドもしくは作業工具の姿勢データが、
ロボット基台に固定された基準となる直交座標系に関す
る、前記ハンドもしくは作業工具に固定された直交座標
系の基底ベクトルの成分として記憶されているので、記
憶された姿勢データから、ロボット各自由度の変位を、
あらかじめ求められている式に基づいて、直接、逆座標
変換演算によって求められることができる。
ロボット基台に固定された基準となる直交座標系に関す
る、前記ハンドもしくは作業工具に固定された直交座標
系の基底ベクトルの成分として記憶されているので、記
憶された姿勢データから、ロボット各自由度の変位を、
あらかじめ求められている式に基づいて、直接、逆座標
変換演算によって求められることができる。
また、ハンドもしくは作業工具の姿勢変更時の姿勢の
補間が、該ハンドもしくは作業工具に固定された直交座
標系のベクトルの3次元空間内における回転として取扱
われるので、姿勢表現のための基準とする座標系のとり
方によらず、かつ、人間によって予想しやすい姿勢変更
軌道が得られる。
補間が、該ハンドもしくは作業工具に固定された直交座
標系のベクトルの3次元空間内における回転として取扱
われるので、姿勢表現のための基準とする座標系のとり
方によらず、かつ、人間によって予想しやすい姿勢変更
軌道が得られる。
以下、本発明の一実施例を第1乃至第7図を用いて説
明する。
明する。
第1図に本発明の対象となるロボットの例として、6
自由度を持つ多関節型ロボット1を示す。ロボット1の
基台には直交座標系であるロボット・ベース座標系(以
下ベース座標系という)10が固定されており、ロボット
1のハンド2には、同じく直交座標系であるハンド座標
系20が固定されている。ベース座標系10の3つの主軸を
X,Y,Z軸とし、ハンド座標系20の3つの主軸をx,y,z軸と
する。いま、ハンド2の主軸21をz軸方向に選んだもの
とし、x軸上の単位ベクトル201を、またy軸上の単
位ベクトル202を、さらにz軸上の単位ベクトル203を
とする。また、ベース座標系10の原点からハンド座標
系20の原点に至るベクトル、即ちハンド2の位置ベクト
ル204をとする。
自由度を持つ多関節型ロボット1を示す。ロボット1の
基台には直交座標系であるロボット・ベース座標系(以
下ベース座標系という)10が固定されており、ロボット
1のハンド2には、同じく直交座標系であるハンド座標
系20が固定されている。ベース座標系10の3つの主軸を
X,Y,Z軸とし、ハンド座標系20の3つの主軸をx,y,z軸と
する。いま、ハンド2の主軸21をz軸方向に選んだもの
とし、x軸上の単位ベクトル201を、またy軸上の単
位ベクトル202を、さらにz軸上の単位ベクトル203を
とする。また、ベース座標系10の原点からハンド座標
系20の原点に至るベクトル、即ちハンド2の位置ベクト
ル204をとする。
いま、1つの自由度に着目し、その前後に座標系を設
け、それらの間の変換を4行4列の同次変換行列として
表わす。このような方法については、エーエスエムイー
・ジャーナル・オブ・アプライド・メカニックス第77巻
215〜221頁(ASME Journal of Applied Mechanics,195
5)に示されたデナビット及びハルテンベルグの記法(D
enavit−Hartenberg)がよく知られている。このような
表現法を用いれば、ロボット1のベース座標系10からハ
ンド座標系20までの変換は各自由度の変換を表わす行列
の積として得られる。この結果は、 の形に表わされ、この行列の第1列がハンド座標系20の
x軸上の単位ベクトルのベース座標系10に対する方向余
弦、第2列が同じくy軸上の単位ベクトル、第3列がz
軸上の単位ベクトル(以下、基底ベクトルという)にそ
れぞれ関するもの、となっている。また第4列はハンド
座標系20の原点のベース座標系10における表現である。
このことから、ベクトル201は、 =(nx,ny,nz)t ……(2) また、ベクトル202は、 =(ox,oy,oz)t ……(3) ベクトル203は、 =(ax,ay,az)t ……(4) と成分表示できる。ここにtは転置を表わす。また、明
らかに、 =(px,py,pz)t ……(5) である。このことから分るように、ハンド2に対して固
定されたハンド座標系20の基底ベクトル201,202,203を
用いてハンドの姿勢を表わせば、単にロボット1の各自
由度の変位から変換行列を求め、その積を計算するだけ
で、簡単にハンドの位置、姿勢が表現される。
け、それらの間の変換を4行4列の同次変換行列として
表わす。このような方法については、エーエスエムイー
・ジャーナル・オブ・アプライド・メカニックス第77巻
215〜221頁(ASME Journal of Applied Mechanics,195
5)に示されたデナビット及びハルテンベルグの記法(D
enavit−Hartenberg)がよく知られている。このような
表現法を用いれば、ロボット1のベース座標系10からハ
ンド座標系20までの変換は各自由度の変換を表わす行列
の積として得られる。この結果は、 の形に表わされ、この行列の第1列がハンド座標系20の
x軸上の単位ベクトルのベース座標系10に対する方向余
弦、第2列が同じくy軸上の単位ベクトル、第3列がz
軸上の単位ベクトル(以下、基底ベクトルという)にそ
れぞれ関するもの、となっている。また第4列はハンド
座標系20の原点のベース座標系10における表現である。
このことから、ベクトル201は、 =(nx,ny,nz)t ……(2) また、ベクトル202は、 =(ox,oy,oz)t ……(3) ベクトル203は、 =(ax,ay,az)t ……(4) と成分表示できる。ここにtは転置を表わす。また、明
らかに、 =(px,py,pz)t ……(5) である。このことから分るように、ハンド2に対して固
定されたハンド座標系20の基底ベクトル201,202,203を
用いてハンドの姿勢を表わせば、単にロボット1の各自
由度の変位から変換行列を求め、その積を計算するだけ
で、簡単にハンドの位置、姿勢が表現される。
一方、角度座標値を用いる例として、オイラー角α,
β,γを用いる場合につい考えると、前述ポール著の
「ロボット・マニピュレータ」にも示されているよう
に、次の(6)(7)(8)式の関係が成り立ち、従っ
て、これらの式に基づいてα,β,γの値が演算されね
ばならない。即ち、ベクトル ,,を用いてハンド2の姿勢を表わす方法は、オ
イラー角などの角度座標値を用いる方法に比較して正座
標変換における演算処理量が少なくてすむ特徴を持つ。
β,γを用いる場合につい考えると、前述ポール著の
「ロボット・マニピュレータ」にも示されているよう
に、次の(6)(7)(8)式の関係が成り立ち、従っ
て、これらの式に基づいてα,β,γの値が演算されね
ばならない。即ち、ベクトル ,,を用いてハンド2の姿勢を表わす方法は、オ
イラー角などの角度座標値を用いる方法に比較して正座
標変換における演算処理量が少なくてすむ特徴を持つ。
一方、ハンド2の位置、姿勢からロボット1の各自由
度の変位θ1〜θ6を求める逆座標変換について第1図
に示す、いわゆるエルボ・マニピュレータの例について
考えると、ポール著作の前出書にも示されているごと
く、 ただし、C1=cosθ,S1=sinθ1 C234=cos(θ2+θ3+θ4) S234=sin(θ2+θ3+θ4) などのようにして得ることができるのであり、ハンド2
の姿勢がベクトル,,を用いて表わされていれ
ば、これらの式を直接用いるだけで逆座標変換演算が可
能である。これに対して、角度座標値を用いる方法で
は、再び例をオイラ角α,β,γが用いられる場合にと
れば、(6)〜(8)式の逆関数である次の関係式 nx=cosα・cosβ・cosγ−sinα・sinβ ……(10) ny=cosα・cosβ・cosγ+cosα・sinβ ……(11) nz=−sinβ・cosγ ……(12) ax=cosα・sinβ ……(13) ay=sinα・sinβ ……(14) az=cosβ ……(15) などを用いて、一旦角度座標値からベクトル,,
に対応するnx,ny,nz,ax,ay,azなどを求める必要が生ず
ることになる。従って姿勢の表現としてベクトルが用い
られると、(10)〜(15)式などの変換演算の分だけ、
逆座標変換の演算量が少なくなり、演算時間が短縮され
る。
度の変位θ1〜θ6を求める逆座標変換について第1図
に示す、いわゆるエルボ・マニピュレータの例について
考えると、ポール著作の前出書にも示されているごと
く、 ただし、C1=cosθ,S1=sinθ1 C234=cos(θ2+θ3+θ4) S234=sin(θ2+θ3+θ4) などのようにして得ることができるのであり、ハンド2
の姿勢がベクトル,,を用いて表わされていれ
ば、これらの式を直接用いるだけで逆座標変換演算が可
能である。これに対して、角度座標値を用いる方法で
は、再び例をオイラ角α,β,γが用いられる場合にと
れば、(6)〜(8)式の逆関数である次の関係式 nx=cosα・cosβ・cosγ−sinα・sinβ ……(10) ny=cosα・cosβ・cosγ+cosα・sinβ ……(11) nz=−sinβ・cosγ ……(12) ax=cosα・sinβ ……(13) ay=sinα・sinβ ……(14) az=cosβ ……(15) などを用いて、一旦角度座標値からベクトル,,
に対応するnx,ny,nz,ax,ay,azなどを求める必要が生ず
ることになる。従って姿勢の表現としてベクトルが用い
られると、(10)〜(15)式などの変換演算の分だけ、
逆座標変換の演算量が少なくなり、演算時間が短縮され
る。
なお、ここで、直交座標系の基底ベクトルどうしの関
係から ×= ……(16) (×はベクトルの外積を表わす) の関係が成り立ち、ベクトルの形でハンド2の姿勢が表
わされるためには、ハンド座標系20の基底ベクトル3つ
のうち2つだけが規定されれば良い。仮りにベクトル
,だけが用いられて姿勢が表わされたとして、座標
変換演算等においてベクトルを用いる必要が生じて
も、(16)式の演算が行われればよい。その演算量は
(10)〜(15)式の演算量よりも少ないだけでなく、
(10)〜(15)式では=(nx,ny,nz)t,=(ax,ay,
az)tのみに関する式が示されており、=(ox,oy,o
z)tに関する式も(10)〜(15)式と同様にして求め
るか、あるいは(16)式により求めることが必要である
ことに注意すれば、演算量についての得失比較は明らか
である。
係から ×= ……(16) (×はベクトルの外積を表わす) の関係が成り立ち、ベクトルの形でハンド2の姿勢が表
わされるためには、ハンド座標系20の基底ベクトル3つ
のうち2つだけが規定されれば良い。仮りにベクトル
,だけが用いられて姿勢が表わされたとして、座標
変換演算等においてベクトルを用いる必要が生じて
も、(16)式の演算が行われればよい。その演算量は
(10)〜(15)式の演算量よりも少ないだけでなく、
(10)〜(15)式では=(nx,ny,nz)t,=(ax,ay,
az)tのみに関する式が示されており、=(ox,oy,o
z)tに関する式も(10)〜(15)式と同様にして求め
るか、あるいは(16)式により求めることが必要である
ことに注意すれば、演算量についての得失比較は明らか
である。
以上では、ロボット1のハンド2の姿勢及び位置の表
現法について述べたが、次にハンド2の姿勢補間法につ
いて述べる。
現法について述べたが、次にハンド2の姿勢補間法につ
いて述べる。
ハンド2の補間始端における位置、姿勢を で表わし、また、補間終端における位置、姿勢を で表わす。Pxs,Pys,Pzsはベース座標系に対するハンド
2の補間始点の位置の座標で、また、PxE,PyE,PZEはベ
ース座標系に対するハンド2の補間終点の位置の座標で
あるが、位置の補間については直線補間、円弧補間など
よく知られた方法通りとすれば良く、ここでの論議の対
象とはしないので、上記PS,PEから第4行及び第4列を
除いた3行3列の小行列のみについて考える。即ち、第
2図に示すごとく、 について考える。いま、始端の姿勢qsに対して変換Tを
ほどこし、その結果がqEとなるとすれば、 qE=Tqs ……(21) であるから、 T=qEqs-1=qEqst ……(22) ここにq-1はqの逆行列 いま、det(q)=1であり、明らかにq-1=qtが得られ
る。ここで、(22)式により求められたTを、 とすれば、 となる。一方、一つの単位ベクトル=(Kx,Ky,Kz)t
のまわりに角度φだけ回転することによる変換行列R
は、 として与えられる。
2の補間始点の位置の座標で、また、PxE,PyE,PZEはベ
ース座標系に対するハンド2の補間終点の位置の座標で
あるが、位置の補間については直線補間、円弧補間など
よく知られた方法通りとすれば良く、ここでの論議の対
象とはしないので、上記PS,PEから第4行及び第4列を
除いた3行3列の小行列のみについて考える。即ち、第
2図に示すごとく、 について考える。いま、始端の姿勢qsに対して変換Tを
ほどこし、その結果がqEとなるとすれば、 qE=Tqs ……(21) であるから、 T=qEqs-1=qEqst ……(22) ここにq-1はqの逆行列 いま、det(q)=1であり、明らかにq-1=qtが得られ
る。ここで、(22)式により求められたTを、 とすれば、 となる。一方、一つの単位ベクトル=(Kx,Ky,Kz)t
のまわりに角度φだけ回転することによる変換行列R
は、 として与えられる。
よって、R=Tとおくことにより、変換Tを与える等
価な回転軸ベクトル及び回転角φが求められる。(2
3)(25)式の各要素を比較することにより、 t11+t22+t33=1+2cosφ ……(27) ゆえに、 m2=(t32−t23)2+(t13−t31)2+(tz1−t12)
2 ……(28) とおけば、 m2=(2sinφ)2 ……(29) であり、m0となるように定めれば、 であって、 また、 により、回転軸ベクトル及び回転角φが得られる。従
って、姿勢の補間においては、回転角φを補間して、ベ
クトルまわりに始端姿勢を与えるベクトル,を回
転させて行えば良い。いま、回転角φ中に対して、係数
λを用い、λを0から1まで変化させてゆくことにより
補間を実現するものとし、 Ψ=λφ とする。ベクトルsがベクトルまわりにΨだけ回転
されて得られるベクトルλは、 λ=cosΨ・s+(1−cosΨ) <s,>+sinΨ(×s) ……(33) <s,>はベクトルsとの内積を示す。
価な回転軸ベクトル及び回転角φが求められる。(2
3)(25)式の各要素を比較することにより、 t11+t22+t33=1+2cosφ ……(27) ゆえに、 m2=(t32−t23)2+(t13−t31)2+(tz1−t12)
2 ……(28) とおけば、 m2=(2sinφ)2 ……(29) であり、m0となるように定めれば、 であって、 また、 により、回転軸ベクトル及び回転角φが得られる。従
って、姿勢の補間においては、回転角φを補間して、ベ
クトルまわりに始端姿勢を与えるベクトル,を回
転させて行えば良い。いま、回転角φ中に対して、係数
λを用い、λを0から1まで変化させてゆくことにより
補間を実現するものとし、 Ψ=λφ とする。ベクトルsがベクトルまわりにΨだけ回転
されて得られるベクトルλは、 λ=cosΨ・s+(1−cosΨ) <s,>+sinΨ(×s) ……(33) <s,>はベクトルsとの内積を示す。
また、同様にベクトルsがベクトルまわりにΨだけ
回転されて得られるベクトルλは、 λ=cosΨ・s+(1−cosΨ) <s,>+sinΨ(×s) ……(34) となる。このとき、ベクトルs(=s×s)が同
じくベクトルまわりにΨだけ回転されたベクトルλ
は、(33)(34)式と同様にも求められるが、明らかに
λ=λ×λであり、必要に応じてこの関係により
求めればよい。
回転されて得られるベクトルλは、 λ=cosΨ・s+(1−cosΨ) <s,>+sinΨ(×s) ……(34) となる。このとき、ベクトルs(=s×s)が同
じくベクトルまわりにΨだけ回転されたベクトルλ
は、(33)(34)式と同様にも求められるが、明らかに
λ=λ×λであり、必要に応じてこの関係により
求めればよい。
なお、ここで(30)式においてm=0のとき、回転角
φは0゜もしくは180゜となるが、φ=0゜のときは回
転、姿勢の変化は無い。また2姿勢間の回転の軌道は、
角度変化の絶対値の小なる方を選ぶこととし、φ<180
゜とすれば、φ=180゜のとき回転方向、回転軸がとも
に不定となるため、この場合は補間を行わずエラーとす
る。
φは0゜もしくは180゜となるが、φ=0゜のときは回
転、姿勢の変化は無い。また2姿勢間の回転の軌道は、
角度変化の絶対値の小なる方を選ぶこととし、φ<180
゜とすれば、φ=180゜のとき回転方向、回転軸がとも
に不定となるため、この場合は補間を行わずエラーとす
る。
ところで、上記説明では姿勢を示すベクトル,を
同格に扱って補間軌道が定められたが、次の第3図に示
す方法も考えられる。即ち、姿勢を表わすベクトル,
及びなどのうち、ハンド2もしくは、第1図には図
示していないが、ハンド2部に取付けられる作業工具の
主軸方向が着目され、この方向を示すベクトルの補間を
主体に軌道が定められる方法である。いま、上記の主軸
方向を与えるベクトルが例えばであるとする。このと
き、補間始端における姿勢を前記の例と同様に第1の基
底ベクトルs、第2の基底ベクトルs、また終端に
おける姿勢を第1の基底ベクトルE、第2の基底ベク
トルEで表わす。このとき、s,Eの2ベクトルの
両者に垂直な単位ベクトルを回転軸ベクトルとすれ
ば、 であり、また、 (・は内積、または| |はノルムを示す。) は、ベクトルまわりのベクトルの回転角(第1の回
転角)である。一方、第2の基底ベクトルについて
は、回転軸ベクトルとのなす角度に着目し、これを補
間する。これは、ベクトルに対して固定された座標系
から見たベクトルの回転に着目したことに等価であ
る。
同格に扱って補間軌道が定められたが、次の第3図に示
す方法も考えられる。即ち、姿勢を表わすベクトル,
及びなどのうち、ハンド2もしくは、第1図には図
示していないが、ハンド2部に取付けられる作業工具の
主軸方向が着目され、この方向を示すベクトルの補間を
主体に軌道が定められる方法である。いま、上記の主軸
方向を与えるベクトルが例えばであるとする。このと
き、補間始端における姿勢を前記の例と同様に第1の基
底ベクトルs、第2の基底ベクトルs、また終端に
おける姿勢を第1の基底ベクトルE、第2の基底ベク
トルEで表わす。このとき、s,Eの2ベクトルの
両者に垂直な単位ベクトルを回転軸ベクトルとすれ
ば、 であり、また、 (・は内積、または| |はノルムを示す。) は、ベクトルまわりのベクトルの回転角(第1の回
転角)である。一方、第2の基底ベクトルについて
は、回転軸ベクトルとのなす角度に着目し、これを補
間する。これは、ベクトルに対して固定された座標系
から見たベクトルの回転に着目したことに等価であ
る。
いま、ベクトル,のなす角度をεとすると、 であり、εE−εSがベクトルまわりにベクトルが
回転する角度(第2の回転角)となる。よって、前記の
例と同様に補間の係数λを用いれば、ベクトルまわり
にベクトルsをΨ1=λδだけ回転した補間結果第1
基底ベクトルλを求め、かつベクトルλまわりにベ
クトルsをΨ2=λ(εE−εS)だけ回転した補間
結果第2基底ベクトルλを求め、これにより姿勢補間
を行えばよい。即ち、 λ=cosΨ1・s+(1−cosΨ1)<s・> +sin1(×s) ……(39) λ=cosΨ・s+(1−cosΨz)<s,λ> λ+sinΨ2(λ×s) ……(40) (λはλまわりにをεS+(εE−εS)λ回転
したベクトルとして得られる。Ψ1,Ψ2は第1、第2の
回転角を補間する角である。)このような姿勢補間法を
用いる場合であってもλについてはλ=λ×λ
として求めればよい。
回転する角度(第2の回転角)となる。よって、前記の
例と同様に補間の係数λを用いれば、ベクトルまわり
にベクトルsをΨ1=λδだけ回転した補間結果第1
基底ベクトルλを求め、かつベクトルλまわりにベ
クトルsをΨ2=λ(εE−εS)だけ回転した補間
結果第2基底ベクトルλを求め、これにより姿勢補間
を行えばよい。即ち、 λ=cosΨ1・s+(1−cosΨ1)<s・> +sin1(×s) ……(39) λ=cosΨ・s+(1−cosΨz)<s,λ> λ+sinΨ2(λ×s) ……(40) (λはλまわりにをεS+(εE−εS)λ回転
したベクトルとして得られる。Ψ1,Ψ2は第1、第2の
回転角を補間する角である。)このような姿勢補間法を
用いる場合であってもλについてはλ=λ×λ
として求めればよい。
上述の二つの姿勢補間方法は補間始終端における姿勢
に対して、その表現形式あるいはその表現座標系の選び
方によらず一定なものとなるため、教示操作を行う操作
者にとって予想のしやすい補間軌道をロボット手先が動
作する特徴をもつ。上記二つの補間方法のうちのいずれ
を選択するかは、作業の内容、作業工具の種類等によっ
ていずれが適当な方法かを検討して決めればよい。例え
ば、手先作業工具はハンド2のような場合には(23)〜
(34)式に示される方法、また、手先作業工具が溶接ト
ーチなどのように、工具主軸まわりの回転角(λベク
トルに規定される)の制御よりも、工具主軸方向(λ
ベクトルによって規定される)の制御が重要である場合
には(35)〜(40)式に示される方法をそれぞれ選ぶこ
とが妥当である。
に対して、その表現形式あるいはその表現座標系の選び
方によらず一定なものとなるため、教示操作を行う操作
者にとって予想のしやすい補間軌道をロボット手先が動
作する特徴をもつ。上記二つの補間方法のうちのいずれ
を選択するかは、作業の内容、作業工具の種類等によっ
ていずれが適当な方法かを検討して決めればよい。例え
ば、手先作業工具はハンド2のような場合には(23)〜
(34)式に示される方法、また、手先作業工具が溶接ト
ーチなどのように、工具主軸まわりの回転角(λベク
トルに規定される)の制御よりも、工具主軸方向(λ
ベクトルによって規定される)の制御が重要である場合
には(35)〜(40)式に示される方法をそれぞれ選ぶこ
とが妥当である。
以上、ロボット1のハンド2の姿勢表現法及び補間法
について述べたが、次に、実際にロボット1を補間動作
させる際の処理内容について述べる。
について述べたが、次に、実際にロボット1を補間動作
させる際の処理内容について述べる。
第4図にロボット1の制御装置3の概略構成例を示
す。中央処理装置30はマイクロコンピュータによって代
表されるものであり母線34に接続されている。ロボット
1はサーボ制御部31を介して前記母線34に接続されてい
る。また、教示操作盤32および記憶装置33が前記母線34
に接続されている。操作に際しては、教示操作盤32が操
作されて、ロボット1が駆動され、動作の教示が行われ
る。教示操作盤32から入力される教示データ、即ちロボ
ット1の動作軌道を与える位置、姿勢データは、記憶装
置33に記憶される。プレイバック動作時には、記憶装置
33より取り出された教示データに対して、前記(23)〜
(32)式あるいは(35)〜(38)式のような補間準備演
算が行われ、更に、前記演算結果に基づき、(33)(3
4)式あるいは(39)(40)式などにより、補間中の刻
々の時点における位置、姿勢を求める補間実行演算が行
われる。この演算結果に基づいて(9)式に一例が示さ
れた、いわゆる逆座標変換演算が行われ、得られたロボ
ット1の各自由度変位が、中央処理装置30からサーボ制
御部31を介して各軸サーボ系に対して動作目標値として
指令される。
す。中央処理装置30はマイクロコンピュータによって代
表されるものであり母線34に接続されている。ロボット
1はサーボ制御部31を介して前記母線34に接続されてい
る。また、教示操作盤32および記憶装置33が前記母線34
に接続されている。操作に際しては、教示操作盤32が操
作されて、ロボット1が駆動され、動作の教示が行われ
る。教示操作盤32から入力される教示データ、即ちロボ
ット1の動作軌道を与える位置、姿勢データは、記憶装
置33に記憶される。プレイバック動作時には、記憶装置
33より取り出された教示データに対して、前記(23)〜
(32)式あるいは(35)〜(38)式のような補間準備演
算が行われ、更に、前記演算結果に基づき、(33)(3
4)式あるいは(39)(40)式などにより、補間中の刻
々の時点における位置、姿勢を求める補間実行演算が行
われる。この演算結果に基づいて(9)式に一例が示さ
れた、いわゆる逆座標変換演算が行われ、得られたロボ
ット1の各自由度変位が、中央処理装置30からサーボ制
御部31を介して各軸サーボ系に対して動作目標値として
指令される。
プレイバック動作時の処理フローは、第5図に示すよ
うに記憶装置33からの教示データ取出し処理40、補間準
備演算のための教示データ変換処理41、補間準備演算処
理42、補間実行演算処理43、逆座標変換演算処理44、サ
ーボ系指令処理45の順となり、終了判定処理46において
補間の終了が判定され、未終了の場合には補間実行演算
処理43以下が繰返される。このうち、処理43,44,45,46
はロボット1の補間動作中に常時リアルタイムで実行さ
れる処理であり、また、処理40,41,42は補間の区間の最
初において同様にロボット1の動作中に実行される処理
である。
うに記憶装置33からの教示データ取出し処理40、補間準
備演算のための教示データ変換処理41、補間準備演算処
理42、補間実行演算処理43、逆座標変換演算処理44、サ
ーボ系指令処理45の順となり、終了判定処理46において
補間の終了が判定され、未終了の場合には補間実行演算
処理43以下が繰返される。このうち、処理43,44,45,46
はロボット1の補間動作中に常時リアルタイムで実行さ
れる処理であり、また、処理40,41,42は補間の区間の最
初において同様にロボット1の動作中に実行される処理
である。
本発明の実施例に示した上記2通りのいずれかの補間
方向を用いる場合、このうち処理41,44の所要時間はロ
ボット1の位置、姿勢の表現方法に依存しており、表現
方法の選択によってこれらの処理時間短縮を図ることが
可能である。このうち処理44については、上述の通り、
姿勢を角度座標値でなくベクトル,などの形で表わ
すことにより演算処理量の減縮が可能である。一方、処
理41については、教示データの記憶形式を処理42に適し
た形にすることにより演算処理量の削減が図れることに
なるが、処理42の内容は(23)〜(32)式または(35)
〜(38)式であり、明らかに角度座標値を用いるより、
ベクトル,などの形を用いる方が有利である。角度
座標値としてオイラー角を用いる例では、この間の変換
に(10)〜(15)式などのを用いる必要が生じる。
方向を用いる場合、このうち処理41,44の所要時間はロ
ボット1の位置、姿勢の表現方法に依存しており、表現
方法の選択によってこれらの処理時間短縮を図ることが
可能である。このうち処理44については、上述の通り、
姿勢を角度座標値でなくベクトル,などの形で表わ
すことにより演算処理量の減縮が可能である。一方、処
理41については、教示データの記憶形式を処理42に適し
た形にすることにより演算処理量の削減が図れることに
なるが、処理42の内容は(23)〜(32)式または(35)
〜(38)式であり、明らかに角度座標値を用いるより、
ベクトル,などの形を用いる方が有利である。角度
座標値としてオイラー角を用いる例では、この間の変換
に(10)〜(15)式などのを用いる必要が生じる。
このことから、教示データの記憶形式としては、ベク
トル,などを用いることがあらゆる点から有利であ
る。記憶形式の例を第6図乃至第7図に示す。第6図に
示したテーブル6の例は、(1)式に示した4行4列の
行列の全要素を記憶する形式であり、第7図のテーブル
7列は、このうち第4行及び第2行の要素を除いて記憶
する形式である。これらのテーブルは、いずれも教示デ
ータ1点分、即ち、ロボットハンド2の一つの位置およ
び姿勢を表わすテーブルである。なお、各データ要素は
マイクロコンピュータの場合、例えば32ビット程度の浮
動小数点形式で記憶されるのが一般的である。第7図の
例は、(1)式の第4行の要素が常に(0,0,0,1)であ
ること、及び第2列の要素=(ox,oy,oz)tは(16)
式により容易に計算可能であることから、十分に使用に
耐える。これらの方法の他、(1)式の4行、4列の行
列要素のうち、適宜容易に復元可能な要素を除外し、残
りの要素を記憶する方法としてもよい。例えば、第1列
〜第3列の第3行要素だけを除いたものでも良く、第1
行だけを除いたものでも良く、これらと第4行を除いた
ものなどでもよい。第7図に示された例は、ロボット1
のハンド2の位置、姿勢を位置座標値3パラメータ及び
角度座標値3パラメータの計6パラメータで記憶する方
式、あるいは各自由度の変位(θ1,θ2,……θ6)の6
パラメータで記憶する方式に対して9パラメータの記憶
が必要であるが、第6図に示された16パラメータを記憶
する場合に比較すると、所要記憶容量は16パラメータの
場合の約60%である。
トル,などを用いることがあらゆる点から有利であ
る。記憶形式の例を第6図乃至第7図に示す。第6図に
示したテーブル6の例は、(1)式に示した4行4列の
行列の全要素を記憶する形式であり、第7図のテーブル
7列は、このうち第4行及び第2行の要素を除いて記憶
する形式である。これらのテーブルは、いずれも教示デ
ータ1点分、即ち、ロボットハンド2の一つの位置およ
び姿勢を表わすテーブルである。なお、各データ要素は
マイクロコンピュータの場合、例えば32ビット程度の浮
動小数点形式で記憶されるのが一般的である。第7図の
例は、(1)式の第4行の要素が常に(0,0,0,1)であ
ること、及び第2列の要素=(ox,oy,oz)tは(16)
式により容易に計算可能であることから、十分に使用に
耐える。これらの方法の他、(1)式の4行、4列の行
列要素のうち、適宜容易に復元可能な要素を除外し、残
りの要素を記憶する方法としてもよい。例えば、第1列
〜第3列の第3行要素だけを除いたものでも良く、第1
行だけを除いたものでも良く、これらと第4行を除いた
ものなどでもよい。第7図に示された例は、ロボット1
のハンド2の位置、姿勢を位置座標値3パラメータ及び
角度座標値3パラメータの計6パラメータで記憶する方
式、あるいは各自由度の変位(θ1,θ2,……θ6)の6
パラメータで記憶する方式に対して9パラメータの記憶
が必要であるが、第6図に示された16パラメータを記憶
する場合に比較すると、所要記憶容量は16パラメータの
場合の約60%である。
一方、ロボット1の動作中におけるリアルタイムでの
演算処理速度は、直接的にサーボ制御部31に対する各自
由度への指令位置の出力時間間隔に影響し、該出力時間
間隔が短いほど、ロボット1の経路精度が向上する。従
って記憶装置(メモリ)として、安価かつ大容量のICメ
モリ等が使用可能な現在、記憶容量と演算処理速度との
関係からみて、演算量を大幅に削減できる第7図に示さ
れる記憶形式が有効である。また、ICメモリ等の大容量
化が更に進めば、第6図に示された16パラメータを記憶
する形式も有効である。
演算処理速度は、直接的にサーボ制御部31に対する各自
由度への指令位置の出力時間間隔に影響し、該出力時間
間隔が短いほど、ロボット1の経路精度が向上する。従
って記憶装置(メモリ)として、安価かつ大容量のICメ
モリ等が使用可能な現在、記憶容量と演算処理速度との
関係からみて、演算量を大幅に削減できる第7図に示さ
れる記憶形式が有効である。また、ICメモリ等の大容量
化が更に進めば、第6図に示された16パラメータを記憶
する形式も有効である。
本発明によれば、ロボットのハンドもしくは作業工具
の姿勢データがベクトルの成分の形で記憶されるのでロ
ボットの動作制御中に、該姿勢データからロボットの自
由度の変位を求めるリアルタイムの逆座標変換演算の演
算処理量が低減され、ロボット各自由度のサーボ系に出
力される指令の時間間隔が短縮されて、ロボットの動作
が時間的空間的になめらかに、かつ高精度となる効果が
ある。
の姿勢データがベクトルの成分の形で記憶されるのでロ
ボットの動作制御中に、該姿勢データからロボットの自
由度の変位を求めるリアルタイムの逆座標変換演算の演
算処理量が低減され、ロボット各自由度のサーボ系に出
力される指令の時間間隔が短縮されて、ロボットの動作
が時間的空間的になめらかに、かつ高精度となる効果が
ある。
また、本発明の姿勢補間方法を用いた動作制御方法に
よれば、ハンドもしくは作業工具に固定された直交座標
系の基底ベクトルの回転により姿勢変更の補間が行われ
るので、操作者の感覚に適応した補間軌道が生成され、
ハンドもしくは作業工具が予想しない動作をすることが
少く、安全性の高い良好な作業品質を保った動作を実現
する効果がある。
よれば、ハンドもしくは作業工具に固定された直交座標
系の基底ベクトルの回転により姿勢変更の補間が行われ
るので、操作者の感覚に適応した補間軌道が生成され、
ハンドもしくは作業工具が予想しない動作をすることが
少く、安全性の高い良好な作業品質を保った動作を実現
する効果がある。
第1図は本発明のベクトル成分により姿勢を表わす座標
系の概念図、第2図は本発明に係る姿勢補間法の一例を
示す説明図、第3図は本発明に係る他の姿勢補間法の例
を示す説明図、第4図はロボットの制御装置の構成例を
示すブロック図、第5図は本発明に係る姿勢補間動作の
ためのプログラム処理フロー図、第6図は本発明の教示
データの記憶形式の例を示す図、第7図は教示データの
記憶形式の他の例を示す図で、第8図は従来技術におけ
る角度座標表示例の説明図である。 1……ロボット、2……ハンド、10……基準となる直交
座標系(ベース座標系)、20……ハンドもしくは作業工
具に固定された直交座標系(ハンド座標系)。
系の概念図、第2図は本発明に係る姿勢補間法の一例を
示す説明図、第3図は本発明に係る他の姿勢補間法の例
を示す説明図、第4図はロボットの制御装置の構成例を
示すブロック図、第5図は本発明に係る姿勢補間動作の
ためのプログラム処理フロー図、第6図は本発明の教示
データの記憶形式の例を示す図、第7図は教示データの
記憶形式の他の例を示す図で、第8図は従来技術におけ
る角度座標表示例の説明図である。 1……ロボット、2……ハンド、10……基準となる直交
座標系(ベース座標系)、20……ハンドもしくは作業工
具に固定された直交座標系(ハンド座標系)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 杉本 浩一 神奈川県横浜市戸塚区吉田町292番地 株式会社日立製作所生産技術研究所内 (56)参考文献 特開 昭62−28809(JP,A)
Claims (3)
- 【請求項1】複数の自由度を有するロボットの動作を制
御する動作制御方法において、ロボットの手先に取付け
られたハンドもしくは作業工具の姿勢が、ロボットの基
台に固定された基準となる直交座標系に関する、前記ハ
ンドもしくは作業工具に固定された直交座標系の基底ベ
クトルの成分として記憶されることを特徴とするロボッ
トの動作制御方法。 - 【請求項2】複数の自由度を有するロボットの手先に取
付けられたハンドもしくは作業工具の少なくとも二つの
姿勢が教示され、その間を補間してロボットを動作させ
るロボットの動作制御方法において、前記ハンドもしく
は作業工具の姿勢が、ロボット基台に固定された基準と
なる直交座標系に関する、前記ハンドもしくは作業工具
に固定された直交座標系の基底ベクトルの成分として表
現され、補間始端及び補間終端における前記ハンドもし
くは作業工具に固定された直交座標系相互間の変換が同
次変換として求められ、該変換と等価な一つの軸まわり
の回転変換を与える回転軸及び回転角が求められ、前記
基底ベクトルを該回転角を補間しながら該回転軸のまわ
りに回転して得られるベクトルを用いて前記ハンドもし
くは作業工具の姿勢補間軌道が決定されることを特徴と
するロボットの動作制御方法。 - 【請求項3】複数の自由度を有するロボットの手先に取
付けられたハンドもしくは作業工具の少なくとも二つの
姿勢が教示され、その間を補間してロボットを動作させ
るロボットの動作制御方法において、前記ハンドもしく
は作業工具の姿勢が、ロボット基台に固定された基準と
なる直交座標系に関する、前記ハンドもしくは作業工具
に固定された直交座標系の基底ベクトルの成分として表
現され、補間始端及び補間終端における前記基底ベクト
ルの内の第1の基底ベクトルに共通に垂直な回転軸ベク
トルが求められ、前記補間始端及び補間終端における前
記第1の基底ベクトルどうしがなす角度である第1の回
転角が求められ、前記補間始端及び補間終端における前
記基底ベクトルのうちの第2の基底ベクトルと前記回転
軸ベクトルとのなす角相互の差である第2の回転角が求
められ、前記第1及び第2の回転角を補間しながら前記
第1の基底ベクトルを前記回転軸ベクトルのまわりに回
転して得られる補間結果第1基底ベクトルと、前記第2
の基底ベクトルを該補間結果第1基底ベクトルのまわり
に回転して得られる補間結果第2基底ベクトルの両者に
よって前記ハンドもしくは作業工具の姿勢補間軌道が決
定されることを特徴とするロボットの動作制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1147468A JP2694669B2 (ja) | 1989-06-09 | 1989-06-09 | ロボットの動作制御方法 |
EP90110882A EP0402788B1 (en) | 1989-06-09 | 1990-06-08 | Method of controlling robot movements |
US07/535,140 US5157315A (en) | 1989-06-09 | 1990-06-08 | Method of controlling robot movements |
DE69024854T DE69024854T2 (de) | 1989-06-09 | 1990-06-08 | Verfahren zur Steuerung von Roboterbewegungen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1147468A JP2694669B2 (ja) | 1989-06-09 | 1989-06-09 | ロボットの動作制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0310782A JPH0310782A (ja) | 1991-01-18 |
JP2694669B2 true JP2694669B2 (ja) | 1997-12-24 |
Family
ID=15431066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1147468A Expired - Fee Related JP2694669B2 (ja) | 1989-06-09 | 1989-06-09 | ロボットの動作制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5157315A (ja) |
EP (1) | EP0402788B1 (ja) |
JP (1) | JP2694669B2 (ja) |
DE (1) | DE69024854T2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325468A (en) * | 1990-10-31 | 1994-06-28 | Sanyo Electric Co., Ltd. | Operation planning system for robot |
JPH04169905A (ja) * | 1990-11-01 | 1992-06-17 | Fanuc Ltd | 3次元レーザの座標変換方式 |
US5347616A (en) * | 1991-01-28 | 1994-09-13 | Tsubakimoto Chain Co. | Method of controlling position and attitude of working robot and its manipulator and apparatus thereof |
JP2880590B2 (ja) * | 1991-07-24 | 1999-04-12 | 株式会社不二越 | 産業用ロボットの同期制御方法 |
US5542028A (en) * | 1991-10-29 | 1996-07-30 | Tsubakimoto Chain Co. | Method of controlling position and attitude of working robot and its manipulator and apparatus thereof |
KR950010972B1 (ko) * | 1991-12-07 | 1995-09-26 | 포항종합제철주식회사 | 업셋(offset)이 있는 로보트손목의 기구변수 결정법 |
JPH05185387A (ja) * | 1992-01-14 | 1993-07-27 | Mitsubishi Electric Corp | ロボットの制御装置 |
US5550953A (en) * | 1994-04-20 | 1996-08-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | On-line method and apparatus for coordinated mobility and manipulation of mobile robots |
US5374883A (en) * | 1992-09-02 | 1994-12-20 | Cincinnati Milacron Inc. | Method and apparatus for position error compensation |
US5602968A (en) * | 1994-05-02 | 1997-02-11 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Task space angular velocity blending for real-time trajectory generation |
GB9517214D0 (en) * | 1995-08-23 | 1995-10-25 | Renishaw Plc | Calibration of an articulating probe head for a coordinating positioning machine |
US5789890A (en) * | 1996-03-22 | 1998-08-04 | Genmark Automation | Robot having multiple degrees of freedom |
US6121743A (en) * | 1996-03-22 | 2000-09-19 | Genmark Automation, Inc. | Dual robotic arm end effectors having independent yaw motion |
US6489741B1 (en) | 1998-08-25 | 2002-12-03 | Genmark Automation, Inc. | Robot motion compensation system |
JP3453554B2 (ja) * | 2000-10-13 | 2003-10-06 | ファナック株式会社 | 加減速方法 |
US6845295B2 (en) * | 2002-03-07 | 2005-01-18 | Fanuc Robotics America, Inc. | Method of controlling a robot through a singularity |
DE102006048684A1 (de) * | 2006-10-14 | 2008-04-17 | Dr. Johannes Heidenhain Gmbh | Verfahren zum Positionieren von Achsen in Werkzeugmaschinen |
JP2008100292A (ja) * | 2006-10-17 | 2008-05-01 | Toshiba Mach Co Ltd | ロボットシステム |
US8189962B2 (en) * | 2006-12-19 | 2012-05-29 | Hitachi Kokusai Electric Inc. | Image processing apparatus |
US8052185B2 (en) * | 2009-04-09 | 2011-11-08 | Disney Enterprises, Inc. | Robot hand with humanoid fingers |
JP6305673B2 (ja) * | 2011-11-07 | 2018-04-04 | セイコーエプソン株式会社 | ロボット制御システム、ロボットシステム及びロボット |
US10234564B2 (en) * | 2013-08-14 | 2019-03-19 | Hemisphere Gnss Inc. | System and method for determining the direction of a false GNSS satellite signal transmitter |
JP5790840B2 (ja) * | 2014-06-10 | 2015-10-07 | 株式会社デンソーウェーブ | ロボットの制御装置及びロボットの姿勢補間方法 |
JP6068423B2 (ja) * | 2014-11-28 | 2017-01-25 | ファナック株式会社 | 加工動作をロボットに教示するロボットプログラミング装置 |
CN113473834B (zh) * | 2021-06-23 | 2022-04-15 | 珠海格力电器股份有限公司 | 异型元件的插装方法、装置、系统、电子设备和存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1189959A (en) * | 1965-09-03 | 1970-04-29 | Olivetti & Co Spa | Improvements in Numerical Control Devices |
JPS60170709A (ja) * | 1984-02-16 | 1985-09-04 | Toshiba Corp | 形状測定装置 |
JPS60193016A (ja) * | 1984-03-14 | 1985-10-01 | Toyota Motor Corp | ロボツト装置 |
JPS6125207A (ja) * | 1984-07-12 | 1986-02-04 | Fanuc Ltd | ツ−ル座標系の設定方式 |
JP2597972B2 (ja) * | 1984-08-09 | 1997-04-09 | 株式会社神戸製鋼所 | 多関節型ロボツトの制御システム |
US4706204A (en) * | 1985-03-05 | 1987-11-10 | Mitsubishi Denki Kabushiki Kaisha | Controller for movable robot for moving a work element through a continuous path |
JPS61281305A (ja) * | 1985-06-06 | 1986-12-11 | Toyota Motor Corp | 多関節ロボツト制御装置 |
JPS61296409A (ja) * | 1985-06-25 | 1986-12-27 | Fanuc Ltd | ロボツト制御方式 |
JPS6228809A (ja) * | 1985-07-31 | 1987-02-06 | Fujitsu Ltd | ロボツト座標系の較正方法 |
US4680519A (en) * | 1985-09-23 | 1987-07-14 | General Electric Co. | Recursive methods for world-to-joint transformation for a robot manipulator |
US4823279A (en) * | 1986-02-27 | 1989-04-18 | Unimation, Inc. | Coordinate conversion system and method for controlling an industrial robot |
US4698572A (en) * | 1986-04-04 | 1987-10-06 | Westinghouse Electric Corp. | Kinematic parameter identification for robotic manipulators |
JPS6318404A (ja) * | 1986-07-09 | 1988-01-26 | Fanuc Ltd | 位置制御方法 |
SE464855B (sv) * | 1986-09-29 | 1991-06-24 | Asea Ab | Foerfarande vid en industrirobot foer kalibrering av en sensor |
DE3640987C1 (de) * | 1986-12-01 | 1993-04-29 | Agie Ag Ind Elektronik | Numerisches Steuersystem fuer hochdynamische Prozesse |
US4868473A (en) * | 1987-02-24 | 1989-09-19 | Mitsubishi Denki Kabushiki Kaisha | Industrial robot device including a robot and a processing machine |
DE3866006D1 (de) * | 1987-05-04 | 1991-12-12 | Siemens Ag | Verfahren zur positionierung eines werkzeugs eines mehrgelenkigen roboters. |
US4831549A (en) * | 1987-07-28 | 1989-05-16 | Brigham Young University | Device and method for correction of robot inaccuracy |
-
1989
- 1989-06-09 JP JP1147468A patent/JP2694669B2/ja not_active Expired - Fee Related
-
1990
- 1990-06-08 US US07/535,140 patent/US5157315A/en not_active Expired - Lifetime
- 1990-06-08 EP EP90110882A patent/EP0402788B1/en not_active Expired - Lifetime
- 1990-06-08 DE DE69024854T patent/DE69024854T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69024854D1 (de) | 1996-02-29 |
EP0402788A2 (en) | 1990-12-19 |
US5157315A (en) | 1992-10-20 |
DE69024854T2 (de) | 1996-05-30 |
JPH0310782A (ja) | 1991-01-18 |
EP0402788A3 (en) | 1992-09-23 |
EP0402788B1 (en) | 1996-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2694669B2 (ja) | ロボットの動作制御方法 | |
KR890005032B1 (ko) | 공업용 로보트의 동작교시방법 및 장치 | |
US5781705A (en) | Method and apparatus for controlling the motion of a redundancy manipulator | |
JP2512099B2 (ja) | ロボットの動作教示方法および制御装置 | |
JPH0820894B2 (ja) | 産業用ロボツトの動作制御方法 | |
JPS59708A (ja) | 適合速度制御を行なう経路運動マニピユレ−タ | |
JPH079606B2 (ja) | ロボット制御装置 | |
KR20110041950A (ko) | 여유자유도 제어를 이용한 로봇의 교시 및 재현 방법 | |
JP2874238B2 (ja) | 多関節形ロボットの制御方法 | |
WO1995002214A1 (fr) | Procede de commande d'un servomoteur permettant d'affecter de la souplesse aux coordonnees de travail | |
JPS5815801B2 (ja) | 工業用ロボツトの軌跡制御方式 | |
CN112476435B (zh) | 重力加速度方向的标定方法、标定装置及存储介质 | |
JPH0553590B2 (ja) | ||
JPH0693209B2 (ja) | ロボツトの円弧補間姿勢制御装置 | |
JP3608673B2 (ja) | 産業用ロボットの動作プログラム作成方法 | |
JP3206765B2 (ja) | マスタスレーブマニピュレータの制御方法 | |
JP2676721B2 (ja) | 多関節型ロボットの制御装置 | |
JPS6095605A (ja) | ロボツトのテイ−チデ−タ補正方法 | |
JPS5927306A (ja) | ロボツトの制御方法 | |
JP3094418B2 (ja) | 産業用ロボットの協調制御方法および装置 | |
JP2913661B2 (ja) | ロボットの制御方法 | |
JP3884928B2 (ja) | 多関節ロボットの姿勢算出方法および姿勢算出装置 | |
JPS61253510A (ja) | ロボツト制御デ−タの確認方法 | |
JPS6198404A (ja) | 産業用ロボツトの座標変換方式 | |
JP2001096367A (ja) | 溶接用ロボット制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |