測試一台能自己避障的自走車,第1步驟當然是要規劃需要的功能和需求,才可以找出適當的硬體模組來搭配。
一般我們都習慣用方塊圖來繪製表示,這樣比較清楚每個模組之間的相互關係:
避障車輛平台方塊圖
我們在這邊徹底發揮Arduino的精神,把功能像積木一樣堆疊起來,就可以將開發簡單化,時間最小化。車輛在自主前進時,需要隨時去觀察前方是否有障礙物,並能夠判斷方位,重新找出一條可以繼續前進的路徑,所以前方的超音波測距需要能夠左右移動,既然要精準地左右移動角度,那就非伺服馬達莫屬啦!
將超音波模組固定在伺服馬達上
我們選定前方左右各60度作為偵測的範圍,每20度一個間隔:
超音波偵測角度
由圖可以看出共有7個角度,因此我們需要一個陣列來儲存這些角度所量測到的距離值。接著就是車輛平台的移動規則了,規則的複雜程度會影響自主運動的成功性,考慮的越完善越能解決可以遇到的狀況,規則可以利用多次的實驗結果來補充、學習。