TurtleRealを作る
安曇野の森から> TurtleRealを作る> 位置・姿勢の制御方法
2次元平面で位置・姿勢を最短で同時に変更するには左図のようにX(直線移動), Y(直線移動), Yaw(回転)の3つの自由度が必要となります。
自動車にはステアリングと駆動輪の2自由度しかありませんが、位置と姿勢が変更出来ます。
これは左図のように距離を犠牲にして複雑な経路を通ることにより実現されています。
計算による制御でこれを実現する場合、経路を計算するのが面倒な上に、タイヤの左右方向の摩擦による影響で経路がずれるので正確な位置制御が難しくなります。
2軸車輪を使って左図のように位置1から位置2に異動する場合を考えます。
2軸車輪の場合、各車輪を逆方向に回転させることによりYaw回転を実現出来ます。
これを利用して次の3ステップで目的の位置・姿勢へ移動します。
ステップ1:目的位置方向への回転
ステップ2:目的位置への直線移動
ステップ3:目的姿勢への回転
この方式だと複雑な経路計算が不要で簡単な制御で済みます。
また、2軸の反転駆動による回転ではタイヤの摩擦の影響も少なく正確に回転することが出来ます。
マウス読み取り値(X値、Y値)からロボットの位置・姿勢は以下のように計算します。
θ= π / 2 - mx / L [rad]
x = my x cos(θ)
y = my x sin(θ)
mx:マウスX方向移動量
my:マウスY方向移動量
L :マウスレンズ・車軸間距離
θ:ロボット回転角