- @ThothChildren
- 2018.10.30
- PV 474
SR-Inverse
ー 概要 ー
SR-Inverse(Singularity-Robust Inverse)は特異点に近くなるにつれてヤコビ行列がフルランクではなくなりロボットの動きが大きくなってしまうのを防ぐために擬似逆行列を別行列に置き換えた逆運動学.特異点まわりを避け大きな運動をしないようにすることが可能.
この章を学ぶ前に必要な知識
条件
- ロボットのリンクが入力
効果
- 特異点を回避して速すぎない動きを求める
ポイント
- 最小化する式を変更することで導出
解 説
SR-Inverse(Singularity-Robust Inverse)は特異点に近くなるにつれてヤコビ行列がフルランクではなくなりロボットの動きが大きくなってしまうのを防ぐために擬似逆行列を別行列に置き換えた逆運動学.
特異点まわりを避け大きな運動をしないようにすることが可能.
| SR-Inverseとは |
通常のヤコビ行列による逆運動学では、以下を最小にするような解を求める.
$$\min_{\dot{\theta}}(\dot{r} - J(\theta)\dot{\theta })^T(\dot{r} - J(\theta)\dot{\theta })$$
これを解いた一般的な解は
$$\dot{\theta} = J^{\#}(\theta)\dot{r} + (E_n - J^{\#}(\theta)J(\theta) )z$$
ここで\(z\)は任意のベクトル,\(J^{\#}\)は擬似逆行列. | 通常のヤコビ行列による逆運動学 |
SR-Inverseでは上記の\(J^{\#}\)を新しい関数を最小化した得られた\(J^*\)を用いて逆運動学の解を得る.
ロボットの速さが大きくなりすぎないようにするために、以下のように\(\dot{\theta}\)の大きさも最小化するように変更する.
$$\min_{\dot{\theta}}|\theta |^T|\theta |+ \epsilon (\dot{r} - J(\theta)\dot{\theta })^T(\dot{r} - J(\theta)\dot{\theta })$$
このような形にして\(\epsilon\)を状況によって値を変化させることで調整する.一般的には可操作度をもとにこの\(\epsilon\)を調整してロボットの動きを抑えるようにする.
上記の最小化問題を解いた解は
$$J^{ *} = J^T(JJ^T+\epsilon E_m)^{-1}$$
を使った
$$\dot{\theta} = J^{*}(\theta) \dot{r} +(E_n-J^{*}(\theta)J(\theta))z$$
となる | SR-Inverse |
この章を学んで新たに学べる
Comments