白鑞のカラス日記スマートフォン用の表示で見る白鑞のカラス日記マイクロマウスの進捗や事件を書いていきまーす。Adventarの19日目の記事です。昨日の記事はけりさんの「自動復帰マウスの紹介」でした。自動復帰ってすごいですね。初めてみたときはびっくりしました。どんな感じでやってるのか気になっていたので後日じっくり読みたいと思います。本題に入りたいと思います。今日の自分の内容は「Pythonでターンシミュレータ」です。アンケートで1位だったので書こうと思います。技術力ないマンが作るものなんでそんなに期待はしないでね...今回使った総合開発環境は「Pycharm」です。使ったライブラリは「numpy」と「matplotlib」です。これを使ってターンシミュレータを作ります。壁を書くこんなのを使っていきます。color="blue")plt.axis('equal')plt.show()こんなんで壁は引けます。あとは補助線を自分で入れてみてください。リストが長くなりそうなので今回は壁だけで最終的にはここまで補助線入れるといいと思います。下準備が終わったので次は実際にどのような計算を行っていくのかを書きたいと思います。今回はeuler法の陽解法でやりました。プロットする前に入力値に関して考えます。ωnow各種の角加速度が変わる時間(便宜上)t2,t3,t4,t5めんどくさいの手書きの図で各時間はこれです。えっ...字が汚くて読めない?気合で読んでじゃ、変数を定義はここまでにして計算していきましょう.軌道の計算まずターンの軌道は1オフセット領域,2等角加速度領域(クロソイド曲線),3等角速度領域(円弧),4等角加速度領域,5オフセット領域となっています。一つ一つ追っていきましょう。足していく.という流れを繰り返すものになっています。なんでいいとおもいます。2と同じ長さーとか,任せます。三角加速なら2と同じ長さってしてますね。超えたときまぁさっきと全く同じです。こんな感じ計算していきました。今回は細かく領域ごとに説明しました。足していく.これです。関数さえわかっていれば,を足し続けるの繰り返しです。