SPIKE 樂高機器人

我的網頁

2013-05-08

單光源軌跡車的程式設計 -- 光源分析




去年(沒錯) 寫了幾篇文章,討論單光源軌跡車的終點設計及處理,

(請參考探奇舊文章:單光源軌跡車的終點處理方式單光源軌跡車的終點設計)

雖然當初文末已經答應要繼續寫出『各種光源值分析』以及『使用軟體處理單光源軌跡終點』的程式,然後就沒了下文,轉眼已經過了大半年!

探奇的工作表上天天提醒邱老師發文,但是邱老師因為惰性,拼命猛按「延遲,稍後提醒」,(真是該打!)

今天終於下定決心,請繼續看下去:

單光源軌跡車的終點處理 -- 光源值分析



電工膠帶與光源感應器讀值分析




量測各種顏色膠帶的光源值



顏色

光源值

與白色計算的中間值

白色(地墊)

67

--

紅色

70

無太大差異 (68.5)

黃色

66

無太大差異 (66.5)

綠色

47

57

灰色

52

59

藍色

46

56

黑色

37

52

深藍色(地墊)

27

47



將讀值畫成圖形,比較容易瞭解。每一條直線代表一種顏色的讀值範圍,紫色虛線為計算出來的中間值(公式就是『(顏色值+白色地墊值)÷ 2』)






如何設定光源感應器的中間值呢?



一般軌跡線是黑色膠帶,所以設定中間值為52,也就是光源感應器偵測到比52大的數值,就表示遇到『白色』,機器人必須左轉。

以上是正常的情況,但是當軌跡線由不同颜色的膠帶組合而成時,就必需仔細考慮其中的差異。

讓我們比較讀值,再分析光源感應器的中間值,若是設定中間值為52,機器人就無法辨識灰色膠帶,至於藍色膠帶及綠色膠帶,也有可能因為環境光線問題,造成誤判。

最後將中間值設定為59,機器人就能順利沿著黑、綠、藍、灰等各色膠帶循跡前進。



接著將程式的迴圈條件,從 Forever 改為 Sensor,感應器種類調為 Light Sensor,這裡的判斷中間值就需要依照「深藍色地墊」與「黑色膠帶」的差異,設定為35,避免機器人遇到黑色膠帶時造成誤判,提早停車不動。






完成的測試結果如影片所示,順利走完全程,到達終點。



沒有留言:

張貼留言

探奇歡迎大家留言討論!謝謝分享你的意見。