検索
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
日記/20070421 をテンプレートにして作成
開始行:
|[[''前の日記''>日記/20070420]]|[[''次の日記''>日記/20070422]]|
~
*20070421 シミュレータのアイデア [#z080874a]
**シミュレータの実現ステップ [#ec0e536f]
こんなステップでシミュレータをつくろうかなと思います。期間内にできるところまで。~
~
目的にあわせて、どのレベルの正確さを求めるか、が物理シミュレーター作りのポイント。~
~
-''STEP1:''通称:&size(20){''LV1''};~
最低限の動作をシミュレーションする。2次元、3自由度(X,Y,ヨー)の車両のシミュレーション。必要な各種パラメータは実機あわせ。実時間シミュレーションの離散化はシンプルなオイラー法。~
2週間くらいで作るというのはこれくらいが限界かな~
#ref(model.PNG,nolink);
~
-''STEP2:''通称:&size(20){''LV2''};~
少し動力学、運動学をいれてみる。各種パラメータ(たとえば慣性モーメントとか、テンソルとか)は物性値から計算してみる。2次元、3自由度(X,Y,ヨー)の車両のシミュレーション。実時間シミュレーションの離散化はちょっとこったルンゲクッタで。
~
~
-''STEP3:''通称:&size(20){''LV3''};~
3次元、6自由度の運動シミュレーション。ぜんぶ自作プログラミングだと厳しいかも。まっとうな物理エンジンとか、最低でもMATLABくらいは使いたい。
~
~
**実装よりの整理 [#id496a88]
実装よりにシミュレータへの要望を整理してみると、こんな感じ~
~
-''Windowsプラットフォームで動作すること''~
みんなのPCがWindowsだから。DirectXの過去のLIB使えそうというのもある。~
~
-''今後のSTEP2,STEP3への物理計算拡張を考慮した設計とすること''~
物理計算処理も階層化したほうがよさそうです。ソルバー単位になるかな。。~
~
-''物理計算エンジン部分を取替え可能に設計すること''~
物理計算と描画の境界線は意識しましょう。学生の頃、物理計算用のPG組んだとき、これを混ぜて痛い目を見た。後から描画処理を追加するときに、計算処理に手をいれたくなるもの。~
~
-''パスファインダーをパーツのアセンブリとして表現すること''~
将来パスファインダーを構成する部品が変わってもいいように。~
~
-''3Dグラフィックスへの対応を考慮した設計とすること''~
いずれ3Dにも対応させたいので、スケール感をもって、2Dの計算をさせたほうが良いでしょう。~
~
-''複数台のパスファインダーの同時シミュレーションに対応すること''~
複数でアルゴリズム対決みたいなのをシミュレータ上でできたら楽しそう。~
~
-''C++で記述されたパスファインダー制御コードと連携できること''~
パスファインダーの制御コードはC++なので、薄いWrapperをかませるような使い方を想定します。~
~
~
**実装イメージ[#fe00dd29]
もう少しイメージをふくらませて~
#ref(arch0.PNG,nolink);
~
|[[''前の日記''>日記/20070420]]|[[''次の日記''>日記/20070422]]|
~
終了行:
|[[''前の日記''>日記/20070420]]|[[''次の日記''>日記/20070422]]|
~
*20070421 シミュレータのアイデア [#z080874a]
**シミュレータの実現ステップ [#ec0e536f]
こんなステップでシミュレータをつくろうかなと思います。期間内にできるところまで。~
~
目的にあわせて、どのレベルの正確さを求めるか、が物理シミュレーター作りのポイント。~
~
-''STEP1:''通称:&size(20){''LV1''};~
最低限の動作をシミュレーションする。2次元、3自由度(X,Y,ヨー)の車両のシミュレーション。必要な各種パラメータは実機あわせ。実時間シミュレーションの離散化はシンプルなオイラー法。~
2週間くらいで作るというのはこれくらいが限界かな~
#ref(model.PNG,nolink);
~
-''STEP2:''通称:&size(20){''LV2''};~
少し動力学、運動学をいれてみる。各種パラメータ(たとえば慣性モーメントとか、テンソルとか)は物性値から計算してみる。2次元、3自由度(X,Y,ヨー)の車両のシミュレーション。実時間シミュレーションの離散化はちょっとこったルンゲクッタで。
~
~
-''STEP3:''通称:&size(20){''LV3''};~
3次元、6自由度の運動シミュレーション。ぜんぶ自作プログラミングだと厳しいかも。まっとうな物理エンジンとか、最低でもMATLABくらいは使いたい。
~
~
**実装よりの整理 [#id496a88]
実装よりにシミュレータへの要望を整理してみると、こんな感じ~
~
-''Windowsプラットフォームで動作すること''~
みんなのPCがWindowsだから。DirectXの過去のLIB使えそうというのもある。~
~
-''今後のSTEP2,STEP3への物理計算拡張を考慮した設計とすること''~
物理計算処理も階層化したほうがよさそうです。ソルバー単位になるかな。。~
~
-''物理計算エンジン部分を取替え可能に設計すること''~
物理計算と描画の境界線は意識しましょう。学生の頃、物理計算用のPG組んだとき、これを混ぜて痛い目を見た。後から描画処理を追加するときに、計算処理に手をいれたくなるもの。~
~
-''パスファインダーをパーツのアセンブリとして表現すること''~
将来パスファインダーを構成する部品が変わってもいいように。~
~
-''3Dグラフィックスへの対応を考慮した設計とすること''~
いずれ3Dにも対応させたいので、スケール感をもって、2Dの計算をさせたほうが良いでしょう。~
~
-''複数台のパスファインダーの同時シミュレーションに対応すること''~
複数でアルゴリズム対決みたいなのをシミュレータ上でできたら楽しそう。~
~
-''C++で記述されたパスファインダー制御コードと連携できること''~
パスファインダーの制御コードはC++なので、薄いWrapperをかませるような使い方を想定します。~
~
~
**実装イメージ[#fe00dd29]
もう少しイメージをふくらませて~
#ref(arch0.PNG,nolink);
~
|[[''前の日記''>日記/20070420]]|[[''次の日記''>日記/20070422]]|
~
ページ名: