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

正文內(nèi)容

20xx年光電設(shè)計競賽漂移者隊萬向輪小車詳細(xì)技術(shù)資料-資料下載頁

2025-05-20 14:56本頁面

【導(dǎo)讀】在本項目的研究中,參賽成員需要在幾個月的時間內(nèi)設(shè)計出一種能夠滿足賽題需要的,自由度,不僅可以像普通兩輪子一樣前后滾動,而且可以側(cè)向平移。運用該輪組之后,小車。無需車身旋轉(zhuǎn)就可以實現(xiàn)轉(zhuǎn)彎行駛。也就是說,小車在行駛過程中將始終是一個朝向,這將。大大增加轉(zhuǎn)彎過程中的穩(wěn)定性和迅捷性,而且頗具觀賞效果。從而使小車實現(xiàn)向左的直行運動。以上是本方案的基本實現(xiàn)方式,在方案的實施過程中,還會涉及到以下幾個關(guān)鍵問題,容,在此就不予贅述。識別與電子指南針結(jié)合的方式來完成小車運動過程中的檢測。采用4個步進電機驅(qū)動板,分別通過輸入脈沖頻率控制4個步進電機的轉(zhuǎn)速。斜程度;當(dāng)小車左行或右行時,使用前方攝像頭采集數(shù)據(jù)。

  

【正文】 owec][columnec]=0。 } } } //如果該點左右隔 3個點灰度判斷值都為 0,則該點確認(rèn)為不是賽道,值同樣賦予 0. 這兩個同類型的濾波算法屏蔽了圖像中以豎條形式出現(xiàn)的干擾信息。 橫向濾波算法: for(i=0。i4。i++){ for(rowec=0。rowecrow0。rowec++){ for(columnec=cailie[i]3。columneccailie[i]+4。columnec++){ if(deal[rowec][columnec]==1){ ct1++。 //如果該點值為 1,則將確認(rèn)賽道的參數(shù)加 1 } } if(ct1=4){ //如果該點為中心的 7個點內(nèi),有 4個點值為 1則確認(rèn)為賽道 deal[rowec][columnec]=1。 } else{deal[rowec][columnec]=0。} //如果該點為中心的 7個點內(nèi),有少于 4個點值為 1則確認(rèn)為不是賽道 ct1=0。 } 橫向濾波算法濾除了第一列判斷賽道時出現(xiàn)錯誤所帶來的干擾及路口所帶來的干擾。 圖像矩陣賽道信息提取算法: 在采集算法中,圖像矩陣已經(jīng)得到。之后,對圖像矩陣進行賽道信息的提取,在提取過程中我們采用從圖像底部向上掃描賽道的方法,避免了路口處多余賽道的干擾。而提取算法中最 關(guān)鍵的部分在于對得到的賽道信息判斷及轉(zhuǎn)化為調(diào)整量的程序。這一段算法使得路口處的影響徹底消失,而且進一步的屏蔽了反光和雜物的錯誤信息干擾。經(jīng)過對賽道的在確認(rèn)后,保證此次圖像的確實為正常的賽道圖像無誤,沒有出現(xiàn)失真等偶然現(xiàn)象。 我們的算法在提取賽道信息時,提取 4列賽道的行值,將圖像均勻的、相等間隔的劃分為 5個部分,豎直并排。而有些偶然情況發(fā)生時,可能會導(dǎo)致采到較少的點或某些列賽道行值有誤。為了避免此情況發(fā)生,我們采用了以下算法: if(correct==4){//當(dāng)采集到 4個點時,判斷 4個點是否近似成直 線分布,符合賽道為直線的情況。若符合直線,則進行位置和角度偏移信息的提取,若不符合則舍棄該幅圖像。 if((tiqu[3]tiqu[1]tiqu[2]+tiqu[0]10)||(tiqu[3]tiqu[1]tiqu[2]+tiqu[0]10)){angle=0。position=0。} } if(correct==3){ //當(dāng)采集到 3個點缺失一個點時,首先判斷 4個點中哪一點缺失,然后根據(jù)確定剩下 3點的列植與行值判斷這 3點是否近似成直線分布,符合賽道為直線的情況。若符合直線,則進行位置和角度偏移信息的提取,若不符合則舍棄該幅圖像。 if(tiqu[0]==0){ if((2*tiqu[2]tiqu[3]tiqu[1])10||(2*tiqu[2]tiqu[3]tiqu[1])10){angle=0。position=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。position=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。position=0。} } 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。position=0。} } } if(correct==2){//當(dāng)缺失兩列賽道信息時,丟棄此圖像的所有信息,不做處理進入下一幅新圖像的采集。 if(((a1a2)10)||((a1a2)10)){angle=0。position=0。} } 調(diào)整量的確定程序: if((tempbtempa)==0){position=0。angle=0。} //所提取的有效列重合,舍棄該幅圖像 else if((tempbtempa)==26){// 所提取的賽道有效列彼此相鄰,相距圖像寬度的 1/5倍。 angle=(a1a2)*3。 position=(a1+a2)/2+(a1a2)25。} //所提取的賽道有效列彼此相距圖像寬度的 2/5倍。 else if((tempbtempa)==52){ angle=(a1a2)*3/2。 position=(a1+a2)/2+(a1a2)/425。} else if((tempbtempa)==78){ //所提取的賽道有效列位于圖像的兩邊緣,相距最遠(yuǎn) angle=a1a2。 //角度偏移的提取 position=(a1+a2)/225。} //位置偏移量的提取 //當(dāng)提取賽道的有效列的列值相差為 0、 2 5 78個四種情況下時,分別對賽道位置偏移和角度 偏移的提取。 調(diào)整算法: 通過大量的試驗和調(diào)試,我們發(fā)現(xiàn)小車實際位置和角度的偏移與采集到的圖像中賽道信息的變化是近似成正比的,利用這個關(guān)系,我們設(shè)計了簡潔、準(zhǔn)確的調(diào)整算法 線性調(diào)整法。將偏移量與調(diào)整量線性相關(guān)聯(lián),經(jīng)過不斷測試驗證,這種調(diào)整方法快速有效并且收斂速度快,調(diào)整圓滑,去除了擺動。 由于我們小車的特點,小車分直行和平行兩種狀態(tài)。在不同狀態(tài)下,調(diào)整方法略有不同。具體調(diào)整程序如下: if(judge==1){ //判斷是直行還是平行 if(re==0){ //判斷 為直行時作以下調(diào)整 if(position2){ //當(dāng)位置偏移 3cm以上時 c2=position*7。 //位置調(diào)整函數(shù)延時時間為調(diào)整量的 7 倍,倍數(shù)關(guān)系通過分析單片機頻率和步進電機保持頻率而得。 adjust_straight_left(c2)。 //位置調(diào)整量大于 0,說明向右偏,故向左平移小車。 } else if(position2){ //位置調(diào)整量小于于 0,說明向左偏,故向右平移小車。 c2=(position)*7。 adjust_straight_right(c2)。 } //angle=angle+1。 if(angle=1){ //當(dāng)角度偏移量為 3176。以上時 c1=angle*6。 //角度調(diào)整函數(shù)延時時間為調(diào)整量的 6倍,倍數(shù)關(guān)系通過分析單片機頻率和步進電機保持頻率而得。 adjust_straight_ni(c1)。 //角度調(diào)整量大于 0,說明向右偏,故逆時針旋轉(zhuǎn)小車。 } else if(angle=1){ //當(dāng)角度偏移量為 3176。以上時 c1=(angle)*6。 adjust_straight_shun(c1)。 //角度調(diào)整量小于 0,說明向左偏,故順時針旋轉(zhuǎn)小車。 } } if(re==1){ //判斷 為平行時作以下調(diào)整,調(diào)整原理同直行時,注釋參考直行。 position=position+2。 if(position3){ c2=position*8。 adjust_ping_back(c2)。 } else if(position3){ c2=(position)*8。 adjust_ping_front(c2)。 } angle=angle1。 if(angle=1){ c1=angle*6。 adjust_ping_ni(c1)。 } else if(angle=1){ c1=(angle)*6。 adjust_ping_shun(c1) } }} 以上程序中有些情況對調(diào)整量略作修改,這些情況都是經(jīng)過大量實踐調(diào)試后得到的最佳調(diào)整效果下的值。 轉(zhuǎn)彎程序: 可以說,在我們小車實際比賽的過程中,最耀眼的莫過于漂移者號小車的漂移轉(zhuǎn)彎了。在轉(zhuǎn)彎時,我們原行進方向的動力電機逐漸減速,把將行進方向的 動力電機逐漸加速,造成了視覺上的漂移效果。最重要的是這樣的轉(zhuǎn)彎方法出錯率低,快速而穩(wěn)定。 我們的小車轉(zhuǎn)彎采用中斷實時反應(yīng)的算法,快速穩(wěn)定。下面以右轉(zhuǎn)彎的程序為例進行詮釋: void turn_right(void) { uint8 i。 dir0=0。 dir2=0。 //即將行進方向的動力電機轉(zhuǎn)動方向的確定 for(i=0。i24。i++) //轉(zhuǎn)彎時,逐步的進行 24次電機轉(zhuǎn)速的加速或減速,使得小車速度的改變平滑,利于步進電機的啟 動。轉(zhuǎn)彎的弧線也因此得到優(yōu)化,實現(xiàn)了最短距離轉(zhuǎn)彎。 { //每次加減速過程中,對電機驅(qū)動模塊 PWM波的頻率按照加減速矩陣進行調(diào)整和賦值。 bj_change_speed(0x01,speedjian[23i])。 bj_change_speed(0x03,speedjian[23i])。}// 原行進方向的動力電機減速 bj_change_speed(0x00,speedjia[i])。 bj_change_speed(0x02,speedjia[i])。 // 即將行進方向的動力電機加速 delayx(3)。 //每次加減速持續(xù) 30ms } } 為了使步進電機在盡量短的時間內(nèi)啟動到穩(wěn)定速度,一個平滑的加速過程是必不可少的。所以我們設(shè)計了步進電機加速和減速時分別要用到的加速、減速矩陣。 加速矩陣 speedjia[]={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}。 減速矩陣 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}。 入庫程序: 入庫時,我們采用了先調(diào)整在入庫的穩(wěn)定性優(yōu)先的方法。而且由于我們小車的行進特點,小車在達(dá)到車庫前身形并不會很歪斜,故調(diào)整時間不會很長,整 個入庫時間也是在可接受的范圍內(nèi)。 if(ruku==1){ //判斷是否該入庫了 (前方激光管檢測到障礙物時會在中斷函數(shù)中將入庫標(biāo)志 ruku參量賦值 1,此時認(rèn)為即將入庫 ) judge=1。 re=1。 TIE=0x40。 //只開啟入庫調(diào)整攝像頭所需中斷,關(guān)閉其他中斷。 caiji()。 //入庫前采集圖像 findpianyi()。 while((angle1)||(angle1)||(posi
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1