なめらかなスラロームの設計① スラローム概要

なめらかなスラロームの設計① スラローム概要

はじめに

今回はマイクロマウスにおけるスラローム走行のお話です.

私が使っているスラローム走行の概要とその軌道の生成方法などを紹介します.

特にマイクロマウスを例に話を進めますが,2輪車両の軌道生成方法として汎用的に使える内容です.

なめらかなスラロームの設計 目次

今回の記事は次のような構成になっています.

結構長くなってしまったので,4ページ構成としました.

基本的なスラロームの概要

まずはじめに,スラローム走行の概要です.

多くのスラロームの軌道は,

直線 → 緩和曲線 → 円弧 → 緩和曲線 → 直線

という構成になっています.

スラローム形状

直線と円弧の間には,角速度を連続的に変化させて得られる緩和曲線が存在します.

仮に,緩和曲線を設けずに単なる円弧でターンしようとすると,直線とターンの切り替わりでハンドルを急に回すことになり,クラッシュのもとになってしまいます.

緩和曲線にはいくつか種類がありますが,解析的に積分をするのが困難であり,これが計算を難しくする要因です.

そこで,数値積分をして近似値を得るアプローチがしばしば見られます.

今回の記事でもその方法で軌道を求めます.

設計するスラローム軌道の概要

さて,今回紹介するスラローム走行の概要について説明します.

特徴

本記事で設計するスラローム軌道には,特に以下のような特徴があります.

  • 並進速度 $v(t)$ は一定とするが,任意の値を設定可能である.
  • 緩和曲線の角速度 $\omega(t)$ はなめらかな曲線加速である.台形加速ではない.
  • 位置 $(x(t),~y(t))$ については,速度 $(v\cos\theta,~v\sin\theta)$ をルンゲクッタ法によって数値積分して近似値を得る(十分正確に計算可能)

上記の方法によって,各時刻 $t$ における目標速度 $(v,\omega)$ や目標姿勢 $(x,y,\theta)$ などが求まるので,あとはそれに追従すればよいということになります.

また,ターン時の並進速度 $v$ が任意に設定可能なため,ターンに差し掛かった際の並進速度を維持したままターンをすることが可能です.

生成結果の例

マイクロマウスの探索に用いるような90度ターンの生成結果を例に示します.

スラローム形状

以下のグラフは,今回設計するスラロームの角躍度,角加速度,角速度,角度をプロットしたものです.

スラローム軌道

角速度がなめらかに変化していることがわかります.

このような軌道ならば,ハンドルの操作がなめらかなので走行も安定することでしょう.

まとめ

今回の記事では,なめらかなスラローム走行の概要について説明しました.

次回の記事 では,具体的な設計方法について紹介していきます.