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

正文內(nèi)容

基于arm的智能機(jī)器人圖像采集系統(tǒng)-資料下載頁

2025-01-18 16:08本頁面
  

【正文】 值時(shí)設(shè)為0。 經(jīng)過二值化處理后的圖像存放在image_buf中覆蓋原來的數(shù)據(jù),由于第一行圖像相對同一張圖像的其它行,反應(yīng)到賽道上的實(shí)際寬度最窄,與攝像頭中心連線夾角最小,賽道寬度為50cm中間為12cm寬的黑線,所以第一行圖像相對整張圖像而言是最穩(wěn)定,最可靠的。因此先確定第一行圖像的中心點(diǎn),如圖15為確定第一行中心點(diǎn)流程圖:圖15 確定第一行中心點(diǎn)流程圖第二行以后的圖像以上一行圖像中心點(diǎn)為起始搜索點(diǎn),設(shè)定一個(gè)搜索范圍search_area經(jīng)過測試設(shè)置search_area等于20,這個(gè)搜索范圍若與邊界沖突時(shí)以邊界線距起始搜索點(diǎn)的像素點(diǎn)個(gè)數(shù)為搜索范圍,下面往左搜索即表示往該行圖像起始方向搜索,往右搜索即表示往該行終點(diǎn)方向搜索。(1) 如果起始搜索點(diǎn)center[row1]為黑點(diǎn),則往左至該行左邊界搜索范圍內(nèi)搜索白點(diǎn),找到第一個(gè)白點(diǎn)x0,若接下來連續(xù)出現(xiàn)5個(gè)白點(diǎn)說明黑線左邊邊界為x0,若找到第一個(gè)白點(diǎn)后,接下來的5個(gè)點(diǎn)中出現(xiàn)了黑點(diǎn)則繼續(xù)搜索黑線左邊界,如果到該行左邊界仍然未找到黑線左邊界則以該行左邊界為黑線左邊界。最終得到黑線左邊界坐標(biāo)x0。(2) 如果起始搜索點(diǎn)center[row1]為黑點(diǎn),往右搜索黑線右邊界方法與往左搜索方法一致。最終得到黑線右邊界坐標(biāo)x1。(3) 如果起始搜索點(diǎn)為白點(diǎn),若往左和往右search_area個(gè)像素點(diǎn)搜索范圍內(nèi)都沒有找到一個(gè)黑點(diǎn),表示該行找不到中心點(diǎn),將該行中心點(diǎn)設(shè)置為上一行的中心點(diǎn)center[row]=center[row1]。(4) 如果起始點(diǎn)為白點(diǎn),往左search_area未找到黑點(diǎn),往右search_area找到黑點(diǎn),則往右找到的第一個(gè)黑點(diǎn)記位xr0,然后按照第(2)種情況中的方法找到x1。(5) 如果起始點(diǎn)位白點(diǎn),往右search_area未找到黑點(diǎn),往左search_area找到黑點(diǎn),則往左找到的第一個(gè)黑點(diǎn)記位xl0,然后按照第(1)種情況中的方法找到x1。(6) 如果起始點(diǎn)為白點(diǎn),往左往右search_area范圍內(nèi)都能找到黑點(diǎn),則采用第(1)種情況方法找到x0,采用第二種情況方法找到x1。(7) 根據(jù)當(dāng)前情況確定當(dāng)前行中心點(diǎn)的位置center[row],對比相應(yīng)行的中心點(diǎn)在上下兩幅圖像中的坐標(biāo)差距,若差距大于center_gap,此處設(shè)為5,則center[row]=center[row1],將中心點(diǎn)值設(shè)為0,其余都設(shè)為255。 不論起始搜索點(diǎn)是黑點(diǎn)還是白點(diǎn),都需要在確定第一個(gè)黑點(diǎn)后采用同樣的搜索方法向起始方向或終點(diǎn)方向搜索黑線邊界,下面先來解決搜索到第一個(gè)黑點(diǎn)包括起始點(diǎn)就為黑點(diǎn)的搜索程序。int search(unsigned short *buf,int row,int start,int fangxiang)搜索函數(shù)帶有四個(gè)參數(shù):(1) *buf:表示圖片起始地址。(2) row:表示搜索的是第幾行圖像。(3) start:表示第一個(gè)黑點(diǎn)距起始搜索點(diǎn)的距離,如果起始搜索點(diǎn)就是黑點(diǎn)則start值為0。(4) fangxiang:表示搜索的方向,fangxiang=0表示往起始方向搜索;fangxiang!=0表示往終點(diǎn)方向搜索。圖16為確定黑點(diǎn)后搜索子函數(shù)流程圖 圖16 確定黑點(diǎn)后搜索子函數(shù)流程圖 圖16為確定第二行之后圖像中心點(diǎn)函數(shù)流程圖。 圖17 確定第二行之后圖像中心點(diǎn)函數(shù)流程圖 控制策略 舵機(jī)控制 攝像頭采集到的圖像總共有240行,控制小車并不需要用上所有的圖像,我們只用第0、150、200三行就行了int angle_line[3]={0,150,200}。,程序執(zhí)行,按鍵1按下時(shí)取這三行中心點(diǎn)為舵機(jī)控制的三個(gè)基準(zhǔn)點(diǎn)centervalue[],即當(dāng)采集到的圖像第0、150、200行中心點(diǎn)與對應(yīng)centervalue[i]相等時(shí)舵機(jī)在該行分量轉(zhuǎn)角為0度,由于舵機(jī)與車輪由連桿連接,當(dāng)輪子轉(zhuǎn)到最左邊角度時(shí),舵機(jī)相對零點(diǎn)處需要加上220個(gè)分度,當(dāng)輪子轉(zhuǎn)到最右邊角度時(shí),舵機(jī)相對零點(diǎn)處需要減少240個(gè)分度。所以角度控制方案如下:(1) 如果center[i]centervalue[i],則舵機(jī)在第i行轉(zhuǎn)角分量是正的,需要往左轉(zhuǎn)。(2) 如果center[i]centervalue[i],則舵機(jī)第i行轉(zhuǎn)角分量是負(fù)的,需要往右轉(zhuǎn)。for(i=0。i3。i++) { if(center[angle_line[i]]=(int)centervalue[i]) a[i]=(int)(long int)((220*100/(240centervalue[i])*(center[angle_line[i]]centervalue[i])))/100。 else a[i]=(int)(longint)((240*100/centervalue[i]*(centervalue[i]center[angle_line[i]])))/100。 } jiaodu=(kp1*a[0]+kp2*a[1]+kp3*a[2])/100。 servo(jiaodu)。函數(shù)中kpkpkp3分別表示0、150、200三行的轉(zhuǎn)角分量,此次設(shè)計(jì)中kp1設(shè)置為50,kp2設(shè)置為25,kp3設(shè)置為25。 電機(jī)控制電機(jī)采用比例微分控制PD,這里需要用到一個(gè)測速編碼器來測量給定采樣時(shí)間內(nèi)編碼器采樣的脈沖個(gè)數(shù)(個(gè)數(shù)的多少能反應(yīng)速度的大小)。 e=vi_refpulse。ec=pulseb_pulse。add=kp*e/100+kd*ec/100。s=s+add。 if(s0) s=0。 if(supspeed) s=upspeed。直道和彎道的速度給定值是不一樣的,速度的上限值也不一樣。 結(jié)束語本課題實(shí)現(xiàn)了基于ARM 和Linux的嵌入式圖像采集系統(tǒng),并控制小車沿著賽道黑線行駛,設(shè)計(jì)所作的工作主要包括以下幾個(gè)方面:(1) 搭建應(yīng)用程序開發(fā)環(huán)境;(2) 編寫PWM控制驅(qū)動程序;(3) 編寫LCD顯示及usb攝像頭圖像采集程序;(4) 處理采集到的圖像獲取賽道中心線;(5) 控制小車賽道行駛。本課題尚有待改進(jìn)的方面,總結(jié)如下:(1) 圖像處理方案不是很完善,提取的賽道中心線和實(shí)際的中心線存在偏差,使得小車容易沖出賽道。(2) 設(shè)計(jì)采用兩塊開發(fā)板,重量大,小車行駛過程中電機(jī)和電機(jī)驅(qū)動發(fā)熱量大,實(shí)際項(xiàng)目中必須對硬件進(jìn)行相應(yīng)裁剪。(3) 操作系統(tǒng)的優(yōu)勢在于可以并行執(zhí)行多任務(wù),使系統(tǒng)處理事務(wù)的能力變得很強(qiáng),而在整個(gè)設(shè)計(jì)的過程中程序的構(gòu)思設(shè)計(jì)仍然沒有跳出單片機(jī)只能執(zhí)行單任務(wù)的圈子。(4) Linux本身為分時(shí)操作系統(tǒng),速度慢,實(shí)時(shí)性差,其系統(tǒng)目標(biāo)為較好的平均響應(yīng)時(shí)間和較高的吞吐量,而本次設(shè)計(jì)采用USB攝像頭采集圖像控制小車沿著賽道行駛需要有很高的實(shí)時(shí)性,采用Linux系統(tǒng)導(dǎo)致圖像采集速度慢,實(shí)時(shí)性低,小車行駛速度慢。(5) Linux操作系統(tǒng)過于復(fù)雜,現(xiàn)在對于基于linux系統(tǒng)驅(qū)動程序開發(fā)、內(nèi)核的調(diào)度等仍然知之甚少,還需要進(jìn)一步學(xué)習(xí)。隨著計(jì)算機(jī)技術(shù)、通信技術(shù)、電子技術(shù)一體化進(jìn)程不斷加劇以及人們對電子設(shè)備功能要求日益提升,嵌入式系統(tǒng)以其軟硬件可裁剪、穩(wěn)定性高、成本低、并行執(zhí)行多任務(wù)等優(yōu)勢必將得到市場的青睞,其高速發(fā)展已成為必然的趨勢。如今隨著IC業(yè)得發(fā)展已經(jīng)出現(xiàn)了越來越多的價(jià)格低廉、結(jié)構(gòu)小巧的CPU和外設(shè),限制嵌入式系統(tǒng)發(fā)展的瓶頸就突出表現(xiàn)在軟件方面了,目前比較著名的操作系統(tǒng)有Vxwork、eCOS、RTEMS、Linux、windows CE、μC/OS、QNX等,不同的操作系統(tǒng)有不同的特性,開發(fā)項(xiàng)目是必須根據(jù)實(shí)際應(yīng)用選擇合適的軟硬件,以達(dá)到最佳效果。參考文獻(xiàn) [1] 王黎明,陳雙橋,閆曉玲,史毓達(dá),葛德宏.ARM9嵌入式系統(tǒng)開發(fā)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社2008[2] 林曉飛,劉彬,張輝.基于ARM嵌入式Linux應(yīng)用開發(fā)與實(shí)例教程[M].北京:清華大學(xué)出版社2007[3] 黃智偉,鄧月明,王彥.ARM9嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社 2008[4] 徐磊.Linux系統(tǒng)下C程序開發(fā)詳解[M].北京:電子工業(yè)出版社2008[5] 吳岳.Linux C程序設(shè)計(jì)大全[M].北京:清華大學(xué)出版社 2009[6] 于明,范書瑞,曾祥燁.ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)教程[M].北京:電子工業(yè)出版社 2006[7] 張綺文,謝建雄,謝勁心.ARM嵌入式常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社2007[8] 徐千洋.Linux C函數(shù)庫詳解詞典[M].北京:機(jī)械工業(yè)出版社 2008[9] 宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人們郵電出版社 2008[10] 華成英,[M].北京:高等教育出版社 2006[11] 閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社 2006 [12] 竇振中.基于單片機(jī)的嵌入式系統(tǒng)工程設(shè)計(jì)[M].北京:中國電力出版社 2008[13] 周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社 2005[14] Jean .MicroC/OSII The RealTime Kernel Second Edition[M].北京:北京航空航天大學(xué)出版社 2003[15] Brian ,Dennis .The C Programming Language[M].北京:機(jī)械工業(yè)出版社 2004致謝 這次畢業(yè)設(shè)計(jì)能夠順利完成,是所有曾經(jīng)指導(dǎo)過我的老師,幫助過我的同學(xué)對我的教誨、幫助和鼓勵的結(jié)果。在此我要對他們表示深深的謝意! 首先特別感謝我的指導(dǎo)老師**。**老師在我畢業(yè)設(shè)計(jì)過程中給我提供了許多寶貴的意見,使我少走了很多彎路。**32
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1