
なめらかなスラロームの設計④ 生成結果
前回の記事 の続きです。
今回の記事では、 前回までに紹介してきた内容をもとに、 マイクロマウスの走行パターン の軌道設計結果を紹介します。
なめらかなスラロームの設計 目次
スラローム軌道の生成
ここでは、1区画が 90 [mm] のマイクロマウス競技のスラローム走行軌道を紹介します。
最大角躍度、角加速度、角速度
設計に必要な共通のパラメータを以下に示します。
項目 | 値 |
---|---|
最大角躍度 $\dddot{\theta}_\mathrm{max}$ | 216000 [deg/s/s/s] |
最大角加速度 $\ddot{\theta}_\mathrm{max}$ | 6480 [deg/s/s] |
最大角速度 $\dot{\theta}_\mathrm{max} $ | 540 [deg/s] |
これらの値は実際の生成結果のグラフを見ながら選定した値です。
生成結果
マイクロマウスの各走行パターンに対して、スラローム軌道の生成を行いました。
まずは、結果のパラメータを以下の表に示します。
種類 | 旋回角度 $\theta_\mathrm{end}$ [deg] | 移動変位 $(x_\mathrm{end}$, $y_\mathrm{end})$ [mm] | 曲線部分 $(x_\mathrm{curve}$, $y_\mathrm{curve})$ [mm] | 基準並進速度 $v_\mathrm{ref}$ [mm/s] | 旋回前直線長 $l_1$ [mm] | 旋回後直線長 $l_2$ [mm] |
---|---|---|---|---|---|---|
S90 | 90 | (45, 45) | (40, 40) | 241.59 | 5.00001 | 5 |
F45 | 45 | (90, 45) | (72.4263, 30) | 411.636 | 2.57365 | 21.2132 |
F90 | 90 | (90, 90) | (70, 70) | 422.783 | 20 | 20 |
F135 | 135 | (45, 90) | (33.1373, 80) | 353.609 | 21.8627 | 14.1421 |
F180 | 180 | (0, 90) | (0, 90) | 412.228 | 24 | 24 |
FV90 | 90 | (63.6396, 63.6396) | (48, 48) | 289.908 | 15.6396 | 15.6396 |
次にそれぞれの軌道のグラフを示します。
#0 探索 90 度
角速度曲線のグラフはこちら
#1 最短 45 度
角速度曲線のグラフはこちら
#2 最短 90 度
角速度曲線のグラフはこちら
#3 最短 135 度
角速度曲線のグラフはこちら
#4 最短 180 度
角速度曲線のグラフはこちら
#5 最短斜め 90 度
角速度曲線のグラフはこちら
期待通りのなめらかなスラロームの軌道が生成されていますね!
おわりに
今回の記事では、マイクロマウスの各走行パターンを実現する軌道の生成例を紹介しました。
ステッピングモーターのマイクロマウスなどでは、この軌道をフィードフォワード的に与えるだけでそれなりに走ってくれると思います。
総まとめ
さて、一連の記事でなめらかなスラローム軌道の設計を紹介しました。
実際に KERISE v4 は今回の方法でスラローム走行しています。
このように理論的に走りやすいなめらかな目標軌道を与えることで、高速でもクラッシュしづらい安定した走行が期待できます。
今回の記事では目標軌道の生成までだったので、時間があれば次は軌道追従制御についてのC++実装を紹介したいと思っています。
それではまた!