JP3331100B2 - マニピュレータシミュレート装置 - Google Patents
マニピュレータシミュレート装置Info
- Publication number
- JP3331100B2 JP3331100B2 JP20418695A JP20418695A JP3331100B2 JP 3331100 B2 JP3331100 B2 JP 3331100B2 JP 20418695 A JP20418695 A JP 20418695A JP 20418695 A JP20418695 A JP 20418695A JP 3331100 B2 JP3331100 B2 JP 3331100B2
- Authority
- JP
- Japan
- Prior art keywords
- equation
- matrix
- hand
- component
- homogeneous
- 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
- 238000004088 simulation Methods 0.000 title claims description 37
- 239000011159 matrix material Substances 0.000 claims description 246
- 230000009466 transformation Effects 0.000 claims description 74
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 description 44
- 230000014509 gene expression Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000006467 substitution reaction Methods 0.000 description 7
- 238000009795 derivation Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39062—Calculate, jacobian matrix estimator
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、順次連結された6
本以内のアームを有するマニピュレータの先端の位置と
姿勢を表わす情報に基づいて、その位置と姿勢を実現す
るための、アームどうしを連結する関節の回転角を求め
るマニピュレータシミュレート装置に関する。
本以内のアームを有するマニピュレータの先端の位置と
姿勢を表わす情報に基づいて、その位置と姿勢を実現す
るための、アームどうしを連結する関節の回転角を求め
るマニピュレータシミュレート装置に関する。
【0002】
【従来の技術】図9は、複数のアームとそれらのアーム
どうしを連結する関節とから構成されたマニピュレータ
の一例を模式的に示した図である。基体1上に複数のア
ーム2_1,2_2,……,2_5が各関節3_1,3
_2,……,3_5で順次連結されている。また先端の
アーム2_5にはハンド4が連結されている。ハンド4
は、そのハンドを構成する指4aが自在に開閉して作業
対象物5を把持したり離したりすることができ、また各
関節3_1,3_2,……,3_5は、各関節3_1,
3_2,……,3_5で連結されたアーム2_1,2_
2,……,2_5を自在に回動することができるように
構成されている。このようなマニピュレータを用いる
と、そのアーム2_1,2_2,……,2_5の先端の
ハンド4が所定の位置、所定の姿勢となるようにアーム
を回動させて、例えば作業対象物5を把持して他の位置
まで運ぶ等の作業を行なうことができる。
どうしを連結する関節とから構成されたマニピュレータ
の一例を模式的に示した図である。基体1上に複数のア
ーム2_1,2_2,……,2_5が各関節3_1,3
_2,……,3_5で順次連結されている。また先端の
アーム2_5にはハンド4が連結されている。ハンド4
は、そのハンドを構成する指4aが自在に開閉して作業
対象物5を把持したり離したりすることができ、また各
関節3_1,3_2,……,3_5は、各関節3_1,
3_2,……,3_5で連結されたアーム2_1,2_
2,……,2_5を自在に回動することができるように
構成されている。このようなマニピュレータを用いる
と、そのアーム2_1,2_2,……,2_5の先端の
ハンド4が所定の位置、所定の姿勢となるようにアーム
を回動させて、例えば作業対象物5を把持して他の位置
まで運ぶ等の作業を行なうことができる。
【0003】例えばこの図のように構成されたマニピュ
レータにおいて、そのマニピュレータの先端の位置と姿
勢の情報を与え、マニピュレータの先端をその与えられ
た位置と姿勢に移動させるための各関節の角度を求める
ことを、逆運動学(逆キネマテクス)と称する。この逆
キネマテクスは、以下のような分野における応用が可能
である。
レータにおいて、そのマニピュレータの先端の位置と姿
勢の情報を与え、マニピュレータの先端をその与えられ
た位置と姿勢に移動させるための各関節の角度を求める
ことを、逆運動学(逆キネマテクス)と称する。この逆
キネマテクスは、以下のような分野における応用が可能
である。
【0004】(1)ロボット 任意のリンク形状を持ったロボットに対し、逆キネマテ
クスが自動的に解かれ、ロボットの作業計画等への適用
が容易になる。 (2)機構設計用CADシステム 機構設計では、リンク機構を有した部品の設計を行う場
合が多い、機構設計用CADシステムに逆キネマテクス
を組み込むことにより、リンク機構を有する製品が、希
望通りに動くか否かを事前にシミュレーションすること
ができる。 (3)マルチメディアにおけるアニメーション作成 マルチメディアでは、コンピュータグラフィックス、実
画像、音声などをミックスさせた様々な応用が期待され
ているが、コマーシャルや映画の分野ではコンピュータ
グラフィックスを使ったリアリティの高いアニメーショ
ン作成が望まれている。従来のコンピュータグラフィッ
クスの世界では、アニメーションはもっぱらオフライン
的に作成されており、特にアンドロイドモデルに対する
動きは、各間接毎に角度を指定する非常に面倒な方法
や、人間の体に特殊なセンサを付け、コンピュータ上に
動きを取り込むような大掛かりな方法(モーションキャ
プチャリング法)が取られていた。アニメーション作成
ツールに逆キネマテクスを組み込むことにより、アンド
ロイド等のアニメーションモデルの動きを非常に効率よ
く作り出すことができる。 (4)エルゴノミクス(人間工学) 従来、人間との何らかの接触をもつ製品(例えば、椅
子、机、キーボード、……)の設計では、エルゴノミク
ス的な使い易さや快適性の議論が欠けているが、コンピ
ュータグラフィックスにより作成したアンドロイドモデ
ルに逆キネマテクスを組み込むことにより、シミュレー
ション段階でそのアンドロイドモデルに様々な動きをさ
せて製品チェック行うことができる。
クスが自動的に解かれ、ロボットの作業計画等への適用
が容易になる。 (2)機構設計用CADシステム 機構設計では、リンク機構を有した部品の設計を行う場
合が多い、機構設計用CADシステムに逆キネマテクス
を組み込むことにより、リンク機構を有する製品が、希
望通りに動くか否かを事前にシミュレーションすること
ができる。 (3)マルチメディアにおけるアニメーション作成 マルチメディアでは、コンピュータグラフィックス、実
画像、音声などをミックスさせた様々な応用が期待され
ているが、コマーシャルや映画の分野ではコンピュータ
グラフィックスを使ったリアリティの高いアニメーショ
ン作成が望まれている。従来のコンピュータグラフィッ
クスの世界では、アニメーションはもっぱらオフライン
的に作成されており、特にアンドロイドモデルに対する
動きは、各間接毎に角度を指定する非常に面倒な方法
や、人間の体に特殊なセンサを付け、コンピュータ上に
動きを取り込むような大掛かりな方法(モーションキャ
プチャリング法)が取られていた。アニメーション作成
ツールに逆キネマテクスを組み込むことにより、アンド
ロイド等のアニメーションモデルの動きを非常に効率よ
く作り出すことができる。 (4)エルゴノミクス(人間工学) 従来、人間との何らかの接触をもつ製品(例えば、椅
子、机、キーボード、……)の設計では、エルゴノミク
ス的な使い易さや快適性の議論が欠けているが、コンピ
ュータグラフィックスにより作成したアンドロイドモデ
ルに逆キネマテクスを組み込むことにより、シミュレー
ション段階でそのアンドロイドモデルに様々な動きをさ
せて製品チェック行うことができる。
【0005】
【発明が解決しようとする課題】従来、逆キネマテクス
問題において解析解が存在する場合には、一つ一つ対象
毎に代数演算を行い、解析解を求めていた。この場合に
は、解析解が存在する場合とそうでない場合の判断が難
しく、方法全体に対して一般性を欠いていた。また、設
計上、解析解を有するマニピュレータであってもそのマ
ニピュレータを実際に製作すると、キャリブレーション
の結果微小なオフセットを有してしまい、解析解による
逆キネマテクスが役に立たない場合がある。
問題において解析解が存在する場合には、一つ一つ対象
毎に代数演算を行い、解析解を求めていた。この場合に
は、解析解が存在する場合とそうでない場合の判断が難
しく、方法全体に対して一般性を欠いていた。また、設
計上、解析解を有するマニピュレータであってもそのマ
ニピュレータを実際に製作すると、キャリブレーション
の結果微小なオフセットを有してしまい、解析解による
逆キネマテクスが役に立たない場合がある。
【0006】一方、解析解が存在しない場合には、近似
解から出発して数値解法を繰り返すことによって精度を
上げていく、homotopy法またはcontinu
ation法と呼ばれる方法(具体的には、Newto
n−Raphson的にpredictor−corr
ectorを構成して精度を上げていく)が開発されて
いる。この方法は、 (1)数値的に不安定な場合がある。 (2)マニピュレータの物理定数(D−Hパラメータ)
に対する依存性が見えない。 (3)計算負荷が大きい。 といった欠点を有し、実用性を欠いていた。本発明は、
上記事情に鑑み、従来よりも高速に逆キネマテクスを解
くことができるマニピュレータシミュレート方法および
装置を提供することを目的とする。
解から出発して数値解法を繰り返すことによって精度を
上げていく、homotopy法またはcontinu
ation法と呼ばれる方法(具体的には、Newto
n−Raphson的にpredictor−corr
ectorを構成して精度を上げていく)が開発されて
いる。この方法は、 (1)数値的に不安定な場合がある。 (2)マニピュレータの物理定数(D−Hパラメータ)
に対する依存性が見えない。 (3)計算負荷が大きい。 といった欠点を有し、実用性を欠いていた。本発明は、
上記事情に鑑み、従来よりも高速に逆キネマテクスを解
くことができるマニピュレータシミュレート方法および
装置を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成する本発
明の第1のマニピュレータシミュレート装置は、順次連
結された6本以内のアームを有するマニピュレータの先
端の位置と姿勢を表わす情報に基づいて、該位置と姿勢
を実現するための、アームどうしを連結する関節の回転
角を求めるマニピュレータシミュレート装置において、
絶対座標系からみた前記先端の位置と姿勢をあらわす同
次座標変換行列Ahandを、
明の第1のマニピュレータシミュレート装置は、順次連
結された6本以内のアームを有するマニピュレータの先
端の位置と姿勢を表わす情報に基づいて、該位置と姿勢
を実現するための、アームどうしを連結する関節の回転
角を求めるマニピュレータシミュレート装置において、
絶対座標系からみた前記先端の位置と姿勢をあらわす同
次座標変換行列Ahandを、
【0008】
【数21】
【0009】但し、Chandは姿勢、thandは位置をあら
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
【0010】
【数22】
【0011】としたとき、前記同次座標変換行列Ahand
および前記同次座標変換行列Ai に基づいて求められる
式(1)の行列方程式
および前記同次座標変換行列Ai に基づいて求められる
式(1)の行列方程式
【0012】
【数23】
【0013】但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5 , c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T xi =tan(θi /2) を記憶する記憶手段と、前記パラメータti の各成分を
数値入力する第1の入力手段と、前記第1の入力手段に
より入力された前記パラメータti の各成分の数値を前
記式(1)の行列方程式に代入することにより、前記先
端の位置と姿勢をあらわす同次変換行列Ahandの各成分
を変数とする式(2)の行列方程式
数値入力する第1の入力手段と、前記第1の入力手段に
より入力された前記パラメータti の各成分の数値を前
記式(1)の行列方程式に代入することにより、前記先
端の位置と姿勢をあらわす同次変換行列Ahandの各成分
を変数とする式(2)の行列方程式
【0014】
【数24】
【0015】但し、U(Ahand),V(Ahand)は、そ
れぞれ、前記実数行列U,Vに前記パラメータti の各
成分を数値代入することにより生成される、前記同次変
換行列Ahandの各成分を変数とする行列であることを表
わすを求めるパラメータ数値代入手段と、前記同次変換
行列Ahandの各成分を数値入力する第2の入力手段と、
前記第2の入力手段から入力された前記同次変換行列A
handの各成分の数値を前記式(2)の行列方程式に代入
することにより、式(3)の数値行列方程式
れぞれ、前記実数行列U,Vに前記パラメータti の各
成分を数値代入することにより生成される、前記同次変
換行列Ahandの各成分を変数とする行列であることを表
わすを求めるパラメータ数値代入手段と、前記同次変換
行列Ahandの各成分を数値入力する第2の入力手段と、
前記第2の入力手段から入力された前記同次変換行列A
handの各成分の数値を前記式(2)の行列方程式に代入
することにより、式(3)の数値行列方程式
【0016】
【数25】
【0017】但し、Unum ,Vnum は、それぞれ、前記
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される
数値行列であることを表わすを求める数値行列方程式導
出手段と、前記式(3)の数値行列方程式に基づいて、
前記関節の回転角θi (k)(kはθi の複数解を相互に識
別する最大16までの正の整数をあらわす)を求める関
節回転角算出手段とを備えたことを特徴とする。また、
上記目的を達成する本発明の第2のマニピュレータシミ
ュレート装置は、順次連結された6本以内のアームを有
するマニピュレータの先端の位置と姿勢を表わす情報に
基づいて、該位置と姿勢を実現するための、アームどう
しを連結する関節の回転角を求めるマニピュレータシミ
ュレート装置において、絶対座標系からみた前記先端の
位置と姿勢をあらわす同次座標変換行列Ahandを、
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される
数値行列であることを表わすを求める数値行列方程式導
出手段と、前記式(3)の数値行列方程式に基づいて、
前記関節の回転角θi (k)(kはθi の複数解を相互に識
別する最大16までの正の整数をあらわす)を求める関
節回転角算出手段とを備えたことを特徴とする。また、
上記目的を達成する本発明の第2のマニピュレータシミ
ュレート装置は、順次連結された6本以内のアームを有
するマニピュレータの先端の位置と姿勢を表わす情報に
基づいて、該位置と姿勢を実現するための、アームどう
しを連結する関節の回転角を求めるマニピュレータシミ
ュレート装置において、絶対座標系からみた前記先端の
位置と姿勢をあらわす同次座標変換行列Ahandを、
【0018】
【数26】
【0019】但し、Chandは姿勢、thandは位置をあら
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
【0020】
【数27】
【0021】としたとき、前記同次座標変換行列Ahand
および前記同次座標変換行列Ai に基づいて求められる
式(1)の行列方程式
および前記同次座標変換行列Ai に基づいて求められる
式(1)の行列方程式
【0022】
【数28】
【0023】但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5, c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T xi =tan(θi /2) に前記パラメータti の各成分を数値代入することによ
り求められる、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(2)の行列方程
式
り求められる、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(2)の行列方程
式
【0024】
【数29】
【0025】但し、U(Ahand),V(Ahand)は、そ
れぞれ、前記実数行列U,Vに前記パラメータti の各
成分を数値代入することにより生成される、前記同次変
換行列Ahandの各成分を変数とする行列であることを表
わすを記憶する記憶手段と、前記同次変換行列Ahandの
各成分を数値入力する入力手段と、前記入力手段から入
力された前記同次変換行列Ahandの各成分の数値を前記
式 (2)の行列方程式に代入することにより、式(3)の
数値行列方程式
れぞれ、前記実数行列U,Vに前記パラメータti の各
成分を数値代入することにより生成される、前記同次変
換行列Ahandの各成分を変数とする行列であることを表
わすを記憶する記憶手段と、前記同次変換行列Ahandの
各成分を数値入力する入力手段と、前記入力手段から入
力された前記同次変換行列Ahandの各成分の数値を前記
式 (2)の行列方程式に代入することにより、式(3)の
数値行列方程式
【0026】
【数30】
【0027】但し、Unum ,Vnum は、それぞれ、前記
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される数値
行列であることを表わすを求める数値行列方程式導出手
段と前記式(3)の数値行列方程式に基づいて、前記関
節の回転角θi (k)(kはθi の複数解を相互に識別する
最大16までの正の整数をあらわす)を求める関節回転
角算出手段とを備えたことを特徴とする。ここで、上記
本発明の第1のマニピュレータシミュレート装置ないし
第2のマニピュレータシミュレート装置において、前記
関節回転角算出手段が、前記式(3)の数値行列方程式
に基づいて、θ4 およびθ5 が消去された式を求める手
段と、該θ4 およびθ5 が消去された式に基づいて、固
有値方程式もしくは一般化固有値方程式を求める手段
と、該固有値方程式もしくは一般化固有値方程式に基づ
いて前記関節の回転角θi (k)を求める手段とを備えたも
のであることが好ましい。また、上記目的を達成する本
発明の第3のマニピュレータシミュレート装置は、順次
連結された6本以内のアームを有するマニピュレータの
先端の位置と姿勢を表わす情報に基づいて、該位置と姿
勢を実現するための、アームどうしを連結する関節の回
転角を求めるマニピュレータシミュレート装置におい
て、絶対座標系からみた前記先端の位置と姿勢をあらわ
す同次座標変換行列Ahandを、
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される数値
行列であることを表わすを求める数値行列方程式導出手
段と前記式(3)の数値行列方程式に基づいて、前記関
節の回転角θi (k)(kはθi の複数解を相互に識別する
最大16までの正の整数をあらわす)を求める関節回転
角算出手段とを備えたことを特徴とする。ここで、上記
本発明の第1のマニピュレータシミュレート装置ないし
第2のマニピュレータシミュレート装置において、前記
関節回転角算出手段が、前記式(3)の数値行列方程式
に基づいて、θ4 およびθ5 が消去された式を求める手
段と、該θ4 およびθ5 が消去された式に基づいて、固
有値方程式もしくは一般化固有値方程式を求める手段
と、該固有値方程式もしくは一般化固有値方程式に基づ
いて前記関節の回転角θi (k)を求める手段とを備えたも
のであることが好ましい。また、上記目的を達成する本
発明の第3のマニピュレータシミュレート装置は、順次
連結された6本以内のアームを有するマニピュレータの
先端の位置と姿勢を表わす情報に基づいて、該位置と姿
勢を実現するための、アームどうしを連結する関節の回
転角を求めるマニピュレータシミュレート装置におい
て、絶対座標系からみた前記先端の位置と姿勢をあらわ
す同次座標変換行列Ahandを、
【0028】
【数31】
【0029】但し、Chandは姿勢、thandは位置をあら
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
【0030】
【数32】
【0031】としたとき、前記同次座標変換行列Ahand
および前記同次座標変換行列Ai に基づいて求められる
式(4)の行列方程式
および前記同次座標変換行列Ai に基づいて求められる
式(4)の行列方程式
【0032】
【数33】
【0033】但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T xi =tan(θi /2) を記憶する記憶手段と、前記パラメータti の各成分を
数値入力する第1の入力手段と、前記第1の入力手段に
より入力された前記パラメータti の各成分の数値を前
記式(4)の行列方程式に代入することにより、前記先
端の位置と姿勢をあらわす同次変換行列Ahandの各成分
を変数とする式(5)の行列方程式
数値入力する第1の入力手段と、前記第1の入力手段に
より入力された前記パラメータti の各成分の数値を前
記式(4)の行列方程式に代入することにより、前記先
端の位置と姿勢をあらわす同次変換行列Ahandの各成分
を変数とする式(5)の行列方程式
【0034】
【数34】
【0035】但し、U(Ahand),V(Ahand)は、そ
れぞれ、前記行列U,Vに前記パラメータti の各成分
を数値代入することにより生成される、前記同次変換行
列Ahandの各成分を変数とする行列であることを表わす
を求めるパラメータ数値代入手段と、前記同次変換行列
Ahandの各成分を数値入力する第2の入力手段と、前記
第2の入力手段から入力された前記同次変換行列Ahand
の各成分の数値を前記式(5)の行列方程式に代入する
ことにより、式(6)の数値行列方程式
れぞれ、前記行列U,Vに前記パラメータti の各成分
を数値代入することにより生成される、前記同次変換行
列Ahandの各成分を変数とする行列であることを表わす
を求めるパラメータ数値代入手段と、前記同次変換行列
Ahandの各成分を数値入力する第2の入力手段と、前記
第2の入力手段から入力された前記同次変換行列Ahand
の各成分の数値を前記式(5)の行列方程式に代入する
ことにより、式(6)の数値行列方程式
【0036】
【数35】
【0037】但し、Unum ,Vnum は、それぞれ、前記
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される数値
行列であることを表わすを求める数値行列導出手段と、
前記式(6)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段とを備えたことをを特徴とする。さらに、上記目
的を達成する本発明の第4のマニピュレータシミュレー
ト装置は、順次連結された6本以内のアームを有するマ
ニピュレータの先端の位置と姿勢を表わす情報に基づい
て、該位置と姿勢を実現するための、アームどうしを連
結する関節の回転角を求めるマニピュレータシミュレー
ト装置において、絶対座標系からみた前記先端の位置と
姿勢をあらわす同次座標変換行列Ahandを、
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される数値
行列であることを表わすを求める数値行列導出手段と、
前記式(6)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段とを備えたことをを特徴とする。さらに、上記目
的を達成する本発明の第4のマニピュレータシミュレー
ト装置は、順次連結された6本以内のアームを有するマ
ニピュレータの先端の位置と姿勢を表わす情報に基づい
て、該位置と姿勢を実現するための、アームどうしを連
結する関節の回転角を求めるマニピュレータシミュレー
ト装置において、絶対座標系からみた前記先端の位置と
姿勢をあらわす同次座標変換行列Ahandを、
【0038】
【数36】
【0039】但し、Chandは姿勢、thandは位置をあら
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai を、
【0040】
【数37】
【0041】としたとき、前記同次座標変換行列Ahand
および前記同次座標変換行列Ai に基づいて求められる
式(4)の行列方程式
および前記同次座標変換行列Ai に基づいて求められる
式(4)の行列方程式
【0042】
【数38】
【0043】但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T xi =tan(θi /2) に前記パラメータti の各成分を数値代入することによ
り求められる、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(5)の行列方程
式
り求められる、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(5)の行列方程
式
【0044】
【数39】
【0045】但し、U(Ahand),V(Ahand)は、そ
れぞれ、前記行列U,Vに前記パラメータti の各成分
を数値代入することにより生成される、前記同次変換行
列Ahandの各成分を変数とする行列であることを表わす
を記憶する記憶手段と、前記同次変換行列Ahandの各成
分を数値入力する入力手段と、前記入力手段から入力さ
れた前記同次変換行列Ahandの各成分の数値を前記式
(5)の行列方程式に代入することにより、式(6)の
数値行列方程式
れぞれ、前記行列U,Vに前記パラメータti の各成分
を数値代入することにより生成される、前記同次変換行
列Ahandの各成分を変数とする行列であることを表わす
を記憶する記憶手段と、前記同次変換行列Ahandの各成
分を数値入力する入力手段と、前記入力手段から入力さ
れた前記同次変換行列Ahandの各成分の数値を前記式
(5)の行列方程式に代入することにより、式(6)の
数値行列方程式
【0046】
【数40】
【0047】但し、Unum ,Vnum は、それぞれ、前記
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される数値
行列であることを表わすを求める数値行列導出手段と、
前記式(6)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段と備えたことを特徴とする。ここで、上記本発明
の第3のマニピュレータシミュレート装置ないし第4の
マニピュレータシミュレート装置において、前記関節回
転角算出手段が、前記式(6)の数値行列方程式に基づ
いて、θ1 およびθ2 が消去された式を求める手段と、
該θ1 およびθ2 が消去された式に基づいて、固有値方
程式もしくは一般化固有値方程式を求める手段と、該固
有値方程式もしくは一般化固有値方程式に基づいて前記
関節の回転角θi (k)を求める手段とを備えたものである
ことが好ましい。
行列U(Ahand),V(Ahand)に前記同次変換行列A
handの各成分を数値代入することにより生成される数値
行列であることを表わすを求める数値行列導出手段と、
前記式(6)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段と備えたことを特徴とする。ここで、上記本発明
の第3のマニピュレータシミュレート装置ないし第4の
マニピュレータシミュレート装置において、前記関節回
転角算出手段が、前記式(6)の数値行列方程式に基づ
いて、θ1 およびθ2 が消去された式を求める手段と、
該θ1 およびθ2 が消去された式に基づいて、固有値方
程式もしくは一般化固有値方程式を求める手段と、該固
有値方程式もしくは一般化固有値方程式に基づいて前記
関節の回転角θi (k)を求める手段とを備えたものである
ことが好ましい。
【0048】
【実施の形態】以下、本発明の実施の形態について説明
する。以下では、全て、回転関節の組合わせによる6自
由度マニピュレータの逆キネマテクスを取り上げる。図
1は、本発明の第1のマニピュレータシミュレート方法
の一実施形態を示したフローチャートである。以下、こ
の実施形態を「実施形態1」と称する。ここでは、先
ず、ステップ(a)において、数式による、前述した式
(1)の行列方程式を求める。絶対座標系、例えば図9
に示す基体1に付された座標系からみたマニピュレータ
先端の位置と姿勢をあらわす同次座標変換行列A
handを、
する。以下では、全て、回転関節の組合わせによる6自
由度マニピュレータの逆キネマテクスを取り上げる。図
1は、本発明の第1のマニピュレータシミュレート方法
の一実施形態を示したフローチャートである。以下、こ
の実施形態を「実施形態1」と称する。ここでは、先
ず、ステップ(a)において、数式による、前述した式
(1)の行列方程式を求める。絶対座標系、例えば図9
に示す基体1に付された座標系からみたマニピュレータ
先端の位置と姿勢をあらわす同次座標変換行列A
handを、
【0049】
【数41】
【0050】但し、Chandは姿勢、thandは位置をあら
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai 、およびその逆行列Ai -1を、
わすとし、前記マニピュレータの後端から先端に向かっ
て順次に付された座標系のうち、i番目の座標系からみ
たi+1番目の座標系の位置と姿勢を表わす同次座標変
換行列Ai 、およびその逆行列Ai -1を、
【0051】
【数42】
【0052】とする。ただし、∈R(4×4)は、この
記号の左側に記載した行列が4列(4×4)の実数行列
(R)であることを表わしている。ここで、回転部分C
i ,Cz,i ,Cx,i ∈R(3×3)は以下で定義され
る。
記号の左側に記載した行列が4列(4×4)の実数行列
(R)であることを表わしている。ここで、回転部分C
i ,Cz,i ,Cx,i ∈R(3×3)は以下で定義され
る。
【0053】
【数43】
【0054】尚、ここでは自由度6のマニピュレータを
取り扱っているが、マニピュレータの自由度の数が6よ
りも少ない場合は、その少ない分だけ、上記Ai (i=
1,2,…,6)のいずれか1つもしくは複数が単位行
列であると見なすことにより、自由度の少ないマニピュ
レータについても、ここでの議論をそのまま適用するこ
とができる。ここで、D−Hパラメータについて、「機
械系のためのロボティクス」遠山茂樹著 総合電子出版
社 に記載された定義に沿って説明する。このD−Hパ
ラメータは既に広く知られたパラメータであるため、こ
こでは、その定義を説明するにとどめる。
取り扱っているが、マニピュレータの自由度の数が6よ
りも少ない場合は、その少ない分だけ、上記Ai (i=
1,2,…,6)のいずれか1つもしくは複数が単位行
列であると見なすことにより、自由度の少ないマニピュ
レータについても、ここでの議論をそのまま適用するこ
とができる。ここで、D−Hパラメータについて、「機
械系のためのロボティクス」遠山茂樹著 総合電子出版
社 に記載された定義に沿って説明する。このD−Hパ
ラメータは既に広く知られたパラメータであるため、こ
こでは、その定義を説明するにとどめる。
【0055】図2は、D−Hパラメータを説明するため
の、リンクおよび関節の一部分を示した図である。先
ず、ベース座標系(右手系)を設定する。z0 軸は関節
1の回転方向、アーム肩部分方向を指すようにとる。x
0 軸,y0 軸は適当にとる。次に、各リンクi(i=
1,2,…,6)について、次の(1)から(4)に従
って座標系を設定する。 (1)関節i+1の運動方向にzi 軸を設定する。 (2)zi 軸とzi-1 軸の交点、またはzi 軸とzi-1
軸の共通法線とzi 軸との交点を第i座標系の原点とす
る。zi 軸とzi-1 軸が平行のときは、後述するリンク
パラメータdi が0となるように第i座標系の原点を定
める。 (3)zi-1 ,zi をそれぞれzi-1 軸、zi 軸の方向
を向いたベクトルとしたとき、 xi =±(zi-1 ×zi )/‖zi-1 ×zi ‖または、
zi 軸とzi-1 軸の共通法線方向にxi 軸を設定する。 (4)右手系をなすようにyi 軸を設定する。上記のよ
うに座標系を設定したとき、第i−1座標系原点と、z
i-1 軸とxi軸との交点の距離であって、zi-1 方向に
測った距離をリンクパラメータdi とする。またzi-1
軸とxi 軸との交点と第i座標系原点との距離であっ
て、xi軸負の方向を正とした距離をリンクパラメータ
ai とする。ここではパラメータti として、上述した
式(10)、すなわち、 ti =[ai 0 di ] ……(10) i=1,2,……,6 が採用される。ちなみに、上述したθi ,αi もD−H
パラメータを構成するリンクパラメータであって、リン
クパラメータθi はxi-1 軸からxi 軸までのzi-1 軸
まわりの回転角、リンクパラメータαi はzi-1 軸から
zi 軸までのxi 軸まわりの回転角である。
の、リンクおよび関節の一部分を示した図である。先
ず、ベース座標系(右手系)を設定する。z0 軸は関節
1の回転方向、アーム肩部分方向を指すようにとる。x
0 軸,y0 軸は適当にとる。次に、各リンクi(i=
1,2,…,6)について、次の(1)から(4)に従
って座標系を設定する。 (1)関節i+1の運動方向にzi 軸を設定する。 (2)zi 軸とzi-1 軸の交点、またはzi 軸とzi-1
軸の共通法線とzi 軸との交点を第i座標系の原点とす
る。zi 軸とzi-1 軸が平行のときは、後述するリンク
パラメータdi が0となるように第i座標系の原点を定
める。 (3)zi-1 ,zi をそれぞれzi-1 軸、zi 軸の方向
を向いたベクトルとしたとき、 xi =±(zi-1 ×zi )/‖zi-1 ×zi ‖または、
zi 軸とzi-1 軸の共通法線方向にxi 軸を設定する。 (4)右手系をなすようにyi 軸を設定する。上記のよ
うに座標系を設定したとき、第i−1座標系原点と、z
i-1 軸とxi軸との交点の距離であって、zi-1 方向に
測った距離をリンクパラメータdi とする。またzi-1
軸とxi 軸との交点と第i座標系原点との距離であっ
て、xi軸負の方向を正とした距離をリンクパラメータ
ai とする。ここではパラメータti として、上述した
式(10)、すなわち、 ti =[ai 0 di ] ……(10) i=1,2,……,6 が採用される。ちなみに、上述したθi ,αi もD−H
パラメータを構成するリンクパラメータであって、リン
クパラメータθi はxi-1 軸からxi 軸までのzi-1 軸
まわりの回転角、リンクパラメータαi はzi-1 軸から
zi 軸までのxi 軸まわりの回転角である。
【0056】図1に戻り、ステップ(a)における、前
述の式(1)の行列方程式の導出方法についての説明を
続行する。マニピュレータの順キネマテクス方程式は式
(11)で与えられる。 Ahand = A1 ・A2 ・A3 ・A4 ・A5 ・A6 ……(11) ここで、順キネマテクス(順運動学)とは、マニピュレ
ータを構成する各リンクどうしを連結する各関節の回転
角情報を与えたときに、そのマニピュレータの先端の位
置と姿勢がどうなるかを求めることをいう。ここでは、
上記式(11)に基づいて、14本の基本方程式(2本
のスカラ方程式、4本のベクトル方程式)を導出し、次
いでそれら14本の基本方程式を使ってさらに6本の基
本方程式を導出する。それら、合計20本の基本方程式
をまとめると、前述の式(1)の行列方程式が生成され
る。(14本の基本方程式の導出)
述の式(1)の行列方程式の導出方法についての説明を
続行する。マニピュレータの順キネマテクス方程式は式
(11)で与えられる。 Ahand = A1 ・A2 ・A3 ・A4 ・A5 ・A6 ……(11) ここで、順キネマテクス(順運動学)とは、マニピュレ
ータを構成する各リンクどうしを連結する各関節の回転
角情報を与えたときに、そのマニピュレータの先端の位
置と姿勢がどうなるかを求めることをいう。ここでは、
上記式(11)に基づいて、14本の基本方程式(2本
のスカラ方程式、4本のベクトル方程式)を導出し、次
いでそれら14本の基本方程式を使ってさらに6本の基
本方程式を導出する。それら、合計20本の基本方程式
をまとめると、前述の式(1)の行列方程式が生成され
る。(14本の基本方程式の導出)
【0057】上記式(11)を以下のように書き換え
る。 A3 ・A4 ・A5 = A2 -1 ・A1 -1 ・Ahand・A6 -1 ……(12) 式(12)を基に、先ず、以下の基本ベクトル方程式が
導かれる。尚、式(12)の左辺から導出される量を添
字Aで表わし、式(12)の右辺から導出される量を添
字Bで表わす。 zA ≡A3 A4 A5 e3 =A2 -1 A1 -1 AhandA6 -1 e3 ≡zB ……(13) pA ≡A3 A4 A5 e4 =A2 -1 A1 -1 AhandA6 -1 e4 ≡pB ……(14) ここで、ei (i=1……4)は単位ベクトルであり、
それぞれ、 e1 =[1 0 0 0]T e2 =[0 1 0 0]T e3 =[0 0 1 0]T e4 =[0 0 0 1]T をあらわす。
る。 A3 ・A4 ・A5 = A2 -1 ・A1 -1 ・Ahand・A6 -1 ……(12) 式(12)を基に、先ず、以下の基本ベクトル方程式が
導かれる。尚、式(12)の左辺から導出される量を添
字Aで表わし、式(12)の右辺から導出される量を添
字Bで表わす。 zA ≡A3 A4 A5 e3 =A2 -1 A1 -1 AhandA6 -1 e3 ≡zB ……(13) pA ≡A3 A4 A5 e4 =A2 -1 A1 -1 AhandA6 -1 e4 ≡pB ……(14) ここで、ei (i=1……4)は単位ベクトルであり、
それぞれ、 e1 =[1 0 0 0]T e2 =[0 1 0 0]T e3 =[0 0 1 0]T e4 =[0 0 0 1]T をあらわす。
【0058】式(13),式(14)において第4成分
は、1=1,0=0といった自明の方程式となるため、
以後第4成分は無視し、式(13),式(14)は第
1、第2、第3成分からなる3次元ベクトルを表すもの
とする。式(13),式(14)のp,zを基に、内
積、外積、ベクトル和をとることにより、以下の方程式
が得られる。 (pT ・p)A =(pT ・p)B ……(15) (pT ・z)A =(pT ・z)B ……(16) (pT ×z)A =(pT ×z)B ……(17) [p×(p×z)+(pT ・z)p]A =[p×(p×z)+(pT ・z)p]B ……(18) 式(18)は、以下のように書き換えることもできる。 [2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B ……(19) 数式処理を使った精密な解析の結果、式(13)から式
(18)ないし式(19)の方程式は、cosθi ,s
inθi に対して線形であることがわかる。p,zから
なる他のコンビネーションは、線形性を欠く。
は、1=1,0=0といった自明の方程式となるため、
以後第4成分は無視し、式(13),式(14)は第
1、第2、第3成分からなる3次元ベクトルを表すもの
とする。式(13),式(14)のp,zを基に、内
積、外積、ベクトル和をとることにより、以下の方程式
が得られる。 (pT ・p)A =(pT ・p)B ……(15) (pT ・z)A =(pT ・z)B ……(16) (pT ×z)A =(pT ×z)B ……(17) [p×(p×z)+(pT ・z)p]A =[p×(p×z)+(pT ・z)p]B ……(18) 式(18)は、以下のように書き換えることもできる。 [2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B ……(19) 数式処理を使った精密な解析の結果、式(13)から式
(18)ないし式(19)の方程式は、cosθi ,s
inθi に対して線形であることがわかる。p,zから
なる他のコンビネーションは、線形性を欠く。
【0059】数式処理を適用するに当たり、式(13)
から式(18)ないし式(19)の方程式は式(8),
式(9)を使って以下のように分解しておく。 (1)zA =zB zA =Cz,3 Cx,3 C4 C5 e3 =C2 T C1 T ChandC6 T e3 =zB ……(20) (2)pA =pB pA =Cz,3(Cx,3 C4 Cz,5 ・t5 +Cx,3 Cz,4 ・t4 +t3) =−C2 T (C1 ChandC6 T ・t6 −C1 T ・thand +Cx,1 T ・t1 )−Cx,2 T ・t2 =pB ……(21) (3)(pT ・p)A =(pT ・p)B (pT ・p)A =t3 T ・t3 +2t3 T Cx,3 Cz,4 ・t4 +2t3 T Cx,3 C4 Cz,5 ・t5 +t4 T ・t4 +2t4 T Cx,4 Cz,5 ・t5 +t5 T ・t5 =t2 T ・t2 +2t2 T Cz,2 T Cx,1 T ・t1 −2t2 T Cz,2 T C1 T ・thand +2t2 T Cz,2 T C1 T ・ChandCx,6 T ・t6 +t1 T ・t1 −2t1 T Cz,1 T ・thand +2t1 T Cz,1 T ChandCx,6 T ・t6 +thand T ・thand −2thand T ChandCx,6 T ・t6 +t6 T ・t6 =(pT ・p)B ……(22) (4)(pT ・z)A =(pT ・z)B (pT ・z)A =(zT ・p)A =e3 T ・Cx,5 T・t5 +e3 T C5 T Cx,4 T・t4 +e3 T ・C5 T C4 T Cx,3 T・t3 =−e3 T t6 +e3 T C6 Chand T ・thand −e3 T C6 Chand T Cz,1 ・t1 −e3 T C6 Chand T C1 Cz,2 ・t2 =(zT ・p)B =(pT ・z)B ……(23) (5)(pT ×z)A =(pT ×z)B (pT ×z)A =Cz,3 Cx,3 C4 Cz,5 (t5 ×Cx,5 e3 ) +Cz,3 Cx,3 Cz,4 (t4 ×Cx,4 C5 e3 ) +Cz,3 (t3 ×Cx,3 C4 C5 e3 ) =−C2 T C1 T Chand T Cx,6 T(t6 ×Cz,6 Te3) +C2 T C1 T (thand×ChandC6 T e3 ) −C2 T Cx,1 T(t1 ×Cz,1 TChandC6 T e3 ) −Cx,2 T(t2 ×Cz,2 TC1 T ChandC6 T e3 ) =(pT ×z)B ……(24) (6)[2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B [2(pT ・z)p−(pT ・p)z]A =2(pT ・z)A Cz,3 (Cx,3 C4 Cz,5 ・t5 +Cx,3 Cz,4 ・t4 +t3 )−(pT ・p)A Cz,3 Cx,3 C4 C5 e3 =2(pT ・z)B Cx,2 T (Cz,2 T C1 T ChandC6 T ・t6 −Cz,2 TC1 T ・thand+Cz,2 T Cx,1 T ・t1 +t2 ) −(pT ・p)B C2 T C1 T ChandC6 T e3 =[2(pT ・z)p−(pT ・p)z]B ……(25)
から式(18)ないし式(19)の方程式は式(8),
式(9)を使って以下のように分解しておく。 (1)zA =zB zA =Cz,3 Cx,3 C4 C5 e3 =C2 T C1 T ChandC6 T e3 =zB ……(20) (2)pA =pB pA =Cz,3(Cx,3 C4 Cz,5 ・t5 +Cx,3 Cz,4 ・t4 +t3) =−C2 T (C1 ChandC6 T ・t6 −C1 T ・thand +Cx,1 T ・t1 )−Cx,2 T ・t2 =pB ……(21) (3)(pT ・p)A =(pT ・p)B (pT ・p)A =t3 T ・t3 +2t3 T Cx,3 Cz,4 ・t4 +2t3 T Cx,3 C4 Cz,5 ・t5 +t4 T ・t4 +2t4 T Cx,4 Cz,5 ・t5 +t5 T ・t5 =t2 T ・t2 +2t2 T Cz,2 T Cx,1 T ・t1 −2t2 T Cz,2 T C1 T ・thand +2t2 T Cz,2 T C1 T ・ChandCx,6 T ・t6 +t1 T ・t1 −2t1 T Cz,1 T ・thand +2t1 T Cz,1 T ChandCx,6 T ・t6 +thand T ・thand −2thand T ChandCx,6 T ・t6 +t6 T ・t6 =(pT ・p)B ……(22) (4)(pT ・z)A =(pT ・z)B (pT ・z)A =(zT ・p)A =e3 T ・Cx,5 T・t5 +e3 T C5 T Cx,4 T・t4 +e3 T ・C5 T C4 T Cx,3 T・t3 =−e3 T t6 +e3 T C6 Chand T ・thand −e3 T C6 Chand T Cz,1 ・t1 −e3 T C6 Chand T C1 Cz,2 ・t2 =(zT ・p)B =(pT ・z)B ……(23) (5)(pT ×z)A =(pT ×z)B (pT ×z)A =Cz,3 Cx,3 C4 Cz,5 (t5 ×Cx,5 e3 ) +Cz,3 Cx,3 Cz,4 (t4 ×Cx,4 C5 e3 ) +Cz,3 (t3 ×Cx,3 C4 C5 e3 ) =−C2 T C1 T Chand T Cx,6 T(t6 ×Cz,6 Te3) +C2 T C1 T (thand×ChandC6 T e3 ) −C2 T Cx,1 T(t1 ×Cz,1 TChandC6 T e3 ) −Cx,2 T(t2 ×Cz,2 TC1 T ChandC6 T e3 ) =(pT ×z)B ……(24) (6)[2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B [2(pT ・z)p−(pT ・p)z]A =2(pT ・z)A Cz,3 (Cx,3 C4 Cz,5 ・t5 +Cx,3 Cz,4 ・t4 +t3 )−(pT ・p)A Cz,3 Cx,3 C4 C5 e3 =2(pT ・z)B Cx,2 T (Cz,2 T C1 T ChandC6 T ・t6 −Cz,2 TC1 T ・thand+Cz,2 T Cx,1 T ・t1 +t2 ) −(pT ・p)B C2 T C1 T ChandC6 T e3 =[2(pT ・z)p−(pT ・p)z]B ……(25)
【0060】(基本方程式の性質) 上記の式(20)から式(25)の基本方程式は以下の
性質を有する。 (a)マニピュレータ先端の位置・姿勢を表すマトリク
スAhandの各要素は、右辺のみに表れる。 (b)全ての方程式はθ6 に依存しない。 なぜならば、式(20)から式(25)の方程式におい
て、θ6 は、C6 T e3 =Cx,6 T Cz,6 T e3 の形で
表れるが、Cz,6 T e3 =[0 0 1]T である。 (c)z3 ,p3 ,pT ・z,pT ・p,(pT ×z)
3 ,[2(pT ・z)p−(pT ・p)z]3 は、θ3
に依存しない。ここで、例えばz3 ,p3 はそれぞれ
z,pの3番目の要素をあらわす。他も同様である。な
ぜならば、pT ・z,pT ・pはCz,3 依存性をもたな
い。z3 ,p3 ,(pT ×z)3 ,[2(pT ・z)p
−(pT ・p)z]3 に関しては、θ3 は、常にe3 T
Cz,3 の形で表れるが、e3 T Cz,3 =e3 T である。 (d)z1 ,z2 ,p1 ,p2 ,(pT ×z)1 ,(p
T ×z)2 ,[2(pT ・z)p−(pT ・p)z]
1 ,[2(pT ・z)p−(pT ・p)z]2 は、ta
n(θ3 /2)に対して線形である。なぜならば、xi
=tan(θi /2)とする時、 cosθi =(1−xi 2 )/(1+xi 2 ) sinθi =2xi /(1+xi 2 ) X3 - ・Cz,3 =X3 +
性質を有する。 (a)マニピュレータ先端の位置・姿勢を表すマトリク
スAhandの各要素は、右辺のみに表れる。 (b)全ての方程式はθ6 に依存しない。 なぜならば、式(20)から式(25)の方程式におい
て、θ6 は、C6 T e3 =Cx,6 T Cz,6 T e3 の形で
表れるが、Cz,6 T e3 =[0 0 1]T である。 (c)z3 ,p3 ,pT ・z,pT ・p,(pT ×z)
3 ,[2(pT ・z)p−(pT ・p)z]3 は、θ3
に依存しない。ここで、例えばz3 ,p3 はそれぞれ
z,pの3番目の要素をあらわす。他も同様である。な
ぜならば、pT ・z,pT ・pはCz,3 依存性をもたな
い。z3 ,p3 ,(pT ×z)3 ,[2(pT ・z)p
−(pT ・p)z]3 に関しては、θ3 は、常にe3 T
Cz,3 の形で表れるが、e3 T Cz,3 =e3 T である。 (d)z1 ,z2 ,p1 ,p2 ,(pT ×z)1 ,(p
T ×z)2 ,[2(pT ・z)p−(pT ・p)z]
1 ,[2(pT ・z)p−(pT ・p)z]2 は、ta
n(θ3 /2)に対して線形である。なぜならば、xi
=tan(θi /2)とする時、 cosθi =(1−xi 2 )/(1+xi 2 ) sinθi =2xi /(1+xi 2 ) X3 - ・Cz,3 =X3 +
【0061】
【数44】
【0062】が成立する。z,p,pT ×z,2(pT
・z)p−(pT・p)zにおいて、左からX3 -を掛け
ることにより、上記の結果を得る。 (e)θ1 ,θ2 ,θ4 ,θ5 は、cosθi ,sin
θi (i=1,2,4,5)に対して常に線形で表れ、
(cosθi )2 ,(sinθi )2 ,cosθi ・s
inθi の項は表れない。なぜならば、z,p,pT ・
p,pT ・z,pT ×zにおいて、Cz,i は各々一回ず
つしか表れない。また、2(pT ・z)p−(pT ・
p)zに関しては、p,z,pT ・z,pT ・pの値を
代入し、数式処理を使い、(cosθi )2+(sin
θi )2 =1,(cosαi )2 +(sinαi )2 =
1に注意し整理すると、線形であることが判明する。 (基本方程式の行列形式) 式(20)から式(25)の基本方程式は、以下のよう
な行列形式にまとめることができる。
・z)p−(pT・p)zにおいて、左からX3 -を掛け
ることにより、上記の結果を得る。 (e)θ1 ,θ2 ,θ4 ,θ5 は、cosθi ,sin
θi (i=1,2,4,5)に対して常に線形で表れ、
(cosθi )2 ,(sinθi )2 ,cosθi ・s
inθi の項は表れない。なぜならば、z,p,pT ・
p,pT ・z,pT ×zにおいて、Cz,i は各々一回ず
つしか表れない。また、2(pT ・z)p−(pT ・
p)zに関しては、p,z,pT ・z,pT ・pの値を
代入し、数式処理を使い、(cosθi )2+(sin
θi )2 =1,(cosαi )2 +(sinαi )2 =
1に注意し整理すると、線形であることが判明する。 (基本方程式の行列形式) 式(20)から式(25)の基本方程式は、以下のよう
な行列形式にまとめることができる。
【0063】
【数45】
【0064】 U’,V’∈R(14×18) ξ’,ρ∈C9 (∈C9 は、その左の記号が9次元の複素ベクトルであ
ることを表わしている) ξ’=[s4 ・s5 ,s4 ・c5 ,c4 ・s5 ,c4 ・c5 ,s4 , c4 ,s5 ,c5 ,1]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T U’,V’の成分は、式(20)から式(25)を丹念
に数式処理し、(cosθi )2 +(sinθi )2 =
1(i=4,5),(cosαi )2 +(sinαi )
2 =1(i=1,……,6),cosθi =(1−xi
2 )/(1+xi 2 ),sinθi =2xi /(1+x
i 2 )(i=1,2,3)を代入し、得られた代数方程
式においてξ’,ρの各項に対する係数を求めることに
より得られる。U’,V’の各成分は、パラメータt
i 、Ahandの成分を変数とする多変数多項式である。
ることを表わしている) ξ’=[s4 ・s5 ,s4 ・c5 ,c4 ・s5 ,c4 ・c5 ,s4 , c4 ,s5 ,c5 ,1]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T U’,V’の成分は、式(20)から式(25)を丹念
に数式処理し、(cosθi )2 +(sinθi )2 =
1(i=4,5),(cosαi )2 +(sinαi )
2 =1(i=1,……,6),cosθi =(1−xi
2 )/(1+xi 2 ),sinθi =2xi /(1+x
i 2 )(i=1,2,3)を代入し、得られた代数方程
式においてξ’,ρの各項に対する係数を求めることに
より得られる。U’,V’の各成分は、パラメータt
i 、Ahandの成分を変数とする多変数多項式である。
【0065】(基本方程式の追加) z3 ,p3 ,pT ・z,pT ・p,(pT ×z)3 ,
[2(pT ・z)p−(pT ・p)z]3 はθ3 に依存
しないので、x3 =tan(θ3 /2)を掛け、線形和
を取ることにより以下の6本の方程式を得ることができ
る。 [x3 z3 +p3 ]A =[x3 z3 +p3 ]B ……(28) [x3 p3 +z3 ]A =[x3 p3 +z3 ]B ……(29) [x3 pT ・p+pT ・z]A =[x3 pT ・p+pT ・z]B ……(30) [x3 pT ・z+pT ・p]A =[x3 pT ・z+pT ・p]B ……(31) [x3 (pT ×z)3 +z3 ]A =[x3 (pT ×z)3 +z3 ]B ……(32) [x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]A =[x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]B ……(33) 式(28)から式(33)を式(27)と同様にまと
め、左辺の一部を右辺に移項し、式(27)と一緒に整
理すると、前述した式(1)の行列方程式が得られる。
[2(pT ・z)p−(pT ・p)z]3 はθ3 に依存
しないので、x3 =tan(θ3 /2)を掛け、線形和
を取ることにより以下の6本の方程式を得ることができ
る。 [x3 z3 +p3 ]A =[x3 z3 +p3 ]B ……(28) [x3 p3 +z3 ]A =[x3 p3 +z3 ]B ……(29) [x3 pT ・p+pT ・z]A =[x3 pT ・p+pT ・z]B ……(30) [x3 pT ・z+pT ・p]A =[x3 pT ・z+pT ・p]B ……(31) [x3 (pT ×z)3 +z3 ]A =[x3 (pT ×z)3 +z3 ]B ……(32) [x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]A =[x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]B ……(33) 式(28)から式(33)を式(27)と同様にまと
め、左辺の一部を右辺に移項し、式(27)と一緒に整
理すると、前述した式(1)の行列方程式が得られる。
【0066】
【数46】
【0067】 U∈R(20×16),V∈R(20×18),ξ∈C16,ρ∈C9 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5 , c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T 尚、上記では、パラメータti として前述の式(1
0)、すなわち、DH−パラメータ ti =[ai 0 di ]T ……(10) を採用したが、この式(10)に代わり、パラメータt
i としていわゆる修正D−Hパラメータ、すなわち、 ti =[ξi ηi ζi +γi ]T ……(28) を採用し、通常のD−Hパラメータの制限を緩めた方式
を採ることもできる。
0)、すなわち、DH−パラメータ ti =[ai 0 di ]T ……(10) を採用したが、この式(10)に代わり、パラメータt
i としていわゆる修正D−Hパラメータ、すなわち、 ti =[ξi ηi ζi +γi ]T ……(28) を採用し、通常のD−Hパラメータの制限を緩めた方式
を採ることもできる。
【0068】D−Hパラメータでは、前述したように、
隣り合った2関節軸の共通法線の長さをリンクパラメー
タai としたが、このリンクパラメータai の代わり
に、一方の軸のみに垂直なベクトルDi =(ξi ,η
i ,ζi )と、リンク間距離を表わすリンクパラメータ
di の代わりに回転軸zi-1 沿いの任意の長さのパラメ
ータγi を導入する。このようにして導入されたパラメ
ータが修正D−Hパラメータと称されるパラメータであ
る(前掲の、「機械系のためのロボティクス」遠山茂樹
著 総合電子出版社 参照)。D−Hパラメータでは2
関節軸の共通法線を使っていたが、今度はγi が任意に
設定できるため、座標系を希望の場所に設定できること
になる。
隣り合った2関節軸の共通法線の長さをリンクパラメー
タai としたが、このリンクパラメータai の代わり
に、一方の軸のみに垂直なベクトルDi =(ξi ,η
i ,ζi )と、リンク間距離を表わすリンクパラメータ
di の代わりに回転軸zi-1 沿いの任意の長さのパラメ
ータγi を導入する。このようにして導入されたパラメ
ータが修正D−Hパラメータと称されるパラメータであ
る(前掲の、「機械系のためのロボティクス」遠山茂樹
著 総合電子出版社 参照)。D−Hパラメータでは2
関節軸の共通法線を使っていたが、今度はγi が任意に
設定できるため、座標系を希望の場所に設定できること
になる。
【0069】式(28)のパラメータを採用すると、機
構系を表現する座標系のパラメータが増える分、パラメ
ータ変動に対する感度がスムーズになり、機構パラメー
タのキャリブレーションが行いやすいくなる。以上で、
本実施形態1における、図1のステップ(a)の説明を
終え、次いで、図1のステップ(b)以下の各ステップ
の説明に移る。ステップ(a)は前もって一度だけ行な
って式(1)を求めておけばよく、以下に説明するステ
ップ(b)により、個々のマニピュレータに適合した行
列方程式が生成される。
構系を表現する座標系のパラメータが増える分、パラメ
ータ変動に対する感度がスムーズになり、機構パラメー
タのキャリブレーションが行いやすいくなる。以上で、
本実施形態1における、図1のステップ(a)の説明を
終え、次いで、図1のステップ(b)以下の各ステップ
の説明に移る。ステップ(a)は前もって一度だけ行な
って式(1)を求めておけばよく、以下に説明するステ
ップ(b)により、個々のマニピュレータに適合した行
列方程式が生成される。
【0070】前述のパラメータti として、例えばコン
ピュータグラフィックスのような、実際のハードウェア
としてのマニピュレータの存在しないシステムの場合
は、D−Hパラメータ(式(10))を採用してもよ
く、修正D−Hパラメータ(式(28))を採用しても
よいが、実際のハードウェアとしてのマニピュレータが
存在する場合、あるいは、未だ存在していなくても、実
際のハードウェアとしてのマニピュレータを構成するこ
とが想定されている場合は、パラメータti として修正
D−Hパラメータ(式(28))を採用することが好ま
しい。パラメータti としてD−Hパラメータ(式(1
0))を採用する場合、そのパラメータti の各成分a
i ,di (i=1,2,…,6)の具体的な数値を前述
の式(1)に代入する。
ピュータグラフィックスのような、実際のハードウェア
としてのマニピュレータの存在しないシステムの場合
は、D−Hパラメータ(式(10))を採用してもよ
く、修正D−Hパラメータ(式(28))を採用しても
よいが、実際のハードウェアとしてのマニピュレータが
存在する場合、あるいは、未だ存在していなくても、実
際のハードウェアとしてのマニピュレータを構成するこ
とが想定されている場合は、パラメータti として修正
D−Hパラメータ(式(28))を採用することが好ま
しい。パラメータti としてD−Hパラメータ(式(1
0))を採用する場合、そのパラメータti の各成分a
i ,di (i=1,2,…,6)の具体的な数値を前述
の式(1)に代入する。
【0071】パラメータti として修正D−Hパラメー
タ(式(28))を採用する場合も同様ではあるが、こ
の場合、先ず、修正D−Hパラメータのキャリブレーシ
ョンを行ない、そのキャリブレーションの結果得られ
る、パラメータti の各成分ξi ,ηi ,ζi +γi の
数値を式(1)に代入する。ハードウェアとしてのマニ
ピュレータを構成すると、ガタや寸法誤差等により、モ
デル的なマニピュレータから外れるため、実際に構成さ
れたマニピュレータに適合した数値を求めて代入するも
のである。キャリブレーション自体についてはここでの
主題ではないため、説明は省略する。詳細は、前掲の
「機械系のためのロボティクス」を参照されたい。この
ように、パラメータti の各成分を式(1)の行列方程
式に数値代入することにより、Ahandの各成分を変数と
する、前述の式(2)の行列方程式、すなわち、
タ(式(28))を採用する場合も同様ではあるが、こ
の場合、先ず、修正D−Hパラメータのキャリブレーシ
ョンを行ない、そのキャリブレーションの結果得られ
る、パラメータti の各成分ξi ,ηi ,ζi +γi の
数値を式(1)に代入する。ハードウェアとしてのマニ
ピュレータを構成すると、ガタや寸法誤差等により、モ
デル的なマニピュレータから外れるため、実際に構成さ
れたマニピュレータに適合した数値を求めて代入するも
のである。キャリブレーション自体についてはここでの
主題ではないため、説明は省略する。詳細は、前掲の
「機械系のためのロボティクス」を参照されたい。この
ように、パラメータti の各成分を式(1)の行列方程
式に数値代入することにより、Ahandの各成分を変数と
する、前述の式(2)の行列方程式、すなわち、
【0072】
【数47】
【0073】 U∈R(20×16),V∈R(20×18),ξ∈C16,ρ∈C9 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5 , c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T が導出される(図1ステップ(c))。 数式処理を用いた行列方程式は、上記式(2)まで、す
なわち、図1のステップ(c)までである。以後の過程
は、全て数値行列を取り扱う。すなわち、マニピュレー
タ先端の位置と姿勢を表わすAhandの各成分を式(2)
に数値代入することにより(図1ステップ(d))、数
値行列Unum ,Vnumによる数値行列方程式を求め(図
1ステップ(e))、その数値行列方程式に基づいて各
関節iの回転角θi (k)(kは、θi の複数角を相互に識
別する最大16までの正の整数をあらわす)を求める
(図1ステップ(f))。この数値行列方程式は前述の
式(3)、すなわち、
なわち、図1のステップ(c)までである。以後の過程
は、全て数値行列を取り扱う。すなわち、マニピュレー
タ先端の位置と姿勢を表わすAhandの各成分を式(2)
に数値代入することにより(図1ステップ(d))、数
値行列Unum ,Vnumによる数値行列方程式を求め(図
1ステップ(e))、その数値行列方程式に基づいて各
関節iの回転角θi (k)(kは、θi の複数角を相互に識
別する最大16までの正の整数をあらわす)を求める
(図1ステップ(f))。この数値行列方程式は前述の
式(3)、すなわち、
【0074】
【数48】
【0075】 U∈R(20×16),V∈R(20×18),ξ∈C16,ρ∈C9 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5 , c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T であらわされる。
【0076】図1のステップ(d)〜ステップ(f)を
繰り返すことによりそのマニピュレータモデルについて
種々のシミュレーションを行なうことができる。次に、
式(3)の数値行列方程式に基づく、θi (k)の数値解
法、すなわち図1のステップ(f)の詳細について説明
する。図3は、図1のステップ(f)の詳細フローを示
した図である。以下では、いくつかの数値解法について
説明するが、いずれも、図3のステップ(g)〜ステッ
プ(j)に従う。すなわち、以下に説明するいずれの解
法においても、θi (k)を求めるにあたり、先ず、式
(3)の数値行列方程式に基づいて、θ4 ,θ5 が消去
された式を求める(ステップ(8))。次いで、そのθ
4 ,θ5 が消去された式に基づいて、固有値方程式もし
くは一般化固有値方程式を求める。(ステップ
(h))。その後、その固有値方程式もしくは一般化固
有値方程式に基づいてθ3 (k),θ2 (k),θ1 (k)を求め
(ステップ(i))、さらにその後θ4 (k),θ5 (k),θ
6 (k)を求める(ステップ(j))。
繰り返すことによりそのマニピュレータモデルについて
種々のシミュレーションを行なうことができる。次に、
式(3)の数値行列方程式に基づく、θi (k)の数値解
法、すなわち図1のステップ(f)の詳細について説明
する。図3は、図1のステップ(f)の詳細フローを示
した図である。以下では、いくつかの数値解法について
説明するが、いずれも、図3のステップ(g)〜ステッ
プ(j)に従う。すなわち、以下に説明するいずれの解
法においても、θi (k)を求めるにあたり、先ず、式
(3)の数値行列方程式に基づいて、θ4 ,θ5 が消去
された式を求める(ステップ(8))。次いで、そのθ
4 ,θ5 が消去された式に基づいて、固有値方程式もし
くは一般化固有値方程式を求める。(ステップ
(h))。その後、その固有値方程式もしくは一般化固
有値方程式に基づいてθ3 (k),θ2 (k),θ1 (k)を求め
(ステップ(i))、さらにその後θ4 (k),θ5 (k),θ
6 (k)を求める(ステップ(j))。
【0077】以下、この図3のフローに従ったいくつか
の数値解法について説明する。 (数値解法1) 式(3)の行列方程式からθ4 ,θ5 を消去するに当た
り、式(3)の左側から20×20の実行列Wを掛け
る。Wの各成分は、ランダムに生成する。WUnum ≡U
ran =[U16ran ,U4ran]T ,U16ran ∈R(16×
16),U4ran∈R(4×16),WVnum ≡Vran =
[V16ran ,V4ran]T ,V16ran ∈R(16×1
8),V4ran∈R(4×18)とする時、|det(U
16ran )|>ε(ε:微小定数)となるようにする。d
et(U16ran )≒0の時は、Wの成分をとり直す。こ
の時、式(3)は以下のようになる。
の数値解法について説明する。 (数値解法1) 式(3)の行列方程式からθ4 ,θ5 を消去するに当た
り、式(3)の左側から20×20の実行列Wを掛け
る。Wの各成分は、ランダムに生成する。WUnum ≡U
ran =[U16ran ,U4ran]T ,U16ran ∈R(16×
16),U4ran∈R(4×16),WVnum ≡Vran =
[V16ran ,V4ran]T ,V16ran ∈R(16×1
8),V4ran∈R(4×18)とする時、|det(U
16ran )|>ε(ε:微小定数)となるようにする。d
et(U16ran )≒0の時は、Wの成分をとり直す。こ
の時、式(3)は以下のようになる。
【0078】
【数49】
【0079】したがって
【数50】
【0080】これを、式(29)の残り4本の方程式に
代入することにより、θ4 ,θ5 が消去され、
代入することにより、θ4 ,θ5 が消去され、
【0081】
【数51】
【0082】が得られる。 (固有値方程式(一般化固有値方程式)の導出) V16ran=[xV16ran,1V16ran ],V4ran=[xV4ran,1V4ran], x V16ran ,1 V16ran ∈R(16×9), x V4ran,1 V4ran∈R(4×9) とする時、上記式(31)は、 [U4ranU16ran -1 1 V16ran −1 V4ran]ρ +x3 [U4ranU16ran -1 x V16ran −x V4ran]ρ=0 ……(32) と表される。この式(32)の両辺にそれぞれx1 x
2 ,x1 ,x2 を掛けることにより、さらに12本の方
程式が得られ、合計16本の方程式が揃い、以下のよう
な一般固有値方程式に纏められる。 G・ρ+x3 H・ρ=0 ……(33) G,H∈R(16×16) ρ∈C16 x3 ∈C
2 ,x1 ,x2 を掛けることにより、さらに12本の方
程式が得られ、合計16本の方程式が揃い、以下のよう
な一般固有値方程式に纏められる。 G・ρ+x3 H・ρ=0 ……(33) G,H∈R(16×16) ρ∈C16 x3 ∈C
【0083】
【数52】
【0084】 ρ=[x1 3x2 3,x1 3x2 2,x1 3x2 ,x1 3,x1 2x2 3,x1 2x2 2, x1 2x2 ,x1 2,x1 x2 3,x1 x2 2,x1 x2 ,x1 ,x2 3,x2 2, x2 ,1]T ここで、a,……,tは、 U4ranU16ran -1 1 V16ran − 1V4ran=[abcdefghj] U4ranU16ran -1 x V16ran − xV4ran=[klmnpqrst] a,b,c,d,e,f,g,h,j,k,l,m,
n,p,q,r,s,t∈R4 (∈R4 は、その左側の
記号が4次元の実数ベクトルであることをあらわす) で与えられる。|det(H)|>ε(ε:微小定数)
の場合には、以下のような固有値方程式となる。 H-1Gρ+x3 ρ=0 ……(36) (固有値方程式(一般化固有値方程式)の数値解法) |det(H)|>εの場合には、式(36)の固有値
方程式をQR法で解き、det(H)≒0の場合には、
式(33)の一般化固有値方程式をQZ法(Qで解き、
固有値と固有ベクトルを求める。QR法、QZ法に関し
ては、「Gene H. Golub, Charle
s F. van Loan, “Matrix Co
mputations”,The John Hopk
insUniversity Press」を参照され
たい。固有値、固有ベクトルの組は、複素解も含め、一
般に16通り存在する。固有ベクトルに関しては、16
番目の成分が1になるように規格化する。
n,p,q,r,s,t∈R4 (∈R4 は、その左側の
記号が4次元の実数ベクトルであることをあらわす) で与えられる。|det(H)|>ε(ε:微小定数)
の場合には、以下のような固有値方程式となる。 H-1Gρ+x3 ρ=0 ……(36) (固有値方程式(一般化固有値方程式)の数値解法) |det(H)|>εの場合には、式(36)の固有値
方程式をQR法で解き、det(H)≒0の場合には、
式(33)の一般化固有値方程式をQZ法(Qで解き、
固有値と固有ベクトルを求める。QR法、QZ法に関し
ては、「Gene H. Golub, Charle
s F. van Loan, “Matrix Co
mputations”,The John Hopk
insUniversity Press」を参照され
たい。固有値、固有ベクトルの組は、複素解も含め、一
般に16通り存在する。固有ベクトルに関しては、16
番目の成分が1になるように規格化する。
【0085】この時、固有値の値からx3 、固有ベクト
ルの第12成分、第15成分の値からx1 ,x2 の値が
求まる。従って、 θi (k) = 2arctan(xi (k) ) ……(37) i=1,2,3;k=1,……,16 により、第1、第2、第3関節角の値が求まる。 (θ4 (k) ,θ5 (k) ,θ6 (k) の算出) θ4 (k) ,θ5 (k) に関しては、式(30)からξを求
め、ベクトルξの第13〜第16成分の値を使ってci
(k) ,si (k) を求め、これらci (k) ,si (k) に合
致する角度θi (k) (i=4,5;k=1,……,1
6)を求める。θ6 (k) に関しては、 Cz,6 =A5 -1A4 -1A3 -1A2 -1A1 -1AhandCx,6 T ……(38) より、c6 (k) ,s6 (k) の値を求め、これらc6
(k) ,s6 (k) に合致する角度θ6 (k) を求める。
ルの第12成分、第15成分の値からx1 ,x2 の値が
求まる。従って、 θi (k) = 2arctan(xi (k) ) ……(37) i=1,2,3;k=1,……,16 により、第1、第2、第3関節角の値が求まる。 (θ4 (k) ,θ5 (k) ,θ6 (k) の算出) θ4 (k) ,θ5 (k) に関しては、式(30)からξを求
め、ベクトルξの第13〜第16成分の値を使ってci
(k) ,si (k) を求め、これらci (k) ,si (k) に合
致する角度θi (k) (i=4,5;k=1,……,1
6)を求める。θ6 (k) に関しては、 Cz,6 =A5 -1A4 -1A3 -1A2 -1A1 -1AhandCx,6 T ……(38) より、c6 (k) ,s6 (k) の値を求め、これらc6
(k) ,s6 (k) に合致する角度θ6 (k) を求める。
【0086】(数値解法2) 上述の数値解法1では、U16ran を正則化させるために
正方行列Wをランダムに生成させたが、ここでは、U
num を特異値分解し、以下のようにWを決定する。 QT Unum P = diag(σ1 …,σp )∈R(20×16) ……(39) Q∈R(20×20):直交行列 P∈R(20×16):直交行列 W=QT この時、U16ran は正則化する。以後の処理は、数値解
法1と同様である。
正方行列Wをランダムに生成させたが、ここでは、U
num を特異値分解し、以下のようにWを決定する。 QT Unum P = diag(σ1 …,σp )∈R(20×16) ……(39) Q∈R(20×20):直交行列 P∈R(20×16):直交行列 W=QT この時、U16ran は正則化する。以後の処理は、数値解
法1と同様である。
【0087】(数値解法3) 一般化固有値方程式の解法は、通常の固有値方程式の解
法に比べ、2.5倍から3倍の計算時間を要する。従っ
て、ここでは、一般化固有値方程式の直接的な解法をで
きるだけ避ける方法を採る。正方行列Wとして、数値解
法1と同様に各成分をランダムに生成させる。式(3
3)において、det(H)≒0の場合に、一般化固有
値方程式をQZ法で解く代わりに、次のような有理変換
を行なう。 x3 =(ax3 ’+b)/(cx3 ’+d) ……(40) この時、式(33)の一般化固有値方程式は以下のよう
になる。 G’・ρ+x3 ’H’・ρ=0 ……(41) G’=dG+bH H’=cG+aH G’,H’∈R(16×16) ρ∈C16 x3 ’∈C 多くの場合、|det(H’)|>εとなるため、次の
固有値方程式を解く。 H’-1G’・ρ+x3 ’ρ=0 ……(42) det(H’)≒0の場合には、(41)の一般化固有
値方程式を直接解く。以後の処理は、数値解法1と同様
である。
法に比べ、2.5倍から3倍の計算時間を要する。従っ
て、ここでは、一般化固有値方程式の直接的な解法をで
きるだけ避ける方法を採る。正方行列Wとして、数値解
法1と同様に各成分をランダムに生成させる。式(3
3)において、det(H)≒0の場合に、一般化固有
値方程式をQZ法で解く代わりに、次のような有理変換
を行なう。 x3 =(ax3 ’+b)/(cx3 ’+d) ……(40) この時、式(33)の一般化固有値方程式は以下のよう
になる。 G’・ρ+x3 ’H’・ρ=0 ……(41) G’=dG+bH H’=cG+aH G’,H’∈R(16×16) ρ∈C16 x3 ’∈C 多くの場合、|det(H’)|>εとなるため、次の
固有値方程式を解く。 H’-1G’・ρ+x3 ’ρ=0 ……(42) det(H’)≒0の場合には、(41)の一般化固有
値方程式を直接解く。以後の処理は、数値解法1と同様
である。
【0088】(数値解法4) 正方行列Wとして、数値解法2においてUnum を特異値
分解した時のQT を使う。以後の処理は、数値解法3と
同様である。以上の方法によりマニピュレータのシミュ
レートを高速に行なうことができる。このシミュレート
結果を例えば表示画面上にリアルタイムに表示してコン
ピュータグラフィックスの用に供したり、あるいは、こ
のシミュレート結果をハードウェアとしてのマニピュレ
ータに送り、そのマニピュレータを、リアルタイムに行
なったシミュレートどおりに動作させることができる。
次に、本発明の第2のマニピュレータシミュレート方法
の一実施形態について説明する。以下、この実施形態を
「実施形態2」と称する。実施形態2においても、図1
のフローがそのまま適合するため、ここでは再度、図1
のフローを参照して実施形態2について説明する。
分解した時のQT を使う。以後の処理は、数値解法3と
同様である。以上の方法によりマニピュレータのシミュ
レートを高速に行なうことができる。このシミュレート
結果を例えば表示画面上にリアルタイムに表示してコン
ピュータグラフィックスの用に供したり、あるいは、こ
のシミュレート結果をハードウェアとしてのマニピュレ
ータに送り、そのマニピュレータを、リアルタイムに行
なったシミュレートどおりに動作させることができる。
次に、本発明の第2のマニピュレータシミュレート方法
の一実施形態について説明する。以下、この実施形態を
「実施形態2」と称する。実施形態2においても、図1
のフローがそのまま適合するため、ここでは再度、図1
のフローを参照して実施形態2について説明する。
【0089】ここでは、先ず、ステップ(a)におい
て、前述した式(4)の行列方程式を求める。マニピュ
レータの順キネマテクス方程式は、前述した式(1
1)、すなわち Ahand = A1 ・A2 ・A3 ・A4 ・A5 ・A6 ……(11) で与えられる。ここでは、実施形態1と同様、上記式
(11)に基づいて、14本の基本方程式(2本のスカ
ラ方程式、4本のベクトル方程式)を導出し、次いでそ
れら14本の基本方程式を使ってさらに6本の基本方程
式を導出する。それら、合計20本の基本方程式をまと
めると、前述の式(4)の行列方程式が生成される。 (14本の基本方程式の導出) 式(11)を以下のように書き換える。 A3 ・A4 ・A5 = A2 -1 ・A1 -1 ・Ahand・A6 -1 ……(43) 式(43)を基に、先ず、以下の基本ベクトル方程式が
導かれる。 zA ≡A3 A4 A5 e3 =A2 -1 A1 -1 AhandA6 -1 e3 ≡zB ……(44) pA ≡A3 A4 A5 e4 =A2 -1 A1 -1 AhandA6 -1 e4 ≡pB ……(45)
て、前述した式(4)の行列方程式を求める。マニピュ
レータの順キネマテクス方程式は、前述した式(1
1)、すなわち Ahand = A1 ・A2 ・A3 ・A4 ・A5 ・A6 ……(11) で与えられる。ここでは、実施形態1と同様、上記式
(11)に基づいて、14本の基本方程式(2本のスカ
ラ方程式、4本のベクトル方程式)を導出し、次いでそ
れら14本の基本方程式を使ってさらに6本の基本方程
式を導出する。それら、合計20本の基本方程式をまと
めると、前述の式(4)の行列方程式が生成される。 (14本の基本方程式の導出) 式(11)を以下のように書き換える。 A3 ・A4 ・A5 = A2 -1 ・A1 -1 ・Ahand・A6 -1 ……(43) 式(43)を基に、先ず、以下の基本ベクトル方程式が
導かれる。 zA ≡A3 A4 A5 e3 =A2 -1 A1 -1 AhandA6 -1 e3 ≡zB ……(44) pA ≡A3 A4 A5 e4 =A2 -1 A1 -1 AhandA6 -1 e4 ≡pB ……(45)
【0090】ここで、ei (i=1,……,4)は単位
ベクトルである。式(44),式(45)において、第
4成分は、1=1,0=0といった自明の方程式となる
ため、以後は無視し、式(44),式(45)は第1、
第2、第3成分からなる3次元ベクトルを表すものとす
る。式(44),式(45)のp,zを基に、内積、外
積、ベクトル和をとることにより、以下の方程式が得ら
れる。 (pT ・p)A =(pT ・p)B ……(46) (pT ・z)A =(pT ・z)B ……(47) (pT ×z)A =(pT ×z)B ……(48) [p×(p×z)+(pT ・z)p]A =[p×(p×z)+(pT ・z)p]B ……(49) 式(49)は、以下のように書き換えることもできる。 [2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B ……(50)
ベクトルである。式(44),式(45)において、第
4成分は、1=1,0=0といった自明の方程式となる
ため、以後は無視し、式(44),式(45)は第1、
第2、第3成分からなる3次元ベクトルを表すものとす
る。式(44),式(45)のp,zを基に、内積、外
積、ベクトル和をとることにより、以下の方程式が得ら
れる。 (pT ・p)A =(pT ・p)B ……(46) (pT ・z)A =(pT ・z)B ……(47) (pT ×z)A =(pT ×z)B ……(48) [p×(p×z)+(pT ・z)p]A =[p×(p×z)+(pT ・z)p]B ……(49) 式(49)は、以下のように書き換えることもできる。 [2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B ……(50)
【0091】数式処理を使った精密な解析の結果、式
(44)から式(49)ないし式(50)の方程式は、
cosθi ,sinθi に対して線形であることがわか
る。p,zからなる他のコンビネーションは、線形性を
欠く。数式処理を適用するに当たり、式(44)〜式
(49)ないし式(50)の方程式は式(8),式
(9)を使って以下のように分解しておく。 (1)zA =zB zA =Cz,3 Cx,3 C4 C5 e3 =C2 T C1 T ChandC6 T e3 =zB ……(51) (2)pA =pB pA =Cz,3(Cx,3 C4 Cz,5・t5 +Cx,3 Cz,4 ・t4+t3 ) =−C2 T (C1 ChandC6 T ・t6 −C1 T ・thand +Cx,1 T ・t1 )−Cx,2 T ・t2 =pB ……(52) (3)(pT ・p)A =(pT ・p)B (pT ・p)A =t3 T ・t3 +2t3 T Cx,3 Cz,4 ・t4 +2t3 T Cx,3 C4 Cz,5 ・t5 +t4 T ・t4 +2t4 T Cx,4 Cz,5 ・t5 +t5 T ・t5 =t2 T ・t2 +2t2 T Cz,2 T Cx,1 T ・t1 −2t2 T Cz,2 T C1 T ・thand +2t2 T Cz,2 T C1 T ・ChandCx,6 T ・t6 +t1 T ・t1 −2t1 T Cz,1 T ・thand +2t1 T Cz,1 T ChandCx,6 T ・t6 +thand T ・thand −2thand T ChandCx,6 T ・t6 +t6 T ・t6 =(pT ・p)B ……(53) (4)(pT ・z)A =(pT ・z)B =(zT ・p)A =e3 T ・Cx,5 T・t5 +e3 TC5 T Cx,4 T・t4 +e3 T ・C5 T C4 T Cx3 T ・t3 =−e3 T t6 +e3 T C6 Chand T ・thand −e3 T C6 Chand T Cz,1 ・t1 −e3 T C6 Chand T C1 Cz,2 ・t2 =(zT ・p)B =(pT ・z)B ……(54) (5)(pT ×z)A =(pT ×z)B (pT ×z)A =Cz,3 Cx,3 C4 Cz,5 (t5 ×Cx,5 e3 ) +Cz,3 Cx,3 Cz,4 (t4 ×Cx,4 C5 e3 ) +Cz,3 (t3 ×Cx,3 C4 C5 e3 ) =−C2 TC1 TChand T Cx,6 T(t6 ×Cz,6 Te3 ) +C2 T C1 T (thand×ChandC6 T e3 ) −C2 T Cx,1 T(t1×Cz,1 TChandC6 Te3 ) −Cx,2 T(t2 ×Cz,2 TC1 T ChandC6 Te3 ) =(pT ×z)B ……(55) (6)[2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B [2(pT ・z)p−(pT ・p)z]A =2(pT ・z)A Cz,3 (Cx,3 C4 Cz,5 ・t5 +Cx,3 Cz,4 ・t4 +t3 )−(pT ・p)A Cz3Cx3C4 C5 e3 =2(pT ・z)B Cx,2 T (Cz,2 T C1 T ChandC6 T ・t6 −Cz,2 TC1 T ・thand+Cz,2 T Cx,1 T ・t1 +t2 ) −(pT ・p)B C2 T C1 T ChandC6 T e3 =[2(pT ・z)p−(pT ・p)z]B ……(56)
(44)から式(49)ないし式(50)の方程式は、
cosθi ,sinθi に対して線形であることがわか
る。p,zからなる他のコンビネーションは、線形性を
欠く。数式処理を適用するに当たり、式(44)〜式
(49)ないし式(50)の方程式は式(8),式
(9)を使って以下のように分解しておく。 (1)zA =zB zA =Cz,3 Cx,3 C4 C5 e3 =C2 T C1 T ChandC6 T e3 =zB ……(51) (2)pA =pB pA =Cz,3(Cx,3 C4 Cz,5・t5 +Cx,3 Cz,4 ・t4+t3 ) =−C2 T (C1 ChandC6 T ・t6 −C1 T ・thand +Cx,1 T ・t1 )−Cx,2 T ・t2 =pB ……(52) (3)(pT ・p)A =(pT ・p)B (pT ・p)A =t3 T ・t3 +2t3 T Cx,3 Cz,4 ・t4 +2t3 T Cx,3 C4 Cz,5 ・t5 +t4 T ・t4 +2t4 T Cx,4 Cz,5 ・t5 +t5 T ・t5 =t2 T ・t2 +2t2 T Cz,2 T Cx,1 T ・t1 −2t2 T Cz,2 T C1 T ・thand +2t2 T Cz,2 T C1 T ・ChandCx,6 T ・t6 +t1 T ・t1 −2t1 T Cz,1 T ・thand +2t1 T Cz,1 T ChandCx,6 T ・t6 +thand T ・thand −2thand T ChandCx,6 T ・t6 +t6 T ・t6 =(pT ・p)B ……(53) (4)(pT ・z)A =(pT ・z)B =(zT ・p)A =e3 T ・Cx,5 T・t5 +e3 TC5 T Cx,4 T・t4 +e3 T ・C5 T C4 T Cx3 T ・t3 =−e3 T t6 +e3 T C6 Chand T ・thand −e3 T C6 Chand T Cz,1 ・t1 −e3 T C6 Chand T C1 Cz,2 ・t2 =(zT ・p)B =(pT ・z)B ……(54) (5)(pT ×z)A =(pT ×z)B (pT ×z)A =Cz,3 Cx,3 C4 Cz,5 (t5 ×Cx,5 e3 ) +Cz,3 Cx,3 Cz,4 (t4 ×Cx,4 C5 e3 ) +Cz,3 (t3 ×Cx,3 C4 C5 e3 ) =−C2 TC1 TChand T Cx,6 T(t6 ×Cz,6 Te3 ) +C2 T C1 T (thand×ChandC6 T e3 ) −C2 T Cx,1 T(t1×Cz,1 TChandC6 Te3 ) −Cx,2 T(t2 ×Cz,2 TC1 T ChandC6 Te3 ) =(pT ×z)B ……(55) (6)[2(pT ・z)p−(pT ・p)z]A =[2(pT ・z)p−(pT ・p)z]B [2(pT ・z)p−(pT ・p)z]A =2(pT ・z)A Cz,3 (Cx,3 C4 Cz,5 ・t5 +Cx,3 Cz,4 ・t4 +t3 )−(pT ・p)A Cz3Cx3C4 C5 e3 =2(pT ・z)B Cx,2 T (Cz,2 T C1 T ChandC6 T ・t6 −Cz,2 TC1 T ・thand+Cz,2 T Cx,1 T ・t1 +t2 ) −(pT ・p)B C2 T C1 T ChandC6 T e3 =[2(pT ・z)p−(pT ・p)z]B ……(56)
【0092】(基本方程式の性質) 式(51)から式(56)の基本方程式は以下の性質を
有する。 (a)マニピュレータ先端の位置・姿勢を表すマトリク
スAhandの各要素は、右辺のみに表れる。 (b)全ての方程式はθ6 に依存しない。 なぜならば、式(51)から式(56)の方程式におい
てθ6 は、C6 T e3=Cx,6 T Cz,6 T e3 の形で表
れるが、Cz,6 T e3 =[0 0 1]Tである。 (c)z3 ,p3 ,pT ・z,pT ・p,(pT ×z)
3 ,[2(pT ・z)p−(pT ・p)z]3 は、θ3
に依存しない。 なぜならば、pT ・z,pT ・pはCz,3 依存性をもた
ない。z3 ,p3 ,(pT ×z)3 ,[2(pT ・z)
p−(pT ・p)z]3 に関しては、θ3 は、常にe3
T Cz,3 の形で表れるが、e3 T Cz,3 =e3 T であ
る。 (d)z1 ,z2 ,p1 ,p2 ,(pT ×z)1 ,(p
T ×z)2 ,[2(pT ・z)p−(pT ・p)z]
1 ,[2(pT ・z)p−(pT ・p)z]2 は、ta
n(θ3 /2)に対して線形である。 なぜならば、xi =tan(θi /2)とする時、 cosθi =(1−xi 2 )/(1+xi 2 ), sinθi =2xi /(1+xi 2 ) X3 - ・Cz,3 =X3 +
有する。 (a)マニピュレータ先端の位置・姿勢を表すマトリク
スAhandの各要素は、右辺のみに表れる。 (b)全ての方程式はθ6 に依存しない。 なぜならば、式(51)から式(56)の方程式におい
てθ6 は、C6 T e3=Cx,6 T Cz,6 T e3 の形で表
れるが、Cz,6 T e3 =[0 0 1]Tである。 (c)z3 ,p3 ,pT ・z,pT ・p,(pT ×z)
3 ,[2(pT ・z)p−(pT ・p)z]3 は、θ3
に依存しない。 なぜならば、pT ・z,pT ・pはCz,3 依存性をもた
ない。z3 ,p3 ,(pT ×z)3 ,[2(pT ・z)
p−(pT ・p)z]3 に関しては、θ3 は、常にe3
T Cz,3 の形で表れるが、e3 T Cz,3 =e3 T であ
る。 (d)z1 ,z2 ,p1 ,p2 ,(pT ×z)1 ,(p
T ×z)2 ,[2(pT ・z)p−(pT ・p)z]
1 ,[2(pT ・z)p−(pT ・p)z]2 は、ta
n(θ3 /2)に対して線形である。 なぜならば、xi =tan(θi /2)とする時、 cosθi =(1−xi 2 )/(1+xi 2 ), sinθi =2xi /(1+xi 2 ) X3 - ・Cz,3 =X3 +
【0093】
【数53】
【0094】が成立する。z,p,pT ×z,2(pT
・z)p−(pT ・p)zにおいて、左からX3 -を掛け
ることにより、上記の結果を得る。 (e)θ1 ,θ2 ,θ4 ,θ5 は、cosθi ,sin
θi (i=1,2,4,5)に対して常に線形で表れ、
(cosθi )2 ,(sinθi )2 ,cosθi ・s
inθi の項は表れない。なぜならば、z,p,pT ・
p,pT ・z,pT ×zにおいて、Cz,i は各々一回ず
つしか表れない。また、2(pT ・z)p−(pT ・
p)zに関しては、p,z,pT ・z,pT ・pの値を
代入し、数式処理を使い、(cosθi )2+(sin
θi )2 =1,(cosαi )2 +(sinαi )2 =
1に注意し整理すると、線形であることが判明する。 (基本方程式の行列形式) 式(51)から式(56)の基本方程式は、以下のよう
な行列形式にまとめることができる。
・z)p−(pT ・p)zにおいて、左からX3 -を掛け
ることにより、上記の結果を得る。 (e)θ1 ,θ2 ,θ4 ,θ5 は、cosθi ,sin
θi (i=1,2,4,5)に対して常に線形で表れ、
(cosθi )2 ,(sinθi )2 ,cosθi ・s
inθi の項は表れない。なぜならば、z,p,pT ・
p,pT ・z,pT ×zにおいて、Cz,i は各々一回ず
つしか表れない。また、2(pT ・z)p−(pT ・
p)zに関しては、p,z,pT ・z,pT ・pの値を
代入し、数式処理を使い、(cosθi )2+(sin
θi )2 =1,(cosαi )2 +(sinαi )2 =
1に注意し整理すると、線形であることが判明する。 (基本方程式の行列形式) 式(51)から式(56)の基本方程式は、以下のよう
な行列形式にまとめることができる。
【0095】
【数54】
【0096】 U’,V’∈R(14×18),ξ’,ρ∈C9 ξ’=[s1 ・s2 s1 ・c2 ,c1 ・s2 ,c1 ・c2 ,s1 ,c1 , s2 ,c2 ,1]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T U’,V’の成分は、式(51)から式(56)を丹念
に数式処理し、(cosθi )2 +(sinθi )2 =
1(i=1,2),(cosαi )2 +sinαi )2
=1(i=1,……,6),cosθi =(1−xi
2 )/(1+xi 2 ),sinθi =2xi /(1+xi
2 )(i=3,4,5)を代入し、得られた代数方程
式においてξ’,ρの各項に対する係数を求めることに
より得られる。U’,V’の各成分は、ti およびA
handの成分を変数とする多変数多項式である。尚、本実
施形態2では、前述した実施形態1と比べi=1,2と
i=4,5とが入れ代わっている。
に数式処理し、(cosθi )2 +(sinθi )2 =
1(i=1,2),(cosαi )2 +sinαi )2
=1(i=1,……,6),cosθi =(1−xi
2 )/(1+xi 2 ),sinθi =2xi /(1+xi
2 )(i=3,4,5)を代入し、得られた代数方程
式においてξ’,ρの各項に対する係数を求めることに
より得られる。U’,V’の各成分は、ti およびA
handの成分を変数とする多変数多項式である。尚、本実
施形態2では、前述した実施形態1と比べi=1,2と
i=4,5とが入れ代わっている。
【0097】(基本方程式の追加) z3 ,p3 ,pT ・z,pT ・p,(pT ×z)3 ,
[2(pT ・z)p−(pT ・p)z]3 はθ3 に依存
しないので、x3 =tan(θ3 /2)を掛け、線形和
を取ることにより以下の6本の方程式を得ることができ
る。 [x3 z3 +p3 ]A =[x3 z3 +p3 ]B ……(59) [x3 p3 +z3 ]A =[x3 p3 +z3 ]B ……(60) [x3 pT ・p+pT ・z]A =[x3 pT ・p+pT ・z]B ……(61) [x3 pT ・z+pT ・p]A =[x3 pT ・z+pT ・p]B ……(62) [x3 (pT ×z)3 +z3 ]A =[x3 (pT ×z)3 +z3 ]B ……(63) [x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]A =[x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]B ……(64) 式(59)から式(64)を式(58)と同様にまと
め、左辺の一部を右辺に移項し、式(58)と一緒に整
理すると、前述した式(4)の行列方程式が得られる。
[2(pT ・z)p−(pT ・p)z]3 はθ3 に依存
しないので、x3 =tan(θ3 /2)を掛け、線形和
を取ることにより以下の6本の方程式を得ることができ
る。 [x3 z3 +p3 ]A =[x3 z3 +p3 ]B ……(59) [x3 p3 +z3 ]A =[x3 p3 +z3 ]B ……(60) [x3 pT ・p+pT ・z]A =[x3 pT ・p+pT ・z]B ……(61) [x3 pT ・z+pT ・p]A =[x3 pT ・z+pT ・p]B ……(62) [x3 (pT ×z)3 +z3 ]A =[x3 (pT ×z)3 +z3 ]B ……(63) [x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]A =[x3 {2(pT ・z)p−(pT ・p)z]3 }+p3 ]B ……(64) 式(59)から式(64)を式(58)と同様にまと
め、左辺の一部を右辺に移項し、式(58)と一緒に整
理すると、前述した式(4)の行列方程式が得られる。
【0098】
【数55】
【0099】 U∈R(20×16),V∈R(20×18),ξ∈C16,ρ∈C9 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T 尚、この実施形態2においても、前述した実施形態1と
同様、パラメータtiとして前述の式(10)、すなわ
ち、D−Hパラメータ ti =[ai 0 di ]T ……(10) を採用してもよく、この式(10)に代わり、パラメー
タti としていわゆる修正D−Hパラメータ、すなわ
ち、 ti =[ξi ηi ζi +γi ]T ……(28) を採用してもよい。
同様、パラメータtiとして前述の式(10)、すなわ
ち、D−Hパラメータ ti =[ai 0 di ]T ……(10) を採用してもよく、この式(10)に代わり、パラメー
タti としていわゆる修正D−Hパラメータ、すなわ
ち、 ti =[ξi ηi ζi +γi ]T ……(28) を採用してもよい。
【0100】以上が、本実施形態2における、図1のス
テップ(a)の説明である。本実施形態2における、ス
テップ(b)の過程は、前述した実施形態1においてパ
ラメータti の各成分を式(1)に数値代入したことに
代わり、パラメータti の各成分を式(4)に数値代入
することが異なるだけであり、詳細説明は省略する。パ
ラメータti の各成分を式(4)に数値代入することに
より、Ahandの成分を変数とする、前述の式(5)の行
列方程式、すなわち、
テップ(a)の説明である。本実施形態2における、ス
テップ(b)の過程は、前述した実施形態1においてパ
ラメータti の各成分を式(1)に数値代入したことに
代わり、パラメータti の各成分を式(4)に数値代入
することが異なるだけであり、詳細説明は省略する。パ
ラメータti の各成分を式(4)に数値代入することに
より、Ahandの成分を変数とする、前述の式(5)の行
列方程式、すなわち、
【0101】
【数56】
【0102】 U∈R(20×16),V∈R(20×18),ξ∈C16,ρ∈C9 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T が導出される。数式処理を用いた行列方程式は、上記式
(5)まで、すなわち、図1のステップ(c)までであ
る。以後の過程は、全て数値行列を取り扱う。すなわ
ち、マニピュレータ先端の位置と姿勢を表わすAhandの
各成分を式(5)に数値代入することにより(図1ステ
ップ(d))、数値行列Unum ,Vnumによる数値行列
方程式を求め(図1ステップ(e))、その数値行列方
程式に基づいて各関節iの回転角θi (k)(kは、θi の
複数角を相互に識別する最大16までの正の整数をあら
わす)を求める(図1ステップ(f))。この数値行列
方程式は前述の式(6)、すなわち、
(5)まで、すなわち、図1のステップ(c)までであ
る。以後の過程は、全て数値行列を取り扱う。すなわ
ち、マニピュレータ先端の位置と姿勢を表わすAhandの
各成分を式(5)に数値代入することにより(図1ステ
ップ(d))、数値行列Unum ,Vnumによる数値行列
方程式を求め(図1ステップ(e))、その数値行列方
程式に基づいて各関節iの回転角θi (k)(kは、θi の
複数角を相互に識別する最大16までの正の整数をあら
わす)を求める(図1ステップ(f))。この数値行列
方程式は前述の式(6)、すなわち、
【0103】
【数57】
【0104】 U∈R(20×16),V∈R(20×18),ξ∈C16,ρ∈C9 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T であらわされる。
【0105】図1のステップ(d)〜ステップ(f)を
繰り返すことによりそのマニピュレータモデルについて
種々のシミュレーションを行なうことができる。次に、
式(6)の数値行列方程式に基づく、θi (k)の数値解
法、すなわち図1のステップ(f)の詳細について説明
する。図4は、実施形態2に関する図1のステップ
(f)の詳細フローを示した図である。以下では、いく
つかの数値解法について説明するが、いずれも、図4の
ステップ(k)〜ステップ(n)に従う。すなわち、以
下に説明するいずれの解法においても、θi (k)を求める
にあたり、先ず、式(6)の数値行列方程式に基づい
て、θ1 ,θ2 が消去された式を求める(ステップ
(k))。次いで、そのθ1 ,θ2 が消去された式に基
づいて、固有値方程式もしくは一般化固有値方程式を求
める(ステップ(l))。その後、その固有値方程式も
しくは一般化固有値方程式に基づいてθ3 (k),θ4 (k),
θ5 (k)を求め(ステップ(m))、さらにその後
θ1 (k),θ2 (k),θ6 (k)を求める(ステップ(n))。 この実施形態2が、前述した実施形態1と大きく異なる
点は、θ3 (k),θ4 (k),θ5 (k)を先に求め、次に
θ1 (k),θ2 (k),θ6 (k)を求めるところにある。両者の
違いは、端的には、U,Vマトリクスの成分の違いとし
て表れる。一般に、この実施形態2では、前述した実施
形態1に比べ、行列U,Vの階数が高く、数値計算を行
う場合に安定性がある。
繰り返すことによりそのマニピュレータモデルについて
種々のシミュレーションを行なうことができる。次に、
式(6)の数値行列方程式に基づく、θi (k)の数値解
法、すなわち図1のステップ(f)の詳細について説明
する。図4は、実施形態2に関する図1のステップ
(f)の詳細フローを示した図である。以下では、いく
つかの数値解法について説明するが、いずれも、図4の
ステップ(k)〜ステップ(n)に従う。すなわち、以
下に説明するいずれの解法においても、θi (k)を求める
にあたり、先ず、式(6)の数値行列方程式に基づい
て、θ1 ,θ2 が消去された式を求める(ステップ
(k))。次いで、そのθ1 ,θ2 が消去された式に基
づいて、固有値方程式もしくは一般化固有値方程式を求
める(ステップ(l))。その後、その固有値方程式も
しくは一般化固有値方程式に基づいてθ3 (k),θ4 (k),
θ5 (k)を求め(ステップ(m))、さらにその後
θ1 (k),θ2 (k),θ6 (k)を求める(ステップ(n))。 この実施形態2が、前述した実施形態1と大きく異なる
点は、θ3 (k),θ4 (k),θ5 (k)を先に求め、次に
θ1 (k),θ2 (k),θ6 (k)を求めるところにある。両者の
違いは、端的には、U,Vマトリクスの成分の違いとし
て表れる。一般に、この実施形態2では、前述した実施
形態1に比べ、行列U,Vの階数が高く、数値計算を行
う場合に安定性がある。
【0106】以下、この図4のフローに従ったいくつか
の数値解法について説明する。 (数値解法5) (θ1 ,θ2 の消去) 式(6)の行列方程式からθ1 ,θ2 を消去するに当た
り、式(6)の左側から20×20の実行列Wを掛け
る。Wの各成分は、ランダムに生成する。WUnum ≡U
ran =[U16ran ,U4ran]T ,U16ran ∈R(16×
16),U4ran∈R(4×16),WVnum ≡Vran =
[V16ran ,V4ran]T ,V16ran ∈R(16×1
8),V4ran∈R(4×18)とする時、|det(U
16ran )|>ε(ε:微小定数)となるようにする。d
et(U16ran )≒0の時は、Wの成分をとり直す。こ
の時、式(6)は以下のようになる。
の数値解法について説明する。 (数値解法5) (θ1 ,θ2 の消去) 式(6)の行列方程式からθ1 ,θ2 を消去するに当た
り、式(6)の左側から20×20の実行列Wを掛け
る。Wの各成分は、ランダムに生成する。WUnum ≡U
ran =[U16ran ,U4ran]T ,U16ran ∈R(16×
16),U4ran∈R(4×16),WVnum ≡Vran =
[V16ran ,V4ran]T ,V16ran ∈R(16×1
8),V4ran∈R(4×18)とする時、|det(U
16ran )|>ε(ε:微小定数)となるようにする。d
et(U16ran )≒0の時は、Wの成分をとり直す。こ
の時、式(6)は以下のようになる。
【0107】
【数58】
【0108】したがって
【数59】
【0109】これを、式(65)の残り4本の方程式に
代入することにより、θ1 ,θ2 が消去され、
代入することにより、θ1 ,θ2 が消去され、
【0110】
【数60】
【0111】が得られる。 (固有値方程式(一般化固有値方程式)の導出) V16ran=[x V16ran 1V16ran ],V4ran=[xV4ran,1V4ran], x V16ran ,1 V16ran ∈R(16×9), x V4ran,1 V4ran∈R(4×9) とする時、上記式(67)は、 [U4ranU16ran -1 1 V16ran −1 V4ran]ρ +x3 [U4ranU16ran -1 x V16ran −x V4ran]ρ=0 ……(68) と表される。この式(68)の両辺にそれぞれx4 x
5 ,x4 ,x5 を掛けることにより、さらに12本の方
程式が得られ、合計16本の方程式が揃い、以下のよう
な一般固有値方程式に纏められる。 G・ρ+x3 H・ρ=0 ……(69) G,H∈R(16×16) ρ∈C16 x3 ∈C
5 ,x4 ,x5 を掛けることにより、さらに12本の方
程式が得られ、合計16本の方程式が揃い、以下のよう
な一般固有値方程式に纏められる。 G・ρ+x3 H・ρ=0 ……(69) G,H∈R(16×16) ρ∈C16 x3 ∈C
【0112】
【数61】
【0113】 ρ=[x4 3x5 3,x4 3x5 2,x4 3x5 ,x4 3,x4 2x5 3,x4 2x5 2, x4 2x5 ,x4 2,x4 x5 3,x4 x5 2,x4 x5 ,x4 x5 3,x5 2, x5 ,1]T ここで、a,……,tは、 U4ranU16ran -1 1 V16ran−1V4ran=[abcdefghj] U4ranU16ran -1 x V16ran− xV4ran=[klmnpqrst] a,b,c,d,e,f,g,h,j,k,l,m,n,p,q,r,s,t ∈R4 で与えられる。|det(H)|>ε(ε:微小定数)
の場合には、以下のような固有値方程式となる。 H-1Gρ+X3 ρ=0 ……(72) (固有値方程式(一般化固有値方程式)の数値解法) |det(H)|>εの場合には、式(72)の固有値
方程式をQR法で解き、det(H)≒0の場合には、
式(69)の一般化固有値方程式をQZ法で解き、固有
値と固有ベクトルを求める。QR法、QZ法に関して
は、前掲の、「Gene H. Golub, Cha
rles F. van Loan, “Matrix
Computations”,The John H
opkins University Press」を
参照されたい。固有値、固有ベクトルの組は、複素解も
含め、一般に16通り存在する。固有ベクトルに関して
は、16番目の成分が1になるように規格化する。この
時、固有値の値からx3 、固有ベクトルの第12成分、
第15成分の値からx4 ,x5 の値が求まる。従って、 θi (k) = 2arctan(xi (k) ) ……(73) i=3,4,5;k=1,……,16 により、第3、第4、第5関節角の値が求まる。 (θ1 (k) ,θ2 (k) ,θ6 (k) の算出) θ1 (k) ,θ2 (k) に関しては、式(66)からξを求
め、ベクトルξの第13〜第16成分の値を使ってci
(k) ,si (k) を求め、これらci (k) ,si (k) に合
致する角度θi (k)(i=1,2;k=1,……,16) を求める。θ6 (k) に関しては、 Cz,6 =A5 -1A4 -1A3 -1A2 -1A1 -1AhandCx,6 T ……(74) より、c6 (k) ,s6 (k) の値を求め、これらc6
(k) ,s6 (k) に合致する角度θ6 (k)を求める。
の場合には、以下のような固有値方程式となる。 H-1Gρ+X3 ρ=0 ……(72) (固有値方程式(一般化固有値方程式)の数値解法) |det(H)|>εの場合には、式(72)の固有値
方程式をQR法で解き、det(H)≒0の場合には、
式(69)の一般化固有値方程式をQZ法で解き、固有
値と固有ベクトルを求める。QR法、QZ法に関して
は、前掲の、「Gene H. Golub, Cha
rles F. van Loan, “Matrix
Computations”,The John H
opkins University Press」を
参照されたい。固有値、固有ベクトルの組は、複素解も
含め、一般に16通り存在する。固有ベクトルに関して
は、16番目の成分が1になるように規格化する。この
時、固有値の値からx3 、固有ベクトルの第12成分、
第15成分の値からx4 ,x5 の値が求まる。従って、 θi (k) = 2arctan(xi (k) ) ……(73) i=3,4,5;k=1,……,16 により、第3、第4、第5関節角の値が求まる。 (θ1 (k) ,θ2 (k) ,θ6 (k) の算出) θ1 (k) ,θ2 (k) に関しては、式(66)からξを求
め、ベクトルξの第13〜第16成分の値を使ってci
(k) ,si (k) を求め、これらci (k) ,si (k) に合
致する角度θi (k)(i=1,2;k=1,……,16) を求める。θ6 (k) に関しては、 Cz,6 =A5 -1A4 -1A3 -1A2 -1A1 -1AhandCx,6 T ……(74) より、c6 (k) ,s6 (k) の値を求め、これらc6
(k) ,s6 (k) に合致する角度θ6 (k)を求める。
【0114】(数値解法6) 数値解法5ではU16ran を正則化させるために正方行列
Wをランダムに生成させたが、ここでは、Unum を特異
値分解し、以下のようにWを決定する。 QT Unum P = diag(σ1 …,σp )∈R(20×16) ……(75) Q∈R(20×20):直交行列 P∈R(20×16):直交行列 W=QT この時、U16ran は正則化する。以後の処理は、数値解
法5と同様である。
Wをランダムに生成させたが、ここでは、Unum を特異
値分解し、以下のようにWを決定する。 QT Unum P = diag(σ1 …,σp )∈R(20×16) ……(75) Q∈R(20×20):直交行列 P∈R(20×16):直交行列 W=QT この時、U16ran は正則化する。以後の処理は、数値解
法5と同様である。
【0115】(数値解法7) 一般化固有値方程式の解法は、通常の固有値方程式の解
法に比べ、2.5倍から3倍の計算時間を要する。従っ
て、ここでは、一般化固有値方程式の直接的な解法をで
きるだけ避ける方法を採る。正方行列Wとして、数値解
法5と同様に各成分をランダムに生成させる。式(6
9)において、det(H)≒0の場合に、一般化固有
値方程式をQZ法で解く代わりに、次のような有理変換
を行なう。 x3 =(ax3 ’+b)/(cx3 ’7+d) ……(76) この時、式(69)の一般化固有値方程式は以下のよう
になる。 G’・ρ+x3 ’H’・ρ=0 ……(77) G’=dG+bH H’=cG+aH G’,H’∈R(16×16) ρ∈C16 x3 ’∈C 多くの場合、|det(H’)|>εとなるため、次の
固有値方程式を解く、 H’-1G’・ρ+x3 ’ρ=0 ……(78) det(H’)≒0の場合には、式(77)の一般化固
有値方程式を直接解く。以後の処理は、数値解法5と同
様である。
法に比べ、2.5倍から3倍の計算時間を要する。従っ
て、ここでは、一般化固有値方程式の直接的な解法をで
きるだけ避ける方法を採る。正方行列Wとして、数値解
法5と同様に各成分をランダムに生成させる。式(6
9)において、det(H)≒0の場合に、一般化固有
値方程式をQZ法で解く代わりに、次のような有理変換
を行なう。 x3 =(ax3 ’+b)/(cx3 ’7+d) ……(76) この時、式(69)の一般化固有値方程式は以下のよう
になる。 G’・ρ+x3 ’H’・ρ=0 ……(77) G’=dG+bH H’=cG+aH G’,H’∈R(16×16) ρ∈C16 x3 ’∈C 多くの場合、|det(H’)|>εとなるため、次の
固有値方程式を解く、 H’-1G’・ρ+x3 ’ρ=0 ……(78) det(H’)≒0の場合には、式(77)の一般化固
有値方程式を直接解く。以後の処理は、数値解法5と同
様である。
【0116】(数値解法8) 正方行列Wとして、数値解法6においてUnum を特異値
分解した時のQT を使う。以後の処理は、数値解法7と
同様である。 (数値解法9) ここでは、前述した式(6)から、図3のステップ
(k)でθ1 ,θ2 を消去する過程において、式(6
6)を経由する代わりに式(6)からダイレクトにξを
求める。式(6)において、Unum は正方行列ではない
が、その階数は16である。従って、Unum にガウスの
消去法を適用することにより、行列Unum は、以下のよ
うに変換できる。
分解した時のQT を使う。以後の処理は、数値解法7と
同様である。 (数値解法9) ここでは、前述した式(6)から、図3のステップ
(k)でθ1 ,θ2 を消去する過程において、式(6
6)を経由する代わりに式(6)からダイレクトにξを
求める。式(6)において、Unum は正方行列ではない
が、その階数は16である。従って、Unum にガウスの
消去法を適用することにより、行列Unum は、以下のよ
うに変換できる。
【0117】
【数62】
【0118】式(79)の消去法を式(6)の両辺に適
用することにより、式(6)は以下のように変換でき
る。
用することにより、式(6)は以下のように変換でき
る。
【0119】
【数63】
【0120】式(80)から下式を導くことができる。
【0121】
【数64】
【0122】このV’4numを V’4num=[ xV’4ran, 1V’4ran]x V’4ran, 1V’4ran∈R(4×9) と分解し、1 V’4ran=[abcdefghj]x V’4ran=[klmnpqrst] とする時、式(69)〜式(71)と同様の固有値方程
式が得られる。以後の処理は、数値解法5と同様であ
る。上記の数値解法9を採用すると、数値解法5から数
値解法8の方法に比べ、行列Hの正則性(det(H)
≠0)が極めて良く保たれ、固有値方程式の解が精度よ
く求まる。
式が得られる。以後の処理は、数値解法5と同様であ
る。上記の数値解法9を採用すると、数値解法5から数
値解法8の方法に比べ、行列Hの正則性(det(H)
≠0)が極めて良く保たれ、固有値方程式の解が精度よ
く求まる。
【0123】(数値解法10) 数値解法9で求めたHの正則性が保たれない時に、式
(76)の有理変換を行なう。以後の処理は、数値解法
7と同等である。以上の実施形態2においても、前述し
た実施形態1と同様、マニピュレータのシミュレートが
高速化される。したがって、コンピュータグラフィック
スにおいてリアルタイムでシミュレートを行いながら表
示画面上にそのシミュレート結果を表示したり、リアル
タイムにシミュレートを行ないながらハードウェアとし
てのマニピュレータを制御することが可能となる。
(76)の有理変換を行なう。以後の処理は、数値解法
7と同等である。以上の実施形態2においても、前述し
た実施形態1と同様、マニピュレータのシミュレートが
高速化される。したがって、コンピュータグラフィック
スにおいてリアルタイムでシミュレートを行いながら表
示画面上にそのシミュレート結果を表示したり、リアル
タイムにシミュレートを行ないながらハードウェアとし
てのマニピュレータを制御することが可能となる。
【0124】図5は、本発明の第1のマニピュレータシ
ミュレート装置の一実施形態を表わすブロック図であ
る。以下、この実施形態を「実施形態3」と称する。演
算アルゴリズムについては前述した実施形態1,実施形
態2の説明中で詳述したため、この実施形態3及び後述
する各実施形態においては、演算アルゴリズムの詳細説
明は省略し、必要に応じて前述した数式の番号を引用す
るにとどめる。この図5に示すマニピュレータシミュレ
ート装置には、前述した(1)の行列方程式を記憶して
おく記憶手段11が備えられている。この記憶手段11
は、式(1)の行列方程式を固定的に記憶しておくもの
であってもよいが、そうである必要はなく、例えばフロ
ッピィディスク等の外部記憶媒体から式(1)の行列方
程式をロードして記憶するものであってもよい。
ミュレート装置の一実施形態を表わすブロック図であ
る。以下、この実施形態を「実施形態3」と称する。演
算アルゴリズムについては前述した実施形態1,実施形
態2の説明中で詳述したため、この実施形態3及び後述
する各実施形態においては、演算アルゴリズムの詳細説
明は省略し、必要に応じて前述した数式の番号を引用す
るにとどめる。この図5に示すマニピュレータシミュレ
ート装置には、前述した(1)の行列方程式を記憶して
おく記憶手段11が備えられている。この記憶手段11
は、式(1)の行列方程式を固定的に記憶しておくもの
であってもよいが、そうである必要はなく、例えばフロ
ッピィディスク等の外部記憶媒体から式(1)の行列方
程式をロードして記憶するものであってもよい。
【0125】この記憶手段11に格納された式(1)の
行列方程式は、パラメータ数値代入手段12に読み出さ
れ、パラメータ数値代入手段12では、読み出された式
(1)の行列方程式に、入力手段13から入力されたパ
ラメータti の各成分の数値を代入し、これにより、前
述した式(2)の行列方程式を生成する。入力手段13
は、例えばキーボード等、パラメータti の各成分をマ
ニュアルで入力するものであってもよいが、それに限ら
れず、例えば予め記憶されたパラメータti の各成分の
数値情報を読み出してパラメータ数値代入手段12にロ
ードするもの、あるいは通信回線等を経由して外部から
送信されてきたパラメータti の各成分の数値情報を受
信してパラメータ数値代入手段12に渡すものであって
もよい。パラメータ数値代入手段12で生成された式
(2)の行列方程式は、数値行列方程式導出手段14に
入力される。この数値行列方程式導出手段14には、入
力手段15から入力されたAhandの各成分(各要素)の
数値を代入することにより、前述した式(3)の数値行
列方程式を生成する。この入力手段15も、前述した入
力手段13と同様、種々の構成をとることができる。ま
た、この入力手段15は、物理的には、前述した入力手
段13と同一のものであってもよい。数値行列方程式導
出手段14で導出された式(3)の数値行列方程式は、
関節回転角算出手段16に入力される。この関節回転角
算出手段16では、前述した数値解法1〜数値解法4の
いずれか、もしくは、それらを組合せた解法により関節
の回転角θi (k) を求める。この求められた関節角θi
(k) は、表示手段17に送られてコンピュータグラフィ
ックス表示されたり、制御手段18に送られて実際のハ
ードウェアとしてマニピュレータの関節回転角の制御に
用いられる。このマニピュレータシミュレート装置で
は、最初の準備を除き、実際のシミュレート時にはA
handの数値入力と、前述した数値解法1〜数値解法4の
いずれかを採用して数値行列方程式を解くこととを繰り
返せばよく、高速なシミュレーションが可能である。
行列方程式は、パラメータ数値代入手段12に読み出さ
れ、パラメータ数値代入手段12では、読み出された式
(1)の行列方程式に、入力手段13から入力されたパ
ラメータti の各成分の数値を代入し、これにより、前
述した式(2)の行列方程式を生成する。入力手段13
は、例えばキーボード等、パラメータti の各成分をマ
ニュアルで入力するものであってもよいが、それに限ら
れず、例えば予め記憶されたパラメータti の各成分の
数値情報を読み出してパラメータ数値代入手段12にロ
ードするもの、あるいは通信回線等を経由して外部から
送信されてきたパラメータti の各成分の数値情報を受
信してパラメータ数値代入手段12に渡すものであって
もよい。パラメータ数値代入手段12で生成された式
(2)の行列方程式は、数値行列方程式導出手段14に
入力される。この数値行列方程式導出手段14には、入
力手段15から入力されたAhandの各成分(各要素)の
数値を代入することにより、前述した式(3)の数値行
列方程式を生成する。この入力手段15も、前述した入
力手段13と同様、種々の構成をとることができる。ま
た、この入力手段15は、物理的には、前述した入力手
段13と同一のものであってもよい。数値行列方程式導
出手段14で導出された式(3)の数値行列方程式は、
関節回転角算出手段16に入力される。この関節回転角
算出手段16では、前述した数値解法1〜数値解法4の
いずれか、もしくは、それらを組合せた解法により関節
の回転角θi (k) を求める。この求められた関節角θi
(k) は、表示手段17に送られてコンピュータグラフィ
ックス表示されたり、制御手段18に送られて実際のハ
ードウェアとしてマニピュレータの関節回転角の制御に
用いられる。このマニピュレータシミュレート装置で
は、最初の準備を除き、実際のシミュレート時にはA
handの数値入力と、前述した数値解法1〜数値解法4の
いずれかを採用して数値行列方程式を解くこととを繰り
返せばよく、高速なシミュレーションが可能である。
【0126】図6は、図5に示す実施形態3における関
節回転角算出手段16の詳細ブロック図である。この関
節回転角算出手段16は、式(3)の数値行列方程式に
基づいてθ4 ,θ5 を消去する手段161と、そのθ
4 ,θ5 が消去された式に基づいて固有値方程式もしく
は一般化固有値方程式を求める手段162と、その固有
値方程式もしくは一般化固有値方程式を解くことにより
θ3 (k) ,θ2 (k) ,θ1 (k) を算出する手段163
と、さらに、θ4 (k),θ5 (k) ,θ6 (k) を算出する
手段164とから構成されている。各手段161〜16
4で実行されるアルゴリズムは、前述した数値解法〜数
値解法4の欄で説明したため、ここでは重複説明は省略
する。
節回転角算出手段16の詳細ブロック図である。この関
節回転角算出手段16は、式(3)の数値行列方程式に
基づいてθ4 ,θ5 を消去する手段161と、そのθ
4 ,θ5 が消去された式に基づいて固有値方程式もしく
は一般化固有値方程式を求める手段162と、その固有
値方程式もしくは一般化固有値方程式を解くことにより
θ3 (k) ,θ2 (k) ,θ1 (k) を算出する手段163
と、さらに、θ4 (k),θ5 (k) ,θ6 (k) を算出する
手段164とから構成されている。各手段161〜16
4で実行されるアルゴリズムは、前述した数値解法〜数
値解法4の欄で説明したため、ここでは重複説明は省略
する。
【0127】図7は、本発明の第2のマニピュレータシ
ミュレート装置の一実施形態を表わすブロック図であ
る。以下、この実施形態を「実施形態4」と称する。こ
の実施形態4では、前述した式(2)の行列方程式、す
なわち、パラメータti の各成分について既に数値入力
した後の行列方程式を記憶する記憶手段19が備えられ
ている。他の構成は、図5に示す実施形態3と同様であ
り、重複説明は省略する。この記憶手段19は、図5の
実施形態3における記憶手段11と同様、式(2)の行
列方程式を固定的に記憶しておくものであってもよい
が、そうである必要はなく、例えばフロッピィディスク
等の記憶媒体からロードされた式(2)の行列方程式
や、図示しない演算手段等において生成された式(2)
の行列方程式を、シミュレーション間、一時的に記憶す
るものであってもよい。種々の構造のマニピュレータの
シミュレーションを行う必要がある場合には、図5に示
す実施形態3のように、シミュレーションを行なおうと
するマニピュレータに適合したパラメータti の各成分
を数値入力する必要があるが、既にある定まったマニピ
ュレータのシミュレーションを行う装置、例えば既に完
成されたある特定のハードウェアとしてのマニピュレー
タの制御用として固定的に用いられる装置等の場合、パ
ラメータti の各成分を数値入力できるように構成され
ている必要はなく、図7の実施形態4に示すように、あ
らかじめ、特定されたマニピュレータに関するパラメー
タti の各成分が数値入力された式(2)の行列方程式
を記憶しておいてもよい。
ミュレート装置の一実施形態を表わすブロック図であ
る。以下、この実施形態を「実施形態4」と称する。こ
の実施形態4では、前述した式(2)の行列方程式、す
なわち、パラメータti の各成分について既に数値入力
した後の行列方程式を記憶する記憶手段19が備えられ
ている。他の構成は、図5に示す実施形態3と同様であ
り、重複説明は省略する。この記憶手段19は、図5の
実施形態3における記憶手段11と同様、式(2)の行
列方程式を固定的に記憶しておくものであってもよい
が、そうである必要はなく、例えばフロッピィディスク
等の記憶媒体からロードされた式(2)の行列方程式
や、図示しない演算手段等において生成された式(2)
の行列方程式を、シミュレーション間、一時的に記憶す
るものであってもよい。種々の構造のマニピュレータの
シミュレーションを行う必要がある場合には、図5に示
す実施形態3のように、シミュレーションを行なおうと
するマニピュレータに適合したパラメータti の各成分
を数値入力する必要があるが、既にある定まったマニピ
ュレータのシミュレーションを行う装置、例えば既に完
成されたある特定のハードウェアとしてのマニピュレー
タの制御用として固定的に用いられる装置等の場合、パ
ラメータti の各成分を数値入力できるように構成され
ている必要はなく、図7の実施形態4に示すように、あ
らかじめ、特定されたマニピュレータに関するパラメー
タti の各成分が数値入力された式(2)の行列方程式
を記憶しておいてもよい。
【0128】次に、本発明の第3のマニピュレータシミ
ュレート装置の一実施形態について説明する。以下、こ
の実施形態を「実施形態5」と称する。この実施形態5
のブロック図は、図5に示す実施形態3のブロック図と
同一であるため、以下、図5を再度参照しながら実施形
態5について説明する。この図5に示す、実施形態5と
してのマニピュレータシミュレート装置には、前述した
式(4)の行列方程式を記憶しておく記憶手段11が備
えられている。この記憶手段11は、式(4)の行列方
程式を固定的に記憶しておくものであってもよいが、そ
うである必要はなく、例えばフロッピィディスク等の外
部記憶媒体から式(4)の行列方程式をロードして記憶
するものであってもよい。この記憶手段11に格納され
た式(4)の行列方程式は、パラメータ数値代入手段1
2に読み出され、パラメータ数値代入手段12では、読
み出された式(4)の行列方程式に、入力手段13から
入力されたパラメータti の各成分の数値を代入し、こ
れにより、前述した式(5)の行列方程式を生成する。
入力手段13は、例えばキーボード等、パラメータti
の各成分をマニュアルで入力するものであってもよい
が、それに限られず、例えば、あらかじめ記憶されたパ
ラメータti の各成分の数値情報を読み出してパラメー
タ数値代入手段12にロードするもの、あるいは、通信
回線等を経由して外部から送信されてきたパラメータt
i の各成分の数値情報を受信してパラメータ数値代入手
段12に渡すものであってもよい。
ュレート装置の一実施形態について説明する。以下、こ
の実施形態を「実施形態5」と称する。この実施形態5
のブロック図は、図5に示す実施形態3のブロック図と
同一であるため、以下、図5を再度参照しながら実施形
態5について説明する。この図5に示す、実施形態5と
してのマニピュレータシミュレート装置には、前述した
式(4)の行列方程式を記憶しておく記憶手段11が備
えられている。この記憶手段11は、式(4)の行列方
程式を固定的に記憶しておくものであってもよいが、そ
うである必要はなく、例えばフロッピィディスク等の外
部記憶媒体から式(4)の行列方程式をロードして記憶
するものであってもよい。この記憶手段11に格納され
た式(4)の行列方程式は、パラメータ数値代入手段1
2に読み出され、パラメータ数値代入手段12では、読
み出された式(4)の行列方程式に、入力手段13から
入力されたパラメータti の各成分の数値を代入し、こ
れにより、前述した式(5)の行列方程式を生成する。
入力手段13は、例えばキーボード等、パラメータti
の各成分をマニュアルで入力するものであってもよい
が、それに限られず、例えば、あらかじめ記憶されたパ
ラメータti の各成分の数値情報を読み出してパラメー
タ数値代入手段12にロードするもの、あるいは、通信
回線等を経由して外部から送信されてきたパラメータt
i の各成分の数値情報を受信してパラメータ数値代入手
段12に渡すものであってもよい。
【0129】パラメータ数値代入手段12で生成された
式(5)の行列方程式は、数値行列方程式導出手段14
に入力される。この数値行列方程式導出手段14には、
入力手段15から入力されたAhandの各成分(各要素)
の数値を代入することにより、前述した式(6)の数値
行列方程式を生成する。この入力手段15も、前述した
入力手段13と同様、種々の構成をとることができる。
また、この入力手段15は、物理的には、前述した入力
手段13と同一のものであってもよい。数値行列方程式
導出手段14で導出された式(6)の数値行列方程式
は、関節回転角算出手段16に入力される。この関節回
転角算出手段16では、前述した(6)式の数値解法5
〜数値解法10のいずれか、もしくはそれらを組合せた
解法により関節の回転角θi (k) を求める。この求めら
れた関節回転角θi (k) は、表示手段17に送られてコ
ンピュータグラフィックス表示されたり、制御手段18
に送られて実際のハードウェアとしてマニピュレータの
関節回転角の制御に用いられる。このマニピュレータシ
ミュレート装置では、最初の準備を除き、実際のシミュ
レート時にはAhandの数値入力と、前述した数値解法5
〜数値解法10のいずれかを採用して数値行列方程式を
解くこととを繰り返せばよく、高速なシミュレーション
が可能である。
式(5)の行列方程式は、数値行列方程式導出手段14
に入力される。この数値行列方程式導出手段14には、
入力手段15から入力されたAhandの各成分(各要素)
の数値を代入することにより、前述した式(6)の数値
行列方程式を生成する。この入力手段15も、前述した
入力手段13と同様、種々の構成をとることができる。
また、この入力手段15は、物理的には、前述した入力
手段13と同一のものであってもよい。数値行列方程式
導出手段14で導出された式(6)の数値行列方程式
は、関節回転角算出手段16に入力される。この関節回
転角算出手段16では、前述した(6)式の数値解法5
〜数値解法10のいずれか、もしくはそれらを組合せた
解法により関節の回転角θi (k) を求める。この求めら
れた関節回転角θi (k) は、表示手段17に送られてコ
ンピュータグラフィックス表示されたり、制御手段18
に送られて実際のハードウェアとしてマニピュレータの
関節回転角の制御に用いられる。このマニピュレータシ
ミュレート装置では、最初の準備を除き、実際のシミュ
レート時にはAhandの数値入力と、前述した数値解法5
〜数値解法10のいずれかを採用して数値行列方程式を
解くこととを繰り返せばよく、高速なシミュレーション
が可能である。
【0130】図8は、実施形態5における、図5に示す
関節回転角算出手段16の詳細ブロック図である。この
関節回転角算出手段16は、式(6)の数値行列方程式
に基づいてθ1 ,θ2 を消去する手段165と、そのθ
1 ,θ2 が消去された式に基づいて固有値方程式もしく
は一般化固有値方程式を求める手段166と、その固有
値方程式もしくは一般化固有値方程式を解くことによ
り、θ3 (k) ,θ4 (k) ,θ5 (k) を算出する手段16
7と、さらに、θ1 (k) ,θ2 (k) ,θ6 (k) を算出す
る手段168とから構成されている。各手段165〜1
68で実行されるアルゴリズムは、前述した数値解法5
〜数値解法10の欄で説明済のため、ここでは重複説明
は省略する。
関節回転角算出手段16の詳細ブロック図である。この
関節回転角算出手段16は、式(6)の数値行列方程式
に基づいてθ1 ,θ2 を消去する手段165と、そのθ
1 ,θ2 が消去された式に基づいて固有値方程式もしく
は一般化固有値方程式を求める手段166と、その固有
値方程式もしくは一般化固有値方程式を解くことによ
り、θ3 (k) ,θ4 (k) ,θ5 (k) を算出する手段16
7と、さらに、θ1 (k) ,θ2 (k) ,θ6 (k) を算出す
る手段168とから構成されている。各手段165〜1
68で実行されるアルゴリズムは、前述した数値解法5
〜数値解法10の欄で説明済のため、ここでは重複説明
は省略する。
【0131】次に、本発明の第4のマニピュレータシミ
ュレート装置の一実施形態について説明する。以下、こ
の実施形態を「実施形態6」と称する。この実施形態6
のブロック図は、図7に示す実施形態4のブロック図と
同一であるため、以下図7を再度参照しながら実施形態
6について説明する。この実施形態6では、前述した式
(5)の行列方程式、すなわち、パラメータti の各成
分について既に数値入力した後の行列方程式を記憶して
おく記憶手段19が備えられている。他の構成は、図5
に示す実施形態5と同様であり、重複説明は省略する。
この記憶手段19は、図5の行列方程式を固定的に記憶
しておくものであってもよいが、そうである必要はな
く、例えばフロッピィディスク等の記憶媒体からロード
された式(5)の行列方程式や、図示しない演算手段等
において生成された式(5)の行列方程式を、シミュレ
ーションの間、一時的に記憶するものであってもよい。
ュレート装置の一実施形態について説明する。以下、こ
の実施形態を「実施形態6」と称する。この実施形態6
のブロック図は、図7に示す実施形態4のブロック図と
同一であるため、以下図7を再度参照しながら実施形態
6について説明する。この実施形態6では、前述した式
(5)の行列方程式、すなわち、パラメータti の各成
分について既に数値入力した後の行列方程式を記憶して
おく記憶手段19が備えられている。他の構成は、図5
に示す実施形態5と同様であり、重複説明は省略する。
この記憶手段19は、図5の行列方程式を固定的に記憶
しておくものであってもよいが、そうである必要はな
く、例えばフロッピィディスク等の記憶媒体からロード
された式(5)の行列方程式や、図示しない演算手段等
において生成された式(5)の行列方程式を、シミュレ
ーションの間、一時的に記憶するものであってもよい。
【0132】種々の構造のマニピュレータのシミュレー
ションを行なう必要がある場合には、図5に示す実施形
態5のように、シミュレーションを行おうとするマニピ
ュレータに適合したパラメータti の各成分を数値入力
する必要があるが、既に定まったマニピュレータのシミ
ュレーションを行なう装置、例えば既に完成されたある
特定のハードウェアとしてのマニピュレータの制御用と
して固定的に用いられる装置等の場合、パラメータti
の各成分を数値入力できるように構成されている必要は
なく、図7の実施形態6に示すように、あらかじめ、特
定されたマニピュレータに関するパラメータti の各成
分が数値入力された式(5)の行列方程式を記憶してお
いてもよい。
ションを行なう必要がある場合には、図5に示す実施形
態5のように、シミュレーションを行おうとするマニピ
ュレータに適合したパラメータti の各成分を数値入力
する必要があるが、既に定まったマニピュレータのシミ
ュレーションを行なう装置、例えば既に完成されたある
特定のハードウェアとしてのマニピュレータの制御用と
して固定的に用いられる装置等の場合、パラメータti
の各成分を数値入力できるように構成されている必要は
なく、図7の実施形態6に示すように、あらかじめ、特
定されたマニピュレータに関するパラメータti の各成
分が数値入力された式(5)の行列方程式を記憶してお
いてもよい。
【0133】
【発明の効果】以上説明したように、本発明によれば、
いわば数式処理できるところはできるだけ数式処理で追
い込んでおいて、最後、どうしても数値解法に頼らなけ
ればならない部分のみ、Ahandを入力して数値処理を行
なうようにしたため、演算時間が短くて済み、リアルタ
イム処理に適する。
いわば数式処理できるところはできるだけ数式処理で追
い込んでおいて、最後、どうしても数値解法に頼らなけ
ればならない部分のみ、Ahandを入力して数値処理を行
なうようにしたため、演算時間が短くて済み、リアルタ
イム処理に適する。
【図1】本発明の第1のマニピュレータシミュレート方
法の一実施形態を示したフローチャートである。
法の一実施形態を示したフローチャートである。
【図2】D−Hパラメータを説明するための、リンクお
よび関節の一部分を示した図である。
よび関節の一部分を示した図である。
【図3】図1のステップ(f)の詳細フローを示した図
である。
である。
【図4】実施形態2に関する図1のステップ(f)の詳
細フローを示した図である。
細フローを示した図である。
【図5】本発明の第1のマニピュレータシミュレート装
置の一実施形態を表わすブロック図である。
置の一実施形態を表わすブロック図である。
【図6】図5に示す関節回転角算出手段の詳細ブロック
図である。
図である。
【図7】本発明の第2のマニピュレータシミュレート装
置の一実施形態を表わすブロック図である。
置の一実施形態を表わすブロック図である。
【図8】実施形態5における、図5に示す関節回転角算
出手段の詳細ブロック図である。
出手段の詳細ブロック図である。
【図9】複数のアームとそれらのアームどうしを連結す
る関節とから構成されたマニピュレータの一例を模式的
に示した図である。
る関節とから構成されたマニピュレータの一例を模式的
に示した図である。
11 記憶手段 12 パラメータ数値代入手段 13 入力手段 14 数値行列方程式導出手段 15 入力手段 16 関節回転角算出手段 17 表示手段 18 制御手段 19 記憶手段
フロントページの続き (56)参考文献 特開 平7−146703(JP,A) 特開 平4−313105(JP,A) 特開 平7−132474(JP,A) 特開 平5−111897(JP,A) 特開 平6−19528(JP,A) (58)調査した分野(Int.Cl.7,DB名) B25J 9/10 G05B 19/18
Claims (6)
- 【請求項1】 順次連結された6本以内のアームを有す
るマニピュレータの先端の位置と姿勢を表わす情報に基
づいて、該位置と姿勢を実現するための、アームどうし
を連結する関節の回転角を求めるマニピュレータシミュ
レート装置において、 絶対座標系からみた前記先端の位置と姿勢をあらわす同
次座標変換行列Ahandを、 【数1】 但し、Chandは姿勢、thandは位置をあらわすとし、前
記マニピュレータの後端から先端に向かって順次に付さ
れた座標系のうち、i番目の座標系からみたi+1番目
の座標系の位置と姿勢を表わす同次座標変換行列Ai
を、 【数2】 としたとき、 前記同次座標変換行列Ahandおよび前記同次座標変換行
列Ai に基づいて求められる式(1)の行列方程式 【数3】 但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5 , c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T xi =tan(θi /2) を記憶する記憶手段と、 前記パラメータti の各成分を数値入力する第1の入力
手段と、 前記第1の入力手段により入力された前記パラメータt
i の各成分の数値を前記式(1)の行列方程式に代入す
ることにより、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(2)の行列方程
式 【数4】 但し、U(Ahand),V(Ahand)は、それぞれ、前記
実数行列U,Vに前記パラメータti の各成分を数値代
入することにより生成される、前記同次変換行列Ahand
の各成分を変数とする行列であることを表わすを求める
パラメータ数値代入手段と、 前記同次変換行列Ahandの各成分を数値入力する第2の
入力手段と、 前記第2の入力手段から入力された前記同次変換行列A
handの各成分の数値を前記式(2)の行列方程式に代入
することにより、式(3)の数値行列方程式 【数5】 但し、Unum ,Vnum は、それぞれ、前記行列U(A
hand),V(Ahand)に前記同次変換行列Ahandの各成
分を数値代入することにより生成される数値行列である
ことを表わすを求める数値行列方程式導出手段と、 前記式(3)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段とを備えたことを特徴とするマニピュレータシミ
ュレート装置。 - 【請求項2】 順次連結された6本以内のアームを有す
るマニピュレータの先端の位置と姿勢を表わす情報に基
づいて、該位置と姿勢を実現するための、アームどうし
を連結する関節の回転角を求めるマニピュレータシミュ
レート装置において、 絶対座標系からみた前記先端の位置と姿勢をあらわす同
次座標変換行列Ahandを、 【数6】 但し、Chandは姿勢、thandは位置をあらわすとし、前
記マニピュレータの後端から先端に向かって順次に付さ
れた座標系のうち、i番目の座標系からみたi+1番目
の座標系の位置と姿勢を表わす同次座標変換行列Ai
を、 【数7】 としたとき、 前記同次座標変換行列Ahandおよび前記同次座標変換行
列Ai に基づいて求められる式(1)の行列方程式 【数8】 但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s4 s5 ,x3 s4 c5 ,x3 c4 s5 ,x3 c4 c5 , x3 s4 ,x3 c4 ,x3 s5 ,x3 c5 ,s4 s5 ,s4 c5 , c4 s5 ,c4 c5 ,s4 ,c4 ,s5 ,c5 ]T ρ=[x1 2x2 2,x1 2x2 ,x1 2,x1 x2 2,x1 x2 ,x1 ,x2 2, x2 ,1]T xi =tan(θi /2) に前記パラメータti の各成分を数値代入することによ
り求められる、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(2)の行列方程
式 【数9】 但し、U(Ahand),V(Ahand)は、それぞれ、前記
実数行列U,Vに前記パラメータti の各成分を数値代
入することにより生成される、前記同次変換行列Ahand
の各成分を変数とする行列であることを表わすを記憶す
る記憶手段と、 前記同次変換行列Ahandの各成分を数値入力する入力手
段と、 前記入力手段から入力された前記同次変換行列Ahandの
各成分の数値を前記式(2)の行列方程式に代入するこ
とにより、式(3)の数値行列方程式 【数10】 但し、Unum ,Vnum は、それぞれ、前記行列U(A
hand),V(Ahand)に前記同次変換行列Ahandの各成
分を数値代入することにより生成される数値行列である
ことを表わすを求める数値行列方程式導出手段と前記式
(3)の数値行列方程式に基づいて、前記関節の回転角
θi (k)(kはθi の複数解を相互に識別する最大16ま
での正の整数をあらわす)を求める関節回転角算出手段
とを備えたことを特徴とするマニピュレータシミュレー
ト装置。 - 【請求項3】 前記関節回転角算出手段が、 前記式(3)の数値行列方程式に基づいて、θ4 および
θ5 が消去された式を求める手段と、 該θ4 およびθ5 が消去された式に基づいて、固有値方
程式もしくは一般化固有値方程式を求める手段と、 該固有値方程式もしくは一般化固有値方程式に基づいて
前記関節の回転角θi (k)を求める手段とを備えたことを
特徴とする請求項1又は2記載のマニピュレータシミュ
レート装置。 - 【請求項4】 順次連結された6本以内のアームを有す
るマニピュレータの先端の位置と姿勢を表わす情報に基
づいて、該位置と姿勢を実現するための、アームどうし
を連結する関節の回転角を求めるマニピュレータシミュ
レート装置において、 絶対座標系からみた前記先端の位置と姿勢をあらわす同
次座標変換行列Ahandを、 【数11】 但し、Chandは姿勢、thandは位置をあらわすとし、前
記マニピュレータの後端から先端に向かって順次に付さ
れた座標系のうち、i番目の座標系からみたi+1番目
の座標系の位置と姿勢を表わす同次座標変換行列Ai
を、 【数12】 としたとき、前記同次座標変換行列Ahandおよび前記同
次座標変換行列Ai に基づいて求められる式(4)の行
列方程式 【数13】 但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T xi =tan(θi /2) を記憶する記憶手段と、 前記パラメータti の各成分を数値入力する第1の入力
手段と、 前記第1の入力手段により入力された前記パラメータt
i の各成分の数値を前記式(4)の行列方程式に代入す
ることにより、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(5)の行列方程
式 【数14】 但し、U(Ahand),V(Ahand)は、それぞれ、前記
行列U,Vに前記パラメータti の各成分を数値代入す
ることにより生成される、前記同次変換行列Ahandの各
成分を変数とする行列であることを表わすを求めるパラ
メータ数値代入手段と、 前記同次変換行列Ahandの各成分を数値入力する第2の
入力手段と、 前記第2の入力手段から入力された前記同次変換行列A
handの各成分の数値を前記式(5)の行列方程式に代入
することにより、式(6)の数値行列方程式 【数15】 但し、Unum ,Vnum は、それぞれ、前記行列U(A
hand),V(Ahand)に前記同次変換行列Ahandの各成
分を数値代入することにより生成される数値行列である
ことを表わすを求める数値行列導出手段と、 前記式(6)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段とを備えたことをを特徴とするマニピュレータシ
ミュレート装置。 - 【請求項5】 順次連結された6本以内のアームを有す
るマニピュレータの先端の位置と姿勢を表わす情報に基
づいて、該位置と姿勢を実現するための、アームどうし
を連結する関節の回転角を求めるマニピュレータシミュ
レート装置において、 絶対座標系からみた前記先端の位置と姿勢をあらわす同
次座標変換行列Ahandを、 【数16】 但し、Chandは姿勢、thandは位置をあらわすとし、前
記マニピュレータの後端から先端に向かって順次に付さ
れた座標系のうち、i番目の座標系からみたi+1番目
の座標系の位置と姿勢を表わす同次座標変換行列Ai
を、 【数17】 としたとき、 前記同次座標変換行列Ahandおよび前記同次座標変換行
列Ai に基づいて求められる式(4)の行列方程式 【数18】 但し、 Uは20×16の実数行列 Vは20×18の実数行列 ξ=[x3 s1 s2 ,x3 s1 c2 ,x3 c1 s2 ,x3 c1 c2 , x3 s1 ,x3 c1 ,x3 s2 ,x3 c2 ,s1 s2 ,s1 c2 , c1 s2 ,c1 c2 ,s1 ,c1 ,s2 ,c2 ]T ρ=[x4 2x5 2,x4 2x5 ,x4 2,x4 x5 2,x4 x5 ,x4 ,x5 2, x5 ,1]T xi =tan(θi /2) に前記パラメータti の各成分を数値代入することによ
り求められる、前記先端の位置と姿勢をあらわす同次変
換行列Ahandの各成分を変数とする式(5)の行列方程
式 【数19】 但し、U(Ahand),V(Ahand)は、それぞれ、前記
行列U,Vに前記パラメータti の各成分を数値代入す
ることにより生成される、前記同次変換行列Ahandの各
成分を変数とする行列であることを表わすを記憶する記
憶手段と、 前記同次変換行列Ahandの各成分を数値入力する入力手
段と、 前記入力手段から入力された前記同次変換行列Ahandの
各成分の数値を前記式(5)の行列方程式に代入するこ
とにより、式(6)の数値行列方程式 【数20】 但し、Unum ,Vnum は、それぞれ、前記行列U(A
hand),V(Ahand)に前記同次変換行列Ahandの各成
分を数値代入することにより生成される数値行列である
ことを表わすを求める数値行列導出手段と、 前記式(6)の数値行列方程式に基づいて、前記関節の
回転角θi (k)(kはθi の複数解を相互に識別する最大
16までの正の整数をあらわす)を求める関節回転角算
出手段と備えたことをを特徴とするマニピュレータシミ
ュレート装置。 - 【請求項6】 前記関節回転角算出手段が、 前記式(6)の数値行列方程式に基づいて、θ1 および
θ2 が消去された式を求める手段と、 該θ1 およびθ2 が消去された式に基づいて、固有値方
程式もしくは一般化固有値方程式を求める手段と、 該固有値方程式もしくは一般化固有値方程式に基づいて
前記関節の回転角θi (k)を求める手段とを備えたことを
特徴とする請求項4又は5記載のマニピュレータシミュ
レート装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20418695A JP3331100B2 (ja) | 1995-08-10 | 1995-08-10 | マニピュレータシミュレート装置 |
US08/618,808 US5867631A (en) | 1995-08-10 | 1996-03-20 | Manipulator simulation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20418695A JP3331100B2 (ja) | 1995-08-10 | 1995-08-10 | マニピュレータシミュレート装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0947987A JPH0947987A (ja) | 1997-02-18 |
JP3331100B2 true JP3331100B2 (ja) | 2002-10-07 |
Family
ID=16486266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20418695A Expired - Fee Related JP3331100B2 (ja) | 1995-08-10 | 1995-08-10 | マニピュレータシミュレート装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5867631A (ja) |
JP (1) | JP3331100B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023645A (en) * | 1997-05-15 | 2000-02-08 | Mitsubishi Denki Kabushiki Kaisha | Trajectory control apparatus and trajectory control method for intra-planar multifreedom SCARA type of robot, and computer-readable recording medium with trajectory control program for intra-planar multifreedom SCARA type of robot stored therein |
US6014150A (en) * | 1997-08-01 | 2000-01-11 | Avid Technology, Inc. | System and method of defining and employing behaviors for articulated chains |
US8260593B2 (en) * | 2002-09-18 | 2012-09-04 | Siemens Product Lifecycle Management Software Inc. | System and method for simulating human movement |
JP4735795B2 (ja) * | 2003-12-26 | 2011-07-27 | 独立行政法人 宇宙航空研究開発機構 | 冗長マニピュレータの制御方法 |
US20050278157A1 (en) * | 2004-06-15 | 2005-12-15 | Electronic Data Systems Corporation | System and method for simulating human movement using profile paths |
US9129077B2 (en) * | 2004-09-03 | 2015-09-08 | Siemen Product Lifecycle Management Software Inc. | System and method for predicting human posture using a rules-based sequential approach |
WO2008109801A1 (en) * | 2007-03-07 | 2008-09-12 | Kmt Robotic Solutions, Inc. | System and method of locating relative positions of objects |
US7990398B2 (en) * | 2007-04-13 | 2011-08-02 | Apple Inc. | Matching movement behavior in motion graphics |
IT1400536B1 (it) | 2010-05-26 | 2013-06-11 | Oto Melara Spa | Braccio robotizzato per un veicolo. |
JP6305673B2 (ja) * | 2011-11-07 | 2018-04-04 | セイコーエプソン株式会社 | ロボット制御システム、ロボットシステム及びロボット |
CN105014666B (zh) * | 2015-07-13 | 2016-10-05 | 广州霞光技研有限公司 | 一种多自由度机械手自主抓取逆解工程算法 |
CN115741672B (zh) * | 2022-10-21 | 2024-04-19 | 杭州邦杰星医疗科技有限公司 | 一种基于刚体变换的dh推导方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4884216A (en) * | 1987-11-09 | 1989-11-28 | Michael Kuperstein | Neural network system for adaptive sensory-motor coordination of multijoint robots for single postures |
US5177563A (en) * | 1989-02-01 | 1993-01-05 | Texas A&M University System | Method and apparatus for locating physical objects |
US5049796A (en) * | 1989-05-17 | 1991-09-17 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Robust high-performance control for robotic manipulators |
US4999553A (en) * | 1989-12-28 | 1991-03-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method and apparatus for configuration control of redundant robots |
US4967126A (en) * | 1990-01-30 | 1990-10-30 | Ford Aerospace Corporation | Method of controlling a seven degree of freedom manipulator arm |
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 |
US5297238A (en) * | 1991-08-30 | 1994-03-22 | Cimetrix Incorporated | Robot end-effector terminal control frame (TCF) calibration method and device |
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)이 있는 로보트손목의 기구변수 결정법 |
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 |
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
US5294873A (en) * | 1992-10-27 | 1994-03-15 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Kinematic functions for redundancy resolution using configuration control |
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 |
US5528955A (en) * | 1994-09-08 | 1996-06-25 | Hannaford; Blake | Five axis direct-drive mini-robot having fifth actuator located at non-adjacent joint |
-
1995
- 1995-08-10 JP JP20418695A patent/JP3331100B2/ja not_active Expired - Fee Related
-
1996
- 1996-03-20 US US08/618,808 patent/US5867631A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0947987A (ja) | 1997-02-18 |
US5867631A (en) | 1999-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Finding the kinematic base frame of a robot by hand-eye calibration using 3D position data | |
Driels et al. | Full-pose calibration of a robot manipulator using a coordinate-measuring machine | |
US8140189B2 (en) | Apparatus and method for computing operational-space physical quantity | |
Rocha et al. | A comparison between the Denavit–Hartenberg and the screw-based methods used in kinematic modeling of robot manipulators | |
JP3331100B2 (ja) | マニピュレータシミュレート装置 | |
Bajd et al. | Introduction to robotics | |
Qassem et al. | Modeling and Simulation of 5 DOF educational robot arm | |
US20120303318A1 (en) | Kinematic Predictor for Articulated Mechanisms | |
Lin et al. | Analytical solution for inverse kinematics using dual quaternions | |
Gabiccini et al. | Grasp analysis tools for synergistic underactuated robotic hands | |
Singh et al. | Kinematic modeling of robotic manipulators | |
Lambert et al. | Design, modeling, and implementation of a 7-dof cable-driven haptic device with a configurable cable platform | |
Gu | A journey from robot to digital human: mathematical principles and applications with MATLAB programming | |
Nabavi et al. | A homogeneous payload specific performance index for robot manipulators based on the kinetic energy | |
Wiese et al. | Kinematic modeling of a soft pneumatic actuator using cubic hermite splines | |
Martı´ nez et al. | Forward and inverse acceleration analyses of in-parallel manipulators | |
Duindam et al. | Singularity-free dynamic equations of open-chain mechanisms with general holonomic and nonholonomic joints | |
González-Palacios et al. | SnAM: a simulation software on serial manipulators | |
Ahmed et al. | Inverse kinematic solution of 6-DOF robot-arm based on dual quaternions and axis invariant methods | |
Pozna et al. | The inverse kinematics problem, a heuristical approach | |
Stigger et al. | Analysis of a 3-RUU parallel manipulator using algebraic constraints | |
Lin et al. | Virtual simulation and experimental verification for 3D-printed robot manipulators | |
Shi et al. | Formal analysis of the kinematic Jacobian in screw theory | |
Moulianitis et al. | A comparative study of three manipulator performance measures | |
Song et al. | Efficient formulation approach for the forward kinematics of 3-6 parallel mechanisms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020709 |
|
LAPS | Cancellation because of no payment of annual fees |