検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
ETロボコン シミュレータ 制作日記 (by T.Misawa)
トップ
シミュレータダウンロード
日記
日記
日記/20070406
日記/20070409
日記/20070412
日記/20070413
日記/20070414
日記/20070417
日記/20070420
日記/20070421
日記/20070422
日記/20070423
日記/20070425
日記/20070426
日記/20070427
日記/20070428
日記/20070429
日記/20070502
日記/20070504
日記/20070505
日記/20070506
日記/20070507
日記/20070510
日記/20070517
日記/20070519
日記/20070520
日記/20070521
日記/20070523
日記/20070526
日記/20070527
日記/20070529
日記/20070601
日記/20070610
日記/20070611
日記/20070616
日記/20070617
日記/20070618
日記/20070624
日記/20070628
日記/20070629
日記/20070630
日記/20070701
日記/20070702
日記/20070505 をテンプレートにして作成
開始行:
|[[''前の日記''>日記/20070504]]|[[''次の日記''>日記/20070506]]|
~
*20070505 設計実装中 [#h1c657c3]
**離散化にともなうΔtの取り扱い [#ydd2abb0]
物理シミュレーションを行うときには、必ず物理方程式の離散化を考えますが、今回は軽量シミュレータなので、運動方程式といっても一階微分方程式くらいのもんなので、楽勝です。~
微分方程式は、漸化式による差分方程式を作ってシミュレーションしますが、ここで注意しなくてはならないのは、位置を更新する際の経過時間Δtです。~
~
Δtは小さいほど精度良くシミュレーションできますが、このシミュレータでは、パスファインダーに入るセンサー情報のサンプリング周期とΔtを同期させている為、Δtはシミュレータのサンプリング周期にあわせる必要があります。~
Δtが100msecとか、あんまり大きいとまずいなと思い実機でサンプリング周期をはかってみたところ5msecでした。~
最高速度500mm/s程度のスケール感なら、まあいいかということで、Δtを5msecにしています。あとはこの状態でシミュレーションをして実機との挙動があまりに違っていたらΔtの長さの変更や、Δtとシミュレータのサンプリング周期の同期をやめるなどの判断をしていきたいと思います。~
これを私の得意技''現物あわせ''といいます。~
**コースとのインタラクション [#n4c0e71b]
#ref(test_course01.png,zoom,30%);
コースは1mmにつき1pixelとして取り扱うことにします。つまり1m×1mだと1000pixel x 1000pixelのコース画像を用意することになります。~
***コースの色情報の抽出 [#w25f739f]
パスファインダーの先端部分にある光センサーの座標を計算し、その座標に対応するコース画像上の1pixel x 1pixelの色情報を取得して、LightSensorの値にセットするというシンプルなロジックです。
~
**できた〜 [#y5a96902]
ということで、(日記にはあまり書いていませんが)紆余曲折を経てシミュレータ部分のコーディングがなんとか終わりました。~
UTは共通部分のみ。~
~
ねんのためリバースかけてみました。~
#ref(reverse2.png,nolink);
~
**実行イメージ [#l888d17f]
#ref(mova.gif,nolink);
|[[''前の日記''>日記/20070504]]|[[''次の日記''>日記/20070506]]|
~
終了行:
|[[''前の日記''>日記/20070504]]|[[''次の日記''>日記/20070506]]|
~
*20070505 設計実装中 [#h1c657c3]
**離散化にともなうΔtの取り扱い [#ydd2abb0]
物理シミュレーションを行うときには、必ず物理方程式の離散化を考えますが、今回は軽量シミュレータなので、運動方程式といっても一階微分方程式くらいのもんなので、楽勝です。~
微分方程式は、漸化式による差分方程式を作ってシミュレーションしますが、ここで注意しなくてはならないのは、位置を更新する際の経過時間Δtです。~
~
Δtは小さいほど精度良くシミュレーションできますが、このシミュレータでは、パスファインダーに入るセンサー情報のサンプリング周期とΔtを同期させている為、Δtはシミュレータのサンプリング周期にあわせる必要があります。~
Δtが100msecとか、あんまり大きいとまずいなと思い実機でサンプリング周期をはかってみたところ5msecでした。~
最高速度500mm/s程度のスケール感なら、まあいいかということで、Δtを5msecにしています。あとはこの状態でシミュレーションをして実機との挙動があまりに違っていたらΔtの長さの変更や、Δtとシミュレータのサンプリング周期の同期をやめるなどの判断をしていきたいと思います。~
これを私の得意技''現物あわせ''といいます。~
**コースとのインタラクション [#n4c0e71b]
#ref(test_course01.png,zoom,30%);
コースは1mmにつき1pixelとして取り扱うことにします。つまり1m×1mだと1000pixel x 1000pixelのコース画像を用意することになります。~
***コースの色情報の抽出 [#w25f739f]
パスファインダーの先端部分にある光センサーの座標を計算し、その座標に対応するコース画像上の1pixel x 1pixelの色情報を取得して、LightSensorの値にセットするというシンプルなロジックです。
~
**できた〜 [#y5a96902]
ということで、(日記にはあまり書いていませんが)紆余曲折を経てシミュレータ部分のコーディングがなんとか終わりました。~
UTは共通部分のみ。~
~
ねんのためリバースかけてみました。~
#ref(reverse2.png,nolink);
~
**実行イメージ [#l888d17f]
#ref(mova.gif,nolink);
|[[''前の日記''>日記/20070504]]|[[''次の日記''>日記/20070506]]|
~
ページ名: