JP4894657B2 - 逆運動学計算方法及び逆運動学計算装置 - Google Patents

逆運動学計算方法及び逆運動学計算装置 Download PDF

Info

Publication number
JP4894657B2
JP4894657B2 JP2007185945A JP2007185945A JP4894657B2 JP 4894657 B2 JP4894657 B2 JP 4894657B2 JP 2007185945 A JP2007185945 A JP 2007185945A JP 2007185945 A JP2007185945 A JP 2007185945A JP 4894657 B2 JP4894657 B2 JP 4894657B2
Authority
JP
Japan
Prior art keywords
joint
variable
calculation
control variable
calculated
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
Application number
JP2007185945A
Other languages
English (en)
Other versions
JP2009023016A (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
Original Assignee
Toyota Motor Corp
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 filed Critical Toyota Motor Corp
Priority to JP2007185945A priority Critical patent/JP4894657B2/ja
Publication of JP2009023016A publication Critical patent/JP2009023016A/ja
Application granted granted Critical
Publication of JP4894657B2 publication Critical patent/JP4894657B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、複数の関節を有するロボット(多関節ロボット)の関節変数を計算する逆運動学計算方法及び逆運動学計算装置に関するものである。
従来から、多関節ロボットの作業部位の位置及び姿勢を指定した上で、その位置及び姿勢を実現するための関節角度を計算する逆運動学計算方法が知られている。例えば、下記特許文献1には、多関節リンク機構の逆運動学解析の効率化を実現するための手法が開示されている。下記特許文献1に記載の逆運動学解析方法は、隣接リンク間の機構学的関係を示す関係式と最終リンクの位置及び姿勢とが与えられた場合に、非線形特性を模擬する制御変数である補正係数をガウス・ニュートン法に導入し、目的関数が単調減少するようにその補正係数を変えつつ反復計算を行うことで関節角度を算出する。
特開平7−146703号公報 特開平7−36518号公報
しかしながら、上記特許文献1に記載の手法では、補正係数(制御変数)を経験的に決定しているに過ぎないので、ロボットの機構を定義するパラメータを変更した際に所望の計算結果が得られない可能性がある。例えば、算出される関節角度が局所解に陥るなどして、所望の結果とは異なる計算結果に収束することがある。
本発明は、上記課題を解決するためになされたものであり、ロボットの機構に影響されることなく逆運動学計算の解を精度良く導出することが可能な逆運動学計算方法及び逆運動学計算装置を提供することを目的とする。
本発明の逆運動学計算方法は、複数の関節を有するロボットの作業部位の位置及び姿勢から関節変数を計算する逆運動学計算方法であって、制御変数を決定する制御変数決定ステップと、制御変数決定ステップにおいて決定された制御変数に基づいて関節変数の変化量を算出し、算出された変化量に基づいてロボットの作業部位の位置及び姿勢に対応する関節変数を算出する関節変数算出ステップであって、関節変数の変化量の算出と関節変数の算出とを所定の回数だけ反復して実行する、該関数変数算出ステップとを含み、制御変数決定ステップでは、関節変数を評価する所定の評価指標値を算出するための評価関数を用いて、関節変数算出ステップにおいて算出された複数の関節変数のそれぞれについて評価指標値を算出し、算出された複数の評価指標値の変化量に基づいて、該変化量が正から負、又は負から正に切り替わる回数を取得し、取得した該回数に基づいて制御変数を決定する、ことを特徴とする。
また、本発明の逆運動学計算装置は、複数の関節を有するロボットの作業部位の位置及び姿勢から関節変数を計算する逆運動学計算装置であって、制御変数を決定する制御変数決定手段と、制御変数決定手段により決定された制御変数に基づいて関節変数の変化量を算出し、算出された変化量に基づいてロボットの作業部位の位置及び姿勢に対応する関節変数を算出する関節変数算出手段であって、関節変数の変化量の算出と関節変数の算出とを所定の回数だけ反復して実行する、該関節変数算出手段とを備え、制御変数決定手段関節変数を評価する所定の評価指標値を算出するための評価関数を用いて、関節変数算出手段により算出された複数の関節変数のそれぞれについて評価指標値を算出し、算出された複数の評価指標値の変化量に基づいて、該変化量が正から負、又は負から正に切り替わる回数を取得し、取得した該回数に基づいて制御変数を決定する、ことを特徴とする。
このような逆運動学計算方法及び逆運動学計算装置によれば、制御変数に基づいて関節変数の変化量が算出され、この変化量に基づいて関節変数が算出される。関節変数の算出において用いられる制御変数は、関節変数の算出を安定化する(関節変数の発散を抑制する)ために用いられるパラメータであり、関節変数を評価する所定の評価指標値の変動状況に基づいて決定される。このように、制御変数が、経験的に決められるのではなく評価指標値の変動状況に基づいて決定されるので、ロボットの機構に応じて自動的に制御変数を決定できる。その結果、ロボットの機構に影響されることなく逆運動学計算の解を精度良く導出できる。また、制御変数を評価指標値の変動状況に基づいて決定することで、関節変数が局所解に陥ることを防止することが可能になる。
この場合、関節変数の算出が反復実行され、その結果得られた複数の関節変数のそれぞれについて評価指標値が算出される。この評価指標値は、所定の評価関数を用いて算出される。そして、算出された複数の評価指標値の変化量に基づいて評価指標値の変動状況が導出され、導出された評価指標値の変動状況に基づいて制御変数が決定される。このように、制御変数が、経験的に決められるのではなく評価指標値の変動状況に基づいて決定されるので、ロボットの機構に応じて自動的に制御変数を決定できる。その結果、ロボットの機構に影響されることなく逆運動学計算の解を精度良く導出できる。また、制御変数を評価指標値の変動状況に基づいて決定することで、関節変数の算出を安定化できる(関節変数の発散を抑制できる)。更に、評価指標値の変動状況は、複数の評価指標値の変化量に基づいて導出されるので、より適切な制御変数を決定できる。
本発明の逆運動学計算方法において、関節変数算出ステップでは、制御変数を導入したガウス・ニュートン法を用いて関節変数の変化量を算出することが好ましい。
また、本発明の逆運動学計算装置において、関節変数算出手段は、制御変数を導入したガウス・ニュートン法を用いて関節変数の変化量を算出することが好ましい。
この場合、制御変数を導入したガウス・ニュートン法を用いて関節変数の変化量が算出される。まず、ガウス・ニュートン法を利用することで、関節変数ベクトルの算出の安定化を実現できる。また、ガウス・ニュートン法に導入される制御変数は、評価指標値の変動状況に基づいて決定されるので、算出対象の関節変数が局所解に陥ることを防止し、所望の関節変数を算出することが可能になる。
このような逆運動学計算方法及び逆運動学計算装置によれば、関節変数の算出において用いられる制御変数が、該関節変数を評価する所定の評価指標値の変動状況に基づいて決定されるので、ロボットの機構に影響されることなく逆運動学計算の解を精度良く導出できる。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。本実施の形態では、本発明に係る逆運動学計算装置を、所定の位置に固定された多関節ロボットの関節角度を計算する逆運動学計算装置1に適用する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
図1〜3を参照して、本実施の形態に係る逆運動学計算装置1について説明する。図1は、本実施形態に係る逆運動学計算装置1の構成を示す図である。図2は、図1に示す逆運動学計算装置1が適用されるロボットRを模式的に示す図である。図3(a)及び図3(b)は、評価指標値F(q)の変動状況の例を示すグラフである。
逆運動学計算装置1は、複数の関節を有するロボットの先端(作業部位)の位置及び姿勢(以下「先端位置及び先端姿勢」ともいう)の入力を受け付け、逆運動学計算により、入力された先端位置及び先端姿勢から各関節の関節角度を算出する。特に、逆運動学計算装置1は、制御変数に基づいて関節変数の変化量を算出し、算出された変化量に基づいて目標の関節変数を算出する。このとき、逆運動学計算装置1は、算出された関節変数を評価する所定の評価指標値の変動状況に基づいて上記制御変数を決定する。
このために逆運動学計算装置1は、入力部2、変化量計算部3、評価部4、収束判定部5、及び出力部6を備えている。逆運動学計算装置1の主要部はコンピュータ上あるいはロボット内の電子制御ユニットなどに構成され、特に、変化量計算部3、評価部4及び収束判定部5は、ハードディスクあるいはROM内に格納された各アプリケーションプログラムをRAMにロードし、CPUで実行することによって構成される。なお、本実施形態では、変化量計算部3が特許請求の範囲に記載する関節変数算出手段に相当し、評価部4が特許請求の範囲に記載する制御変数決定手段に相当する。
まず、逆運動学計算装置1が適用されるロボットRについて説明する。図2に示すように、ロボットRは、n個の関節J〜Jと、関節同士を接続するリンクL〜Ln+1と、先端のリンクLn+1の一端Tに取り付けられたハンドHとを備えている。このロボットRは、末端のリンクLの一端がベースBに取り付けられることで固定されている。各関節J〜Jにはアクチュエータが内蔵されている。このアクチュエータによって各関節J〜Jがそれぞれ回転し、隣接する二本のリンク間の角度θ〜θが変更される。
逆運動学計算装置1は、ロボットRの先端Tの位置及び姿勢(ハンドHの位置及び姿勢)から各関節J〜Jの角度θ〜θを決定する装置である。ロボットRの位置及び姿勢は、n個の関節変数が作る関節空間からデカルト空間への非線形写像と考えられる。ロボットRの先端位置及び先端姿勢から各関節の角度を決定するということは、この非線形写像の逆像の中から解を見つけることである。
逆運動学計算装置1の各機能的構成要素について説明する前に、この逆運動学計算装置1が用いる理論について説明する。
関節J〜Jのそれぞれに対応する関節変数(関節角度を示す関節変数)をそれぞれq1〜qnとすると、関節変数ベクトルはq=(q1,q2,…,qn)、すなわち(q1,q2,…,qn)の転置行列で表される。このとき、ロボットRの先端位置(ハンドHの位置)はX(q),Y(q),Z(q)で表され、ロボットRの先端姿勢(ハンドHの姿勢)を定義する成分はP1(q),P2(q),…,Pm(q)で表される。また、ロボットRの先端Tの目標位置をX,Y,Zとし、ロボットRの先端Tの目標姿勢を定義する成分をP1,P2,…Pmとする。
ロボットRの先端位置及び先端姿勢を定義する成分X(q),Y(q),Z(q),P1(q),P2(q),…,Pm(q)は、同次変換行列の各成分座標である。同次変換行列とは、ベースBの座標系Σから見たハンドHの座標系Σを表す行列であり、以下のように表される。なお、式(1)ではm=9であるが、mが他の値(例えば2,4,6など)であってもよい。
Figure 0004894657
導出された先端位置及び先端姿勢と目標位置及び目標姿勢との差を以下の式で表す。すなわち、ロボットRの先端位置とその目標値との差をf,f,fとし、ロボットRの先端姿勢を定義する成分とその目標値との差をf,f,…,fm+3で表す。
Figure 0004894657
式(2)で示されるf,f,…,fm+3をまとめ、f(q)=(f,f,…,fm+3を定義する。なお、(f,f,…,fm+3は、(f,f,…,fm+3)の転置行列である。更に、評価指標値F(q)を算出するための評価関数F(q)=f(q)・f(q)を定義する。この評価指標値F(q)が0になれば、ロボットRの先端Tの目標位置及び目標姿勢を実現する各関節J〜Jの角度θ〜θが算出されたことになる。
この評価指標値F(q)が0になるようなf(q)を算出するために、関節変数ベクトルqとして適当な値q=(q1(k),q2(k),…,qn(k))を与える。続いて、このqを式(2)に適用することでf(q)を算出し、算出されたf(q)を評価関数に当てはめることで評価指標値F(q)を算出する。
続いて、ガウス・ニュートン法の理論を利用して、関節変数ベクトルの変化量Δqを導出する。すなわち、下記式(3)を満たすΔqを導出する。式(3)において、Jはヤコビ行列(J={∂f/∂q})であり、Iは単位行列である。また、λは補正操作のための制御変数であり、正数値である。なお、関節変数ベクトルqの変化量Δqを算出するということは、関節変数q1〜qnの変化量を算出するということである。
(数3)
(J・J+λI)Δq=−J(q)f(q) …(3)
式(3)において制御変数λを0とすれば、式(3)はガウス・ニュートン法そのものを表す。ガウス・ニュートン法をそのまま利用した場合(制御変数λを導入しない場合)、関節変数ベクトルqの設定によっては、関節変数ベクトルが発散することがある。また、行列J・Jが正則でない場合には解が無数に存在してしまうなどの問題が発生する。そこで、行列J・Jの対角項に正数値を加える操作を施す。このように制御変数λを導入したガウス・ニュートン法を用いることで、関節変数ベクトルの算出の安定化を図る。
ただし、制御変数λを固定した場合には、関節変数ベクトルが局所解に陥り、先端Tの
目標位置及び目標姿勢を実現する関節角度θ〜θを得られないことがある。そこで、逆運動学計算装置1は、所定の演算を行なうことで制御変数λを自動的に更新する。制御変数λの更新方法については後述する。
変化量Δqが決まると、下記式(4)により新たな関節変数ベクトルqk+1が算出される。
(数4)
k+1=q+Δq …(4)
例えば、関節変数ベクトルの初期値q=(q1(0),q2(0),…,qn(0))を式(2)に代入することでf(q)が算出され、更に評価指標値F(q)が算出可能となる。また、式(3)により関節変数ベクトルqに対する変化量Δqが算出される。続いて、式(4)にq及びΔqを代入することで新たな関節変数ベクトルq=q+Δqが算出される。
次に、算出された関節変数ベクトルqを式(2)に適用することでf(q)が算出され、これにより評価指標値F(q)が算出可能となる。また、式(3)により関節変数ベクトルqに対する変化量Δqが算出され、式(4)により新たな関節変数ベクトルqが算出される。以後、このような演算を繰り返すことで、F(q)=0となるような関節変数ベクトルq=(q1(k),q2(k),…,qn(k))が算出され、先端Tの目標位置及び目標姿勢を実現する関節角度θ〜θが導出される。
次に、逆運動学計算装置1の各機能的構成要素について説明する。
入力部2は、逆運動学計算に必要な値の入力を受け付ける手段である。値の入力は、オペレータまたはエンコーダによって行われる。入力部2により受け付けられる値は、ベースBの位置(ロボットRの立ち位置)、先端Tの目標位置X,Y,Z、先端Tの目標姿勢を定義する成分P1,P2,…Pm、関節J〜Jのそれぞれに対応する関節変数q1,q2,…,qnの初期値q1(0),q2(0),…,qn(0)、制御変数λの初期値λ、及び一回の収束判定までに関節変数ベクトルを繰り返し算出する回数(評価データ数)Sである。入力部2は、受け付けた値を変化量計算部3に出力する。
変化量計算部3は、入力部2又は後述する収束判定部5からの入力値を式(2)〜(4)に適用することでS個の関節変数ベクトルq(k=1〜S)を導出する手段である。このために変化量計算部3は、式(2)〜(4)が規定されているプログラムを予めメモリ(図示せず)から読み出す。変化量計算部3は、評価データ数Sの分だけ式(2)〜(4)の演算を繰り返すことにより、関節変数ベクトルq(k=1〜S)を算出する。変化量計算部3は、導出されたS個の関節変数ベクトルqと、式(3)の演算で用いた制御変数λとを評価部4に出力する。
評価部4は、変化量計算部3から入力されたS個の関節変数ベクトルqに基づいて式(2)及び評価関数F(q)=f(q)・f(q)を計算することでS個の評価指標値F(q)(k=1〜S)を算出し、これら複数の評価指標値F(q)の変動状況を取得する手段である。このために評価部4は、式(2)及び評価関数F(q)=f(q)・f(q)が規定されているプログラムを予めメモリ(図示せず)から読み出す。具体的には、評価部4は、算出したS個の評価指標値F(q)(k=1〜S)のそれぞれについてF(q)からF(qk+1)への変化量ΔFが正の値であるか負の値であるかを検査し、変化量が正(負)の値から負(正)の値に切り替わった回数(切替り回数)jを取得する。続いて評価部4は、下記式(5)を用いて制御変数λを更新(決定)する。
(数5)
λ=λ(1+j/S) …(5)
このような評価部4の処理を、図3(a)及び(b)を用いて具体的に説明する。なお、図3(a)及び(b)のグラフにおいて、縦軸は評価指標値F(q)であり、横軸は関節変数ベクトルである。図3(a)及び(b)に示す例では、評価データ数Sが5に設定されているものとする。
図3(a)において、F(q)からF(q)への変化量ΔFは負の値であるが、F(q)からF(q)への変化量ΔFは正の値である。すなわち、F(q)からF(q)にかけては評価指標値F(q)が減少しているが、F(q)からF(q)にかけては増加している。同様に、変化量ΔFは負の値であり、変化量ΔFは正の値である。したがって、ΔFからΔFにかけては変化量が負の値から正の値に切り替わり、ΔFからΔFにかけては変化量が正の値から負の値に切り替わり、ΔFからΔFにかけては変化量が負の値から正の値に切り替わっている。すなわち、切替り回数jは3である。この場合、制御変数λは、λ(1+3/5)=1.6λとなる。
これに対して図3(b)の場合、変化量ΔF(k=1〜4)はすべて負の値であるから、切替り回数jは0である。この場合、制御変数λは、λ(1+0/5)=λとなる。
すなわち、評価部4は、評価指標値F(q)が増加と減少とを繰り返すなどしてその変動が大きい場合には制御変数λを大きくし、評価指標値F(q)が単調減少するなどしてその変動が小さい場合には制御変数λを小さくする。このように制御変数λを更新する理由は、評価指標値F(q)の変動が大きいほど制御変数λを大きくして関節変数ベクトルの変化量Δqを小さく抑えることで、関節変数ベクトルqの不安定な挙動を回避するためである。
評価部4は、更新された制御変数λと、S回目に算出された評価指標値F(q)と、S−1回目及びS回目に算出された関節変数ベクトルq,qS−1とを収束判定部5に出力する。
収束判定部5は、入力された評価指標値F(q)が所定の正数値αよりも小さいか、又は関節変数ベクトルの変化量ΔqS−1=q−qS−1が所定の正数値βよりも小さい場合に、ロボットRの各関節J〜Jの角度を示す関節変数ベクトルq=(q1(S),q2(S),…,qn(S))が目標値に到達したと判定する手段である。言い換えれば、収束判定部5は、ロボットRの先端位置及び先端姿勢を定義する成分X(q),Y(q),Z(q),P1(q),P2(q),…,Pm(q)がX,Y,Z,P1,P2,…Pmに到達したと判定する。この場合、収束判定部5は、関節変数ベクトルq=(q1(S),q2(S),…,qn(S))を出力部6に出力する。
これに対し、入力された評価指標値F(q)が正数値α以上であり、且つ入力された関節変数ベクトルの変化量ΔqS−1が正数値β以上である場合、収束判定部5は、関節変数ベクトルqを再計算すると判定し、入力された更新後の制御変数λと、関節変数ベクトルqとを変化量計算部3に出力する。
収束判定部5は、このような処理を行うために、所定の正数値α,βを予めメモリ(図示せず)から読み出す。本来、収束判定部5は、正数値αとして0を読み出し、入力された評価指標値F(q)が0である場合に関節変数ベクトルq=(q1(S),q2(S),…,qn(S))が目標値に到達したと判定するのが好ましい。しかし、評価指標値F(q)が0か否かのみに基づいて関節変数ベクトルqの収束の有無を判定すると、関節変数ベクトルqが局所解に陥ってしまい、逆運動学計算装置1による処理がいわゆる無限ループに陥る可能性がある。そこで、収束判定部5は、二種類の正数値α,βを用いて収束判定を行なう。
出力部6は、収束判定部5から入力された関節変数ベクトルqを、ロボットRを動作させる制御部(図示せず)に出力する手段である。出力部6から図示しない制御部に関節変数ベクトルqが出力させることで、ロボットRの各関節J〜Jのアクチュエータが作動し、各関節J〜Jの角度θ〜θが変更される。その結果、ハンドHの位置及び姿勢が目標とするものに変更される。
次に、図4を用いて、図1に示す逆運動学計算装置1の処理を説明するとともに本実施形態に係る逆運動学計算方法について説明する。図4は、逆運動学計算装置1の処理を示すフローチャートである。
逆運動学計算装置1では、まず、入力部2が、オペレータ又はエンコーダから逆運動学計算に必要な値の入力を受け付ける(ステップS11)。具体的には、入力部2は、ベースBの位置、ロボットRの先端Tの目標位置及び目標姿勢、関節J〜Jのそれぞれに対応する関節変数q1,q2,…,qnの初期値q1(0),q2(0),…,qn(0)、制御変数λの初期値λ、及び評価データ数Sの入力を受け付ける。
続いて変化量計算部3が、入力された関節変数の初期値q1(0),q2(0),…,qn(0)、及び制御変数λを用いて、反復計算によりS個の関節変数ベクトルq(k=1〜S)を算出する(ステップS12、関節変数算出ステップ)。具体的には、変化量計算部3は、関節変数の初期値に基づいて導出されたロボットRの先端位置及び先端姿勢と目標とする先端位置及び先端姿勢との差f,f,…,fm+3を式(2)により算出する。続いて変化量計算部3は、算出されたf,f,…,fm+3に基づいてf(q)を定義し、そのf(q)を制御変数の初期値λを導入したガウス・ニュートン法に当てはめることで関節変数の変化量Δqを導出する。そして、変化量計算部3は、その変化量Δqと関節変数ベクトルqを式(4)に当てはめることで次の関節変数ベクトルqk+1を導出する。変化量計算部3は、式(2)〜(4)を用いたこのような処理を評価データ数Sの分だけ繰り返す。
続いて評価部4が、導出されたS個の関節変数ベクトルq(k=1〜S)に基づいてS個の評価指標値F(q)(k=1〜S)を導出し(ステップS13、制御変数決定ステップ)、評価指標値F(q)の変動状況を取得する(ステップS14、制御変数決定ステップ)。具体的には、評価部4は、S個の評価指標値F(q)のそれぞれについてF(q)からF(qk+1)への変化量ΔFを算出し、変化量が正(負)の値から負(正)の値に切り替わった回数(切替り回数)jを取得する。続いて評価部4は、評価データ数S、制御変数の初期値λ、及び導出された切替り回数jを式(5)に当てはめることで制御変数λを更新する(ステップS15、制御変数決定ステップ)。言い換えれば、評価部4は、評価指標値F(q)の変動状況に基づいて制御変数を決定する。
続いて収束判定部5が、評価指標値F(q)が所定の正数値αよりも小さいか又は関節変数ベクトルの変化量ΔqS−1=q−qS−1が所定の正数値βよりも小さいか否かを判定する(ステップS16)。ここでF(q)<α又はΔqS−1<βである場合(ステップS16;YES)、収束判定部5は、関節変数ベクトルqが目標値に到達した、すなわちロボットRの先端の目標位置及び目標姿勢を実現する各関節J〜Jの角度θ〜θが導出されたと判定する。そして、収束判定部5は、関節変数ベクトルqを出力部6に出力する。その後、出力部6が導出された関節変数ベクトルqをロボットRを動作させる制御部(図示せず)に出力する(ステップS17)。これにより、各関節J〜Jのアクチュエータが作動して各関節の角度θ〜θが変わり、先端T(ハンドH)の位置及び姿勢が目標とするものに変更される。
これに対し、ここでF(q)≧α且つΔqS−1≧βである場合(ステップS16;NO)、収束判定部5は、入力された更新後の制御変数λと関節変数ベクトルqとを変化量計算部3に出力する。これにより、今度はqを初期値として、ステップS12以降の処理が実行される。なお、ステップS12における計算では、更新後の制御変数λを導入したガウス・ニュートン法が用いられる。
以上説明したように、本実施形態によれば、制御変数λが、経験的に決められるのではなく評価指標値F(q)の変動状況に基づいて決定されるので、ロボットの機構に応じて自動的に制御変数λを決定できる。その結果、ロボットの機構に影響されることなく逆運動学計算の解を精度良く導出できる。また、制御変数λを評価指標値F(q)の変動状況に基づいて決定することで、関節変数ベクトルqの算出を安定化する(関節変数ベクトルqの発散を抑制する)とともに、関節変数ベクトルqが局所解に陥ることを防止することが可能になる。
また、本実施形態によれば、評価指標値F(q)の変動状況は、評価データ数Sの分だけ算出された評価指標値F(q)(k=1〜S)の変化量F(k=1〜S−1)に基づいて導出されるので、より適切な制御変数を決定できる。
また、本実施形態によれば、評価指標値F(q)の変動状況に基づいて決定される制御変数λを導入したガウス・ニュートン法を用いることで(式(3)を用いることで)、算出対象の関節変数ベクトルq(関節変数q1〜qn)が局所解に陥ることを防止し、所望の関節変数ベクトル(関節変数)を算出することが可能になる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
本実施形態では、本発明に係る逆運動学計算装置を、ベースBに固定され多数の関節を有するロボットRに適用したが、二次元平面上あるいは三次元空間を移動可能なロボットに適用してもよい。
本実施形態では、関節変数q1〜qnが関節J〜Jの関節角度を示したが、関節変数の種類はこれに限定されない。例えば、直動関節により連結されたリンク間の距離を示す関節変数を算出するために、本発明に係る逆運動学計算方法及び逆運動学計算装置を利用できる。
また、本実施形態では、ロボットRの先端Tを作業部位としたが、先端部以外の部分を作業部位としてもよい。例えば、リンク同士を接続する関節を作業部位としてもよいし、人型ロボットの頂部を作業部位としてもよい。
本実施形態に係る逆運動学計算装置の構成を示す図である。 図1に示す逆運動学計算装置が適用されるロボットを示す図である。 (a)は、評価指標値F(q)の変動状況の一例を示すグラフであり、(b)は、評価指標値F(q)の変動状況の別の例を示すグラフである。 図1に示す逆運動学計算装置の処理を示すフローチャートである。
符号の説明
1…逆運動学計算装置、2…入力部、3…変化量計算部、4…評価部、5…収束判定部、6…出力部

Claims (4)

  1. 複数の関節を有するロボットの作業部位の位置及び姿勢から関節変数を計算する逆運動学計算方法であって、
    制御変数を決定する制御変数決定ステップと、
    前記制御変数決定ステップにおいて決定された制御変数に基づいて前記関節変数の変化量を算出し、算出された変化量に基づいて前記ロボットの作業部位の位置及び姿勢に対応する関節変数を算出する関節変数算出ステップであって、前記関節変数の変化量の算出と前記関節変数の算出とを所定の回数だけ反復して実行する、該関数変数算出ステップとを含み、
    前記制御変数決定ステップでは、
    前記関節変数を評価する所定の評価指標値を算出するための評価関数を用いて、前記関節変数算出ステップにおいて算出された複数の関節変数のそれぞれについて前記評価指標値を算出し、
    算出された複数の前記評価指標値の変化量に基づいて、該変化量が正から負、又は負から正に切り替わる回数を取得し、取得した該回数に基づいて前記制御変数を決定する、
    ことを特徴とする逆運動学計算方法。
  2. 前記関節変数算出ステップでは、前記制御変数を導入したガウス・ニュートン法を用いて前記関節変数の変化量を算出する、
    ことを特徴とする請求項1に記載の逆運動学計算方法。
  3. 複数の関節を有するロボットの作業部位の位置及び姿勢から関節変数を計算する逆運動学計算装置であって、
    制御変数を決定する制御変数決定手段と、
    前記制御変数決定手段により決定された制御変数に基づいて前記関節変数の変化量を算出し、算出された変化量に基づいて前記ロボットの作業部位の位置及び姿勢に対応する関節変数を算出する関節変数算出手段であって、前記関節変数の変化量の算出と前記関節変数の算出とを所定の回数だけ反復して実行する、該関節変数算出手段とを備え、
    前記制御変数決定手段
    前記関節変数を評価する所定の評価指標値を算出するための評価関数を用いて、前記関節変数算出手段により算出された複数の関節変数のそれぞれについて前記評価指標値を算出し、
    算出された複数の前記評価指標値の変化量に基づいて、該変化量が正から負、又は負から正に切り替わる回数を取得し、取得した該回数に基づいて前記制御変数を決定する、
    ことを特徴とする逆運動学計算装置。
  4. 前記関節変数算出手段は、前記制御変数を導入したガウス・ニュートン法を用いて前記関節変数の変化量を算出する、
    ことを特徴とする請求項3に記載の逆運動学計算装置。
JP2007185945A 2007-07-17 2007-07-17 逆運動学計算方法及び逆運動学計算装置 Expired - Fee Related JP4894657B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007185945A JP4894657B2 (ja) 2007-07-17 2007-07-17 逆運動学計算方法及び逆運動学計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007185945A JP4894657B2 (ja) 2007-07-17 2007-07-17 逆運動学計算方法及び逆運動学計算装置

Publications (2)

Publication Number Publication Date
JP2009023016A JP2009023016A (ja) 2009-02-05
JP4894657B2 true JP4894657B2 (ja) 2012-03-14

Family

ID=40395338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007185945A Expired - Fee Related JP4894657B2 (ja) 2007-07-17 2007-07-17 逆運動学計算方法及び逆運動学計算装置

Country Status (1)

Country Link
JP (1) JP4894657B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021251989A1 (en) * 2020-06-09 2021-12-16 Verb Surgical Inc. Inverse kinematics of a surgical robot for teleoperation with hardware constraints

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101399433B1 (ko) * 2012-10-12 2014-05-27 삼성중공업 주식회사 로봇 제어 방법
CN103862476B (zh) * 2014-03-31 2016-10-26 内蒙古科技大学 一种六自由度机械手的位置逆解方法
CN112597437B (zh) * 2020-12-29 2022-09-16 深圳市优必选科技股份有限公司 机械臂的逆运动学解析方法、装置及设备
CN113524171B (zh) * 2021-05-26 2023-01-24 南京玖玖教育科技有限公司 多自由度机器人的控制方法、系统、机器人、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04147301A (ja) * 1990-10-09 1992-05-20 Kawasaki Steel Corp 非線形モデルの最適化装置
JPH07146703A (ja) * 1993-11-22 1995-06-06 Japan Atom Energy Res Inst 多関節リンク機構の順運動学解析法及び逆運動学解析法
JP4446272B2 (ja) * 2003-09-09 2010-04-07 株式会社国際電気通信基礎技術研究所 アレーアンテナ装置とその制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021251989A1 (en) * 2020-06-09 2021-12-16 Verb Surgical Inc. Inverse kinematics of a surgical robot for teleoperation with hardware constraints
US12004829B2 (en) 2020-06-09 2024-06-11 Verb Surgical Inc. Inverse kinematics of a surgical robot for teleoperation with hardware constraints

Also Published As

Publication number Publication date
JP2009023016A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
CN109828600B (zh) 时间最优快速三维避障路径规划方法
Briot et al. Topology optimization of industrial robots: Application to a five-bar mechanism
US8392346B2 (en) Reinforcement learning system
Ritto-Corrêa et al. On the arc-length and other quadratic control methods: Established, less known and new implementation procedures
JP4894657B2 (ja) 逆運動学計算方法及び逆運動学計算装置
US6690999B2 (en) Manipulator control method
Lu et al. New joint-drift-free scheme aided with projected ZNN for motion generation of redundant robot manipulators perturbed by disturbances
US8055383B2 (en) Path planning device
US20060195228A1 (en) Robot locus control method and apparatus and program of robot locus control method
JP2018020410A (ja) レイアウト設定方法、およびレイアウト設定装置
Natal et al. Nonlinear control of parallel manipulators for very high accelerations without velocity measurement: stability analysis and experiments on par2 parallel manipulator
CN115401699B (zh) 工业机器人精度可靠性分析方法、装置、设备及存储介质
JP2013132731A (ja) ロボット制御システム、ロボットシステム及びロボット制御方法
CN118219282B (zh) 一种机械臂运行轨迹修正方法、系统和存储介质
CN113043266B (zh) 一种基于迭代学习的自适应力跟踪控制方法
KR101278836B1 (ko) 인간형 관절 구성의 6축 로봇 팔 제어 장치 및 방법
CN107398903B (zh) 工业机械手臂执行端的轨迹控制方法
KR100903021B1 (ko) 휴머노이드 로봇 부품의 설계 방법 및 그 설계 장치
CN110114195B (zh) 动作转移装置、动作转移方法和存储动作转移程序的非暂时性计算机可读介质
Ibeas et al. Robust sliding control of robotic manipulators based on a heuristic modification of the sliding gain
Ledesma et al. A non‐recursive Lagrangian solution of the non‐causal inverse dynamics of flexible multibody systems: The planar case
KR102281119B1 (ko) 강화학습을 이용한 7축 로봇 제어 방법
Raoufi et al. Designing a model-free reinforcement learning controller for a flexible-link manipulator
JP6079352B2 (ja) ロボット制御方法、ロボット制御装置、ロボット、ロボットシステム、及びプログラム
JP2021036390A (ja) 非線形モデル予測制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110726

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4894657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees