「詳説ロボットの運動学」補足説明1 ロボットの運動解析に必要な数学と力学
2008.4.1
1. ベクトル演算
2. ロボットの運動解析によく使う関数
3. 剛体の運動
4. 剛体の静力学
5. 剛体の動力学
ロボットの運動を論じることは,幾何学的な運動解析をすることと静力学・動力学解析をすることである.ここで述べるのはロボットの解析に必要な基本的なベクトル演算と力学である.
ロボットの解析を理解するためにもっと必要なことは専門書を参照して戴きたい.
1. ベクトル演算(vector analysis)と図形のベクトル表現
ロボットの運動で扱う数学は3次元ベクトル演算が大半である.ここではベクトル演算の基本を述べる.
3次元ベクトルを
(1.1)
と置く.ただしは座標軸の単位ベクトルである.
(1)ベクトルの和と差(図1.1,図1.2)
(1.2)
(1.3)
![]() |
(2)ベクトルの絶対値
(1.4)
これはベクトルの大きさを表す.
(3)座標軸の変換(図1.3)
![]() |
(1.5)
へと変換される.変換前を,変換後を
,
(3×3行列)と置くと
(1.6)
と表される.逆に表示から
表示への変換は
(1.7)
である.
(4)ベクトルの内積(inner product, scalar product)(図1.4)
![]() |
(1.8)
d=0ならばが直交していることを表し,
ならば
と
の方向が一致していることを表す.
(5)ベクトルの外積(vector product)(図1.5)
![]() |
(1.9)
ここには
と
に共通の法線ベクトル(normal vector)であり,
(1.10)
と表され,その大きさは1である.のときは
と
が一致していることを示している.
(6)ベクトルの回転(図1.6)
![]() |
(1.11)
である.また,と
がわかっているとき
の回りの回転量θは符号も考慮して
(1.12)
である.ただし回りの回転はねじの進む方向を正とする.第3式のATAN2(s,c)は
,
となるθを一意に与える逆正接関数でコンピュータの標準関数として与えられている,
(7)ベクトルのスカラ3重積(triple scalar product)(図1.7)
![]() |
(1.13)
これはを3稜とする平行6面体の体積を表す.また
(1.14)
は3ベクトルが同一平面上にあることを示している.
(8)ベクトルのベクトル3重積(triple vector product)
(1.15)
(9)ラグランジュの式
(1.16)
(1.17)
(10)直線の方程式(図1.8)
点を通り方向ベクトル
の直線上の点
の方程式は
![]() |
(1.18)
または,点から直線上
だけ離れた点の位置ベクトル
は
(1.19)
(11)平面の方程式(図1.9)
![]() |
点を通り平面の法線を
とすると,平面上の点
の方程式は
(1.20)
または平面上の2つの独立な方向ベクトルがわかっている場合,2つのパラメータ
を使って
(1.21)
と表せる.
(12)球面の方程式(図1.10)
![]() |
中心,半径
の球面上の点
の方程式は
(1.22)
または球の3直交方向ベクトルがわかっているとき,角度のパラメータθ,φを使って
(1.23)
(13)円筒面の方程式(図1.11)
![]() |
点を通り半径
,軸の方向ベクトル
とすると円筒面上の点
の方程式は
(1.24)
またはに垂直な2つの単位ベクトル
がわかっているとき,パラメータ
を使って
(1.25)
(14)3点が作る3角形の法線ベクトル(図1.12)
1直線上にない3点の位置ベクトルをとすると3角形の法線ベクトル
は
(1.26)
![]() |
(15)2直線の最短距離とその方向ベクトル(図1.13)
a1を通り方向m1の直線とa2を通り方向m2の直線との共通法線nは
(1.28)
最短距離は
(1.29)
直線1から直線2への法線をnと定義すると,ならばnは上記の通りで,
ならば
とする.
[追加]最短距離を与える各直線上の点r1, r2は
ただし
,
[別解]
である.両辺のとの内積をとると
この2式からが求まる.
がわかれば
がわかり,cとnは
,
この解はベクトルnの向きも場合分けせず決まる.
(16)一般曲面の方程式と曲面の法線(図1.14)
![]() |
一般曲面上の点は1つのスカラ式
(1.30)
か,または2つのパラメータによって
(1.31)
と表される.
曲面上の点における法線(normal (to curved surface))
は
(1.32)
またはその点における接線の方向ベクトルをとすると
,
(1.33)
,
(1.34)
(1.35)
( )は,が直交しない場合であるが,パラメータ
は直交する方向に取ることが多い.
[註]ここに示したように,今後は位置ベクトルを矢印でなく単に点で表示することもある.
(17)3点を通る円の中心位置と半径(図1.15)
平面上の3点の位置ベクトルを,
,
,円の中心位置ベクトルを¥¥¥¥
とする.
,
の2等分線の交点が円の中心Aである.2等分線の右向きを法線の向きとして
(1.36)
,
の中点は
,
(1.37)
2等分線の方程式は
,
(1.38)
円の半径と中心位置は
,
(1.39)
3次元空間の位置ベクトルを,
,
,円の中心位置ベクトルを
とする.
,
の方向ベクトルは
(1.40)
3点が作る平面の法線ベクトルは
2等分線の方程式は
,
(1.41)
,
(1.42)
円の半径と中心位置は
,
(1.43)
2 ロボットの運動解析によく使う関数
ロボットの運動解析によく使う計算式を関数として定義しておく.
(1)1次三角関数
(2.1)
を満たすφは以下のように求められる.上式は
(2.2)
と置くと
(2.3)
である.この関数を
(2.4)
と定義する.解は2通り存在する.
(2)2次三角関数
と置いて
(2.5)
を満たすφは以下のように求められる.を代入すると
は
(2.6)
となる.改めてに代入すると
に関する4次方程式を得る.
(2.7)
ただし
(2.8)
この4次式の根はFerrari法によって解析的に求めることができる.が求まれば
は(2.2.6)式によって与えられ,φは
(2.9)
となる.この関数を
(2.10)
と定義する.解は4通り存在する.
(3)Newton法による方程式の根(図2.1)
![]() |
方程式
(2.11)
において,
(2.12)
となる根xを解析的に求められないときNewton法による繰り返し演算を用いる.その手順は以下の通りである.
(1)適当に初期値xを与える.
(2)このxが根でなければその点の勾配
(2.13)
を求める.
(3)xの変化量を
(2.14)
から求める.
(4)今までのx,yをと置いて新しいxを
(2.15)
とし,(2)に戻る.αは発散しないようにするために1以下の適当な正数とする.勾配Jを毎回求める手間を省くためにxが解に近づく限り同じ値のJを使う「1次元探索法」もある.
もしx,yがn次元ベクトル量で
(2.16)
の連立方程式を解く問題ならば,勾配Jを
(2.17)
とし,新しいxを
(2.18)
と置いて繰り返し演算をすればよい.
Newton法の不便さは,解が複数あり得る場合,初期値をいろいろ変えて試みる必要があり,変えても全てが求まるとは限らないこと,また初期値を図のB
点に取ると解が求まらないことである.
3 剛体の運動(motion of rigid body)
剛体の3次元運動は,剛体のある代表点(剛体の重心,剛体座標系の原点など)の並進運動とその点の回りの回転運動によって表される.
(1)剛体の並進運動(translation of rigid body)(図3.1)
![]() |
剛体の代表点の位置ベクトル(position vector) を,速度・加速度ベクトル(velocity vector, acceleration vector)をそれぞれ
とすると
(3.1)
(3.2)
(3.3)
(2)並進運動の合成(図3.2)
![]() |
代表点の位置・速度・加速度は加法定理が成り立つ.運動している物体1の上で運動する物体2
の合成速度・加速度は
(3.4)
(3.5)
(3)剛体の回転運動(rotation of rigid body)(図3.3)
![]() |
剛体の回転運動は異なる処理が必要である.1軸回りの回転に限定すれば回転角(angle)θ,角速度(angular velocity),角加速度(angular acceleration)
の関係は
,
(3.6)
であり,回転軸の方向ベクトルをとすると角速度・角加速度ベクトルは
(3.7)
(3.8)
と表せる.
[註]姿勢を表す3つの角度(第3.1節参照),または回転の大きさを表す3つの角度はベクトル量ではない.物体をX軸回りに90゜,次にY軸回りに90゜回転したときの姿勢と,X,Y軸回り回転の順序を逆にしたときの姿勢は同じではない.しかし,回転の変化量が小さければほぼベクトル量とみなすことができる.微小時間の中に各軸回りに微小角度
回転したとき,
と角速度・角加速度をベクトル量として扱うことができる.
(4)回転運動による1点の速度・加速度(図3.4)
![]() |
回転している物体上の1点の速度・加速度は,その点の位置ベクトルをとすると
(3.9)
(3.10)
と表される.加速度の第1項は円周加速度(circular acceleration),第2項は求心加速度(centripedal acceleration)である.
(5)回転運動の合成(図3.5, 図3.6)
![]() |
(3.11)
(3.12)
である.加速度の第3項があることに注意すべきである.
[註]並進運動ではの速度に
の速度を上乗せするのは
の速度・方向で動くことと全く同じであるが,回転運動では
の上に
が乗っている運動は
の回転運動と同じではない.
(6)回転運動の上に並進運動が存在する場合(図3.7,3.8,3.9)
物体2が物体1から見て代表点の位置ベクトルr,速度v,加速度の運動をしており,物体1が原点の回りに角速度
,角加速度
の回転運動しているとする.静止座標系から見た物体2の代表点の合成速度
は
(3.13)
合成加速度は
(3.14)
である.加速度の第2項は円周加速度,第3項はコリオリの加速度(Coriolis’ acceleration),第4項は求心加速度(centripedal acceleration)と呼ばれるものである.
[註1]図ではと
を同軸としたが,一般的には異なる.それでも上記の式は成り立つ.
[註2]ロボットアームの速度・加速度は,1つ前のアーム先端の速度・加速度に自身の関節による運動を上記のように重ね合わせて計算する繰り返し演算法がよく使われる.
4 剛体の静力学(statics of rigid body)
(1) 剛体に加わる力とモーメント(force and moment)(図4.1)
![]() |
剛体に加わる複数の力をとし,その着力点を
,その点に加わるモーメントを
とする.
このときの合成力・合成モーメントは
(4.1)
(4.2)
である.ただしMは座標原点回りのモーメントを表す.
F=0,M=0ならばこの剛体は釣り合っており,静止しているか一定速度で動いている.
例 J2関節の力・モーメントとアーム自重によるJ1関節に必要な力・モーメント(図4.2)
![]() |
第2関節にその先から与えられる力・モーメントを,
とし,アーム重心に作用する重力を
とする.第1関節に必要な力は第2関節力と自重に釣り合っており,
(4.3)
∴
(4.4)
である.また第1関節に必要なモーメントは第2関節のモーメント・第2関節の力によるモーメント・アーム自重によるモーメントと釣り合っており
(4.5)
∴ (4.6)
である.
[補]この例では第2関節の力・モーメントをその先から第2関節へ「与えられる力・モーメント」と表現し,第1関節では「必要な力・モーメント」と表現している.もしも第2関節でもその先の力・モーメントと釣り合うために関節に「必要な力・モーメント」と表現し,自重も「自重を支えるために必要な力」と表現すれば,上式のは符号が逆になる(図4.3).これらの必要な力・モーメントを第1関節だけで「支えるために必要な力・モーメント」と解釈して
![]() |
(4.8)
となる.ロボットアームでは直列に関節がつながっているのである関節より先の力・モーメントは全てその関節に必要な力・モーメントになるのでこのような考え方で順次加算して求めると便利である.
5 剛体の動力学(dynamics of rigid body)
(1) 剛体の並進運動の動力学(図5.1)
![]() |
(5.1)
の関係がある(ニュートンの第2法則,second Newton’s law).
(2)剛体の回転運動の動力学(図5.2)
![]() |
簡単のために代表点を剛体の重心(gravity center) とする.剛体に加わる合成モーメントをM,重心回りの慣性行列(inertia matrix, inertia tensor)をIとすると,重心回りの角速度,角加速度
との関係は
(5.2)
となる.は角運動量(angular momentum)である.剛体の重心を通る物体固定座標系
に関する慣性行列Iは
(5.3)
であり,図5.3を参照して,各成分は物体の質量積分
![]() |
,
,
(5.4)
と表される.を慣性乗積(products of inertia)という.なお,物体の重心は
(5.5)
である(上記の(x,y,z)は重心からの距離を表す).重心を通る軸回りの慣性行列は適当な軸(対象物体ならば対称軸)をとれば慣性乗積を0とすることができる.この軸を慣性主軸(principal axes of inertia)といい,そのときの慣性モーメントを主慣性モーメント(principal moment of inertia)という.この場合のモーメントと角速度・角加速度との関係をEulerの式(Euler’s equation of motion)というが,ロボットの分野では慣性乗積が0でない場合の一般式をEulerの式と呼び,重心の並進運動の動的力と加速度の関係式,重心回りの回転運動による動的モーメントの関係式とを合わせてNewton-Eulerの式(Newton-Euler’s
equations)という.すなわち,改めてIをIGと表すと
(5.6)
や
が静止座標系で表現され,慣性行列が物体座標系で表現されていると系が合わないので一方を他方の系に変換する必要がある.図5.4のように静止座標系から見た物体座標系の軸の単位ベクトルを
とすると,静止絶対座標系の
は物体座標系表示
,
へ
![]() |
(5.8)
と変換される.Eulerの式は
(5.9)
となり,物体座標系表示のは改めて静止座標系へ
(5.10)
と変換される.慣性行列を物体座標系から静止座標系に変換してEulerの式を書き直してもよいが,ロボットの動力学問題では上記の変換をしているケースが多い.
(3)外力と運動(図5.5)
![]() |
物体が図のJ点から外力とモーメント
が与えられて
の並進・回転運動が生じたとすると,次の関係が成り立つ.
(5.11)
(5.12)
ロボットアームの動力学演算では,上記の運動を生じさせるにはこの式で示す力とモーメントが関節Jに必要であり,回転関節ならばのz成分が駆動モーメントであると解釈する.
[註]J回りの慣性行列を使って
としてはならない.これが成り立つのはJ回りの純粋な回転運動のときのみである.
(4)慣性行列の変換
(a)重心を通らない軸回りの慣性行列(図5.6)
![]() |
重心が座標原点からの位置にあるとき,原点に関する慣性行列は質量をmとして
,
,
(5.13)
である.
(b)慣性行列の座標変換(図5.7)
![]() |
(5.14)
と置いて
(5.15)
(c)慣性主軸と主慣性モーメント
重心を通る軸に関する慣性乗積を0とする主軸方向とそのときの主慣性モーメントを以下のように求めることができる.方向ベクトルの軸回りの慣性モーメントは
(5.16)
である.これはに関する2次形式,すなわち楕円体であり,楕円体の主軸が慣性主軸,その長短半径が主慣性モーメントである.この楕円体の3主慣性モーメントは
(5.17)
と置いて
(5.18)
の3つの根として与えられ,各主軸の方向ベクトルは
(5.19)
の式から求められる.
(d)2次元物体の主軸と主慣性モーメント(図5.8)
物体が平板であれば板の法線方向が1つの主軸である.また対称面を持つ物体の場合は対称面の法線が1主軸となる.この軸をZ軸とすると
であり,
面上の慣性主軸はx軸から
(5.20)
だけ傾いた方向にあり,そのときの主慣性モーメントは
(5.21)
となる.また面対称物体の慣性主軸の1つは対称面の法線方向にある.
[例題1]アームの慣性行列(図5.9)
アームを前部(1)と後部(2)に分ける.1,2とも慣性主軸は座標軸と一致しているとする.それぞれの質量を,
,重心位置を
,
,重心を通る慣性行列を
,
とする.アーム全体の重心は
(5.22)
各重心間の距離を
(5.23)
と置くと,アームの重心回りの合成慣性行列は
(5.24)
となる.
[例題2]対角線を軸とする平板の慣性行列と動モーメント(図5.10)
主軸回りの主慣性モーメントは
であり,対角線を座標軸とする
軸回りの慣性行列は
(5.25)
この平板をY軸回りに一定回転速度で回転すると,動モーメント
は物体固定座標系で表現して
(5.26)
となる.すなわちこの運動を維持するために板の法線回りのモーメントが必要であり,このモーメントは軸受けの反力として与えられる.
このことは,慣性主軸でない軸回りで回転させるとたとえ軸が重心を通っていても軸受けには動的な力が加わることを示している.これは動的なバランスがとれていないことも意味している.
補足説明2 170p(2)ときの別の解法
(y2・1)式のを求める別の解法を記す.
(y2・1)
(y2・2)
(y2・3)
と置くと(y2・1)式は
(y2・4)
ただし
(y2・5)
1次三角関数より(y2・4)の解は
(8.136)
を得る.