1. 程式人生 > >飛思卡爾智慧車攝像頭矯正方案

飛思卡爾智慧車攝像頭矯正方案

          那個,這是第一次發部落格。不知該怎麼自稱,要不就叫小W吧。

       小W本來是想參加飛思卡爾智慧車大賽的,結果由於某些原因而不能去了。所以小W把自己想的方案分享一下,希望對大家有所幫助。

       在人眼中和攝像頭視野中的賽道是分別是這樣的。

                                                                                                                           圖 1

      首先,我們把真實賽道分成一個個等長的塊,長度就由各位參加比賽的看官自己定啦。一般我們所用的攝像頭是每隔 20 ms 採集一場資料,如果小車以 3 m/s 的速度來算的話,那麼小車在場間間隔可以走 6cm。我們的賽道寬度是50多cm ,如果是直道還好說,反正向前衝就是了;但是如果是彎道、坡道和障礙就顯得精度不夠了。所以我們可以把場間間隔弄小一點。小W測過,如果塊的長度是 3 cm ,  前瞻1 m 只需40行資料。

    然後,如圖1所示,把真實賽道對映到攝像頭視野之中。由於攝像頭放置與垂直方向有一定的夾角,所以看到的影象近似於一個等腰梯形(親測,十分近似等腰梯形,至於小W怎麼測的,下面再講)。

    經過上面的步驟之後,我們就可以準確的知道我們的第幾行資料距離我們的小車有多遠了。如果各位誰還有興趣的話,可以去測測,每一行之上的點與真實賽道的對映。其實就是我們資料裡的每一個點所對應的真實賽道中對應的寬度。如下圖(圖2)所示紅線處。此處對還原彎道有很大的意義。

                                                                                             圖2


     最後講一下小W測試真實賽道與視野中賽道對映的方法。由於小W現在沒車了,所以不能發詳圖了。

    工具:尺子,黑膠帶,小車,電腦,專業職能車上位機除錯軟體(小w 用過小豹的,但涉及版權,這裡我不做上傳)。

    方法:首先在直道上用鉛筆每隔 3 cm(假設間距為3 cm, 可自定)畫上一個標記,然後把小車車前端接觸放在第一個標記處。這裡最好把小車放在賽道中間。然後,我們把尺子的一端纏上黑色膠帶放在刻度上面,這樣我們就可以在上位機中看到的圖如下(圖3),取黑膠帶最左端,可得到蓋黑塊所在攝像頭資料中的行數。注:鉛筆做的標記是看不見的,這裡加粗強調一下。

  

                                  圖3

      注:採取本方法對攝像頭的依賴性很高,也就是說要保證攝像頭的位置完全一樣換上新的攝像頭才能用之前測到的距離的資料,不然會有一定的偏差。