忍者ブログ

スラロームによる移動距離近似、その1

2017年04月12日
こんにちは、
マウスに触れなくなって久しいのでリハビリを兼ねてこの記事を書くことにします。

内容は、近似を用いてスラロームによる移動距離を見積もることについてです。
結構長くなりそうなので、連載記事にするつもり。失踪せずに書き上げたい…!

また、前提として、積分とか微分とかマクローリン展開とかの数学の知識を必要とするのでご了承ください。


目次

一連の連載記事の目次にしたい
  1. 導入(この記事)
  2. 移動距離推定には何が必要か(導入その2)
  3. 円弧部分の移動距離について
  4. クロソイド部分の移動距離について
  5. スラローム全体の移動距離について
  6. 残る問題点とその解決法(予定)
  7. まとめ(予定)



導入

スラロームのパラメータを決めるのって難しいよね?


※本記事では、単純な クロソイド⇒円弧⇒クロソイド のスラロームを考えています。

タイトルにもなっているスラローム走行について考える。
スラローム走行をマイクロマウスで実装するには様々なパラメータを決める必要がある。
例えば、角加速度であったり、最大角速度であったりといったもの。

今回は、スラローム実装についての詳しい話をするつもりはないので、気になる人は各自このへんから調べてほしい。

話をもどして。
しかしながら、こういったパラメータを決めるのは、なかなか難しい。
何故なら、スラローム走行をする際に、私たちは望む軌跡を通ってほしいが、これらのパラメータとの対応関係がわからないからだ。



どうして対応関係がわからないのか、という理由はスラロームを行うために必要なクロソイド曲線と呼ばれる部分が解析的に解けないことに起因している。
が、その辺の話は主題から少しずれるので、美少女のブログを参考にしてほしい。

ここで覚えておいてほしいのは、軌跡からパラメータを推定するのは難しい
その理由は、数式はわかるけど積分が解析的に解けないから。


じゃあ皆はどうやってパラメータを決めてるの?

とはいえ、皆は平然とスラロームしているわけで。
スラロームをしているということは、何かしらの方法でパラメータを決めているわけで。

じゃあどうやっているのか?
自分の知る限り、Miceでは二通りの方法がある。
・別途シュミレータを作り、パラメータに対応する軌跡を数値計算で求め、それを確認しながらパラメータを探す
・マイコン内で、パラメータを少しづつかえ、ループをまわし、数値計算により軌跡の移動量を求め、パラメータを決める

これらの方法は、マウスの中で行うか外で行うかの違いだけで、本質的にはどちらも同じことをしている。と思う。
つまり、解析的に解けない積分を数値計算することで軌跡を推定し、そのパラメータ毎に推定した軌跡の中から求めるものを選択する、ということを行っている。
この方法なら、数値計算による微小な誤差はあるものの、求める軌跡を描くパラメータを求めることができる。

しかし、ループを回すためパラメータ推定にはある程度の時間がかかり、実質的に走行前に臨む軌跡のパラメータを決め打ちすることとなる。
例えば、走行中に壁によってるから小回りの軌跡でターンしようとかは難しい。

あとシュミレータだとパラメータ振るのがめんどい。。。


この記事の目的

では、この記事では何をするのか?という点である。

上で紹介した方法では、スラロームパラメータ同定が困難であるという問題を
解析的に解けないから数値計算する
といった方法で解決していた。

そこで、本記事では
数値計算ではなく近似解を用いる
ことを提案する。
近似解を用いて、マウスで動かすのに妥当な範囲で、数式でパラメータと軌跡の対応がわかれば求める軌跡から簡単にパラメータを決めることができる。かもしれない。

近似計算といっても美少女が紹介している研究レベルの難しい近似ではなく、マクローリン近似で行う。


というか、やってみたら意外とうまくいきそうなので紹介しますというのが本音。


次回は、スラロームをするためには何を求める必要があるのか考えていきたい。


PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字