differential wheeled robotを表現します。
2つのmotorで走らせる 1
車輪をmotorで回転させることを考えます。
casterは描いていません。
半径を\(r(radius)\)とします。
すると直径は\(2r\)。
まずは直進を考えます。
ある時間で左の車輪を\(\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}\)です。
下記も参照ください。
ここでは、電圧とか制御指令値とかは考えていません。
2つのmotorで走らせる 2
次に回転を考えます。
地面がかなり理想的であるとか、多少の角度ずれは無視する、としてしまえば直進は2つのmotorの回転で動作させることができそうです。
回転は、ある半径に対して、角速度または速度を指定して、45度とか90度だけ回転しろ、と指定できると扱いやすいはずです。
信地旋回とか超信地旋回は基本的に無視します。制御のときには特別扱いしますがdifferential wheeled robotの表現の議論としては同じ議論になります。
回転の議論において直進は特別なので分けてます。
differential wheeled robotを上から見た図です。
robotの中心から車輪までの距離を\(d(distance)\)とします。
なので、車輪から車輪までの距離は\(2d\)です。
robotが前進するとして、robotの左か右に旋回半径の中心が設定されることになります。
ここでは旋回半径を\(t(turning\ radius)\)と表すことにします。
そして、ある時間で\(\phi\)だけ回転というか移動するとします。
ここでは左に曲がるとします。
左の車輪が移動する距離は\((t-d)\phi\)です。
右の車輪が移動する距離は\((t+d)\phi\)です。
\(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}
\]
まとめ
作らないと、設計&実装しないと、きちんとは理解できないかな。
自分がやるなら下記の順かな。
- 最初にP制御で設計して敢えてhuntingさせる
- D制御を追加
- 現代制御理論で設計
広告
IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト