JP2015089585A - リグレッサ行列の算出方法、力学パラメータの同定方法 - Google Patents
リグレッサ行列の算出方法、力学パラメータの同定方法 Download PDFInfo
- Publication number
- JP2015089585A JP2015089585A JP2013229373A JP2013229373A JP2015089585A JP 2015089585 A JP2015089585 A JP 2015089585A JP 2013229373 A JP2013229373 A JP 2013229373A JP 2013229373 A JP2013229373 A JP 2013229373A JP 2015089585 A JP2015089585 A JP 2015089585A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- regressor matrix
- matrix
- calculated
- calculating
- 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.)
- Pending
Links
Images
Abstract
【課題】ロボットの運動方程式に含まれるリグレッサ行列を、簡素な演算で導出すること。
【解決手段】予め定められた力学パラメータPを用いて逆動力学演算を行って、トルクを示すベクトルTpを算出する。ベクトルTpと予め定められた一のリンクの力学パラメータPのいずれかの成分に対し、所定の増分を加えたベクトルを算出する。算出した所定の増分を加えたベクトルを用いて逆動力学演算を行ってトルクを示すベクトルTを算出し、ベクトルTpとベクトルTとを用いて縦ベクトルを算出する。ベクトルTの算出を、ベクトルTpと予め定められた一のリンクの力学パラメータPの残りの成分と、複数のリンク残りのリンクとについて行い、ベクトルTを複数算出し、縦ベクトルk1〜k10×Nを算出する。縦ベクトルk1〜k10×Nを合成して、リグレッサ行列を算出する。
【選択図】図2
【解決手段】予め定められた力学パラメータPを用いて逆動力学演算を行って、トルクを示すベクトルTpを算出する。ベクトルTpと予め定められた一のリンクの力学パラメータPのいずれかの成分に対し、所定の増分を加えたベクトルを算出する。算出した所定の増分を加えたベクトルを用いて逆動力学演算を行ってトルクを示すベクトルTを算出し、ベクトルTpとベクトルTとを用いて縦ベクトルを算出する。ベクトルTの算出を、ベクトルTpと予め定められた一のリンクの力学パラメータPの残りの成分と、複数のリンク残りのリンクとについて行い、ベクトルTを複数算出し、縦ベクトルk1〜k10×Nを算出する。縦ベクトルk1〜k10×Nを合成して、リグレッサ行列を算出する。
【選択図】図2
Description
本発明はリグレッサ行列の算出方法、力学パラメータの同定方法及びロボットに関する。
近年、手先で物体を把持して移動させるロボットの開発が行われている。ロボットを精度よく制御するため、様々な手法が提案されている。一例として、運動方程式をリンクの質量、重心位置と質量の積及び慣性テンソルを含む力学パラメータに対して、いわゆるリグレッサ行列を用いて線形な関係式で表す手法が知られている。
特許文献1には、リグレッサ行列を含む運動方程式を用いてロボットの姿勢制御を行う際の力学パラメータの同定方法が開示されている。この方法では、ロボットに様々な姿勢を取らせ、ロボットの位置及び姿勢、各関節の角度、床からの反力から、最小二乗法によりすべてのパラメータを同時に推定する。これのより、各関節に生じるトルクを計測することなく、力学パラメータを同定できる。
特許文献2には、関節に生じるトルク、外力及びベースリンクに関する運動方程式に基づいて、運動方程式の最小力学パラメータとトルクセンサのトルクのオフセット値を同時に同定できるトルクセンサ校正装置が開示されている。
しかし、発明者は、上述の手法には以下に示す問題点が有ることを見出した。リグレッサ行列は、多関節ロボットの関節位置や回転軸方向によって変化する。また、リグレッサ行列を求めようとすると、角速度ベクトルと外積を求めるなどの複雑な演算が必要である。そのため、特許文献1及び2の手法では、いずれもリグレッサ行列を導出する過程が煩雑である。その結果、力学パラメータを同定するためのシステムを開発するのに、多大のコストや開発時間を要してしまう。
本発明の一態様であるリグレッサ行列の算出方法は、多関節ロボットの力学パラメータからなるベクトルと、前記多関節ロボットのトルクからなるベクトルとが、リグレッサ行列を用いた線形形式で表現される系において、予め定められた力学パラメータを示す第1のベクトルを用いて逆動力学演算を行って算出されたトルクを示す第2のベクトルを算出し、前記多関節ロボットの複数のリンクのうち、一のリンクの予め定められた力学パラメータを示す第3のベクトルのいずれかの成分に対し、所定の増分を加えて第4のベクトルを算出し、前記第4のベクトル用いて逆動力学演算を行って算出されたトルクを示す第5のベクトルを算出し、記第2のベクトルと前記第5のベクトルと、を用いてリグレッサ行列の成分である第6のベクトルを算出し、前記第5のベクトルの算出を、前記第3のベクトルの残りの成分と、前記複数のリンク残りのリンクとについて行い、前記第6のベクトルを複数算出し、複数の前記第6のベクトルを合成して前記リグレッサ行列を算出するものである。
上記のリグレッサ行列の算出方法においては、トルクをτ、前記リグレッサ行列をK、前記第1のベクトルをPとして、以下の式が成立し、
mi(iは、1≦i≦Nを満たす整数、Nは前記リンクの総数を示す正の整数)はi番目の前記リンクの質量とし、Sxi、Syi及びSziは、それぞれi番目の前記リンクの重心位置のx、y及びz座標とし、Mxxi、Mxyi、Mxzi、Myyi、Myzi、Mzziは、それぞれi番目の前記リンクの慣性テンソルのxx成分、xy成分、xz成分、yy成分、yz成分、zz成分であるとして、前記第1のベクトルPは以下の式で表され、
i番目の前記リンクについて、mi、Sxi、Syi、Szi、Mxxi、Mxyi、Mxzi、Myyi、Myzi及びMzziに、順に所定の増分を加えた逆動力学演算を行い、
前記順に所定の増分を加えた逆動力学演算を、前記複数のリンクのそれぞれについて行うことが望ましい。
前記順に所定の増分を加えた逆動力学演算を、前記複数のリンクのそれぞれについて行うことが望ましい。
上記のリグレッサ行列の算出方法においては、前記順に所定の増分を加えた逆動力学演算をN個の前記リンクのそれぞれについて行うことで得られる縦ベクトルを横方向に並べて、前記リグレッサ行列を算出することが望ましい。また、一部のパラメータのみ同定する場合はそれに対応した縦ベクトルを横方向に並べ、あるいは最小力学パラメータを同定する場合はそれに対応するように変形してリグレッサ行列を算出することが望ましい。
本発明の一態様である力学パラメータの同定方法は、前記多関節ロボットのそれぞれの関節のトルクを計測し、前記多関節ロボットのそれぞれの関節の角度、角速度及び角加速度を算出し、前記多関節ロボットのそれぞれの関節の角度、角速度及び角加速度と、前記第1のベクトルと、を用いて逆動力学演算を行って、前記第2のベクトルを算出し、前記多関節ロボットのそれぞれの関節のトルクを計測し、請求項1乃至3のいずれか一項に記載の前記リグレッサ行列の算出方法で前記リグレッサ行列を算出し、算出した前記リグレッサ行列の疑似逆行列を算出し、計測した前記トルクを示す第7のベクトルと前記第2のベクトルとの和に、前記リグレッサ行列の疑似逆行列を乗じて、力学パラメータの補正分を示す第8のベクトルを算出し、前記第1のベクトルに前記第8のベクトルを加えて、前記多関節ロボットの力学パラメータを同定するものである。
本発明の一態様であるロボットシステムは、多関節ロボットと、前記多関節ロボットの力学パラメータからなるベクトルと、前記多関節ロボットのトルクからなるベクトルとが、リグレッサ行列を用いた線形形式で表現される系の前記リグレッサ行列を算出するリグレッサ行列算出部と、算出した前記リグレッサ行列を用いて、前記多関節ロボットの動作を制御する制御装置と、を備え、前記リグレッサ行列算出部は、予め定められた力学パラメータを示す第1のベクトルを用いて逆動力学演算を行って算出されたトルクを示す第2のベクトルを算出し、前記多関節ロボットの複数のリンクのうち、一のリンクの予め定められた力学パラメータを示す第3のベクトルのいずれかの成分に対し、所定の増分を加えて第4のベクトルを算出し、前記第4のベクトル用いて逆動力学演算を行って算出されたトルクを示す第5のベクトルを算出し、前記第2のベクトルと前記第5のベクトルと、を用いてリグレッサ行列の成分である第6のベクトルを算出し、前記第5のベクトルの算出を、前記第3のベクトルの残りの成分と、前記複数のリンク残りのリンクとについて行い、前記第6のベクトルを複数算出し、複数の前記第6のベクトルを合成して前記リグレッサ行列を算出するものである。
本発明によれば、ロボットアームの運動方程式に含まれるリグレッサ行列を、簡素な演算で導出することができる。
実施の形態1
実施の形態1にかかるリグレッサ行列算出方法について説明する。図1は、実施の形態1にかかるロボットシステム100の構成を模式的に示す図である。ロボットシステム100は、ロボット1、トルクセンサ2、リグレッサ行列算出部3及び制御装置4を有する。
実施の形態1にかかるリグレッサ行列算出方法について説明する。図1は、実施の形態1にかかるロボットシステム100の構成を模式的に示す図である。ロボットシステム100は、ロボット1、トルクセンサ2、リグレッサ行列算出部3及び制御装置4を有する。
ロボット1は、多関節のロボットである。図1では、一例として、7関節のロボットを模式的に図示している。関節J1、J3、J5及びJ7は、図1紙面に平行な方向を軸として回転する関節である。関節J2、J4及びJ6は、図1紙面に垂直な方向を軸として回転する関節である。HDは、物体の把持部である。
トルクセンサ2は、ロボット1が動作している際の各関節のトルクを測定し、ベクトルで示されるトルクτを出力する。以下の説明では、ベクトル及び行列については、太字で表す。
リグレッサ行列算出部3は、トルクτ、物理パラメータP及び関節角度qから、リグレッサ行列Kを算出する。
制御装置4は、制御信号CONを与えることで、ロボット1の動作制御を行う。制御装置4には、ロボット1の動作制御に必要な情報が格納される。制御装置4は、リグレッサ行列算出部3に物理パラメータP及び関節角度qを出力し、リグレッサ行列算出部3が算出したリグレッサ行列Kを取得する。そして、制御装置4は、リグレッサ行列Kを含む運動方程式を用いて、ロボット1の運動を制御する。
次いで、リグレッサ行列算出部3が行うリグレッサ行列Kの算出の方法について説明する。多関節ロボットの運動方程式は、一般的に以下の式(1)で表される。
式(1)において、τは関節のトルクを示すベクトル、qは関節角度を示すベクトルである。
右辺第1項は、慣性力であり、慣性行列Mと関節の角加速度ベクトルd2q/dt2(qの2階時間微分、式ではqの上に微分階数を示す黒点を2つ付して表示する)積として表される。
右辺第2項の行列Hは遠心力及びコリオリ力から構成される非線形項であり、関節角度q及び関節の角速度dq/dt(qの1階時間微分、式ではqの上に微分階数を示す黒点を1つ付して表示する)を変数とする行列で表される。
右辺第3項の行列Gは重力を表し、関節角度qを変数とする行列である。
右辺第1項は、慣性力であり、慣性行列Mと関節の角加速度ベクトルd2q/dt2(qの2階時間微分、式ではqの上に微分階数を示す黒点を2つ付して表示する)積として表される。
右辺第2項の行列Hは遠心力及びコリオリ力から構成される非線形項であり、関節角度q及び関節の角速度dq/dt(qの1階時間微分、式ではqの上に微分階数を示す黒点を1つ付して表示する)を変数とする行列で表される。
右辺第3項の行列Gは重力を表し、関節角度qを変数とする行列である。
式(1)において、考慮すべき力学パラメータは、各関節の質量m、重心位置s及び慣性テンソルMである。これらの力学パラメータを同定するため、N(Nは、1以上の整数)個のリンクを有する多関節ロボットの力学パラメータPを、以下の式(2)のように縦ベクトルとして定義する。
式(2)において、mi(iは、1≦i≦Nを満たす整数)はi番目のリンクの質量を示す。Sxi、Syi及びSziは、それぞれi番目のリンクの重心位置のx、y及びz座標を示す。Mxxi、Mxyi、Mxzi、Myyi、Myzi、Mzziは、それぞれi番目のリンクの慣性テンソルのxx成分、xy成分、xz成分、yy成分、yz成分、zz成分を示す。つまり、各リンクについて10個の力学パラメータが存在し、力学パラメータPは合計で(10×N)個の力学パラメータを含む。
力学パラメータPを用いて、式(1)を変形すると、以下の式(3)が得られる。
式(3)のKは、いわゆるリグレッサ行列と称される行列である。リグレッサ行列Kは、(10×N)個の列ベクトルk1、k2、・・・、k10Nを用いて、以下の式(4)で表される。なお、列ベクトルk1、k2、・・・、k10Nは、それぞれ縦ベクトルである。
本実施の形態では、複雑な演算を要することなくリグレッサ行列Kを求めるため、逆動力学演算を用いた簡素な演算でリグレッサ行列Kを求める方法について説明する。図2は、実施の形態1にかかるリグレッサ行列Kの算出手順を示すフローチャートである。
ステップS11
CAD情報などから、多関節ロボットの力学パラメータPのおおよその値が判明している場合がある。まず、判明している力学パラメータP(第1のベクトル)を用いて、逆動力学演算を行う。この場合に、逆動力学演算を行って得られる結果Tp(第2のベクトル)を、以下の式(6)で表す。
CAD情報などから、多関節ロボットの力学パラメータPのおおよその値が判明している場合がある。まず、判明している力学パラメータP(第1のベクトル)を用いて、逆動力学演算を行う。この場合に、逆動力学演算を行って得られる結果Tp(第2のベクトル)を、以下の式(6)で表す。
ステップS12
次いで、各リンクについて、力学パラメータの成分を順に微小増加させて逆動力学演算を行った結果を算出する。まず、1番目のリンクについて力学パラメータの成分を順に微小増加させるため、リンクの番号を示すパラメータiを初期値である「1」に設定する。以下、説明の簡略化のため、ステップS13〜S22に関しては、i=1の場合について説明する。
次いで、各リンクについて、力学パラメータの成分を順に微小増加させて逆動力学演算を行った結果を算出する。まず、1番目のリンクについて力学パラメータの成分を順に微小増加させるため、リンクの番号を示すパラメータiを初期値である「1」に設定する。以下、説明の簡略化のため、ステップS13〜S22に関しては、i=1の場合について説明する。
ステップS13
1番目のリンクの1個目の力学パラメータP(第3のベクトル)の値である質量m1をΔm1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1+Δm1)(第5のベクトル)を算出する。T(1,m1+Δm1)は、以下の式(7)で表される。
この場合、リグレッサ行列Kの第1列k1(第6のベクトル)は、以下の式(8)で表される。
1番目のリンクの1個目の力学パラメータP(第3のベクトル)の値である質量m1をΔm1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1+Δm1)(第5のベクトル)を算出する。T(1,m1+Δm1)は、以下の式(7)で表される。
ステップS14
1番目のリンクの2個目の力学パラメータPの値m1sx1をm1Δsx1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1(sx1+Δsx1))を算出する。T(1,m1(sx1+Δsx1))は、以下の式(9)で表される。
この場合、リグレッサ行列Kの第2列k2(第6のベクトル)は、以下の式(10)で表される。
1番目のリンクの2個目の力学パラメータPの値m1sx1をm1Δsx1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1(sx1+Δsx1))を算出する。T(1,m1(sx1+Δsx1))は、以下の式(9)で表される。
ステップS15
1番目のリンクの3個目の力学パラメータPの値m1sy1をm1Δsy1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1(sy1+Δsy1))を算出する。T(1,m1(sy1+Δsy1))は、以下の式(11)で表される。
この場合、リグレッサ行列Kの第3列k3(第6のベクトル)は、以下の式(12)で表される。
1番目のリンクの3個目の力学パラメータPの値m1sy1をm1Δsy1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1(sy1+Δsy1))を算出する。T(1,m1(sy1+Δsy1))は、以下の式(11)で表される。
ステップS16
1番目のリンクの4個目の力学パラメータPの値m1sz1をm1Δsz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1(sz1+Δsz1))を算出する。T(1,m1(sz1+Δsz1))は、以下の式(13)で表される。
この場合、リグレッサ行列Kの第4列k4(第6のベクトル)は、以下の式(14)で表される。
1番目のリンクの4個目の力学パラメータPの値m1sz1をm1Δsz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,m1(sz1+Δsz1))を算出する。T(1,m1(sz1+Δsz1))は、以下の式(13)で表される。
ステップS17
1番目のリンクの5個目の力学パラメータPの値Mxx1をΔMxx1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMxx1)を算出する。T(1,ΔMxx1)は、以下の式(15)で表される。
この場合、リグレッサ行列Kの第5列k5(第6のベクトル)は、以下の式(16)で表される。
1番目のリンクの5個目の力学パラメータPの値Mxx1をΔMxx1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMxx1)を算出する。T(1,ΔMxx1)は、以下の式(15)で表される。
ステップS18
1番目のリンクの6個目の力学パラメータPの値Mxy1をΔMxy1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMxy1)を算出する。T(1,ΔMxy1)は、以下の式(17)で表される。
この場合、リグレッサ行列Kの第6列k6(第6のベクトル)は、以下の式(18)で表される。
1番目のリンクの6個目の力学パラメータPの値Mxy1をΔMxy1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMxy1)を算出する。T(1,ΔMxy1)は、以下の式(17)で表される。
ステップS19
1番目のリンクの7個目の力学パラメータPの値Mxz1をΔMxz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMxz1)を算出する。T(1,ΔMxz1)は、以下の式(19)で表される。
この場合、リグレッサ行列Kの第7列k7(第6のベクトル)は、以下の式(20)で表される。
1番目のリンクの7個目の力学パラメータPの値Mxz1をΔMxz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMxz1)を算出する。T(1,ΔMxz1)は、以下の式(19)で表される。
ステップS20
1番目のリンクの8個目の力学パラメータPの値Myy1をΔMyy1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMyy1)を算出する。T(1,ΔMyy1)は、以下の式(21)で表される。
この場合、リグレッサ行列Kの第8列k8(第6のベクトル)は、以下の式(22)で表される。
1番目のリンクの8個目の力学パラメータPの値Myy1をΔMyy1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMyy1)を算出する。T(1,ΔMyy1)は、以下の式(21)で表される。
ステップS21
1番目のリンクの9個目の力学パラメータPの値Myz1をΔMyz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMyz1)を算出する。T(1,ΔMyz1)は、以下の式(23)で表される。
この場合、リグレッサ行列Kの第9列k9(第6のベクトル)は、以下の式(24)で表される。
1番目のリンクの9個目の力学パラメータPの値Myz1をΔMyz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMyz1)を算出する。T(1,ΔMyz1)は、以下の式(23)で表される。
ステップS22
1番目のリンクの10個目の力学パラメータPの値Mzz1をΔMzz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMzz1)を算出する。T(1,ΔMzz1)は、以下の式(25)で表される。
この場合、リグレッサ行列Kの第10列k10(第6のベクトル)は、以下の式(26)で表される。
1番目のリンクの10個目の力学パラメータPの値Mzz1をΔMzz1だけ変化させたベクトル(第4のベクトル)を用いて逆動力学演算を行った場合の結果T(1,ΔMzz1)を算出する。T(1,ΔMzz1)は、以下の式(25)で表される。
ステップS23
次いで、リンクの番号を示すパラメータiが「N」であるか(i=N)を判定する。
次いで、リンクの番号を示すパラメータiが「N」であるか(i=N)を判定する。
ステップS24
リンクの番号を示すパラメータiが「N」でない場合(i≠N)、iに1を加算(i=i+1)し、ステップS12に戻る。
リンクの番号を示すパラメータiが「N」でない場合(i≠N)、iに1を加算(i=i+1)し、ステップS12に戻る。
ステップS25
リンクの番号を示すパラメータiが「N」である場合(i=N)、ステップS12〜S23がN回繰り返されることで、(10×N)個の列ベクトルk1〜k10Nが算出されたこととなる。つまり、リグレッサ行列を構成する列ベクトルが全て算出されているので、列ベクトルk1〜k10Nを組み合わせて、リグレッサ行列Kを算出することができる。
リンクの番号を示すパラメータiが「N」である場合(i=N)、ステップS12〜S23がN回繰り返されることで、(10×N)個の列ベクトルk1〜k10Nが算出されたこととなる。つまり、リグレッサ行列を構成する列ベクトルが全て算出されているので、列ベクトルk1〜k10Nを組み合わせて、リグレッサ行列Kを算出することができる。
以上、上述の方法によれば、差分計算を行う簡素な演算により、リグレッサ行列を算出することができる。これにより、ロボットの運動方程式に含まれるリグレッサ行列を、簡素な演算で導出することができる。
次いで、本実施の形態で算出したリグレッサ行列を用いた場合の力学パラメータの同定結果について説明する。ここでは、ロボットは7関節の冗長ロボットを想定し、仮想的にリンクの質量を変化させたシミュレーションにより、力学パラメータを同定した。7関節の冗長ロボットの全体の質量は約9.5(kg)であり、肩関節から手先位置までの長さは約65(cm)である。
同定に用いるロボットの姿勢は、同定に必要な情報を含むようになるべくランダムな姿勢が望ましい。そのため、各関節の目標軌道は振幅1(rad)の三角関数で生成した。また、その振幅は肩関節から手先関節に向けて0.25Hz、0.26Hz、0.27Hz、0.28Hz、0.29Hz、0.30Hz、0.31Hzとした。この目標軌道の中で、1秒から6.9秒までの60種類の姿勢(0.1秒間隔)を同定に利用した。
以上の同定結果を適用して、再度逆動力学演算を行った。図3は、逆動力学演算で得られた第1関節のトルクを示すグラフである。図4は、逆動力学演算で得られた第4関節のトルクを示すグラフである。
図3及び4に示すように、同定に用いた姿勢を取得した6.9秒以降ではトルクのセンサ値(measured torque)は、トルク計算値(recalculated torque)に一致している。よって、本実施の形態で得られるリグレッサ行列を用いて、力学パラメータを正確に同定できていることが理解できる。
以上、本実施の形態についてまとめると、上述した従来技術では、リグレッサ行列を算出しようとした場合、角速度ベクトルと外積を求めるソフトなど、リグレッサ行列を演算するための専用ソフトが多く必要となる。そのため、力学パラメータを同定するためのシステムを開発するために多大なコストや開発時間を要してしまう。
これに対し、本実施の形態では、逆動力学演算を用いてリギレッサ行列を算出することができる。そのため、リグレッサ行列を算出するために必要な専用ソフト等を減らすことができる。従って、力学パラメータを同定するためのシステムを開発するために要するコストや時間を低減することができる。また、算出したリグレッサ行列算出方法を用いて力学パラメータを同定することができる。
実施の形態2
実施の形態2にかかるリグレッサ行列算出方法について説明する。図5は、実施の形態2にかかるロボット200の構成を模式的に示す図である。ロボット200は、実施の形態1にかかるロボットシステム100に、パラメータ同定部5を追加した構成を有する。パラメータ同定部5は、ロボット1の力学パラメータを同定することができる。
実施の形態2にかかるリグレッサ行列算出方法について説明する。図5は、実施の形態2にかかるロボット200の構成を模式的に示す図である。ロボット200は、実施の形態1にかかるロボットシステム100に、パラメータ同定部5を追加した構成を有する。パラメータ同定部5は、ロボット1の力学パラメータを同定することができる。
以下、実施の形態2にかかる力学パラメータの同定方法について説明する。図6は、実施の形態2にかかる力学パラメータの同定の手順を示すフローチャートである。
ステップS31
制御装置4はロボットに所定の動作をさせ、そのときの関節のトルクτ(第7のベクトル)をトルクセンサ2により計測する。
制御装置4はロボットに所定の動作をさせ、そのときの関節のトルクτ(第7のベクトル)をトルクセンサ2により計測する。
ステップS32
制御装置4がロボットに所定の動作をさせた状態で、パラメータ同定部5は、そのときの関節の角度q、角速度dq/dt、角加速度d2q/dt2を計測する。
制御装置4がロボットに所定の動作をさせた状態で、パラメータ同定部5は、そのときの関節の角度q、角速度dq/dt、角加速度d2q/dt2を計測する。
ステップS33
パラメータ同定部5は、計測した関節の角度q、角速度dq/dt、角加速度d2q/dt2及び初期の力学パラメータを用いて逆動力学演算を行い、トルクτcalcを算出する。なお、初期の力学パラメータは、例えばCADデータから見積もることが可能である。
パラメータ同定部5は、計測した関節の角度q、角速度dq/dt、角加速度d2q/dt2及び初期の力学パラメータを用いて逆動力学演算を行い、トルクτcalcを算出する。なお、初期の力学パラメータは、例えばCADデータから見積もることが可能である。
ステップS34
リグレッサ行列算出部3は、計測したトルクτから、リグレッサ行列Kを算出する。リグレッサ行列Kの算出方法は、実施の形態1(図1)で説明した通りであるので、説明を省略する。
リグレッサ行列算出部3は、計測したトルクτから、リグレッサ行列Kを算出する。リグレッサ行列Kの算出方法は、実施の形態1(図1)で説明した通りであるので、説明を省略する。
ステップS35
パラメータ同定部5は、リグレッサの疑似逆行列K+を求める。
パラメータ同定部5は、リグレッサの疑似逆行列K+を求める。
ステップS36
パラメータ同定部5は、例えば最小二乗法により、力学パラメータの差分ΔP(第8のベクトル)を求める。力学パラメータの差分ΔPは、以下の式(27)で表される。
ステップS37
パラメータ同定部5は、初期の力学パラメータPから力学パラメータの差分ΔPを加えて、力学パラメータPTを算出する。力学パラメータPTは、以下の式(28)で表される。
パラメータ同定部5は、例えば最小二乗法により、力学パラメータの差分ΔP(第8のベクトル)を求める。力学パラメータの差分ΔPは、以下の式(27)で表される。
パラメータ同定部5は、初期の力学パラメータPから力学パラメータの差分ΔPを加えて、力学パラメータPTを算出する。力学パラメータPTは、以下の式(28)で表される。
以上、本実施の形態によれば、初期の力学パラメータと力学パラメータの差分計算を利用して、ロボットのパラメータを簡便に求めることが可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態にかかるリグレッサ行列の算出方法及び力学パラメータの同定方法は、7軸以外の数の多関節ロボットに適用できることは言うまでもない。
リグレッサ行列算出部3は、コンピュータなどのハードウェア資源で実現することも可能である。この場合、実施の形態1にかかるリグレッサ行列の算出の手順を規定するプログラムを、リグレッサ行列算出部3に実行させることで、同様にリグレッサ行列を算出することができる。
パラメータ同定部5は、コンピュータなどのハードウェア資源で実現することも可能である。この場合、実施の形態2にかかる力学パラメータの同定の手順を規定するプログラムを、パラメータ同定部5に実行させることで、同様に力学パラメータの同定を同定することができる。
1 ロボット
2 トルクセンサ
3 リグレッサ行列算出部
4 制御装置
5 パラメータ同定部
100、200 ロボットシステム
2 トルクセンサ
3 リグレッサ行列算出部
4 制御装置
5 パラメータ同定部
100、200 ロボットシステム
Claims (5)
- 多関節ロボットの力学パラメータからなるベクトルと、前記多関節ロボットのトルクからなるベクトルとが、リグレッサ行列を用いた線形形式で表現される系において、
予め定められた力学パラメータを示す第1のベクトルを用いて逆動力学演算を行って算出されたトルクを示す第2のベクトルを算出し、
前記多関節ロボットの複数のリンクのうち、一のリンクの予め定められた力学パラメータを示す第3のベクトルのいずれかの成分に対し、所定の増分を加えて第4のベクトルを算出し、前記第4のベクトル用いて逆動力学演算を行って算出されたトルクを示す第5のベクトルを算出し、
前記第2のベクトルと前記第5のベクトルと、を用いてリグレッサ行列の成分である第6のベクトルを算出し、
前記第5のベクトルの算出を、前記第3のベクトルの残りの成分と、前記複数のリンク残りのリンクとについて行い、前記第6のベクトルを複数算出し、
複数の前記第6のベクトルを合成して前記リグレッサ行列を算出する、
リグレッサ行列の算出方法。 - トルクをτ、前記リグレッサ行列をK、前記第1のベクトルをPとして、以下の式が成立し、
mi(iは、1≦i≦Nを満たす整数、Nは前記リンクの総数を示す正の整数)はi番目の前記リンクの質量とし、Sxi、Syi及びSziは、それぞれi番目の前記リンクの重心位置のx、y及びz座標とし、Mxxi、Mxyi、Mxzi、Myyi、Myzi、Mzziは、それぞれi番目の前記リンクの慣性テンソルのxx成分、xy成分、xz成分、yy成分、yz成分、zz成分であるとして、前記第1のベクトルPは以下の式で表され、
前記順に所定の増分を加えた逆動力学演算を、前記複数のリンクのそれぞれについて行う、
請求項1に記載のリグレッサ行列の算出方法。 - 前記順に所定の増分を加えた逆動力学演算をN個の前記リンクのそれぞれについて行うことで得られる縦ベクトルを横方向に並べて、前記リグレッサ行列を算出する、
請求項2に記載のリグレッサ行列の算出方法。 - 前記多関節ロボットのそれぞれの関節のトルクを計測し、
前記多関節ロボットのそれぞれの関節の角度、角速度及び角加速度を算出し、
前記多関節ロボットのそれぞれの関節の角度、角速度及び角加速度と、前記第1のベクトルと、を用いて逆動力学演算を行って、前記第2のベクトルを算出し、
前記多関節ロボットのそれぞれの関節のトルクを計測し、
請求項1乃至3のいずれか一項に記載の前記リグレッサ行列の算出方法で前記リグレッサ行列を算出し、
算出した前記リグレッサ行列の疑似逆行列を算出し、
計測した前記トルクを示す第7のベクトルと前記第2のベクトルとの和に、前記リグレッサ行列の疑似逆行列を乗じて、力学パラメータの補正分を示す第8のベクトルを算出し、
前記第1のベクトルに前記第8のベクトルを加えて、前記多関節ロボットの力学パラメータを同定する、
力学パラメータの同定方法。 - 多関節ロボットと、
前記多関節ロボットの力学パラメータからなるベクトルと、前記多関節ロボットのトルクからなるベクトルとが、リグレッサ行列を用いた線形形式で表現される系の前記リグレッサ行列を算出するリグレッサ行列算出部と、
算出した前記リグレッサ行列を用いて、前記多関節ロボットの動作を制御する制御装置と、を備え、
前記リグレッサ行列算出部は、
予め定められた力学パラメータを示す第1のベクトルを用いて逆動力学演算を行って算出されたトルクを示す第2のベクトルを算出し、
前記多関節ロボットの複数のリンクのうち、一のリンクの予め定められた力学パラメータを示す第3のベクトルのいずれかの成分に対し、所定の増分を加えて第4のベクトルを算出し、前記第4のベクトル用いて逆動力学演算を行って算出されたトルクを示す第5のベクトルを算出し、
前記第2のベクトルと前記第5のベクトルと、を用いてリグレッサ行列の成分である第6のベクトルを算出し、
前記第5のベクトルの算出を、前記第3のベクトルの残りの成分と、前記複数のリンク残りのリンクとについて行い、前記第6のベクトルを複数算出し、
複数の前記第6のベクトルを合成して前記リグレッサ行列を算出する、
ロボットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013229373A JP2015089585A (ja) | 2013-11-05 | 2013-11-05 | リグレッサ行列の算出方法、力学パラメータの同定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013229373A JP2015089585A (ja) | 2013-11-05 | 2013-11-05 | リグレッサ行列の算出方法、力学パラメータの同定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015089585A true JP2015089585A (ja) | 2015-05-11 |
Family
ID=53193359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013229373A Pending JP2015089585A (ja) | 2013-11-05 | 2013-11-05 | リグレッサ行列の算出方法、力学パラメータの同定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015089585A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020139784A (ja) * | 2019-02-27 | 2020-09-03 | 国立大学法人東京工業大学 | 多体系の最小力学パラメータ同定装置、方法及びプログラム |
CN112099424A (zh) * | 2019-06-17 | 2020-12-18 | 施耐德电器工业公司 | 用于监控机器的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04340601A (ja) * | 1991-05-17 | 1992-11-27 | Sanyo Electric Co Ltd | 逆動力学的モデルの基底パラメ−タの同定方法 |
JPH05277976A (ja) * | 1992-03-31 | 1993-10-26 | Nippon Telegr & Teleph Corp <Ntt> | 動力学モデルパラメータ同定装置 |
WO2009147875A1 (ja) * | 2008-06-04 | 2009-12-10 | 国立大学法人 東京大学 | 力学パラメータの同定法 |
JP2012176465A (ja) * | 2011-02-28 | 2012-09-13 | Univ Of Tokyo | トルクセンサ校正装置、校正方法、及びプログラム |
JP2013107191A (ja) * | 2011-11-22 | 2013-06-06 | Disney Enterprises Inc | 力制御関節を有する有脚ロボットのための運動学的および動力学的キャリブレーション方法 |
-
2013
- 2013-11-05 JP JP2013229373A patent/JP2015089585A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04340601A (ja) * | 1991-05-17 | 1992-11-27 | Sanyo Electric Co Ltd | 逆動力学的モデルの基底パラメ−タの同定方法 |
JPH05277976A (ja) * | 1992-03-31 | 1993-10-26 | Nippon Telegr & Teleph Corp <Ntt> | 動力学モデルパラメータ同定装置 |
WO2009147875A1 (ja) * | 2008-06-04 | 2009-12-10 | 国立大学法人 東京大学 | 力学パラメータの同定法 |
JP2012176465A (ja) * | 2011-02-28 | 2012-09-13 | Univ Of Tokyo | トルクセンサ校正装置、校正方法、及びプログラム |
JP2013107191A (ja) * | 2011-11-22 | 2013-06-06 | Disney Enterprises Inc | 力制御関節を有する有脚ロボットのための運動学的および動力学的キャリブレーション方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020139784A (ja) * | 2019-02-27 | 2020-09-03 | 国立大学法人東京工業大学 | 多体系の最小力学パラメータ同定装置、方法及びプログラム |
CN112099424A (zh) * | 2019-06-17 | 2020-12-18 | 施耐德电器工业公司 | 用于监控机器的方法 |
CN112099424B (zh) * | 2019-06-17 | 2024-05-07 | 施耐德电器工业公司 | 用于监控机器的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946753B2 (ja) | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 | |
Karbasizadeh et al. | Experimental dynamic identification and model feed-forward control of Novint Falcon haptic device | |
JP2009274148A (ja) | シミュレーション装置 | |
KR20110004788A (ko) | 머니퓰레이터를 작동시키기 위한 방법 및 장치 | |
Yang et al. | Computed force and velocity control for spatial multi-DOF electro-hydraulic parallel manipulator | |
JP2018030210A (ja) | シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
JP2017024142A (ja) | 支持体の弾性変形を補償するロボット制御装置 | |
JP2015089584A (ja) | ロボットの制御方法及びロボットシステム | |
US10216874B2 (en) | Robot simulation device | |
JP4054984B2 (ja) | ロボットの制御装置および制御方法 | |
Maurice et al. | Digital human modeling for collaborative robotics | |
JP2015089585A (ja) | リグレッサ行列の算出方法、力学パラメータの同定方法 | |
JP5732985B2 (ja) | トルク算出装置、トルク算出方法、及びプログラム | |
JP5316396B2 (ja) | ロボットのばね定数同定方法およびロボットのばね定数同定装置 | |
Gosselin | Compact dynamic models for the Tripteron and Quadrupteron parallel manipulators | |
JP4829151B2 (ja) | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 | |
JP2009274180A (ja) | ロボット動作計画方法及び装置 | |
JP6091272B2 (ja) | 多関節ロボットのバネ定数補正装置 | |
JP5316395B2 (ja) | ロボットのばね定数同定方法およびロボットのばね定数同定装置 | |
JP2017071012A (ja) | マスタースレーブ装置 | |
JP2020075329A (ja) | シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
Silawatchananai et al. | Force control of an upper limb exoskeleton for virtual reality using impedance control | |
JP2014073314A (ja) | ゴルフスイング解析装置およびゴルフスイング解析方法 | |
JP6814441B2 (ja) | 駆動機械の学習制御装置及び学習制御方法 | |
Beiter et al. | Whole Body Control for Haptic Interaction with VR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161018 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170509 |