大一暑假時,節能車正式開始製作,我負責軟體方面,主要是編寫上位機監控介面,於是畫了乙個月做了一套介面,累的不行,現在想想有些走彎路了,其實當時認真學學自繪,又不會搞得那麼難。
大二上學期報名智慧型車,由於在節能車待過,所以和兩個師哥直接組隊,做攝像頭組,因為這組最難,沒人上。在十二月份時看了規則,借了上一屆的直立車進行除錯。拿到程式後,看了幾天發現乙個問題,直立濾波方面看不到實現**,後來發現是放到庫里了,看不到引數,本來這套程式的直立效果是挺不錯的,但感覺**存到庫里,心裡不踏實,所以放棄了這個方案,微控制器也改用k60。
大二寒假第一天回家,開始學習k60,照著野火的3天入門m3,熟悉iar。乙個寒假都在調直立,後來總結了幾種方案,最後選擇了清華的方案,最終選擇也是在4月份之後了。寒假快開學時才開始調攝像頭,採集影象已經可以了。
大二下學期一開始,就開始泡在實驗室裡,當時基本就我們隊在,其他乙個隊在4月後才開始常去。隊裡其他兩個師哥開始去的次數不多,後來也是每天都去,現在想來,非常感謝他們的陪伴。
下面寫一下各種方案的選定,這個是乙個痛苦的過程,需要反覆對比各種方案的好壞。
1.直立濾波方案:有清華的方案,卡爾曼濾波,矩陣卡爾曼,互補濾波。經過比對,互補最差,矩陣卡爾曼引數調了一周後放棄了,另一種卡爾曼與清華的差不多,但開機時有抖動,最終選了清華的方案,還是不錯的。
2.直立用感測器方案:有模擬、數字兩種,我們用的是助贏模擬的,數字的之前用過6050,由於連線不牢固或其他原因,經常掉線。
3.脈衝採集方案:有正交解碼、lptmr測速、io中斷、外部計數器等。這裡面io中斷最次,lptmr只能測單路,放棄,外部計數器比較看好,但k60有兩路正交解碼,所以選擇了正交解碼。有一點說明的事,初期除錯時編碼器的線顏色搞錯了,瞎調了好久。
4.攝像頭採集方案:有傳統中斷延時、dma等,k60有dma,選擇了dma方式。
5.攝像頭列訊號處理方案:選用的是ov7620,解析度好像是640*480,但這個影象太大了,在行訊號上設了乙個陣列,每一場僅採集陣列裡的行,列訊號用了乙個74ls74進行4分頻,得到640/4=160列,即每4個點採集乙個。需要注意的是,不能用74hc74,速度跟不上。當然你也可以不用74ls74,軟體進行處理,但我覺得,能用硬體解決的就用硬體,軟體就好做一些。
6.車模選取方案:當時用d調了挺久,直到7月初發現速度提不上了才想到換車模,但已經晚了,如果可能,一定選e車吧。d車動力性不如e車,儘管e車齒輪調起來費勁。
下面再寫一下當時的一些「創新」、「新發現」和建議
1.調參方面,傳統上基本沒調一次引數,下一次**,這種是最笨的,效率最低的。由於之前做過上位機,用了乙個週六周天,做了乙個可以調參的上位機,通過無線串列埠傳輸,軟體可調節pid的值,小車邊跑邊調,以至於每次調參我在乙個桌子上調,隊友在賽道上撿車。這個無線也可以用藍芽,只不過我當時用的不是藍芽,是另一種串列埠裝置。
2.攝像頭組過小s,可以通過加權平均值和攝像頭角度來平衡,最後以至於直線過小s。
3.速度微調方面,想知道速度勻速不?單靠看是不行的,我們的方案是,設乙個很大的陣列,大約4000吧,將每次採集的脈衝值放進去,一直存著,等到小車跑完一圈後,通過按鍵或其他方式,將脈衝值發到電腦的虛擬示波器中,就可以分析速度是否勻速。傳送時要關掉小車驅動板,否則可能會瘋轉。這個方法是比賽前幾天想出來的,有點太晚了,但還是幫了很大忙,整定引數比較好。
4.攝像頭各種補線一定要會尋找特徵點,比如十字,彎道等,彎道的中線擬合要往裡走,也就是中線盡可能往小車這邊靠。舉個例子,左彎道左邊的邊線肯定沒有,這個時候要靠右側的邊線擬合,千萬不要取兩者的中間值,也不要補乙個固定的陣列,我們的做法是補上一次有些賽道寬度的一半,然後+1或2,總之,盡可能往小車這邊靠。
6.攝像頭鏡頭度數要大一些,我們當時用的是120度的,預設90度的視野太小,不利於影象處理。
7.關好窗簾,反光對小車影響很大。
未完待續。。。
第九屆 6 航班時間
問題背景 小h前往美國參加了藍橋杯國際賽。小h的女朋友發現小h上午十點出發,上午十二點到達美國,於是感嘆到 現在飛機飛得真快,兩小時就能到美國了 小h對超音速飛行感到十分恐懼。仔細觀察後發現飛機的起降時間都是當地時間。由於北京和美國東部有12小時時差,故飛機總共需要14小時的飛行時間。不久後小h的女...
藍橋杯第九屆決賽
x星球的鈔票的面額只有 100元,5元,2元,1元,共4種。小明去x星旅遊,他手裡只有2張100元的x星幣,太不方便,恰好路過x星銀行就去換零錢。小明有點強迫症,他堅持要求200元換出的零鈔中2元的張數剛好是1元的張數的10倍,剩下的當然都是5元面額的。銀行的工作人員有點為難,你能幫助算出 在滿足小...
第九屆藍橋杯 螺旋折線
如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。對於整點 x,y 我們定義它到原點的距離dis x,y 是從原點到 x,y 的螺旋折線段的長度。例如dis 0,1 3,dis 2,1 9 給出整點座標 x,y 你能計算出dis x,y 嗎?輸入格式 x和y 對於40 的資料,1000 x,...