freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

20xx年光電設計競賽漂移者隊萬向輪小車詳細技術資料(參考版)

2025-05-25 14:56本頁面
  

【正文】 //入庫前采集圖像 findpianyi()。 //只開啟入庫調(diào)整攝像頭所需中斷,關閉其他中斷。 re=1。而且由于我們小車的行進特點,小車在達到車庫前身形并不會很歪斜,故調(diào)整時間不會很長,整 個入庫時間也是在可接受的范圍內(nèi)。 減速矩陣 speedjian[]={0x00,0xff,0xee,0xcd,0xa0,0x75,0x65,0x55,0x4a,0x40,0x3d,0x3a,0x36,0x32,0x30,0x2f,0x2b,0x29,0x27,0x25,0x23,0x22,0x21,0x20,0x20}。所以我們設計了步進電機加速和減速時分別要用到的加速、減速矩陣。 // 即將行進方向的動力電機加速 delayx(3)。}// 原行進方向的動力電機減速 bj_change_speed(0x00,speedjia[i])。 bj_change_speed(0x01,speedjian[23i])。轉彎的弧線也因此得到優(yōu)化,實現(xiàn)了最短距離轉彎。i24。 dir2=0。下面以右轉彎的程序為例進行詮釋: void turn_right(void) { uint8 i。最重要的是這樣的轉彎方法出錯率低,快速而穩(wěn)定。 轉彎程序: 可以說,在我們小車實際比賽的過程中,最耀眼的莫過于漂移者號小車的漂移轉彎了。 } else if(angle=1){ c1=(angle)*6。 if(angle=1){ c1=angle*6。 adjust_ping_front(c2)。 adjust_ping_back(c2)。 position=position+2。 //角度調(diào)整量小于 0,說明向左偏,故順時針旋轉小車。以上時 c1=(angle)*6。 //角度調(diào)整量大于 0,說明向右偏,故逆時針旋轉小車。 //角度調(diào)整函數(shù)延時時間為調(diào)整量的 6倍,倍數(shù)關系通過分析單片機頻率和步進電機保持頻率而得。 if(angle=1){ //當角度偏移量為 3176。 adjust_straight_right(c2)。 } else if(position2){ //位置調(diào)整量小于于 0,說明向左偏,故向右平移小車。 adjust_straight_left(c2)。具體調(diào)整程序如下: if(judge==1){ //判斷是直行還是平行 if(re==0){ //判斷 為直行時作以下調(diào)整 if(position2){ //當位置偏移 3cm以上時 c2=position*7。 由于我們小車的特點,小車分直行和平行兩種狀態(tài)。 調(diào)整算法: 通過大量的試驗和調(diào)試,我們發(fā)現(xiàn)小車實際位置和角度的偏移與采集到的圖像中賽道信息的變化是近似成正比的,利用這個關系,我們設計了簡潔、準確的調(diào)整算法 線性調(diào)整法。 //角度偏移的提取 position=(a1+a2)/225。 position=(a1+a2)/2+(a1a2)/425。} //所提取的賽道有效列彼此相距圖像寬度的 2/5倍。 angle=(a1a2)*3。angle=0。position=0。} } } if(correct==2){//當缺失兩列賽道信息時,丟棄此圖像的所有信息,不做處理進入下一幅新圖像的采集。} } if(tiqu[3]==0){ if((tiqu[2]tiqu[1])(tiqu[1]tiqu[0])10||((tiqu[2]tiqu[1])(tiqu[1]tiqu[0])10)){angle=0。} } if(tiqu[2]==0){ if((tiqu[3]tiqu[1])2*(tiqu[1]tiqu[0])10||((tiqu[3]tiqu[1])2*(tiqu[1]tiqu[0])10)){angle=0。} } if(tiqu[1]==0){ if(2*(tiqu[3]tiqu[2])(tiqu[2]tiqu[0])10||(2*(tiqu[3]tiqu[2])(tiqu[2]tiqu[0])10)){angle=0。 if(tiqu[0]==0){ if((2*tiqu[2]tiqu[3]tiqu[1])10||(2*tiqu[2]tiqu[3]tiqu[1])10){angle=0。} } if(correct==3){ //當采集到 3個點缺失一個點時,首先判斷 4個點中哪一點缺失,然后根據(jù)確定剩下 3點的列植與行值判斷這 3點是否近似成直線分布,符合賽道為直線的情況。 if((tiqu[3]tiqu[1]tiqu[2]+tiqu[0]10)||(tiqu[3]tiqu[1]tiqu[2]+tiqu[0]10)){angle=0。為了避免此情況發(fā)生,我們采用了以下算法: if(correct==4){//當采集到 4個點時,判斷 4個點是否近似成直 線分布,符合賽道為直線的情況。 我們的算法在提取賽道信息時,提取 4列賽道的行值,將圖像均勻的、相等間隔的劃分為 5個部分,豎直并排。這一段算法使得路口處的影響徹底消失,而且進一步的屏蔽了反光和雜物的錯誤信息干擾。之后,對圖像矩陣進行賽道信息的提取,在提取過程中我們采用從圖像底部向上掃描賽道的方法,避免了路口處多余賽道的干擾。 } 橫向濾波算法濾除了第一列判斷賽道時出現(xiàn)錯誤所帶來的干擾及路口所帶來的干擾。 } else{deal[rowec][columnec]=0。columnec++){ if(deal[rowec][columnec]==1){ ct1++。rowec++){ for(columnec=cailie[i]3。i++){ for(rowec=0。 橫向濾波算法: for(i=0。deal[rowec][columnec+4]==0){ deal[rowec][columnec]=0。columnec++){ if(deal[rowec][columnec4]==0amp。rowec++){ for(columnec=4。 } } } //如果該點左右隔 1點的灰度判斷值都為 0,則該點確認為不是賽道,值同樣賦予 0. for(rowec=0。amp。columneccolumn_max2。rowecrow0。} //不滿足差值條件則認為還沒到賽道,賦值 0 if(rotemp=row0){rotemp=0。rowec++。 deal[rowec][columnec]=0。 } deal[rowec][columnec]=1。 { deal[rowec][columnec]=1。 rowec++。 deal[rowec][columnec]=1。 deal[rowec][columnec]=0。(rowecrotemp)){rotemp=rowec2。 { if((rowecrotemp+6)amp。amp。rowecrotemp+12。columneccolumn_max。} } else{deal[rowec][columnec]=0。 //記錄列值 columnec=column_max1。//如果沒有到圖像最下端,則記錄該行值減2,作為初始賽道位 置掃描起點。(deal[rowec][columnec]=100)) //差值方法:當該列該行的灰度值比后面兩行的值大 22,而又與其后第 5 行的灰度值之差小于 10,則認為該點為即將到賽道邊緣。(deal[rowec+2][columnec]deal[rowec+5][columnec]=10))//amp。rowec++) { if((deal[rowec][columnec]deal[rowec+2][columnec]=22)amp。columnec++) { for(rowec=rotemp。 差值及臨近取點濾波算法程序: for(columnec=4。這種方法在初始確定賽道 無誤的狀況下,很好的屏蔽了賽道兩側的干擾信息,能將距離賽道 5cm之外的雜物和強反光濾除掉。 我們的掃描是在每一列上逐行掃描,該列掃描完畢則掃描下一列。 差值的方法有效的解決了外界光線強弱不同時賽道和場地灰度值變化的問題,因為雖然環(huán)境中亮暗的不同會導致賽道和地板灰度值的變化,但兩者變化趨勢相同,所以賽道與地板灰度值的差值始終保持在比較大的數(shù)值(一般為 20)以上。在行進過程中,轉彎以中斷的方式在中斷函數(shù)里對狀態(tài)參量進行修改。 } } 算法邏輯說明: 本算法以入庫為最高優(yōu)先,故在每次循環(huán)中首先判斷是否應該入庫。 //調(diào)整 } for(。 //采集圖像 findpianyi()。} if(re==1){TIE=0x41。 } judge=1。 music=1。 bj_change_speed(0x01,0x00)。 bj_change_speed(0x00,0x00)。 bj_change_speed(0x03,0x40)。 bj_change_speed(0x02,0x00)。 delayx(30)。 bj_change_speed(0x01,0x00)。 bj_change_speed(0x00,0x00)。 dir1=0。 } TIE=0x00。 bj_change_speed(0x00,0x00)。 caiji()。 TIE=0x40。 while((angle1)||(angle1)||(position2)||(position2)){ judge=1。 caiji()。 re=1。 start_straight()。 re=0。 Dir1=0。 TFLG1 = 0xff。 EnableInterrupts。 //設置 PORTE 47 為輸出 ,控制剎車 DDRM|=0xff。 DDRB=0x00。 DisableInterrupts。 //0x01010101 選擇捕捉模式 TFLG1 = 0xff。 //定時器必須使能 TCTL3 = 0x66。 //單片機超頻設置 //中斷設置 TIOS = 0x00。為了保證直觀性,矩陣最好在一張紙上顯示,所以我將最終得到的矩陣樣板附在了下一頁(因為紙張排版大小有限,樣板中原有的 49 行被壓縮成 44 行,去掉了 5 行全部為 0 的部分,還望讀者注意)。 珍重! 附件 1:圖像提取結果樣本 下圖所示的圖像,是一種小車既歪斜又偏軌時通過攝像頭所能看到的圖像。 可以這樣說,如今我回顧這場比賽的前前后后, 遺憾固然存在, 就像美玉上的一縷裂紋一般讓人心生不甘。我們遇到了遇到的各種各樣莫名其妙的問題,任何一種都可能讓人因為找不到頭緒而崩潰。在這里,我要對成員潘欽旭同學 說聲謝謝,在我面臨賽隊核心成員退出,方案面臨流產(chǎn)的絕望境地時,是他伸出援手加入進來,并且為我們設計出了高效、簡潔的采集濾波算法,對于整
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1