(個人專案)
|
|
程式語言
|
Client:HTML、CSS、JavaScript
Server:PHP
|
開發工具
|
NetBeans
|
其他
|
JQuery、JCanvas (前端canvas)
|
Demo影片
|
【實作結果(截圖)與說明】
【目標】
機器人在一定空間中,從起始位置繞過障礙物到達目地的之路徑規劃。
可以選擇不同的障礙物與機器人,透過拖拉旋轉的方式移動位置、方向,再開始進行路徑規劃。
藍色:障礙物。綠色:起始點。橘色:目地的。紫色線:規劃的路徑。
【系統架構】
本專案使用Client-Server的架構來實作路徑規劃。
Client端負責處理使用者的操作互動與繪圖呈現障礙物、機器人、規劃後的路徑。繪製的canvas區域,使用JCanvas的lib來協助處理使用者在Client端的拖拉操作,並將Server端計算完的座標資訊繪製在canvas上。
Server端負責處理障礙物、機器人的座標讀取,以及potential field、計算路徑的工作。
【心得】
這個專案的程式架構有一定的複雜程度,像是障礙物與機器人的資料結構為巢狀結構(有哪些多邊形、多邊形的點座標),每個物件中都包含多個設定資訊,因此經過這個專案,對於物件導向設計有更深一層的體悟,需要思考清楚如何定義Object與切割function的功能,才不會使主程式的功能過於複雜,增加在修改維護的困難。在這個專案的實作過程與討論中,也對PHP、JavaScript有更多的認識,讓我之後在寫相關的程式時,也能有較好的規劃。
