インクリメンタルセンサーを備えた差動駆動ロボットの位置をどのように計算または更新しますか?
2つのディファレンシャルホイールのそれぞれには、1つのインクリメンタルセンサーが取り付けられています。両方のセンサーは、距離決定します。は、既知の時間間にホイールが回転しました。Δ R I G H TΔ LのEのFtΔのRのI Gh tΔ トン
まず、両方の車輪の中心がロボットの位置をマークしていると仮定しましょう。この場合、次のように位置を計算できます。
x = xリットルのE ft+ xR I Gh t2y= yリットルのE ft+ yR I Gh t2
両方の車輪が直線で回転するという仮定の下でこれらの方程式を「導出」します(短い距離ではほぼ正しいはずです)。
ΔのXΔ トン= 12(ΔのリットルE FtΔ トン+ Δ R I Gh tΔ トン) cos(θ)Δ YΔ トン= 12(ΔのリットルE FtΔ トン+ Δ R I Gh tΔ トン) sin(θ)
ここで、はロボットの向きの角度です。この角度の変化について、方程式を見つけましたθ
ΔのθΔ トン= 1w(ΔのリットルE FtΔ トン- Δ R I Gh tΔ トン)
ここで、は両方のホイール間の距離です。w
のでと依存、私は私が最初に新しい計算しなければならないのだろうか追加することでまたは私はむしろ「古い」を使用する必要がある場合は?どちらか一方を使用する理由はありますか?ΔのXΔ YθθΔのθθ
次に、両方の車輪の中心がロボットの位置をマークしていないと仮定します。代わりに、ロボットの境界ボックスの幾何学的中心をマークするポイントを使用します。次に、と変わります。yバツy
x = xl e ft+ xR I Gh t2+ lC O S (θ )y= yl e ft+ yR I Gh t2+ ls i n (θ )
最初の「導出」は以下を提供します。
ΔのXΔ トン= 12(Δ L E FtΔ トン+ Δ R I Gh tΔ トン) cos(θ)−ls i n (θ )ΔのθΔ トン
現在、依存しています。これが「新しい」を使用する理由ですか?Δのθθ
位置と方向をシミュレートして更新するより良い方法はありますか?複素数(3Dのクォータニオンと同じアプローチ?)または同次座標を使用している可能性がありますか?