differential wheeled robot

differential wheeled robotを表現します。

2つのmotorで走らせる 1

車輪をmotorで回転させることを考えます。
casterは描いていません。

半径を\(r(radius)\)とします。
すると直径は\(2r\)。

001

まずは直進を考えます。

ある時間で左の車輪を\(\theta_{Left}\)だけ、右の車輪を\(\theta_{Right}\)だけ回転させることを考えます。\((\theta_{Left} = \theta_{Right})\)

\(v_{Left} = r\dot{\theta}_{Left}\)です。
\(v_{Right} = r\dot{\theta}_{Right}\)です。

右の車輪を代表として、このときの速度は\(v = r\dot{\theta}_{Right}\)です。

下記も参照ください。

古典力学 9 (慣性モーメントテンソル)

ここでは、電圧とか制御指令値とかは考えていません。

2つのmotorで走らせる 2

次に回転を考えます。

地面がかなり理想的であるとか、多少の角度ずれは無視する、としてしまえば直進は2つのmotorの回転で動作させることができそうです。

回転は、ある半径に対して、角速度または速度を指定して、45度とか90度だけ回転しろ、と指定できると扱いやすいはずです。

信地旋回とか超信地旋回は基本的に無視します。制御のときには特別扱いしますがdifferential wheeled robotの表現の議論としては同じ議論になります。
回転の議論において直進は特別なので分けてます。

differential wheeled robotを上から見た図です。
robotの中心から車輪までの距離を\(d(distance)\)とします。
なので、車輪から車輪までの距離は\(2d\)です。

002

robotが前進するとして、robotの左か右に旋回半径の中心が設定されることになります。
ここでは旋回半径を\(t(turning\ radius)\)と表すことにします。
そして、ある時間で\(\phi\)だけ回転というか移動するとします。

ここでは左に曲がるとします。
左の車輪が移動する距離は\((t-d)\phi\)です。
右の車輪が移動する距離は\((t+d)\phi\)です。

003

\(v_{Left} = (t-d)\dot{\phi}\)です。
\(v_{Right} = (t+d)\dot{\phi}\)です。

robotの速度は下記。

\(v = t\dot{\phi}\)です。

代数的な操作をします。

\[
v_{Left}+v_{Right} = (t-d)\dot{\phi}+(t+d)\dot{\phi} = 2t\dot{\phi} = 2v
\]

下記を得るけどきちんと意味を考える、と。

\[
v = \frac{v_{Left}+v_{Right}}{2}
\]

まとめ

作らないと、設計&実装しないと、きちんとは理解できないかな。

自分がやるなら下記の順かな。

  1. 最初にP制御で設計して敢えてhuntingさせる
  2. D制御を追加
  3. 現代制御理論で設計

広告

IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』
さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト




«       »