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

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

はじめに

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

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

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

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

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

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

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

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

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

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

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

スラローム形状

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

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

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

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

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

数値積分と言ってもオイラー積分ではなくルンゲクッタ法が使用できるので十分な精度で計算が可能です。

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

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

特徴

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

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

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

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

生成結果の例

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

スラローム形状

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

スラローム軌道

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

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

まとめ

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

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