模擬器開發

進階中的進階主題

在開發機器的過程,可以寫一些模擬或輔助程式。這可以帶來一些好處:

  • 不需要機器也可以觀察算法的運作行為

  • 在實際測試之前找到一些Bug並解決

  • 在算法加入機器以後可以輔助後續開發

我們14683A 2022~2023試過可以用以下的方法開發模擬器:

  • 使用 opencv 顯示模擬情況,用Python或c++驅動演算法

  • 使用 html canvas 顯示模擬情況,用Javascript驅動演算法

開發建議

  1. 在開始做之前,應該先思考

    1. 我要模擬的是什麼?先釐清問題是什麼在嘗試解決問題

    2. 我預期的工作流程是什麼?讓寫出來的輔助程式可以貼合自己和團隊的工作流程

    3. 要如何有效的輔助後續開發?專注於可以輔助後續開發的功能,不必鑽研無關緊要的功能

  2. 步驟:顯示介面製作完成-->模擬環境開發完成-->加入機器演算法-->驗證演算法

  3. 可以盡可能的參數化機器的數值,例如加速度、長寬等

  4. 可以額外製作一些圖形Class,例如曲線的Class,這樣有利於之後可以快速加入新元見到模擬器裡

  5. 在模擬器裡調的常數數值切勿直接複製到機器程式裡(除了座標)

範例

路線生成模擬器:https://acezxn.github.io/Pathtracker-online/#/path-follow-simulator

Last updated