模擬器開發
進階中的進階主題
在開發機器的過程,可以寫一些模擬或輔助程式。這可以帶來一些好處:
不需要機器也可以觀察算法的運作行為
在實際測試之前找到一些Bug並解決
在算法加入機器以後可以輔助後續開發
我們14683A 2022~2023試過可以用以下的方法開發模擬器:
使用 opencv 顯示模擬情況,用Python或c++驅動演算法
使用 html canvas 顯示模擬情況,用Javascript驅動演算法
開發建議
在開始做之前,應該先思考
我要模擬的是什麼?先釐清問題是什麼在嘗試解決問題
我預期的工作流程是什麼?讓寫出來的輔助程式可以貼合自己和團隊的工作流程
要如何有效的輔助後續開發?專注於可以輔助後續開發的功能,不必鑽研無關緊要的功能
步驟:顯示介面製作完成-->模擬環境開發完成-->加入機器演算法-->驗證演算法
可以盡可能的參數化機器的數值,例如加速度、長寬等
可以額外製作一些圖形Class,例如曲線的Class,這樣有利於之後可以快速加入新元見到模擬器裡
在模擬器裡調的常數數值切勿直接複製到機器程式裡(除了座標)
範例
路線生成模擬器:https://acezxn.github.io/Pathtracker-online/#/path-follow-simulator
Last updated