運動学分析

以上のイラストに示された、車軸中心Cの瞬間速度はv、回転角速度ω、回転半径rは、以下の数式で表される。
[vωr]=[v1+v22v1–v2dvω]=[v1+v22v1–v2dd2v1+v2v1–v2]
但し、d: 車輪間距離、v1: 左輪速度、v2: 右輪速度、ω: 角速度、r: 回転半径
運動状態分析

if v1 > v2 → ロボットが右方向へ回転する
if v1 = v2 → ロボットが直進または後退する
if v1 = -v2 → ロボットが車軸中心Cまわりに回転する、回転半径0m
運動学モデル
ロボット座標系からワールド座標系へ回転変換する際、2次元回転行列を用いる。
[xt+1xt+1θt+1]=[xtxtθt]+[cosθ−sinθ0sinθcosθ0001][ΔxrΔyrΔθr]
[ΔxrΔyrΔθr]=[cosΔθr0sinΔθr001][vrΔtωrΔt]
また、他の計算方法があり、いずも近似式で、走行距離とともに誤差が累積していく。
ROSでは、上記情報のもとで、odomトピックを他のノードへブロードキャストし続ける。
関連記事
9軸IMU 6軸/9軸フュージョン 低遅延 USB出力 補正済み ROS対応
0