JP4647919B2 - 制御方法および制御装置 - Google Patents

制御方法および制御装置 Download PDF

Info

Publication number
JP4647919B2
JP4647919B2 JP2004041702A JP2004041702A JP4647919B2 JP 4647919 B2 JP4647919 B2 JP 4647919B2 JP 2004041702 A JP2004041702 A JP 2004041702A JP 2004041702 A JP2004041702 A JP 2004041702A JP 4647919 B2 JP4647919 B2 JP 4647919B2
Authority
JP
Japan
Prior art keywords
joint
predetermined
redundant
det
joint portions
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 - Lifetime
Application number
JP2004041702A
Other languages
English (en)
Other versions
JP2005230952A (ja
Inventor
栄一 八木
利尚 土井
雅幸 掃部
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.)
Toyota Motor Corp
Kawasaki Motors Ltd
Original Assignee
Toyota Motor Corp
Kawasaki Jukogyo KK
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 Toyota Motor Corp, Kawasaki Jukogyo KK filed Critical Toyota Motor Corp
Priority to JP2004041702A priority Critical patent/JP4647919B2/ja
Publication of JP2005230952A publication Critical patent/JP2005230952A/ja
Application granted granted Critical
Publication of JP4647919B2 publication Critical patent/JP4647919B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、冗長関節部を含む複数の関節部を有する多関節ロボットを制御する制御方法および制御装置に関する。
7つ以上の複数の関節部を有する多関節ロボットの制御については、様々な方式があり、その典型的な従来技術が特許文献1および特許文献2に記載されている。特許文献1の多関節ロボットの制御装置では、多関節ロボットの先端関節が目標位置に距離的に近づくような関節角度を最小2乗法によって1軸ずつ求め、求めた目標角度と現在の関節角度との差に比例した量を1軸ずつ関節を回転させることによって、計算量を少なくして、先端の関節が目標位置に達するようにしている。特許文献2の多自由度マニピュレータの位置決め装置では、手先位置姿勢情報とマニピュレータの全体形状の指定値とから全体形状を指定するための解曲線を求め、全リンクの端点が前記解曲線状に配置されるようにリンク端点位置を算出し、隣接する2リンクのリンク端点と根元側リンクの姿勢とから2リンク間の関節角を算出し、前記関節角から手先側リンクの姿勢を求め、リンク毎に根元から手先まで逐次的に前記関節角とリンク姿勢とを繰返し算出して全関節角を求めることで、位置決めの算出を高速化する。
また前述のような多関節ロボットが障害物を回避するような制御についても様々な方式があり、その典型的な従来技術が特許文献3に記載されている。特許文献3のマニピュレータの制御装置では、始点から終点へ把手を移動するときに、障害物に干渉する状態での各関節の変位を予め離散的に求め、各関節の変位を避けるように各関節の離散的な動作間をマニピュレータの関節補間または単軸動作によって制御する。
また前述のような多関節ロボットを教示するための必要な情報を表示する典型的な従来技術が、特許文献4に記載されている。特許文献4の冗長自由度ロボット装置では、作業に必要な動作を記述する独立変数の現在値に依存する冗長パラメータの取り得る領域の演算を行って、その結果を表示することでロボット教示を行う。
ロボットの空間内の各方向に対する制御仕様を実現する典型的な従来技術が、特許文献5に記載されている。特許文献5のロボットの制御方法では、ロボットに行わせる作業の仕様を作業空間に対して固定された座標系を用いて記述し、各座標軸方向および各座標軸まわりの方向の動作制御目標を明確化し、前記各方向へのロボットの姿勢状態のそれぞれに対応する方向への作業仕様に関する制御性能評価指標を計算し、それらの加重総合評価指標値が最も大きな値となるロボットの姿勢状態を最適姿勢状態とし、この状態で作業を実行させる。
ロボットの動作限界近傍を回避した動作を教示データを作成する典型的な従来技術が、特許文献6に記載されている。特許文献6のロボットの動作軌跡教示装置では、冗長自由度を要素として、ロボットの関節角度空間の余裕を表現する評価関数に基づいて、前記冗長自由度を決定する。
特開2000−167789号公報 特開平10−333723号公報 特開平11−333780号公報 特開平5−337861号公報 特開平5−23982号公報 特開平6−187020号公報
前述の従来技術では、多関節ロボットの関節部のうち、冗長軸まわりに角変位する冗長関節部を角変位させて、エンドエフェクタなどの遊端部の特定方向への自由度が失われる特異点を回避するという制御は行われていない。
本発明の目的は、多関節ロボットの冗長関節部を角変位させて特異点を回避する制御方法および制御装置を提供することである。
本発明(1)は、多関節ロボットの制御方法であって、
多関節ロボットの各関節部(9〜15)のうち基本4関節部(9〜12)で多関節ロボットの遊端部(18)の位置を決定し、1つの関節部(14)の回転軸線(L14)と、その両側の関節部(13,15)の各回転軸線(L13,L15)とが交差する3軸交点を有する残余の関節部(13〜15)で前記遊端部(18)の姿勢を決定するときに、前記基本4関節部(9〜12)のうちの予め定める1つ冗長関節部(9)に設定する冗長関節部設定段階と、
前記遊端部(18)を予め定める軌道上に保持しながら前記予め定める1つの冗長関節部(9)を予め定める変位量(Δθ1)だけプラス方向に角変位させた場合と、マイナス方向に角変位させた場合とのそれぞれについて、前記基本4関節部(9〜12)のうち前記予め定める1つの冗長関節部(9)を除く関節部(10〜12)の角度位置(θ2,θ3,θ4)を前記遊端部(18)の位置(X,Y,Z)に変換するヤコビ行列(J,J)の行列式(det(J),det(J))の絶対値(|det(J)|,|det(J)|を比較し、値が大きい方向に前記予め定める1つの冗長関節部(9)を前記予め定める変位量(Δθ1)だけ角変位させる冗長関節制御段階とを含むことを特徴とする制御方法である。
また本発明()は、前記多関節ロボットは直列に設けられる複数のアーム体(3〜8)と、隣接する2つのアーム体を回転自在に連結する関節部(9〜15)とを有し、前記関節部(9〜15)は、前記2つのアーム体を、各アーム体の軸線と同軸の回転軸線(L9,L13,L15)まわりに回転自在に連結する同軸関節部(9,13,15)と、前記2つのアーム体を、各アーム体の軸線に対して所定の角度を成して傾斜する回転軸線(L10,L11,L12,L14)まわりに回転自在に連結する傾斜関節部(10,11,12,14)とを有し、
前記基本4関節部(9〜12)は前記予め定める1つの同軸関節部(9)と3つの傾斜関節部(10,11,12)とを含むことを特徴とする。
また本発明()は、少なくとも前記予め定める1つの冗長関節部(9)の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部(18)を予め定める軌道上に保持しながら、前記予め定める1つの冗長関節部(9)の角度位置を前記可動範囲の中央位置に近づけるように前記予め定める1つの冗長関節部(9)を角変位させる補助制御段階をさらに含むことを特徴とする。
また本発明()は、多関節ロボットの制御装置であって、
多関節ロボットの各関節部(9〜15)のうち基本4関節部(9〜12)で前記多関節ロボットの遊端部(18)の位置を決定し、1つの関節部(14)の回転軸線(L14)と、その両側の関節部(13,15)の各回転軸線(L13,L15)とが交差する3軸交点を有する残余の関節部(13〜15)で前記遊端部(18)の姿勢を決定するときに、前記基本4関節部(9〜12)のうちの予め定める1つ冗長関節部(9)に設定する冗長関節部設定手段(19)と、
前記遊端部(18)を予め定める軌道上に保持しながら前記予め定める1つの冗長関節部(9)を予め定める変位量(Δθ1)だけプラス方向に角変位させた場合と、マイナス方向に角変位させた場合とのそれぞれについて、前記基本4関節部(9〜12)のうち前記予め定める1つの冗長関節部(9)を除く関節部(10〜12)の角度位置(θ2,θ3,θ4)を前記遊端部(18)の位置(X,Y,Z)に変換するヤコビ行列(J,J)の行列式(det(J),det(J))の絶対値(|det(J)|,|det(J)|を比較し、値が大きい方向に前記予め定める1つの冗長関節部(9)を前記予め定める変位量(Δθ1)だけ角変位させる冗長関節制御手段(19)とを含むことを特徴とする制御装置である。
また本発明()は、少なくとも前記予め定める1つの冗長関節部(9)の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部(18)を予め定める軌道上に保持しながら、前記予め定める1つの冗長関節部(9)の角度位置を前記可動範囲の中央位置に近づけるように前記予め定める1つの冗長関節部(9)を角変位させる補助制御手段(19)をさらに含むことを特徴とする。
本発明(1),()によれば、多関節ロボットの関節部(9〜15)のうち予め定める複数の関節部(9〜12)の角度位置を、多関節ロボットの遊端部(18)の位置に変換するヤコビ行列の行列式の絶対値を計算し、ヤコビ行列の行列式の絶対値が予め定める設定値以下であるか否かを判定する。冗長関節制御では、前記遊端部(18)を予め定める軌道上に保持しながら前記ヤコビ行列の行列式の絶対値が大きい方向に予め定める1つの冗長関節部(9)を角変位させる。前記ヤコビ行列の行列式が零であるということは、多関節ロボットの遊端部(18)の特定の方向の自由度が失われる特異点であることを表すので、このような特異点に多関節ロボットの遊端部(18)が配置されないように、前記ヤコビ行列の行列式の絶対値が前記設定値よりも小さいと判定された場合には、前記予め定める1つの冗長関節部(9)を絶対値が大きい方向に角変位させて、特異点から遠ざけながら前記遊端部(18)を予め定める軌道上に保持することによって、多関節ロボットの遊端部(18)が特異点を確実に回避するように動作させることができる。
た本発明()によれば、前記絶対値計算、前記判定および前記冗長関節制御を繰返して、直列に設けられる複数のアーム体(3〜8)と、隣接する2つのアーム体を回転自在に連結する関節部とを有し、前記関節部(9〜15)は、前記2つのアーム体を、各アーム体の軸線と同軸の回転軸線まわりに回転自在に連結する同軸関節部(9,13,15)と、前記2つのアーム体を、各アーム体の軸線に対して所定の角度を成して傾斜する回転軸線まわりに回転自在に連結する傾斜関節部(10,11,12,14)とを有する多関節ロボットを、特異点を回避するように制御することができる。
また本発明()によれば、補助制御段階では、少なくとも予め定める1つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部(18)を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させる。これによって特異点を回避できるとともに、各関節部の角度位置が可動範囲を超えることを確実に防止できるので、多関節ロボットの動作領域を広くすることができる。
また本発明()によれば、補助制御手段(19)は、少なくとも予め定める1つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させる。これによって特異点を回避できるとともに、各関節部の角度位置が可動範囲を超えることを確実に防止できるので、多関節ロボットの動作領域を広くすることができる。
図1は、本発明の実施の一形態の多関節ロボット1の制御装置2を示すブロック図である。多関節ロボット1は、7自由度を有する冗長自由度のロボットであり、複数の、本実施の形態では6つのアーム体3〜8と、アーム体を回転自在に連結する複数の、本実施の形態では7つの関節部9〜15とを有する。各アーム体3〜8は、それぞれ連結されて直線状に延びるアーム構成体16を構成する。
各関節部9〜15は、同軸関節部と傾斜関節部とが組み合わされて設けられる。同軸関節は、隣接する2つのアーム体を、その各アーム体の軸線と同軸の回転軸線まわりに回転自在に連結する。傾斜関節部は、隣接する2つのアーム体のうちの一方を、各アーム体の軸線に対して傾斜する回転軸線まわりに円錐回転自在に連結する。詳細に述べると、第1関節部9、第5関節部13および第7関節部15は、同軸関節部であり、第2関節部10、第3関節部11、第4関節部12および第6関節部14は、傾斜関節部である。また本発明において、用語「回転」とは、回転軸線まわりの360度以上の回転だけでなく、軸線まわりに360度以下の角度で角変位する状態も含むものとする。
アーム構成体16の一端部である第1アーム体3の一端部は、壁面などに固定される基台17に、第1関節部9によって、第1アーム体3の軸線L3と同軸の第1回転軸線L9まわりに回転自在に連結されている。第2アーム体4の一端部は、第2関節部10によって、第1アーム体3の軸線L3および第2アーム体4の軸線L4に対して所定の角度、本実施の形態では45度で傾斜する第2回転軸線L10まわりに回転自在に、第1アーム体3の他端部に連結される。第3アーム体5の一端部は、第3関節部11によって、第2アーム体4の軸線L4および第3アーム体5の軸線L5に対して所定の角度、本実施の形態では45度で傾斜する第3回転軸線L11まわりに回転自在に、第2アーム体4の他端部に連結される。第2回転軸線L10と第3回転軸線L11とは平行である。
第4アーム体6の一端部は、第4関節部12によって、第3アーム体5の軸線L5および第4アーム体6の軸線L6に対して所定の角度、本実施の形態では45度で傾斜する第4回転軸線L12まわりに回転自在に、第3アーム体5の他端部に連結される。第3回転軸線L11と第4回転軸線L12とは垂直である。第5アーム体7の一端部は、第5関節部13によって、第4アーム体6の軸線L6および第5アーム体7の軸線L7と同軸の第5回転軸線L13まわりに回転自在に、第4アーム体6の他端部に連結される。
アーム構成体16の他端部である第6アーム体8の一端部は、第6関節部14によって、第5アーム体7の軸線L7および第6アーム体8の軸線L8に対して所定の角度、本実施の形態では45度で傾斜する第6回転軸線L14まわりに回転自在に、第5アーム体7の他端部に連結される。多関節ロボット1の遊端部となるエンドエフェクタ18は、第6アーム体8の他端部に、第7関節部15によって、第6アーム体8の軸線L8と同軸の第7回転軸線L15まわりに回転自在に連結されている。エンドエフェクタ18は、たとえば溶接トーチおよびハンドリング装置などの手先装置であってもよい。
各アーム体3〜8は、各アーム体3〜8を回転駆動するモータを内蔵する。また各アーム体3〜8は、その軸線を挿通する中空空間が形成される。この中空空間に1または複数の配線が延びて配置される。各配線は、前記モータを駆動させるための電力、前記モータへの回転指令およびエンドエフェクタ18への電力および圧縮空気などを供給する。
各アーム体3〜8を回転軸線L9〜L15まわりに回転する回転機構は、従来の機構と同様であってもよい。前記回転機構は、一例を挙げると、中空形状の波動歯車機構、たとえばハーモニックドライブ(登録商標)を用いてもよい。波動歯車機構は、入力側部材と出力側部材とを備え、それらが相対的に回転する。入力側部材は、各関節部9〜15によって連結する2つの部材(基台およびアーム体)の一方に連結され、出力側部材は、前記2つの部材のうち他方に連結される。モータからの回転が入力側部材に与えられると、入力側部材と出力側部材とが相対的に回転する。これによって一方のアーム体と他方のアーム体とを相対的に回転させることができる。このような回転機構が、各アーム体3〜8に設けられることによって、隣接する2つのアーム体を相対的に回転させることができる。
制御装置2は、中央演算処理部19および入力部を備える。中央演算処理部19は、たとえばCPUおよびメモリなどで実現され、多関節ロボット1を制御するために必要な演算を行って、その演算結果を動作指令として多関節ロボット1に与える。入力部は中央演算処理装置19に各種情報を入力する。
図2は、多関節ロボット1の特異点を回避するように、多関節ロボット1を制御する制御方法の第1の実施例の手順を示すフローチャートである。ステップs0で手順が開始されて、ステップs1に進む。
絶対値計算段階であるステップs1では、絶対値計算手段である中央演算処理部19は、前記多関節ロボット1の関節部9〜15のうち予め定める複数の関節部、本実施の形態では第1〜第4関節部9〜12の角度位置(θ,θ,θ,θ)のうち、さらに外部から値が与えられる1つの関節部、本実施の形態では第1関節部9を除く第2〜第4関節部10〜12の角度位置(θ,θ,θ)を、多関節ロボット1のエンドエフェクタ18の位置(X,Y,Z)に変換する擬似的なヤコビ行列Jの行列式det(J)の絶対値|det(J)|を計算してステップs2に進む。前記ヤコビ行列Jは、次式(1)で表される。
Figure 0004647919
判定段階であるステップs2では、判定手段である中央演算処理部19は、前記ヤコビ行列Jの行列式det(J)の絶対値|det(J)|が、入力部から入力された予め定める設定値|det(Jset)|よりも小さいか否かを判定し、前記設定値|det(Jset)|以下であると判定するとステップs3に進み、前記設定値|det(Jset)|を超えると判定するとステップs10に進む。
冗長関節制御段階であるステップs3では、冗長関節制御手段である中央演算処理部19は、エンドエフェクタ18を予め定める軌道上に保持しながら前記ヤコビ行列Jの行列式det(J)の絶対値|det(J)|を大きくするように冗長となる関節部である第1関節部9を角変位してステップs4に進む。このとき中央演算処理部19は、エンドエフェクタ18の位置および姿勢を保持した状態で、第1関節部9を現在位置から、予め定める変位量Δθだけプラスの方向に角変位して、残余の関節部である第2〜第7関節10〜15の角度位置(θ,θ,θ,θ,θ,θ)を逆変換によって求め、さらに第1関節部9を現在位置から、予め定める変位量Δθだけマイナスの方向に角変位して、残余の関節部である第2〜第7関節10〜15の角度位置(θ,θ,θ,θ,θ,θ)を逆変換によって求めて、ステップs4に進む。
ステップs4では、中央演算処理部19は、ステップs3において第1関節部9を現在角度位置から、予め定める変位量Δθだけ予め定めるプラスの方向に角変位したときのヤコビ行列Jの行列式det(J)と、第1関節部9を現在角度位置から、予め定める変位量Δθだけ前記プラス方向とは逆方向のマイナスの方向に角変位したときのヤコビ行列Jの行列式det(J)とを求めて、ステップs5に進む。
ステップs5では、中央演算処理部19は、ステップs3において第1関節部9を現在の角度位置から、予め定める変位量Δθだけプラスの方向に角変位したときのヤコビ行列Jの行列式det(J)の絶対値|det(J)|が、第1関節部9を現在の角度位置から、予め定める変位量Δθだけマイナスの方向に角変位したときのヤコビ行列Jの行列式det(J)の絶対値|det(J)|を超えるか否かを判断し、超えると判断するとステップs6に進み、超えないと判断するとステップs9に進む。
ステップs6では、中央演算処理部19は、第1関節部9を現在の角度位置からプラスの方向に角変位して、ステップs7に進む。
ステップs7では、中央演算処理部19は、多関節ロボット1の関節部9〜15のうち冗長関節部である第1関節部9を除く第2〜第7関節部10〜15の角度位置(θ,θ,θ,θ,θ,θ)を逆変換によって求めて、ステップs8に進み、全ての手順を終了する。
ステップs9では、中央演算処理部19は、第1関節部9を現在の角度位置からマイナスの方向に角変位して、ステップs7に進む。
ステップs10では、中央演算処理部19は、常時最適化を行うか否かを判断し、行うと判断するとステップs3に進み、行わないと判断するとステップs11に進む。
ステップs11では、中央演算処理部19は、多関節ロボット1の関節部9〜15のうち冗長関節部である第1関節部9を角変位させないで、ステップs7に進む。
また中央演算処理部19は、以上のような絶対値計算段階、判定段階および冗長関節制御段階を繰返して、多関節ロボット1の特異点を回避するように多関節ロボット1を制御してもよい。
本実施例では、第1関節部9を冗長関節部としたけれども、冗長関節部は、第1〜第4関節部9〜12のいずれか1つであってもよい。本実施例で第1関節部9を冗長関節部としたのは、多関節ロボット1のエンドエフェクタ18の位置(X,Y,Z)および第1関節部9の角度位置θから第2〜第4関節部10〜12の各角度位置θ〜θを導出することが数学的に最も容易である。一方、たとえば多関節ロボット1のエンドエフェクタ18の位置(X,Y,Z)および第2関節部10の角度位置θから第1、第3および第4関節部9,11,12の各角度位置θ,θ,θを導出することはできないことはないけれども、数学的には煩雑となる。
前述のヤコビ行列Jの行列式det(J)の絶対値|det(J)|は、関係する各関節部の各角度位置だけでなく、多関節ロボット1の各アーム体3〜8の長さLa,Lb、Lc,Ld,Le,Le,Lfに依存するので、予め定める設定値|det(Jset)|を包括的に最適化することは困難である。このため前記設定値|det(Jset)|の決定においては、事前にコンピュータシミュレーション等を用いて、利用者が希望する値を決定することが望ましい。一般的に前記設定値|det(Jset)|の値を小さくすると、特異点のごく近傍を除いて、特異点の回避が行われないので、多関節ロボット1の動作を直感的に把握し易くなる。また多関節ロボット1の各アーム体3〜8の移動速度が速い場合には、エンドエフェクタ18が誤って特異点に陥る可能性が僅かながら存在する。また前記設定値|det(Jset)|を充分に大きくした場合には、エンドエフェクタ18が常に特異点近傍にあるとされるので、特異点回避のための自由度が少なくなる可能性がある。
前記設定値|det(Jset)|をより小さくすれば、ロボットの動作は直感と一致するようになるけれども、設定値に応じて特異点に陥る可能性がより高くなる傾向がある。また前記設定値|det(Jset)|をより大きくすれば、その大きさに応じて、特異点を回避するための自由度が減少する傾向がある。したがって前記設定値|det(Jset)|は、小さすぎても大きすぎても良くなく、その最適値は前述のように多関節ロボット1の各アーム長に依存するので、シミュレーションによって導出することが望ましい。
また前述の制御方法において、少なくとも1つの関節部の所定の位置からの角度位置が可動範囲の限界位置に近づいた場合、エンドエフェクタ18を予め定める軌道上に保持しながら、当該関節部の角度位置を前記可動範囲の中央位置に近づけるように冗長となる関節部を角変位させる補助制御段階をさらに含むようにしてもよい。具体的には、冗長となる関節部をプラス方向およびマイナス方向に予め定める変位量Δθだけ角変位させて、冗長関節部のそれぞれの角度位置と希望するエンドエフェクタ18の位置とから逆変換することによって、可動範囲の限界位置に近づいた関節部の角度位置を計算して、前記限界位置から遠ざかるものを採用する。
本実施の形態において、予め定める軌道とは、多関節ロボット1が行う作業に応じて、たとえばアーク溶接時の溶接線およびマテリアルハンドリング時の荷物の通過軌道に応じて、操作者がオンラインまたはオフラインで教示する軌道である。また予め定める変位量Δθ(Δθ)は、多関節ロボット1において用いられるモータおよび制御器の性能によって決定される。たとえばモータの最高速度が30度毎秒であり、制御器のサンプリングタイムが0.1秒であった場合には、Δθのとることができる最大値は、3度(=30度毎秒×0.1秒)であるけれども、実際には、この値に加速時間および安全係数を見込んだ値が用いられる。
図3は、多関節ロボット1の特異点を回避するように、多関節ロボット1を制御する制御方法の第2の実施例の手順を示すフローチャートである。ステップt0で手順が開始されて、ステップt1に進む。
冗長関節部設定段階であるステップt1では、冗長関節部設定手段である中央演算処理部19は、多関節ロボット1の各関節部9〜15のうち予め定める1つの同軸関節部である第1関節部9と3つの傾斜関節部である第2〜第4関節部10〜12とを含む基本4関節部9〜12で多関節ロボット1のエンドエフェクタ18の位置を決定し、1つの関節部14の回転軸線L14と、その両側の関節部13,15の各回転軸線L13,L15とが交差する3軸交点を有する残余の第5〜第7関節部13〜15で前記エンドエフェクタ18の姿勢を決定するときに、前記基本4関節部9〜12のうちの1つ、本実施例では入力部によって第1関節部9を冗長関節部に設定入力して、ステップt2に進む。
行列生成段階であるステップt2では、行列生成手段である中央演算処理部19は、前記基本4関節部9〜12のうち冗長関節部となる第1関節部9を除く第2〜第4関節部10〜12の角度位置(θ,θ,θ)を、エンドエフェクタの位置(X,Y,Z)に変換する擬似的なヤコビ行列Jを、エンドエフェクタ18の位置(X,Y,Z)と第1関節部9の角度位置θで表して、ステップt3に進む。このときの前記ヤコビ行列J=J(θ,X,Y,Z)は、次式(2)のようにして求められる。
Figure 0004647919
冗長関節制御段階であるステップt3では、冗長関節制御手段である中央演算処理部19は、エンドエフェクタ18を予め定める軌道上に保持しながら、前記ヤコビ行列Jの行列式det(J)の絶対値|det(J)|を最大にするように第1関節部9を角変位させてステップt4に進み、全ての手順を終了する。また前記ヤコビ行列Jの行列式det(J)の絶対値|det(J)|の代わりに、前記ヤコビ行列Jの2乗としてもよく、これは数学的に等価であるからである。
以上のように本実施例では、前記ヤコビ行列Jの行列式det(J)の絶対値|det(J)|を最大にするように第1関節部9を角変位させることによって、前記第1関節部9の角度位置θ1が決定し、希望するエンドエフェクタ18の位置(X,Y,Z)を実現するうちに、特異点から最も離れたエンドエフェクタ18の位置を実現することができる。
また前述の制御方法において、少なくとも1つの関節部の所定の位置からの角度位置が可動範囲の限界位置に近づいた場合、エンドエフェクタ18を予め定める軌道上に保持しながら、当該関節部の角度位置を前記可動範囲の中央位置に近づけるように冗長となる関節部を角変位させる補助制御段階をさらに含むようにしてもよい。具体的には、冗長となる関節をプラス方向およびマイナス方向に予め定める変位量Δθだけ角変位させて、冗長関節部のそれぞれの角度位置と希望するエンドエフェクタ18の位置とから逆変換することによって、可動範囲の限界位置に近づいた関節部の角度位置を計算して、前記限界位置から遠ざかるものを採用する。
本実施例では、第1関節部9を冗長関節部としたけれども、冗長関節部は、第1〜第4関節部9〜12のいずれか1つであってもよい。本実施例で第1関節部9を冗長関節部としたのは、多関節ロボット1のエンドエフェクタ18の位置(X,Y,Z)および第1関節部9の角度位置θから第2〜第4関節部10〜12の各角度位置θ〜θを導出することが数学的に最も容易である。一方、たとえば多関節ロボット1のエンドエフェクタ18の位置(X,Y,Z)および第2関節部10の角度位置θから第1、第3および第4関節部9,11,12の各角度位置θ,θ,θを導出することはできないことはないけれども、数学的には煩雑となる。
図4は、多関節ロボット1の特異点を回避するように、多関節ロボット1を制御する制御方法の第3の実施例の手順を示すフローチャートである。ステップu0で手順が開始されて、ステップu1に進む。
条件導出段階であるステップu1では、中央演算処理部19は、多関節ロボット1の関節部9〜15のうち1つの同軸関節部である第1関節部9と3つの傾斜関節部である第2〜第4関節部10〜12とを含む基本4関節部9〜12で多関節ロボット1のエンドエフェクタ18の位置を決定し、残余の関節部13〜15で前記エンドエフェクタ18の姿勢を決定するときに、前記基本4関節部9〜12の角度位置(θ,θ,θ,θ)を前記エンドエフェクタ18の位置(X,Y,Z)に変換するヤコビ行列Jの階数(rank)が3未満になる条件を導出して、ステップu2に進む。
ステップu1で導出される前記ヤコビ行列Jの階数が3未満になる条件は、次式(2)〜式(4)である。
Figure 0004647919
前式(2)〜(4)において、Lは、第2アーム体4の軸線方向の寸法であり、Lは、第3アーム体5の軸線方向の寸法であり、Lは、第4アーム体6の軸線方向の寸法であり、Lは、第5アーム体7の軸線方向の寸法である。
冗長関節制御段階であるステップu2では、中央演算処理部19は、前記ヤコビ行列Jの階数が3以上になるように、多関節ロボットの関節部のうち予め定める冗長関節部の角度を導出して、前記冗長関節部を角変位させてステップu3に進み、全ての手順を終了する。
前式(2)〜式(4)のうち、式(2)および式(3)については、θを0度および180度から遠ざけることによって、前記ヤコビ行列Jの回数が3未満になることを回避でき、θが90度および270度に近づくと、特異点からかなり遠ざかることになる。したがってθを90度または270度にできる限り近づけるように、冗長となる関節部、たとえば第1関節部9の角度位置θを決定するという簡便な方法によって、全ての特異点のうちの約3分の2を回避することができる。また式(4)については、前述のような簡便な方法を見出すのは困難ではあるけれども、このような場合は、前述の図2に示す第1の実施例を適用して、冗長となる関節部をプラス方向およびマイナス方向に角変位したときのヤコビ行列J,Jの行列式det(J),det(J)の絶対値|det(J)|,|det(J)|の大きさを比較して、前記絶対値が大きくなる方向に冗長となる関節部を角変位させればよい。
また前述の制御方法において、少なくとも1つの関節部の所定の位置からの角度位置が可動範囲の限界位置に近づいた場合、エンドエフェクタ18を予め定める軌道上に保持しながら、当該関節部の角度位置を前記可動範囲の中央位置に近づけるように冗長となる関節部を角変位させる補助制御段階をさらに含むようにしてもよい。具体的には、冗長となる関節をプラス方向およびマイナス方向に予め定める変位量Δθだけ角変位させて、冗長関節部のそれぞれの角度位置と希望するエンドエフェクタ18の位置とから逆変換することによって、可動範囲の限界位置に近づいた関節部の角度位置を計算して、前記限界位置から遠ざかるものを採用する。
本発明の実施の一形態の多関節ロボット1の制御装置2を示すブロック図である。 多関節ロボット1の特異点を回避するように、多関節ロボット1を制御する制御方法の第1の実施例の手順を示すフローチャートである。 多関節ロボット1の特異点を回避するように、多関節ロボット1を制御する制御方法の第2の実施例の手順を示すフローチャートである。 多関節ロボット1の特異点を回避するように、多関節ロボット1を制御する制御方法の第3の実施例の手順を示すフローチャートである。
符号の説明
1 多関節ロボット
2 制御装置
9〜15 関節部
18 エンドエフェクタ
19 中央演算処理部

Claims (5)

  1. 多関節ロボットの制御方法であって、
    多関節ロボットの各関節部(9〜15)のうち基本4関節部(9〜12)で多関節ロボットの遊端部(18)の位置を決定し、1つの関節部(14)の回転軸線(L14)と、その両側の関節部(13,15)の各回転軸線(L13,L15)とが交差する3軸交点を有する残余の関節部(13〜15)で前記遊端部(18)の姿勢を決定するときに、前記基本4関節部(9〜12)のうちの予め定める1つ冗長関節部(9)に設定する冗長関節部設定段階と、
    前記遊端部(18)を予め定める軌道上に保持しながら前記予め定める1つの冗長関節部(9)を予め定める変位量(Δθ1)だけプラス方向に角変位させた場合と、マイナス方向に角変位させた場合とのそれぞれについて、前記基本4関節部(9〜12)のうち前記予め定める1つの冗長関節部(9)を除く関節部(10〜12)の角度位置(θ2,θ3,θ4)を前記遊端部(18)の位置(X,Y,Z)に変換するヤコビ行列(J,J)の行列式(det(J),det(J))の絶対値(|det(J)|,|det(J)|を比較し、値が大きい方向に前記予め定める1つの冗長関節部(9)を前記予め定める変位量(Δθ1)だけ角変位させる冗長関節制御段階とを含むことを特徴とする制御方法。
  2. 前記多関節ロボットは直列に設けられる複数のアーム体(3〜8)と、隣接する2つのアーム体を回転自在に連結する関節部(9〜15)とを有し、前記関節部(9〜15)は、前記2つのアーム体を、各アーム体の軸線と同軸の回転軸線(L9,L13,L15)まわりに回転自在に連結する同軸関節部(9,13,15)と、前記2つのアーム体を、各アーム体の軸線に対して所定の角度を成して傾斜する回転軸線(L10,L11,L12,L14)まわりに回転自在に連結する傾斜関節部(10,11,12,14)とを有し、
    前記基本4関節部(9〜12)は前記予め定める1つの同軸関節部(9)と3つの傾斜関節部(10,11,12)とを含むことを特徴とする請求項に記載の制御方法。
  3. 少なくとも前記予め定める1つの冗長関節部(9)の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部(18)を予め定める軌道上に保持しながら、前記予め定める1つの冗長関節部(9)の角度位置を前記可動範囲の中央位置に近づけるように前記予め定める1つの冗長関節部(9)を角変位させる補助制御段階をさらに含むことを特徴とする請求項1または2に記載の制御方法。
  4. 多関節ロボットの制御装置であって、
    多関節ロボットの各関節部(9〜15)のうち基本4関節部(9〜12)で前記多関節ロボットの遊端部(18)の位置を決定し、1つの関節部(14)の回転軸線(L14)と、その両側の関節部(13,15)の各回転軸線(L13,L15)とが交差する3軸交点を有する残余の関節部(13〜15)で前記遊端部(18)の姿勢を決定するときに、前記基本4関節部(9〜12)のうちの予め定める1つ冗長関節部(9)に設定する冗長関節部設定手段(19)と、
    前記遊端部(18)を予め定める軌道上に保持しながら前記予め定める1つの冗長関節部(9)を予め定める変位量(Δθ1)だけプラス方向に角変位させた場合と、マイナス方向に角変位させた場合とのそれぞれについて、前記基本4関節部(9〜12)のうち前記予め定める1つの冗長関節部(9)を除く関節部(10〜12)の角度位置(θ2,θ3,θ4)を前記遊端部(18)の位置(X,Y,Z)に変換するヤコビ行列(J,J)の行列式(det(J),det(J))の絶対値(|det(J)|,|det(J)|を比較し、値が大きい方向に前記予め定める1つの冗長関節部(9)を前記予め定める変位量(Δθ1)だけ角変位させる冗長関節制御手段(19)とを含むことを特徴とする制御装置。
  5. 少なくとも前記予め定める1つの冗長関節部(9)の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部(18)を予め定める軌道上に保持しながら、前記予め定める1つの冗長関節部(9)の角度位置を前記可動範囲の中央位置に近づけるように前記予め定める1つの冗長関節部(9)を角変位させる補助制御手段(19)をさらに含むことを特徴とする請求項に記載の制御装置。
JP2004041702A 2004-02-18 2004-02-18 制御方法および制御装置 Expired - Lifetime JP4647919B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004041702A JP4647919B2 (ja) 2004-02-18 2004-02-18 制御方法および制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004041702A JP4647919B2 (ja) 2004-02-18 2004-02-18 制御方法および制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009092531A Division JP4970492B2 (ja) 2009-04-06 2009-04-06 多関節ロボット

Publications (2)

Publication Number Publication Date
JP2005230952A JP2005230952A (ja) 2005-09-02
JP4647919B2 true JP4647919B2 (ja) 2011-03-09

Family

ID=35014418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004041702A Expired - Lifetime JP4647919B2 (ja) 2004-02-18 2004-02-18 制御方法および制御装置

Country Status (1)

Country Link
JP (1) JP4647919B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007136590A (ja) * 2005-11-16 2007-06-07 Kawasaki Heavy Ind Ltd 冗長関節部を有する冗長ロボットの制御装置および制御方法
JP5755715B2 (ja) * 2013-12-17 2015-07-29 川崎重工業株式会社 ロボットの制御方法
JP6912415B2 (ja) * 2018-04-10 2021-08-04 ファナック株式会社 ハンド制御装置およびハンド制御システム
WO2023238268A1 (ja) * 2022-06-08 2023-12-14 ヤマハ発動機株式会社 ロボットの制御方法およびロボットシステム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56163624A (en) * 1980-05-20 1981-12-16 Umetani Youji Active cord mechanism
JPS63118804A (ja) * 1986-11-06 1988-05-23 Mitsubishi Heavy Ind Ltd 多関節形ロボツトの軌跡制御方式
JPH04115592U (ja) * 1991-03-29 1992-10-14 邦男 高木 ロボツトアーム
JPH05228854A (ja) * 1992-02-18 1993-09-07 Fujitsu Ltd 7自由度アーム制御方式
JPH05228863A (ja) * 1992-02-20 1993-09-07 Toshiba Corp マニピュレータ制御装置
JPH06143172A (ja) * 1992-10-30 1994-05-24 Fujitsu Ltd 冗長マニピュレータの制御方式
JPH10138180A (ja) * 1996-11-05 1998-05-26 Mitsubishi Heavy Ind Ltd 冗長マニピュレータの特異姿勢近傍検知方法および装置並びに冗長マニピュレータの特異姿勢近傍検知プログラムを格納した記憶媒体
JPH10225881A (ja) * 1997-02-14 1998-08-25 Natl Aerospace Lab オフセット回転関節及び該オフセット回転関節を有する多関節ロボット

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56163624A (en) * 1980-05-20 1981-12-16 Umetani Youji Active cord mechanism
JPS63118804A (ja) * 1986-11-06 1988-05-23 Mitsubishi Heavy Ind Ltd 多関節形ロボツトの軌跡制御方式
JPH04115592U (ja) * 1991-03-29 1992-10-14 邦男 高木 ロボツトアーム
JPH05228854A (ja) * 1992-02-18 1993-09-07 Fujitsu Ltd 7自由度アーム制御方式
JPH05228863A (ja) * 1992-02-20 1993-09-07 Toshiba Corp マニピュレータ制御装置
JPH06143172A (ja) * 1992-10-30 1994-05-24 Fujitsu Ltd 冗長マニピュレータの制御方式
JPH10138180A (ja) * 1996-11-05 1998-05-26 Mitsubishi Heavy Ind Ltd 冗長マニピュレータの特異姿勢近傍検知方法および装置並びに冗長マニピュレータの特異姿勢近傍検知プログラムを格納した記憶媒体
JPH10225881A (ja) * 1997-02-14 1998-08-25 Natl Aerospace Lab オフセット回転関節及び該オフセット回転関節を有する多関節ロボット

Also Published As

Publication number Publication date
JP2005230952A (ja) 2005-09-02

Similar Documents

Publication Publication Date Title
US6845295B2 (en) Method of controlling a robot through a singularity
JP5114019B2 (ja) エフェクタの軌道を制御するための方法
JP3207728B2 (ja) 冗長マニピュレータの制御方法
JP4273335B2 (ja) ロボットアーム
JP2013193131A (ja) ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
KR20110041950A (ko) 여유자유도 제어를 이용한 로봇의 교시 및 재현 방법
JPWO2002066210A1 (ja) ロボット制御装置
JP4396553B2 (ja) ロボット制御装置,コンピュータプログラム
JP7144754B2 (ja) 多関節ロボットおよび多関節ロボットシステム
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
JP4970492B2 (ja) 多関節ロボット
JP4647919B2 (ja) 制御方法および制御装置
WO2020149020A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6057284B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
JP2013223895A (ja) ロボット制御方法及びロボット制御装置
JP5545263B2 (ja) ロボットシステム及び被作業物の製造方法
JP6429977B2 (ja) ロボット装置及びロボット制御方法
WO2020017093A1 (ja) 加速度調整装置及び加速度調整プログラム
JP3904036B2 (ja) 多指多関節ハンドの制御装置
JP4268035B2 (ja) 産業用ロボットおよびその制御方法
JPS62154006A (ja) ロボツト制御装置
KR20040034167A (ko) 6축 수직다관절 매니퓰레이터의 직선이동 제어방법
JPH02310706A (ja) 多関節ロボット制御装置
US11673258B2 (en) Modular robotic device and method to operate a modular robotic device
JP6057283B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071102

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100531

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: 20101130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101209

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4647919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term