この文書の現在のバージョンと選択したバージョンの差分を表示します。
スラロームの作り方 [2012/01/05 15:59] member |
スラロームの作り方 [2012/06/03 07:46] (現在) member |
||
---|---|---|---|
ライン 9: | ライン 9: | ||
// 角速度 omega [deg/sec] // | // 角速度 omega [deg/sec] // | ||
// // | // // | ||
- | //指定した速度と加速度で移動する関数 // | + | //指定した速度と角速度で移動する関数 // |
//**************************************// | //**************************************// | ||
引数の単位系は別に同じでなくてもかまいません。物理量ベースになっているのなら、こんな感じの関数は自前で持っていると思います。ステッパでかつ二輪ならば左右のタイヤの回転数を調節することによって、所望の速度と角速度で走ることはさほど難しくないはずです。この辺は物理の話なのでよく分からない人は物理を勉強してください。 | 引数の単位系は別に同じでなくてもかまいません。物理量ベースになっているのなら、こんな感じの関数は自前で持っていると思います。ステッパでかつ二輪ならば左右のタイヤの回転数を調節することによって、所望の速度と角速度で走ることはさほど難しくないはずです。この辺は物理の話なのでよく分からない人は物理を勉強してください。 | ||
ライン 16: | ライン 16: | ||
角度,角速度,角加速度 : angle,omega,alpha | 角度,角速度,角加速度 : angle,omega,alpha | ||
復習になりますが、物理量ベースというのは周期Tごとに上の変数たちを更新して、moveに代入みたいな感じです。全部書くのもつまらないので、この辺は自分で考えてください。ここに出ているものもあくまでもいろんな方法がある中の一つです。プログラムというのは同じ概念を実装するのに、無限の方法があります。要は自分で考えないとダメということです。 | 復習になりますが、物理量ベースというのは周期Tごとに上の変数たちを更新して、moveに代入みたいな感じです。全部書くのもつまらないので、この辺は自分で考えてください。ここに出ているものもあくまでもいろんな方法がある中の一つです。プログラムというのは同じ概念を実装するのに、無限の方法があります。要は自分で考えないとダメということです。 | ||
+ | |||
=====円弧によるスラローム===== | =====円弧によるスラローム===== | ||
突然ですが、重心速度v,半径rでマウスを進ませることはできますか。これができればとりあえずスラローム走行ができると思います。しかし、この円弧によるスラロームには問題があります。それは直進から円弧に急に移ると角速度が不連続になるという問題です。だから、この欠点を補ったクロソイドという軌跡を使うことになります。しかし、速度がそんなに高くなかったら別にそこまで問題は無いでしょう。プログラム的には下のようになりますかね。 | 突然ですが、重心速度v,半径rでマウスを進ませることはできますか。これができればとりあえずスラローム走行ができると思います。しかし、この円弧によるスラロームには問題があります。それは直進から円弧に急に移ると角速度が不連続になるという問題です。だから、この欠点を補ったクロソイドという軌跡を使うことになります。しかし、速度がそんなに高くなかったら別にそこまで問題は無いでしょう。プログラム的には下のようになりますかね。 |