版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八屆全國(guó)大學(xué)生智能汽車大賽技術(shù)報(bào)告第八屆全國(guó)大學(xué)生智能汽車大賽技術(shù)報(bào)告PAGE24PAGE23第八屆全國(guó)大學(xué)生智能汽車大賽技術(shù)報(bào)告PAGE1第八屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車競(jìng)賽技術(shù)報(bào)告學(xué)校:武漢大學(xué)隊(duì)伍名稱:我是傳奇參賽隊(duì)員:陶志浩劉向東賀凌昊帶隊(duì)教師:專祥濤楊飛關(guān)于技術(shù)報(bào)告和研究論文使用授權(quán)的說(shuō)明 本人完全了解第八屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車競(jìng)賽關(guān)保留、使用技術(shù)報(bào)告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會(huì)和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁(yè)上收錄并公開(kāi)參賽作品的設(shè)計(jì)方案、技術(shù)報(bào)告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會(huì)出版論文集中。參賽隊(duì)員簽名: 帶隊(duì)教師簽名: 日期: 摘要本文設(shè)計(jì)的智能車系統(tǒng)以飛思卡爾公司生產(chǎn)的MK60N512VMD100微控制器為核心控制單元,利用SonyCCD攝像頭采集賽道信息,使用模擬比較器對(duì)圖像進(jìn)行硬件二值化,提取得到賽道兩邊的黑線信息,用于賽道識(shí)別和控制;利用編碼器反饋模型車的實(shí)際速度,使用PID+Bangbang控制算法調(diào)節(jié)驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速;根據(jù)前方黑線的信息,利用偏差計(jì)算,插值,曲線擬合,S彎判斷等方法對(duì)圖像進(jìn)行處理,根據(jù)圖像處理得到的黑線偏差,黑線擬合斜率,黑線曲率半徑等關(guān)鍵信息,用PID算法控制轉(zhuǎn)向舵機(jī)的角度,實(shí)現(xiàn)了對(duì)模型車運(yùn)動(dòng)速度和運(yùn)動(dòng)方向的閉環(huán)控制。為了提高模型車的速度和穩(wěn)定性,使用上位機(jī)、無(wú)線模塊、液晶模塊等調(diào)試工具,進(jìn)行了大量硬件與軟件測(cè)試。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)設(shè)計(jì)方案確實(shí)可行。關(guān)鍵字:MK60N512VMD100,CCD,PID,PID+Bangbang,圖像處理與識(shí)別目錄4465摘要 III29238目錄 IV29805第一章:緒論 1276181.1課題背景 120851.2國(guó)外情況 129864第二章:智能車系統(tǒng)硬件的設(shè)計(jì)與調(diào)試 2203892.1模型車機(jī)械結(jié)構(gòu)的設(shè)計(jì)與調(diào)整 2286232.1.1汽車行駛的數(shù)學(xué)模型 29892.1.2舵機(jī)安裝方式與輸出臂長(zhǎng)的選取 446712.1.3模型車前輪結(jié)構(gòu)的調(diào)整 8201992.1.4攝像頭支架的設(shè)計(jì)與安裝 10192532.2硬件電路的設(shè)計(jì)與調(diào)試 13170072.2.1FreescaleMK60DN512單片機(jī) 14203552.2.2電機(jī)驅(qū)動(dòng)模塊 15272452.2.3車速檢測(cè)模塊 16173942.2.4電池供電模塊 1798662.2.5圖像采集模塊 19101062.2.6輔助調(diào)試模塊 252032第三章:智能車系統(tǒng)軟件的設(shè)計(jì)與調(diào)試 26257063.1、路徑識(shí)別賽道中心線提取及處理 2677643.1.1普通賽道的處理 26265613.1.2、特殊賽道類型的處理 30139353.2舵機(jī)控制 31225843.2.1數(shù)字PID舵機(jī)控制 31238893.2.2錯(cuò)幀和小S控制 3248263.3速度控制 33223173.3.1速度的閉環(huán)控制 332853.3.2剎車功能的實(shí)現(xiàn) 3428039第四章:模型車主要技術(shù)參數(shù)說(shuō)明 3715560參考文獻(xiàn) 3822521附錄: 39第一章:緒論 1.1課題背景 1.2國(guó)外情況智能車競(jìng)賽最早始于韓國(guó),2000年韓國(guó)漢陽(yáng)大學(xué)承辦了第一屆智能車競(jìng)賽,并由飛思卡爾(Freescale)公司贊助,每年大約有100余支大學(xué)生隊(duì)伍參加比賽。智能車的設(shè)計(jì)制作,其專業(yè)知識(shí)設(shè)計(jì)控制、模式識(shí)別、傳感技術(shù)、汽車電子、電器、計(jì)算機(jī)和機(jī)械等多個(gè)學(xué)科,對(duì)學(xué)生的知識(shí)融合和實(shí)踐動(dòng)手能力的培養(yǎng),以及高等學(xué)??刂坪推囯娮訉W(xué)科學(xué)術(shù)水平的提高,具有良好的產(chǎn)期推動(dòng)作用[2]。:智能車系統(tǒng)硬件的設(shè)計(jì)與調(diào)試根據(jù)組委會(huì)的相關(guān)規(guī)定,今年攝像頭組比賽車模更換為B車模。針對(duì)不同的車模,必然會(huì)有不同的調(diào)整方式。在比賽備戰(zhàn)之初,我們就對(duì)該車模進(jìn)行了詳細(xì)的系統(tǒng)分析。B車模精度不是很高,因此在規(guī)則允許范圍內(nèi)盡量改造車模,提高車模整體精度是很必要的。本章將重點(diǎn)介紹智能車系統(tǒng)硬件的設(shè)計(jì)與調(diào)試,包括模型車車機(jī)械結(jié)構(gòu)與硬件電路兩部分。前部分又細(xì)分為汽車行駛的數(shù)學(xué)模型,舵機(jī)的安裝方式與輸出臂長(zhǎng)的選取,模型車前輪結(jié)構(gòu)的調(diào)整,攝像頭支架的設(shè)計(jì)與安裝。后部分又分為MK60DN512單片機(jī),電機(jī)驅(qū)動(dòng)模塊,車速檢測(cè)模塊,電池供電模塊,圖像采集模塊,輔助調(diào)試模塊。 2.1模型車機(jī)械結(jié)構(gòu)的設(shè)計(jì)與調(diào)整2.1.1汽車行駛的數(shù)學(xué)模型根據(jù)汽車?yán)碚摚僭O(shè)輪胎不打滑,并忽略輪胎所受的重力作用產(chǎn)生的形變以及左右兩側(cè)輪胎由于受力不均產(chǎn)生的形變,即可得到理想的汽車轉(zhuǎn)向模型:如圖2.1所示,即左右兩輪的軸線與后輪的主軸,三點(diǎn)交于車身中心所處道路位置的曲率中心.不失一般性,這里只討論右轉(zhuǎn)的情形.對(duì)于圖2.1,設(shè)左輪轉(zhuǎn)向?yàn)椋逸喗欠謩e為,對(duì)于以上模型,顯然有如下關(guān)系:于是得到在理想狀態(tài)下,汽車的過(guò)彎時(shí)的轉(zhuǎn)角方程:公式(一)同樣也可以得到右轉(zhuǎn)時(shí):公式(二)圖2.1采用第一屆“飛思卡爾”智能車大賽組委會(huì)提供的韓國(guó)Matiz系列1:10模型車的參數(shù)對(duì)方程(1),方程(2)進(jìn)行仿真。圖2.2圖2.3結(jié)論:在模型車結(jié)構(gòu)參數(shù)一定的情況,小車左右兩輪的轉(zhuǎn)角存在一定的函數(shù)關(guān)系,當(dāng)向右過(guò)彎時(shí),右輪轉(zhuǎn)向比左輪轉(zhuǎn)向大,同理向左轉(zhuǎn)彎時(shí),左輪轉(zhuǎn)向比右輪轉(zhuǎn)向大,同時(shí),隨著道路曲率半徑的越大,車輪所需的轉(zhuǎn)角越小。2.1.2舵機(jī)安裝方式與輸出臂長(zhǎng)的選取 2.1.2.1舵機(jī)的工作原理舵機(jī)最早出現(xiàn)航模運(yùn)動(dòng)中,控制航模上的發(fā)動(dòng)機(jī),翼舵轉(zhuǎn)向。在“飛思卡爾”智能汽車大賽中,主辦方提供的舵機(jī)內(nèi)部具有位置反饋電路,使它的舵盤(pán)輸出轉(zhuǎn)角正比于給其的脈沖信號(hào)的寬度.然而舵機(jī)是具有較大延遲特性的對(duì)象,其延遲與其轉(zhuǎn)角大小成正比,但如果能使舵機(jī)轉(zhuǎn)過(guò)一個(gè)越小的角度而使車輪轉(zhuǎn)過(guò)一個(gè)越大的角度,則會(huì)大大提供舵機(jī)過(guò)彎的響應(yīng)速度。而這與不僅圖2.4與舵機(jī)安裝方式有關(guān),也與舵機(jī)輸出臂的長(zhǎng)度有極大的關(guān)系,輸出臂越長(zhǎng)越有利提高響應(yīng)速度,但舵機(jī)在輸出力矩相同的條件下,力臂越長(zhǎng),作用力越小,所以當(dāng)轉(zhuǎn)輪遇到較大轉(zhuǎn)向阻力時(shí),會(huì)影響舵機(jī)對(duì)轉(zhuǎn)向輪控制的精度,甚至反而使轉(zhuǎn)向輪的反應(yīng)速度變慢。因此找到一個(gè)較好的舵機(jī)安裝方式及其最優(yōu)的輸出臂長(zhǎng)對(duì)提高舵機(jī)的反應(yīng)速度十分重要。設(shè)舵機(jī)的工作速度為,額定電壓下的堵轉(zhuǎn)力矩為,在比賽中拉動(dòng)前輪轉(zhuǎn)動(dòng)所需的最大驅(qū)動(dòng)力為.因此在一定舵機(jī)安裝方式下,忽略其他次要因素,舵機(jī)的轉(zhuǎn)角與車輪轉(zhuǎn)角必定存在一定的函數(shù)關(guān)系.為舵機(jī)輸出臂長(zhǎng)因此在安裝方式一定的情況下下,最優(yōu)輸出臂應(yīng)該滿足如下關(guān)系由于在模型車空間較小,因此舵機(jī)的安裝方式受到很大局限,下面討論舵機(jī)兩種的典型安裝方式并給各自的最優(yōu)輸出臂長(zhǎng)。 2.1.2.2舵機(jī)的安裝方式一(輸出臂朝下)對(duì)于此種安裝方式,以主銷為軸,前軸為軸建立空間直角坐標(biāo)系如圖2.6.為了使小車左右轉(zhuǎn)向一致,在舵機(jī)的安裝中,一般將舵機(jī)前輪軸的中垂線上,并使舵機(jī)的轉(zhuǎn)軸與桿同處于平面上,且當(dāng)模型車直線行駛時(shí),輸出臂垂直與桿。圖2.5圖2.6顯然對(duì)于圖2.6坐標(biāo)系,兩點(diǎn)的坐標(biāo)為即而,于是得到如下與的關(guān)系方程:公式(三) 2.1.2.3舵機(jī)的安裝方式二(輸出臂朝下)對(duì)于此種安裝方式,同樣以主銷為軸,前軸為軸建立空間直角坐標(biāo)系如圖2.8所示.為了使小車左右轉(zhuǎn)向一致,在舵機(jī)的安裝中,一般將舵機(jī)前輪軸的中垂線上,并使舵機(jī)的轉(zhuǎn)軸與桿同處于平面上,且當(dāng)模型車直線行駛時(shí),輸出臂垂直與桿,并使之保持水平。圖2.7圖2.8顯然對(duì)于圖2.8坐標(biāo)系,兩點(diǎn)的坐標(biāo)即而,于是得到如下與的關(guān)系方程:公式(四) 2.1.2.4兩種舵機(jī)的安裝方式的比較由于模型車的循跡要求不是十分精密,因此車輪的轉(zhuǎn)角可以不是連續(xù)的,一度的精度足以滿足巡線要求,因此對(duì)于以上兩種安裝舵機(jī)的方式,給定,讓以一度為步長(zhǎng)從1度遞增到120度,利用公式(三),公式(四)求出相應(yīng)的,然后對(duì)這120組進(jìn)行線性擬合,擬合所得的直線斜率越小,說(shuō)明舵機(jī)的反應(yīng)越快。即采用智能車大賽提供的FutabaS3010舵機(jī)的參數(shù),利用Matlab編程,最終算得安裝方式(一)和安裝方式(二)的最優(yōu)輸出臂長(zhǎng),,以及在最優(yōu)輸出臂長(zhǎng)下的擬合直線斜率,,最終結(jié)果如下:,,顯然安裝方式(二)要優(yōu)于安裝方式(一)圖2.9圖2.102.1.3模型車前輪結(jié)構(gòu)的調(diào)整現(xiàn)代汽車在正常行駛的過(guò)程種,為了使汽車直線行駛穩(wěn)定,轉(zhuǎn)向穩(wěn)定,轉(zhuǎn)向輕便,轉(zhuǎn)向后能及時(shí)回正,并減少輪胎和轉(zhuǎn)向系零件的磨損等,在轉(zhuǎn)向輪,轉(zhuǎn)向節(jié)和前軸之間須形成一定的相對(duì)安裝位置,叫車輪定位,其主要參數(shù)包括:主銷后傾,主銷內(nèi)傾,車輪外傾和前束。智能汽車大賽提供的車模的四項(xiàng)前輪定位參數(shù)均可調(diào),并給規(guī)格不同配件。 2.1.3.1主銷后傾主銷后傾是指在汽車的縱向平面內(nèi)(汽車的側(cè)面)有一個(gè)向后的傾角,即主銷軸線與地面垂直線在汽車縱向平面內(nèi)的夾角。采用主銷后傾角的原因是由于汽車在車輪偏轉(zhuǎn)后會(huì)產(chǎn)生一回正力矩,糾正車輪的偏轉(zhuǎn)。本屆攝像頭組使用的車模是B型車模,并且需要采用前輪驅(qū)動(dòng),后輪轉(zhuǎn)向的行駛方案。B型車模的主銷后傾角度是不可調(diào)節(jié)的,因此若想要轉(zhuǎn)向輪主銷后傾,只能將圖2.11的零件反過(guò)來(lái)安裝。圖2.11 2.1.3.2主銷前傾主銷前傾是指在汽車的橫向平面內(nèi)向內(nèi)傾斜的一個(gè)角度,即主銷軸線與地面垂直線在汽車橫向斷面內(nèi)的夾角。主銷前傾也有使車輪自動(dòng)回正的作用。模型車可以通過(guò)調(diào)整拉桿的長(zhǎng)度來(lái)改變主銷的內(nèi)傾角,調(diào)整范圍為0~10度時(shí)對(duì)模型車的性能影響不大,可根據(jù)在賽道上的調(diào)試情況自行調(diào)節(jié)。圖2.122.1.3.3前輪外傾角與前束前輪外傾角是指通過(guò)車輪中心的汽車橫向平面與車輪平面的交線與地面垂線之間的夾角。當(dāng)輪胎呈“八”字形張開(kāi)時(shí)稱為“負(fù)外傾”,而呈現(xiàn)“V”字形張開(kāi)時(shí)稱為“正外傾”。前輪外傾角可以減少轉(zhuǎn)向阻力,使汽車轉(zhuǎn)向輕便。模型車提供了序號(hào)為EX-19的配件用來(lái)調(diào)節(jié)前輪外傾的角度。當(dāng)車輪有了外傾角后,在滾動(dòng)時(shí)就類似與圓錐滾動(dòng),從而導(dǎo)致兩側(cè)車輪向外滾開(kāi)。由于轉(zhuǎn)向橫拉桿和車橋的約束使車輪不可能向外滾開(kāi),車輪將在地面上出現(xiàn)邊滾邊向內(nèi)滑移的現(xiàn)象,從而增加了輪胎的磨損。在安裝車輪時(shí)候,為了消除車輪外傾帶來(lái)的這種不良后果,可以使汽車兩前輪的中心面不平行,并使兩輪前邊緣距離小于后面的邊緣距離,兩者之差稱為“前輪前束”。如圖2.13所示,模型車是由舵機(jī)帶動(dòng)左右橫拉桿實(shí)現(xiàn)圖2.13:前輪調(diào)節(jié)轉(zhuǎn)向的。主銷在垂直方向的位置確定后,改變左右橫拉桿的長(zhǎng)度即可改變前束的大小。 2.1.4攝像頭支架的設(shè)計(jì)與安裝由于智能車在調(diào)試過(guò)程中需要對(duì)各種硬件參數(shù)進(jìn)行調(diào)整,其中就包括攝像頭的安裝高度,攝像頭與鉛垂線的夾角。因此攝像頭的安裝方式既要保證安裝牢靠,也應(yīng)使安裝位置可調(diào),同時(shí)應(yīng)該減輕重量,使重心降低,依據(jù)以上原則,分別設(shè)計(jì)了攝像頭底座(固定于車模底盤(pán)),攝像頭支桿,攝像頭固定座(安放攝像頭)和整車效果圖。圖2.14:攝像頭底座圖2.15:攝像頭支桿圖2.16:攝像頭固定座圖2.17:整車效果圖 2.2硬件電路的設(shè)計(jì)與調(diào)試智能車系統(tǒng)在硬件電路上主要包括電機(jī)內(nèi)部電路,舵機(jī)內(nèi)部電路,電源模塊,主控制器模塊,攝像頭及其采集模塊,電機(jī)驅(qū)動(dòng)模塊,,測(cè)速模塊,輔助調(diào)試模塊等,其中大賽組委會(huì)規(guī)定嚴(yán)禁改動(dòng)舵機(jī),電機(jī)的內(nèi)部結(jié)構(gòu),因此發(fā)揮空間主要集中在其他幾個(gè)模塊。圖2.18:硬件電路結(jié)構(gòu)圖2.2.1FreescaleMK60DN512單片機(jī)智能汽車大賽由美國(guó)飛思卡爾半導(dǎo)體公司(前摩托羅拉半導(dǎo)體部)贊助,“必須采用飛思卡爾半導(dǎo)體公司的8位、16位、32位處理器(單核)作為唯一的微控制器”,MK60DN512是Kinect系列單片機(jī)中的一款增強(qiáng)型32位單片機(jī),片內(nèi)資源豐富,接口模塊包括SPI、SCI、IIC、A/D、FTM等,在汽車電子應(yīng)用領(lǐng)域具有廣泛的用途。Kinetis系列微控制器是飛思卡爾公司于2010年下半年推出的,是業(yè)內(nèi)首款基于ARMCortex-M4內(nèi)核的微控制器。目前,Kinetis系列的微控制器有K10、K20、K30、K40、K50、K60和K70等幾個(gè)子系列。其中K50子系列是專用于醫(yī)療器械方面的專用系列,具有獨(dú)特的應(yīng)用特性。圖2.19:主控單片機(jī)引腳圖對(duì)于本小車系統(tǒng),144腳已經(jīng)足夠滿足需要,但為了提高單片機(jī)處理速度,縮短控制周期,本小車系統(tǒng)除了從軟件上下功夫,降低算法的復(fù)雜度,提高代碼的執(zhí)行效率外,也將單片機(jī)的時(shí)鐘周期提高到了180M。2.2.2電機(jī)驅(qū)動(dòng)模塊B車模后輪驅(qū)動(dòng)電機(jī)的型號(hào)為540有刷電機(jī),工作在7.2電壓下,空載電流為2.4A,轉(zhuǎn)速為21000r/min。在工作電流為11.6A時(shí),轉(zhuǎn)速達(dá)到17300r/min,工作效率最大。由于比賽中,模型車不需要進(jìn)行倒車,因此設(shè)計(jì)的電機(jī)驅(qū)動(dòng)模塊只需要實(shí)現(xiàn)模型車加速前行和制動(dòng)即可,所以電機(jī)只工作在正轉(zhuǎn)方向的做功和發(fā)電兩個(gè)狀態(tài)。以前模擬量驅(qū)動(dòng)器使用比較廣泛,現(xiàn)在由于PWM技術(shù)的不斷發(fā)展和日趨完善,具有調(diào)速范圍寬,效率高,易于數(shù)字控制,應(yīng)用范圍廣等特點(diǎn),脈寬調(diào)制控制方法(PWM和SPWM)、變頻技術(shù)在直流調(diào)速和交流調(diào)速中獲得廣泛的使用。而MK60DN512單片機(jī)上就有集成的PWM模塊,因此可以使用大功率晶體管,全橋或者半橋電路,輸出PWM波形實(shí)現(xiàn)對(duì)電機(jī)的控制。在上一屆的比賽中了,為了簡(jiǎn)化驅(qū)動(dòng)電路的設(shè)計(jì),多數(shù)的隊(duì)伍采用了集成電機(jī)驅(qū)動(dòng)芯片MC33886來(lái)完成對(duì)電機(jī)的控制,盡管內(nèi)置短路保護(hù)、欠壓保護(hù)、過(guò)溫保護(hù)等功能[],性能優(yōu)越,但經(jīng)過(guò)實(shí)際的試驗(yàn)發(fā)現(xiàn),33886在使用過(guò)程種發(fā)熱明顯,兩片并聯(lián)加裝上散熱片之后,發(fā)熱有所改善,但重量較大,不符合小車制作簡(jiǎn)潔輕便的原則。權(quán)衡比較之后,在小車系統(tǒng)上采用自制的H橋的電路。圖2.20:電機(jī)驅(qū)動(dòng)模塊2.2.3車速檢測(cè)模塊根據(jù)前幾屆比賽隊(duì)伍的情況,車速檢測(cè)器件大致有測(cè)速發(fā)電機(jī),旋轉(zhuǎn)編碼器,對(duì)射式光電開(kāi)關(guān),霍爾元件等。綜合重量、價(jià)格、測(cè)量精度和安裝方面各方面因素,微型旋轉(zhuǎn)編碼器比較適合小車系統(tǒng)。具體實(shí)現(xiàn)如圖所示:利用車模后軸的齒輪將轉(zhuǎn)速傳動(dòng)至編碼器,使編碼器輸出一定頻率的方波信號(hào),在速度不太慢的情況下輸出與實(shí)際速度的線性關(guān)系較好。設(shè)定單片機(jī)的ECT模塊為脈沖累加功能,檢測(cè)信號(hào)的上升沿,就能采集這些脈沖,便得到得到當(dāng)前的車速。圖2.21:車速檢測(cè)模塊2.2.4電池供電模塊電源模塊為小車系統(tǒng)的其他各模塊提供所需要的電源。設(shè)計(jì)中,除了需要考慮電壓的范圍和電流容量等基本參數(shù)外,還要在電源轉(zhuǎn)換效率,降低噪聲,防止干擾和電路簡(jiǎn)潔方面進(jìn)行優(yōu)化。可靠的電源方案是整個(gè)硬件電路穩(wěn)定可靠運(yùn)行的基礎(chǔ)。由于帶動(dòng)整個(gè)小車系統(tǒng)工作的能量均來(lái)自一塊由6顆1.2V鎳鎘充電電池串聯(lián)而成的7.2V電池,容量為1800mAh。而系統(tǒng)中各模塊所需的工作電壓和工作電流各不相同,因此電源模塊應(yīng)該包括多個(gè)穩(wěn)壓電路,將電池電壓轉(zhuǎn)換為各個(gè)模塊所需的電壓,具體的電路結(jié)構(gòu)如圖所示圖2.22:電源供電模塊結(jié)構(gòu)圖目前市場(chǎng)上的電源穩(wěn)壓芯片很多,最常用的是線性穩(wěn)壓器,,如78xx系列的三段穩(wěn)壓器件,雖然這種線性穩(wěn)壓器具有輸出電壓成可調(diào)、穩(wěn)壓精度高的優(yōu)點(diǎn),但是由于其線性調(diào)整工作方式在工作中會(huì)產(chǎn)生較大的“熱損失”,導(dǎo)致電源利用率不高,不易達(dá)到低功耗的要求。而低壓差的穩(wěn)壓芯片TPS7350則避開(kāi)了這些缺陷。TPS7350具有輸入電壓范圍大,過(guò)熱、過(guò)流及電壓反接保護(hù)等特點(diǎn),特別是當(dāng)其輸出電流為100mA時(shí)壓差僅僅為0.035V,只要輸入電壓在+7V~+5,1V范圍內(nèi)變化,TPS7350能可靠的保證輸出電壓穩(wěn)定在5V,從而顯著的提高了電源的利用效率。圖2.23:TPS7350典型電路圖圖2.24:最終設(shè)計(jì)電路2.2.5圖像采集模塊智能小車賽道識(shí)別方案一般有兩種:一、基于紅外光電傳感器;二、基于攝像頭。兩者各有所長(zhǎng),本小車系統(tǒng)采用攝像頭識(shí)別方案。一般說(shuō)來(lái),單片機(jī)采集圖像傳感器的數(shù)據(jù)有兩種方法,模擬式和數(shù)字式,數(shù)字式的圖像采集則是利用CMOS圖像傳感器的數(shù)字輸出特性,直接讀取傳感器的數(shù)字輸出。該方式性能穩(wěn)定,不需要A/D,圖像采集工作在單片機(jī)就變成了按照一定順序?qū)⑼獠繑?shù)據(jù)并行讀入,因此程序簡(jiǎn)單,采集速度快。但是數(shù)字式攝像頭只有CMOS型,沒(méi)有找到CCD型的,而且使用起來(lái)外圍電路和軟件部分的寄存器設(shè)置較為繁瑣,故我們選用模擬式的具有較高成像質(zhì)量的CCD作為圖像采集模塊。2.2.5.1CCD視頻信號(hào)攝像頭主要由鏡頭,圖像傳感芯片和外圍電路構(gòu)成。圖像傳感芯片又是其最重要的部分,攝像頭的指標(biāo)(如黑白或彩色,分辨率)就取決于圖像傳感芯片的指標(biāo),該芯片要配以合適的外圍電路才能工作,將它們制作在一塊電路板上,稱為“單板”,若給單板配上鏡頭、外殼、引線和接頭,這就構(gòu)成了通常所見(jiàn)的攝像頭。攝像頭通常引出三個(gè)端子,一個(gè)為電源端,一個(gè)為地端,另一個(gè)就為視頻信號(hào)端(有的攝像頭多出一個(gè)端子,那是音頻信號(hào)端)。電源接多大要視具體的單板而定,目前而言,一般有兩種規(guī)格,5-9V,或9-12V,本小車系統(tǒng)采用5~9V的規(guī)格。攝像頭的視頻信號(hào)電壓一般位于0.5V-2V之間。按一定的分辨率,以隔行掃描的方式采樣圖像上的點(diǎn),當(dāng)掃描到某點(diǎn)時(shí),就通過(guò)圖像傳感芯片將該點(diǎn)處圖像的灰度轉(zhuǎn)換成與灰度成一一對(duì)應(yīng)關(guān)系的電壓值,然后將此電壓值通過(guò)視頻信號(hào)端輸出。具體而言(參見(jiàn)圖2.25),攝像頭連續(xù)地掃描圖像上的一行,就輸出一段連續(xù)的電壓視頻信號(hào),該電壓信號(hào)的高低起伏正反映了該行圖像的灰度變化情況。當(dāng)掃描完一行,視頻信號(hào)端就輸出一低于最低視頻信號(hào)電壓的電平(如0.3V),并保持一段時(shí)間。這樣相當(dāng)于,緊接著每行圖像對(duì)應(yīng)的電壓信號(hào)之后會(huì)有一個(gè)電壓“凹槽”,此“凹槽”叫做行同步脈沖,它是掃描換行的標(biāo)志。然后,跳過(guò)一行后(因?yàn)閿z像頭是隔行掃描的方式),開(kāi)始掃描新的一行,如此下去,直到掃描完該場(chǎng)的視頻信號(hào),接著就會(huì)出現(xiàn)一段場(chǎng)消隱區(qū)。此區(qū)中有若干個(gè)復(fù)合消隱脈沖(簡(jiǎn)稱消隱脈沖),在這些消隱脈沖中,有個(gè)脈沖,它遠(yuǎn)寬于(即持續(xù)時(shí)間長(zhǎng)于)其他的消隱脈沖,該消隱脈沖又稱為場(chǎng)同步脈沖,它是掃描換場(chǎng)的標(biāo)志。場(chǎng)同步脈沖標(biāo)志著新的一場(chǎng)的到來(lái),不過(guò),場(chǎng)消隱區(qū)恰好跨在上一場(chǎng)的結(jié)尾部分和下一場(chǎng)的開(kāi)始部分,得等場(chǎng)消隱區(qū)過(guò)去,下一場(chǎng)的視頻信號(hào)才真正到來(lái)。PAL制式的攝像頭每秒掃描25幅圖像,每幅又分奇、偶兩場(chǎng),先奇場(chǎng)后偶場(chǎng),故每秒掃描50場(chǎng)圖像。每場(chǎng)圖像有312.5行,行周期為64us.奇場(chǎng)時(shí)只掃描圖像中的奇數(shù)行,偶場(chǎng)時(shí)則只掃描偶數(shù)行。具體的時(shí)序圖如下:圖2.25:攝像頭信號(hào)時(shí)序圖2.2.5.2視頻信號(hào)分離視頻信號(hào)每場(chǎng)是是不同的行組成,如圖1所示,場(chǎng)與場(chǎng)之間,行與行之間都存在同步信號(hào),單片機(jī)通過(guò)對(duì)這些同步信號(hào)的捕捉,來(lái)控制圖像采集的時(shí)序,保證圖像采集的正確性。視頻信號(hào)分離芯片LM1881能將視頻信號(hào)中的行同步脈沖、消隱脈沖和場(chǎng)同步脈沖提取出來(lái),并將它們轉(zhuǎn)換成數(shù)字信號(hào)交給單片機(jī)的I/O口。視頻信號(hào)分離電路如圖2.26所示。圖2.26:視頻信號(hào)分離電路2.2.5.3視頻信號(hào)數(shù)字化由于模擬攝像頭采集的圖像信號(hào)為模擬信號(hào),而計(jì)算機(jī)系統(tǒng)為離散的數(shù)字系統(tǒng),故需要轉(zhuǎn)換為數(shù)字信號(hào)才能交付MCU處理。大賽組委會(huì)所推薦的芯片K60系列片內(nèi)集成了8路AD口,同時(shí)還具有豐富的IO接口資源,而且大賽中小車賽道色彩構(gòu)成的簡(jiǎn)單性,使得視頻信號(hào)數(shù)字化方案變得多樣化。小車以模擬CCD攝像頭為傳感器,模擬式的采集先將一路視頻信號(hào)引用圖2.26電路,通過(guò)其可以將攝像頭輸出的復(fù)合視頻信號(hào)進(jìn)行分離,得到獨(dú)立的同步信號(hào)和視頻模擬量信號(hào),然后通過(guò)逐行采樣來(lái)完成整幅圖像的采集。下面主要介紹三種對(duì)行信號(hào)的數(shù)字化的方法。1).片內(nèi)A/D轉(zhuǎn)換+DMA讀取由于MK60DN512本身就含有24路AD,故只需引入一路視頻信號(hào)至任意一個(gè)AD口,然后軟件上,先對(duì)AD口進(jìn)行相應(yīng)的初始化,再在行同步中斷函數(shù)中開(kāi)啟DMA中斷即可完成數(shù)字化:此方法的優(yōu)點(diǎn)在于,不需要進(jìn)行額外的外圍電路設(shè)計(jì),直接引入視頻信號(hào),利用MK60DN512的片內(nèi)資源進(jìn)行AD轉(zhuǎn)換即可得到圖片灰度數(shù)據(jù)。K60在超頻到60M的情況下,能每行采集190個(gè)點(diǎn),如果對(duì)圖片橫向精度要求不高,選擇此方法最為簡(jiǎn)單。但如果CCD看得比較遠(yuǎn),由于圖像的幾何畸變,會(huì)造成遠(yuǎn)方的黑線最后AD結(jié)果只有一個(gè)黑點(diǎn),這樣在黑線提取時(shí)造成了較高的誤判率,此時(shí)此方法就不再適用。2).片外A/D轉(zhuǎn)換為了每行信號(hào)得到更高的采樣精度,在K60還有多余的IO口前提下,我們可以考慮用片外A/D法。TCL5510為一款8位并行高速AD轉(zhuǎn)換芯片,如果采用獨(dú)立時(shí)鐘其AD速度能達(dá)到20MSPS,然后將數(shù)字信號(hào)通過(guò)8位數(shù)據(jù)總線并行輸出,直接引入到K60的一組IO口上,在軟件設(shè)計(jì)上只需對(duì)此IO口進(jìn)行讀取即可獲得數(shù)字信號(hào)。相應(yīng)AD轉(zhuǎn)換電路如圖2.27。圖2.27:片外AD轉(zhuǎn)換電路芯片對(duì)端口進(jìn)行讀取時(shí),為了防止讀取到AD轉(zhuǎn)換的跳變沿,故需要進(jìn)行時(shí)鐘同步,K60含有3路PWM輸出,通過(guò)對(duì)一路PWM進(jìn)行翻轉(zhuǎn)輸出一定頻率的脈沖,即可模擬一個(gè)同步時(shí)鐘信號(hào)至片外AD模塊,較方便地解決了時(shí)鐘同步問(wèn)題。在實(shí)際情況下,K60超頻到180M時(shí)每行能采集240個(gè)點(diǎn),從而遠(yuǎn)方黑線消失的現(xiàn)象能得到很好的解決。除了采樣精度高,更重要的是此方法保存的是灰度信息,能極大程度上防止了圖像信息丟失,但是外圍電路比較復(fù)雜,而且占用了較多的IO口資源(需要K60額外提供一組8位的IO口進(jìn)行數(shù)字信號(hào)讀?。?).電壓比較器轉(zhuǎn)換以上兩種方法最后得到的都是圖像的灰度數(shù)據(jù),能夠比較逼真地反應(yīng)CCD所見(jiàn)情景。但是由于大賽中,賽道僅由黑白兩色組成(如圖2.28),所以即使是灰度數(shù)據(jù),我們最后處理時(shí)也一般要在軟件上進(jìn)行二值化將圖像分割成黑白二色圖片。所以,我們可以考慮直接用硬件進(jìn)行圖像二值化,將視頻信號(hào)轉(zhuǎn)換為一組方波信號(hào),然后直接輸入到一位IO口中,對(duì)這一位的端口進(jìn)行讀取,高電平表示1,低電平表示0。在軟件上支灰度圖片進(jìn)行黑白分割時(shí),比較常用的方法是固定閾值法,即高于此閾值電壓,即認(rèn)為是1,否則是0,然后再通過(guò)軟件進(jìn)行黑線邊緣檢測(cè)。圖2.28:小車賽道色彩構(gòu)成圖2.29.固定參考電壓二值電路圖2.30.邊沿檢測(cè)的二值電路采用固定參考電壓的二值電路設(shè)計(jì)起來(lái)比較簡(jiǎn)單,對(duì)參考閾值電壓調(diào)結(jié)也比較方便-只需調(diào)節(jié)一個(gè)電位器阻值即可(為系統(tǒng)增加一個(gè)LCD,可直接在調(diào)節(jié)電位器后采集到的圖像,或者利用串口成像軟件觀測(cè)采集到的二值圖像),故具有一定的場(chǎng)地適應(yīng)性。但在實(shí)際使用過(guò)程中,我們發(fā)現(xiàn)采用固定參考電壓的二值電路在CCD視野比較遠(yuǎn)時(shí),仍然會(huì)出現(xiàn)圖像無(wú)法分割的現(xiàn)象,此時(shí)該方法不再適用,故可以考慮采用邊沿檢測(cè)的二值電路。邊沿檢測(cè)二值電路中,將原始視頻信號(hào)和滯后處理的視頻信號(hào)輸入到電壓比較器兩端,在視頻信號(hào)跳變邊沿會(huì)在兩路輸入產(chǎn)生幅度差(如圖2.31左),然后當(dāng)幅度相差到一定程度(由滯回電路控制)時(shí),電壓比較器輸出端便發(fā)生電平翻轉(zhuǎn),最后以方波形式輸出視頻信號(hào)(如圖2.31右,注:第一個(gè)低電平區(qū)為行同步區(qū),第二個(gè)為黑線區(qū))。原始視頻信號(hào)和滯后處理的視頻信號(hào)原始視頻信號(hào)和輸出方波信號(hào)圖2.31:硬件二值電路輸出相關(guān)波形圖采用邊沿檢測(cè)電路,通過(guò)對(duì)兩個(gè)電位器大小的調(diào)整,便能適應(yīng)不同比賽場(chǎng)地光線,而且能適應(yīng)CCD的不同視野,解決了固定電壓比較器遠(yuǎn)視野無(wú)法分割的缺點(diǎn),具有更強(qiáng)的場(chǎng)地適應(yīng)性。而對(duì)比片外AD,此方案具有以下優(yōu)點(diǎn):1.電路設(shè)計(jì)更簡(jiǎn)單。2.占用芯片IO口只有一位,為片外AD的1/8。3.不用考慮時(shí)鐘同步的問(wèn)題。4.橫向精度可以視為無(wú)限,在滿足要求的情況下,MCU不用超頻甚至還需要分頻,8M頻率讀端口便能每行采集120多個(gè)點(diǎn)。具體采集多少點(diǎn)依用戶需求而定。5.采用硬件二值,減少了CPU的運(yùn)算量。顯然,對(duì)于色彩簡(jiǎn)單的賽道環(huán)境,此方案擁有極大的優(yōu)勢(shì),但是由于此方案直接給出的是0,1二值數(shù)據(jù),導(dǎo)致在圖像的軟件處理上便沒(méi)有了處理灰度數(shù)據(jù)的靈活性了。故此方案也成為了我們圖像采集的最終方案。2.2.6輔助調(diào)試模塊在小車的調(diào)試過(guò)程,經(jīng)常需要查看某些變量的值,通過(guò)串口線與上位機(jī)之間進(jìn)行通訊顯然不現(xiàn)實(shí),于是給小車設(shè)計(jì)了無(wú)線串口模塊,使小車在行駛過(guò)程種將某些重要變量通過(guò)串口發(fā)送到上位機(jī)進(jìn)行分析處理。液晶模塊能夠?qū)崟r(shí)顯示各個(gè)參數(shù)及采集到的賽道圖像,通過(guò)按鍵還可以修改各種參數(shù),所以在調(diào)試小車的時(shí)候使用液晶模塊是十分方便有效的。圖2.27:無(wú)線串口圖2.28:液晶模塊 第三章:智能車系統(tǒng)軟件的設(shè)計(jì)與調(diào)試智能車系統(tǒng)的軟件系統(tǒng)包括賽道信息提取,賽道參數(shù)的分析與計(jì)算,舵機(jī)轉(zhuǎn)向控制,電機(jī)速度控制以及輔助調(diào)試等模塊,由于小車系統(tǒng)控制具有單任務(wù),周期性的特點(diǎn),采用傳統(tǒng)的程序流程控制方法,將圖像采集到小車控制的任務(wù)放在一個(gè)死循環(huán)中順序執(zhí)行。3.1、路徑識(shí)別賽道中心線提取及處理3.1.1普通賽道的處理由于小車運(yùn)行在底色為白色的環(huán)境下,只是在跑道兩邊有寬度為25mm的黑線指引。于是可以采用相對(duì)簡(jiǎn)單的圖像分割方式,找到一個(gè)合適的分割閾值,將圖像二值化處理,當(dāng)某點(diǎn)的像素值高于該閾值時(shí),為白色點(diǎn),反之則為黑點(diǎn),然后找出這些黑點(diǎn)的中心,即為目標(biāo)黑線所在的位置,此種方法稱為中心點(diǎn)提取算法。但考慮到比賽場(chǎng)地外部環(huán)境的不確定性,為了提高抗干擾能力,可以采用更為穩(wěn)定的邊緣提取算法,其基本原理是利用黑白交界處像素值將會(huì)出現(xiàn)較大跳變,利用此跳變找出黑線的左右邊緣。具體實(shí)現(xiàn)如圖3.2。為了方便后面的敘述,先明確以下變量的含義 row:攝像頭掃描一幅圖像上各點(diǎn)的行坐標(biāo)column:攝像頭掃描一幅圖像上各點(diǎn)的縱坐標(biāo)fbegin:左側(cè)黑線開(kāi)始的行fend:左側(cè)黑線結(jié)束的行fbeign2:右側(cè)黑線開(kāi)始的行fend2:右側(cè)黑線結(jié)束的行l(wèi)eft:某行左側(cè)黑線的位置right:某行右側(cè)黑線的位置data[i][j]:一幅圖像各點(diǎn)的像素值數(shù)組diff[i]:各行黑線的中心位置diff2[i]:各行黑線中心偏差圖3.2:左側(cè)目標(biāo)黑線提取程序流程圖右側(cè)黑線提取的方法相同,只是j從90到179。當(dāng)找到每行的左側(cè)和右側(cè)的黑線的位置后,diff[i]=(left+right)/2;因此對(duì)于最左最右就出現(xiàn)黑點(diǎn)時(shí),采用中心提取算法,其他情況采用邊緣提取算法。圖3.3為原始采集到的圖像,圖3.4為最終提取效果圖,效果良好。圖3.3原始的圖像圖3.3:提取效果圖,黑色部分為找到的邊緣3.1.2特殊賽道類型的處理十字彎:十字彎道由于是兩邊邊線都斷開(kāi)的,需要進(jìn)行補(bǔ)線處理。經(jīng)過(guò)試驗(yàn),用簡(jiǎn)單的線性插值就能將線較好的補(bǔ)充完整。小S的虛線:通過(guò)判斷跳變次數(shù)來(lái)判斷小S,找到每次的跳變點(diǎn),從而進(jìn)行簡(jiǎn)單補(bǔ)線,可以使需要作為控制部分的小S虛線成為實(shí)線。遠(yuǎn)處用不到的可以不用處理,節(jié)省時(shí)間。3.2舵機(jī)控制對(duì)舵機(jī)的前輪控制,采用以較為簡(jiǎn)單直接的位置式PID進(jìn)行控制為主,同時(shí)輔以壞幀圖像和小S彎道的控制策略。力求舵機(jī)控制使前輪轉(zhuǎn)向快速準(zhǔn)確。3.2.1數(shù)字PID舵機(jī)控制在提取到圖像信息較為完整的情況下,以圖像前方某行的黑線中心偏差和整幅圖像的擬合直線斜率作為控制量,總的算式為:公式(六)根據(jù)攝像頭拍攝的視野范圍,我們選取采集圖像中第5行的偏差作為單行偏差控制部分的考,慮到模型車在高速運(yùn)行的時(shí)候,舵機(jī)的延時(shí)環(huán)節(jié)可以等效成一個(gè)積分環(huán)節(jié),該環(huán)節(jié)對(duì)道路中的蛇形線和路徑檢測(cè)中的干擾進(jìn)行了平均,保證了模型車的穩(wěn)定性,在偏差較大的情況下,使,不啟用D控制,在偏差較小的情況下啟用D控制。同時(shí)如果采用恒定的P參數(shù)對(duì)小車進(jìn)行控制,在很容易出現(xiàn)直道上小車來(lái)回震蕩、彎道轉(zhuǎn)向不足的現(xiàn)象。為此有必要對(duì)P參數(shù)進(jìn)行非線性化處理,即采用非線性P調(diào)節(jié)。圖3.8:非線性P調(diào)節(jié)如圖所示,Kp為比例項(xiàng)輸出,偏差在-3~3時(shí)為比例區(qū)間,輸出為0;當(dāng)偏差絕對(duì)值在3~13時(shí),輸出一個(gè)較小的數(shù)值,對(duì)賽車產(chǎn)生的位移進(jìn)行微調(diào);當(dāng)偏差絕對(duì)值大于13時(shí),比例系數(shù)增大,P_out輸出較大值,使舵機(jī)快速動(dòng)作,以糾正大偏差。這樣即實(shí)現(xiàn)了系統(tǒng)在直道上時(shí)緩慢調(diào)節(jié),遇到彎道時(shí)迅速動(dòng)作。3.2.2錯(cuò)幀和小S控制由于小車前瞻較大,同時(shí)攝像頭的視野范圍有效,這樣在小車高速行駛到急彎時(shí)候,就會(huì)出現(xiàn)攝像頭采集不到黑線的情況,這種圖像情況稱為錯(cuò)幀。對(duì)于錯(cuò)幀情況,除了從硬件上努力,提高攝像頭的視野范圍外,在軟件上采取的策略為:當(dāng)?shù)谝淮纬霈F(xiàn)錯(cuò)幀時(shí),舵機(jī)保持上一周期的狀態(tài),連續(xù)出現(xiàn)錯(cuò)幀時(shí)候則逐漸在原來(lái)的基礎(chǔ)上逐漸增大舵機(jī)控制量,當(dāng)錯(cuò)幀連續(xù)出現(xiàn)7次時(shí),將舵機(jī)達(dá)到極限位置,同時(shí)降低速度。同時(shí)對(duì)于賽道出現(xiàn)的小S彎情況,由于正確的補(bǔ)線使虛線部分和實(shí)線幾乎相同,所以,首先根據(jù)3.2.1的控制方法算出舵機(jī)控制量,然后去這個(gè)控制量的1/4作為實(shí)際的舵機(jī)控制量。即:公式(七)這樣即不會(huì)使轉(zhuǎn)向失控,有保證了小S彎直沖。 3.3速度控制3.3.1速度的閉環(huán)控制小車得以快速穩(wěn)定的運(yùn)行,速度控制和舵機(jī)轉(zhuǎn)向控制應(yīng)該相互配合得很好,也就是說(shuō)速度控制和轉(zhuǎn)向控制應(yīng)該是相互耦合的,然而這種耦合的數(shù)學(xué)模型十分復(fù)雜,實(shí)現(xiàn)起來(lái)十分復(fù)雜,因而在本小車的速度控制與舵機(jī)控制還是相互獨(dú)立的,其基本思想是:對(duì)路徑設(shè)別出來(lái)各種賽道類型,通過(guò)試驗(yàn)找出各自的安全通過(guò)的極限速度,將這些速度設(shè)定為設(shè)為預(yù)定值,用PWM波進(jìn)行調(diào)速,各種賽道摩擦力各不相同,加上電池變化等等因素的影響,如果單純的用PWM波進(jìn)行開(kāi)環(huán)調(diào)速,系統(tǒng)響應(yīng)時(shí)間較長(zhǎng),調(diào)速效果比較差。在硬件的實(shí)際中,小車上安裝了車速傳感器,通過(guò)單片機(jī)ECT模塊我們可以計(jì)算出賽車當(dāng)前的車速,然后采用PID閉環(huán)控制,就及時(shí)快速地調(diào)節(jié)車速達(dá)到預(yù)定值。同時(shí)為了提高電機(jī)的響應(yīng)速度,依據(jù)Bang-Bang控制理論,當(dāng)當(dāng)前速度與速度預(yù)設(shè)值之間相差較大時(shí),用電機(jī)滿占空比或電機(jī)停轉(zhuǎn)的方式調(diào)速,當(dāng)當(dāng)前速度與設(shè)定值之間相差不大時(shí),則通過(guò)PID調(diào)速。即:公式(八)同時(shí)由于控制周期不能足夠短,并且電機(jī)加速性能比較明顯,這種調(diào)速方式使得速度大起大落,為了是速度調(diào)節(jié)變得平滑一些,當(dāng)對(duì)一幅圖像分析計(jì)算出速度設(shè)定值后,在后一幅圖像的采集過(guò)程中,對(duì)速度進(jìn)行兩次控制,這樣就使得小車在直道上加速迅猛,同時(shí)在彎道上速度變化得穩(wěn)定平滑。3.3.2剎車功能的實(shí)現(xiàn)理想的賽車速度控制應(yīng)當(dāng)是直道上賽車以極限速度全速運(yùn)行,在入彎的瞬間將速度降至通過(guò)該彎道安全車速,出彎后立即以極限速度運(yùn)行。為了盡量提高直道上的車速并保持入彎后車速足夠安全,賽車必須能在最短的時(shí)間內(nèi)剎車。在現(xiàn)有的硬件上實(shí)現(xiàn)剎車有三種方法:(1)使用機(jī)械結(jié)構(gòu)剎車。在賽車左右后輪分別安裝一個(gè)伺服電機(jī),控制剎車片抱死后輪,以達(dá)到剎車的功能,和實(shí)際車輛的剎車原理相似。使用該方法需要增加兩個(gè)伺服電機(jī),如果左右剎車量不一致,賽車就會(huì)發(fā)生偏移,所以需要對(duì)左右輪車速進(jìn)行分別測(cè)量,并結(jié)合賽車轉(zhuǎn)向情況綜合計(jì)算,系統(tǒng)較為復(fù)雜,實(shí)現(xiàn)困難。(2)暫停驅(qū)動(dòng)電路輸出。本方式為常用的剎車功能,具體操作可以斷開(kāi)驅(qū)動(dòng)電路或給電機(jī)0占空比實(shí)現(xiàn),實(shí)際效果是使賽車向前滑行,依靠輪胎與地面的摩擦力減速。但由于剎車距離較長(zhǎng),高速運(yùn)行的賽車需要相當(dāng)長(zhǎng)的一段滑行才能達(dá)到轉(zhuǎn)彎的安全車速,所以效果并不理想。(3)電機(jī)反轉(zhuǎn)。該方式綜合利用電機(jī)電磁制動(dòng)和賽車后輪差速器結(jié)構(gòu)進(jìn)行剎車。高速運(yùn)行的賽車剎車時(shí),對(duì)電機(jī)施加一個(gè)反向電流,在電機(jī)內(nèi)部磁場(chǎng)反向,使轉(zhuǎn)子受到很大的磁力矩作用,迅速減速并反轉(zhuǎn)。由于本模型車后輪裝有差速器,允許左右后輪和傳動(dòng)齒輪分別以不同速度轉(zhuǎn)動(dòng),當(dāng)電機(jī)與賽車后輪轉(zhuǎn)向相反時(shí),他們之間摩擦力能使賽車很快減速。實(shí)際使用倒轉(zhuǎn)功能進(jìn)行剎車效果非常明顯,但頻繁對(duì)電機(jī)和驅(qū)動(dòng)電路施加反向電流,兩者的發(fā)熱相當(dāng)明顯。綜合以上三種剎車方式,制定了快速減速的方案:在速度差較大時(shí)電機(jī)反轉(zhuǎn),速度差較小時(shí)賽車滑行,效果良好。在現(xiàn)有的速度控制策略基礎(chǔ)上加入剎車功能,我們將智能車速度控制策略設(shè)定為:公式(九)3.4開(kāi)發(fā)與調(diào)試手段智能車的設(shè)計(jì)和開(kāi)發(fā)是一個(gè)復(fù)雜的系統(tǒng)工程,為了提高了工作效率,在其調(diào)試與開(kāi)發(fā)過(guò)程使用到了綜合使用各種開(kāi)發(fā)平臺(tái)開(kāi)發(fā)單片機(jī)和上位機(jī)程序,下面一一介紹。3.4.1IAR與在線調(diào)試工具BDMIAREmbeddedWorkbenchIDE是由IARSYSTEMS公司提供的面向FreescaleK60系列的MCU與DSP嵌入式應(yīng)用開(kāi)發(fā)的軟件工具。其中包括集成開(kāi)發(fā)環(huán)境IDE、處理器專家、全芯片仿真、可視化參數(shù)顯示工具、項(xiàng)目工程管理、C 交叉編譯器、匯編器、鏈接器以及調(diào)試器。其中在本設(shè)計(jì)中重要的部分就是集成開(kāi)發(fā)環(huán)境和調(diào)試器。圖3.9:使用IAREmbeddedWorkbenchIDE開(kāi)發(fā)智能車程序現(xiàn)代單片機(jī)具有很強(qiáng)的在線編程和調(diào)試功能,F(xiàn)reescaleK60系列單片機(jī)就具有BDM(BackgroundDebugMode)功能,可以實(shí)現(xiàn)在線程序下載和在線背景調(diào)試功能。3.4.2上位機(jī)軟件為了在上位機(jī)上能控制賽車,實(shí)時(shí)監(jiān)控其各參數(shù)和采集圖像,我們使用了上位機(jī)程序。(1)VC++開(kāi)發(fā)的CCD智能小車監(jiān)控軟件在智能車開(kāi)發(fā)初期,我們使用10級(jí)學(xué)長(zhǎng)們開(kāi)發(fā)的智能車監(jiān)控程序圖3.10:CCD智能小車監(jiān)控軟件(2)后期使用Matlab開(kāi)發(fā)的智能車監(jiān)控程序本軟件的開(kāi)發(fā)是為了在上位機(jī)進(jìn)行各種圖像處理算法和黑線位置計(jì)算的仿真。通過(guò)Matlab的Serial對(duì)象對(duì)計(jì)算機(jī)串口進(jìn)行操作[2],和單片機(jī)通訊。圖3.11基于Matlab的智能車監(jiān)控程序第四章:模型車主要技術(shù)參數(shù)說(shuō)明本智能車主要技術(shù)參數(shù)如下:表4.1智能車技術(shù)參數(shù)統(tǒng)計(jì)項(xiàng)目參數(shù)路徑檢測(cè)方法(賽題組)攝像頭車模幾何尺寸(長(zhǎng)、寬、高)(毫米)320*220*390車模軸距/輪距(毫米)103車模平均電流(勻速行駛)(毫安)800電路電容總量(微法)1122.472597傳感器種類及個(gè)數(shù)2新增加伺服電機(jī)個(gè)數(shù)0賽道信息檢測(cè)空間精度(毫米)5賽道信息檢測(cè)頻率(次/秒)50主要集成電路種類/數(shù)量3車模重量(帶有電池)(千克)2.210參考文獻(xiàn)[1]“第一屆‘飛思卡爾’杯全國(guó)大學(xué)生智能汽車邀請(qǐng)賽”組委會(huì).“第一屆‘飛思卡爾’杯全國(guó)大學(xué)生智能車邀請(qǐng)賽”比賽規(guī)則.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社,2007.366~369[2]黃開(kāi)勝、金華民、蔣狄南著.韓國(guó)智能模型車技術(shù)方案分析.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社2007.45~51[3]卓晴著.智能汽車自動(dòng)控制器方案設(shè)計(jì).卓晴、黃開(kāi)勝、邵貝貝等編:學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社,2007.5[4]鄒朗豪、李文昌、蘇啟健著.Rapidprototypeandsmartcardesign.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社,2007.71~86[5]卓晴、王琎、王磊著.基于面陣CCD的賽道參數(shù)檢測(cè)方法.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社2007.35~40[6]Freescale,Inc.MC9S12DT128BDeviceUserGuideV01.09.FreescaleSemiconductor,Inc,2002[7]Freescale,Inc.MC9S12DT128BCRGBlockUserGuideV03.08.FreescaleSemiconductor,Inc,2002[8]Freescale,Inc.MC33886Datasheet.U.S.A:FreescaleSemiconductor,Inc,2005[9]李立國(guó)、劉旺、郝杰等著.基于大前瞻光電識(shí)別和道路記憶方法的智能車.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社,2007.338~350[10]ONSemiconductor.NCP6303.0AFastLinearVoltageRegulators[11]余燦鍵、程?hào)|成、李偉強(qiáng)著.PID算法在智能汽車設(shè)計(jì)上的應(yīng)用.基于大前瞻光電識(shí)別和道路記憶方法的智能車.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社,2007.128~137[12]黃開(kāi)勝、陳宋著.汽車?yán)碚撆c智能模型車機(jī)械結(jié)構(gòu)調(diào)整方法.卓晴、黃開(kāi)勝、邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社2007.23[13]廣州周立功單片機(jī)發(fā)展有限公司著.I2C總線規(guī)范.廣州:廣州周立功單片機(jī)發(fā)展有限公司,2000[14]李紹民著.圖像傳感器OV7620在自主足球機(jī)器人中的應(yīng)用.國(guó)外電子元器件,2004年第10期:11~14[15]OmniVisionTechnologies,Inc.OV7620/OV7120Specification.OmniVision,Inc,2001全國(guó)大學(xué)生智能汽車邀請(qǐng)賽技術(shù)報(bào)告[16]林辛凡,李紅志,黃穎.第二屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車邀請(qǐng)賽技術(shù)報(bào)告[R],2007清華三角洲隊(duì)(原清華一隊(duì))[17]吳小平、劉萬(wàn)春、朱玉文著.基于TMS320C32的視覺(jué)圖像處理系統(tǒng)[J].探測(cè)與控制學(xué)報(bào).2000年第22卷第1期:18~22附錄:附錄A:主控板原理圖附錄B:電源模塊和驅(qū)動(dòng)模塊原理圖液晶調(diào)試模塊附錄C:Matlab圖像處理程序及處理效果clearallclcthres=120;left=-1;right=-1;row=50;column=96;image0=zeros(row,column);image1=zeros(row,column);image2=zeros(row,column);a=textread('E:\matlab\Camera1column9650\video8.txt','%s')';b=hex2dec(a)';%originalimage:image0m=1;fori=1:rowforj=1:columnimage0(i,j)=b(1,m);m=m+1;endendmfigure;colormap(gray)imagesc(image0)%imshow(image0,[0255]);%binaryimage:image1m=1fori=1:rowforj=1:columnimage1(i,j)=b(1,m);m=m+1;image1(i,j)=image1(i,j)-thres;ifimage1(i,j)<0image1(i,j)=0;elseifimage1(i,j)>0image1(i,j)=255;endendendendfigure;colormap(gray)imagesc(image1)%imshow(image1,[0255])%searchlineimage:image2image2=image1;fori=3:rowforj=1:columnifleft==-1ifimage2(i,j)>200ifimage2(i,j+1)>200ifimage2(i,j+2)>200left=j;end;end;end;elseifright==-1ifimage2(i,j)<100ifimage2(i,j+1)<100ifimage2(i,j+2)<100right=j;end;end;end;end;end;end;image2(i,fix((left+right)/2))=0;%image2(i,fix((left+right)/2-1))=0;left=-1;right=-1;end;figure;colormap(gray)imagesc(image2)%imshow(image1,[0255])附錄D:主控程序/********************************************************【dev.env.】IAR6.3【Target】K60DN512【Crystal】50.000Mhz【busclock】60.000MHz【pllclock】180.000MHz武漢大學(xué)智能車2013我是傳奇隊(duì)員:賀凌昊 劉向東 陶志浩*********************************************************/#include"includes.h"#include"system.h"#include"lcd.h"voidpit_isr0(void);voidpit_isr1(void);voidVideoISR(void);voidmain(void){DisableInterrupts;pllinit180M();periph_clk_khz=180000/3;//Thefactorissetinfunctionpllinit180M();vol=VoltCheck();InitFlashLcd();InitLCD();SetLCD();ClearLCD();//打開(kāi)所有IO時(shí)鐘SIM_SCGC5=SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTC_MASK|SIM_SCGC5_PORTD_MASK|SIM_SCGC5_PORTE_MASK;//串口初始化uart_init(UART0,periph_clk_khz,115200);enableuartreint(UART0,UART0irq); //開(kāi)串口3接收中斷//電機(jī)10KHzPWMLPLD_FTM0_PWM_Init(10000);//frequency=10,000HZ,realperiod=6001;LPLD_FTM0_PWM_Open(3,0);//duty=0LPLD_FTM0_PWM_Open(4,2000);//duty=0;//舵機(jī)100HzPWMLPLD_FTM1_PWM_Init(100);//frequency=100SERVO_MID=Middle;LPLD_FTM1_PWM_Open(0,SERVO_MID);//duty=15.46%,realperiod=37501//DelaymS(2500);//Startafter3Sdelay//定時(shí)5ms中斷初始化LPLD_PIT_Init(0,5000,pit_isr0);LPLD_PIT_Init(1,5,pit_isr1);disable_irq(69);//關(guān)pit1//脈沖累加初始化//LPLD_LPTMR_Init(1,0,2,0,NULL);//正交編碼測(cè)速初始化FTM2_QUAD_init();//LED初始化light_init(PORTA,14,1);light_init(PORTA,15,1);light_init(PORTA,16,1);light_init(PORTA,17,1);//GPIO初始化PORTC_PCR19=(PORT_PCR_MUX(1));//電機(jī)使能DDRC19=1;PTC19_OUT=0;//關(guān)電機(jī)使能,定時(shí)2s后再開(kāi)PORTE_PCR28=(PORT_PCR_MUX(1));//視頻讀取IO設(shè)置DDRE28=0;//PORTE_PCR5=(PORT_PCR_MUX(1)|PORT_PCR_IRQC(9)|PORT_PCR_PE_MASK);//行中斷PORTE_PCR5=(PORT_PCR_MUX(1)|PORT_PCR_IRQC(9));//行中斷,GPIO,fallingedgeDDRE5=0;PORTA_PCR13=(PORT_PCR_MUX(1)|PORT_PCR_IRQC(11));//場(chǎng)中斷,GPIO,eitheredgeDDRA13=0;enable_irq(91);//超聲波初始化PORTB_PCR2=(PORT_PCR_MUX(1));//啟用第一功能GPIOPORTB_PCR3=(PORT_PCR_MUX(1));//啟用第一功能GPIODDRB2=0;//定義PTB4腳為輸入DDRB3=1;//定義PTB8腳為輸出InitVideoData();enFieldInt=1;InitPara();//uart_sendN(UART0,(uint8*)"IRIS-ForeSight",14);timcount=0;EnableInterrupts;//主循環(huán)while(1){if(endtime>=2&&endtime<=4){PTC19_OUT=1;//定時(shí)2s后開(kāi)電機(jī)使能}PTD14_OUT=0;PTD12_IN=0;if(rowcomplete<rowready){searchline(ROW-rowcomplete-1);//searchcentreoftheROWrowcomplete++;if(rowcomplete==ROW){if(endtime>=LCD_Para1&&TripCount<=4)//detectstartlineafter1s{startline_detection();if(startline==1){endline++;startline=0;if(endline>=2){stopflag=1;}}else{endline=0;//if(stopflag==1&&stophold>0){stophold-=Speed;}}}servocontrol();/************VIimagesendbegin***********/if(Visend==1){//uart_send1(UART0,'x');SendVideo();}}/************VIimagesendend***********/InitPara();enable_irq(91);//完成一場(chǎng)處理,enabletheinterruptagainenable_irq(87);enFieldInt=1;}}if(endtime>=LCD_Para2)SetSpeed=0;if(SpdFlag==1){SpdFlag=0;if(stopflag==1){StopDelay=Speed;STOP=1;stopflag=0;}if(timcount>12000/(StopDelay/4+1)){SetSpeed=0;STOP=0;}//停車延時(shí)SpeedControl();}}}//視頻采集場(chǎng)行中斷voidVideoISR(void){if(PORTA_ISFR&(1<<13))//場(chǎng)中斷{if(enFieldInt){GPIO_ISR_PTA13();}PORTA_ISFR|=(1<<13);//寫(xiě)1清中斷標(biāo)志位}if(PORTE_ISFR&(1<<5))//行中斷{if(enRowInt){GPIO_ISR_PTE5();}PORTE_ISFR|=(1<<5);//寫(xiě)1清中斷標(biāo)志位}}//voidpit_isr0(void){shortintPulse;PIT_TFLG(0)|=PIT_TFLG_TIF_MASK;//清標(biāo)志Pulse=FTM2_CNT;Speed=Pulse;SpdFlag=1;FTM2_CNT=0;recount++;if(recount>=200){recount=0;endtime++;}if(endtime>=2&&timeout<100)timeout++;elsetimeout=100;if(STOP==1)//Period:500ms{timcount++;}}voidpit_isr1(void){PIT_TFLG(1)|=PIT_TFLG_TIF_MASK;//清標(biāo)志count++;}//*//函數(shù)名:uart3_isr*//功能:串口3數(shù)據(jù)接收中斷例程*//說(shuō)明:無(wú)*//*voiduart0_isr(void){uint8ch;DisableInterrupts; //關(guān)總中斷//接收一個(gè)字節(jié)數(shù)據(jù) if(uart_re1(UART0,&ch)){if(ch=='g'){ uart_send1(UART0,'y');Visend=1;}} EnableInterrupts; //開(kāi)總中斷}//*//文件名:gpio.c//說(shuō)明:gpio驅(qū)動(dòng)程序文件//*#include"gpio.h"http://包含gpio頭文件//*//函數(shù)名:gpio_init*//功能:初始化gpio*//參數(shù):port:端口名*//index:指定端口引腳*//dir:引腳方向,0=輸入,1=輸出*//data:初始狀態(tài),0=低電平,1=高電平*//返回:無(wú)*//說(shuō)明:無(wú)*//*voidgpio_init(GPIO_MemMapPtrport,intindex,intdir,intdata){PORT_MemMapPtrp;switch((uint32)port){case0x400FF000u:p=PORTA_BASE_PTR;break;case0x400FF040u:p=PORTB_BASE_PTR;break;case0x400FF080u:p=PORTC_BASE_PTR;break;case0x400FF0C0u:p=PORTD_BASE_PTR;break;case0x400FF100u:p=PORTE_BASE_PTR;break;default:break;}PORT_PCR_REG(p,index)=(0|PORT_PCR_MUX(1));if(dir==1)//output{ GPIO_PDDR_REG(port)|=(1<<index); if(data==1)//output GPIO_PDOR_REG(port)|=(1<<index); else GPIO_PDOR_REG(port)&=~(1<<index);}elseGPIO_PDDR_REG(port)&=~(1<<index);}//*//函數(shù)名:gpio_ctrl*//功能:設(shè)置引腳狀態(tài)*//參數(shù):port:端口名*//index:指定端口引腳*//data:狀態(tài),0=低電平,1=高電平*//返回:無(wú)*//說(shuō)明:無(wú)*//*voidgpio_ctrl(GPIO_MemMapPtrport,intindex,intdata){if(data==1)//outputGPIO_PDOR_REG(port)|=(1<<index);elseGPIO_PDOR_REG(port)&=~(1<<index);}//*//函數(shù)名:gpio_reverse*//功能:改變引腳狀態(tài)*//參數(shù):port:端口名;*//index:指定端口引腳*//返回:無(wú)*//說(shuō)明:無(wú)*//*voidgpio_reverse(GPIO_MemMapPtrport,intindex){GPIO_PDOR_REG(port)^=(1<<index);}//*//文件名:gpio.h//說(shuō)明:gpio驅(qū)動(dòng)頭文件//*#ifndef__GPIO_H__#define__GPIO_H__//1頭文件#include"common.h"http://2宏定義//2.1端口宏定義#definePORTAPTA_BASE_PTR#definePORTBPTB_BASE_PTR#definePORTCPTC_BASE_PTR#definePORTDPTD_BASE_PTR#definePORTEPTE_BASE_PTR//3函數(shù)聲明//*//函數(shù)名:gpio_init*//功能:初始化gpio*//參數(shù):port:端口名*//index:指定端口引腳*//dir:引腳方向,0=輸入,1=輸出*//data:初始狀態(tài),0=低電平,1=高電平*//返回:無(wú)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)保項(xiàng)目大額借款協(xié)議及環(huán)境監(jiān)測(cè)合同3篇
- 2025版苗木采購(gòu)與園林景觀施工一體化服務(wù)合同4篇
- 二零二五年度標(biāo)準(zhǔn)公司租賃合同范本2篇
- 2025年度鋼構(gòu)工程后期維護(hù)保養(yǎng)合同范本2篇
- 二零二五版農(nóng)村房屋買(mǎi)賣糾紛仲裁合同4篇
- 2025年度內(nèi)參報(bào)告撰寫(xiě)與行業(yè)研究合同4篇
- 2025年山地承包及森林資源可持續(xù)利用合同4篇
- 2025年度個(gè)人貸款合同變更條款模板2篇
- 二零二五年度木材產(chǎn)業(yè)園區(qū)建設(shè)投資合同4篇
- 男性生殖系統(tǒng)健康知識(shí)
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
- 護(hù)理服務(wù)在產(chǎn)科中的應(yīng)用課件
- 流行文化對(duì)青少年價(jià)值觀的影響研究
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預(yù)算實(shí)例:清單與計(jì)價(jià)樣本
- VOC廢氣治理工程中電化學(xué)氧化技術(shù)的研究與應(yīng)用
- 煤礦機(jī)電設(shè)備培訓(xùn)課件
- 科技論文圖表等規(guī)范表達(dá)
- 高考寫(xiě)作指導(dǎo)議論文標(biāo)準(zhǔn)語(yǔ)段寫(xiě)作課件32張
- 2021年普通高等學(xué)校招生全國(guó)英語(yǔ)統(tǒng)一考試模擬演練八省聯(lián)考解析
- 紅色研學(xué)旅行課程的設(shè)計(jì)與實(shí)踐
評(píng)論
0/150
提交評(píng)論