版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第六屆“飛思卡爾”杯全國大學(xué)生智能汽車競賽技 術(shù) 報 告學(xué) 校:哈爾濱華德學(xué)院隊伍名稱:華德遠(yuǎn)望參賽隊員:楊保順 孫威丁瑞帶隊教師:王振力劉洋 關(guān)于技術(shù)報告和研究論文使用授權(quán)的說明 本人完全了解第六屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽關(guān)保留、使用技術(shù)報告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁上收錄并公開參賽作品的設(shè)計方案、技術(shù)報告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會出版論文集中。參賽隊員簽名: 帶隊教師簽名: 日 期: 摘要本文詳細(xì)介紹了我們?yōu)榈诹鶎萌珖悄苘嚧筚惗鴾?zhǔn)備的智能車系統(tǒng)方案。該系統(tǒng)以 freesca
2、le16 位單片機(jī) mc9s12xs128maa 作為系統(tǒng)控制處理器,采用基于的攝像頭的圖像采樣模塊獲取賽道圖像信息,通過軟件算法提取賽道黑線,識別當(dāng)前所處賽道,算出小車與黑線間的位置偏差,采用 pid 方式對舵機(jī)轉(zhuǎn)向進(jìn)行控制。通過光電編碼器實時獲取小車速度,形成速度閉環(huán)控制。調(diào)試過程中應(yīng)用codewarrior ide軟件觀察返回值。小車還將通過算法分析出前方的路況,并根據(jù)路況的不同而為小車分配以不同的速度。文中將介紹賽車機(jī)械結(jié)構(gòu)和調(diào)整方法,賽車轉(zhuǎn)向模塊和驅(qū)動模塊的設(shè)計、參數(shù)和有關(guān)測試,圖像采樣模塊的攝像頭工作機(jī)制以及安裝選型、采樣電路設(shè)計和采樣策略。我們將說明本系統(tǒng)的舵機(jī)轉(zhuǎn)向策略、速度閉環(huán)
3、控制與速度分配策略。除智能車系統(tǒng)本身的介紹外,我們還將詳細(xì)敘述該系統(tǒng)開發(fā)過程中所用到的開發(fā)工具、軟件以及各種調(diào)試、測試手段方法。關(guān)鍵詞:智能車系統(tǒng) 圖像采樣 控制策略(識別和變參數(shù)控制) 調(diào)試測試freescale16 位單片機(jī)目錄摘要 iii第一章 引言11.1 智能車競賽的意義.11.2 智能車競賽規(guī)則.11.3 系統(tǒng)總體方案的設(shè)計.3第二章 車模機(jī)械結(jié)構(gòu)的改進(jìn)52.1 舵機(jī)的安裝.52.2 測速編碼器的安裝.62.3 ccd攝像頭的安裝.72.4 車輪定位 .82.4.1 主銷后傾角.82.4.2 主銷內(nèi)傾角.82.4.3 前輪外傾角.92.4.4 前輪前束.9第三章 智能汽車整體設(shè)計
4、113.1 路徑識別的方案設(shè)計論證113.1.1 攝像頭選擇.113.1.2 圖像采集方案113.2 xs128最小系統(tǒng).133.3 小車主板設(shè)計.133.4 系統(tǒng)硬件結(jié)構(gòu)設(shè)計.153.5 模型車技術(shù)參數(shù)統(tǒng)計.163.6 模型車外形照片.173.7 車模制作特色簡介.17第四章 智能汽車的軟件設(shè)計 19 4.1 軟件系統(tǒng)概述.194.2 pid算法介紹.204.3 圖像采集模塊.214.4 黑線提取算法.234.5 舵機(jī)控制模塊.244.6 速度控制策略.244.7 起跑線檢測.24第五章 智能車開發(fā)平臺和調(diào)試技術(shù).275.1 codewarrior簡介.275.2 軟件開發(fā)平臺.285.3
5、軟件調(diào)試平臺codewarrior .31第六章 結(jié) 論356.1 參賽心得.356.2 智能車的不足以及改進(jìn).35參考文獻(xiàn) i致謝ii附錄a:模型車程序源代碼iii1 第一章 引言第一章 引言智能車系統(tǒng)涵蓋了機(jī)械、電子、電氣、傳感、計算機(jī)、自動化控制等多方面知識,一定程度上反映了高校學(xué)生科研水平。本章節(jié)詳細(xì)闡述了智能車系統(tǒng)的研究背景和本智能小車的系統(tǒng)總體概況。1.1 智能車競賽的意義全國大學(xué)生智能車大賽和其他競賽一樣,為了培養(yǎng)大學(xué)生實踐創(chuàng)新能力和團(tuán)隊精神而開展的。該項賽事與全國大學(xué)生數(shù)學(xué)建模、電子設(shè)計、機(jī)械設(shè)計、結(jié)構(gòu)設(shè)計等四大競賽齊名,被認(rèn)定為國家教育部正式承認(rèn)的第五個大學(xué)生競賽項目。競賽以
6、“立足培養(yǎng),重在參與,鼓勵探索,追求卓越”為指導(dǎo)思想,旨在促進(jìn)高等學(xué)校素質(zhì)教育,培養(yǎng)大學(xué)生的綜合知識運用能力、基本工程實踐能力和創(chuàng)新意識,激發(fā)大學(xué)生從事科學(xué)研究與探索的興趣和潛能,倡導(dǎo)理論聯(lián)系實際、求真務(wù)實的學(xué)風(fēng)和團(tuán)隊協(xié)作的人文精神,為優(yōu)秀人才的脫穎而出創(chuàng)造條件。該競賽以“立足培養(yǎng)、重在參與、鼓勵探索、追求卓越”為指導(dǎo)思想,是以智能汽車為競賽平臺的多學(xué)科專業(yè)交叉的創(chuàng)意性科技競賽, 是面向全國大學(xué)生的一種具有探索性的工程實踐活動,涵蓋了控制、模式識別、傳感技術(shù)、電子、電氣、計算機(jī)、機(jī)械等多個學(xué)科知識,旨在促進(jìn)高等學(xué)校素質(zhì)教育,培養(yǎng)大學(xué)生的綜合知識運用能力、基本工程實踐能力和創(chuàng)新意識,激發(fā)大學(xué)生從
7、事科學(xué)研究與探索的興趣和潛能,倡導(dǎo)理論聯(lián)系實際、求真務(wù)實的學(xué)風(fēng)和團(tuán)隊協(xié)作的人文精神2。1.2 智能車競賽規(guī)則參賽選手須使用競賽秘書處統(tǒng)一指定的競賽車模套件,采用飛思卡爾半導(dǎo)體公司的8位、16位微控制器作為核心控制單元,自主構(gòu)思控制方案進(jìn)行系統(tǒng)設(shè)計,包括傳感器信號采集處理、電機(jī)驅(qū)動、轉(zhuǎn)向舵機(jī)控制以及控制算法軟件開發(fā)等,完成智能車工程制作及調(diào)試,于指定日期與地點參加各分賽區(qū)的場地比賽,在獲得決賽資格后,參加全國總決賽的場地比賽。智能車競賽有著嚴(yán)格的器材限制規(guī)定:1. 須采用統(tǒng)一指定的車模,即b型車模,如圖1.4所示,由北京科宇通博科技有限公司提供;圖1. 1 c型車模2. 須采用飛思卡爾半導(dǎo)體公司
8、的 8 位、16 位處理器(單核)作為唯一的微控制器;3. 可以使用光電管作為輔助檢測手段;4. 如果損毀車模中禁止改動的部件,需要使用相同型號的部件替換; 5. 車模改裝完畢后,尺寸不能超過:250mm 寬和 400mm長5。關(guān)于賽場的規(guī)定:1. 賽道基本參數(shù)(不包括拐彎點數(shù)、位置以及整體布局)如下:l 賽道路面用專用白色基板制作,在預(yù)賽階段時,跑道所占面積在5m×7m左右,決賽階段時跑道面積可以增大;l 賽道寬度不小于50cm;l 跑道表面為白色,中心有連續(xù)黑線作為引導(dǎo)線,黑線寬 25mm。鋪設(shè)賽道地板顏色不作要求,它和賽道之間可以但不一定有顏色差別;l 跑道最小曲率半徑不小于5
9、0cm;l 跑道可以交叉,交叉角為90°;l 賽道直線部分可以有坡度在15°之內(nèi)的坡面道路,包括上坡與下坡道路;l 賽道有一個長為 1m的出發(fā)區(qū),計時起始點兩邊分別有一個長度 10cm黑色計時起始線,賽車前端通過起始線作為比賽計時開始或者結(jié)束時刻。2. 比賽賽道實際布局將在比賽當(dāng)日揭示,在賽場內(nèi)將安排采用制作實際賽道的材料所做的測試賽道供參賽隊進(jìn)行現(xiàn)場調(diào)試5。此外,還有電路器件及控制驅(qū)動電路限制:1). 車模控制電路須采用飛思卡爾半導(dǎo)體公司的8位、16位mcu作為唯一的微控制器。對于攝像頭組16位mcu只能采用9s12xs128 80腳qfp封裝也可以選用16位dsc或8位
10、mcu,8位mcu可以使用2片)。2). 除了上述規(guī)定的微控制器外不得使用輔助處理器以及其它可編程器件; 3). 伺服電機(jī)數(shù)量不超過3個; 4). 傳感器數(shù)量不超過16個:ccd 傳感器計為 1 個傳感器; 5). 直流電源使用大賽指定的電池; 6). 禁止使用dc-dc升壓電路直接為驅(qū)動電機(jī)以及舵機(jī)提供動力; 7). 全部電容容量和不得超過2000 微法,電容最高充電電壓不得超過 25伏5。1.3 系統(tǒng)總體方案的設(shè)計根據(jù)競賽章程規(guī)定,使用飛思卡爾公司的mc9s12xs128單片機(jī)為核心控制器,使用ccd攝像頭拍攝賽道圖像,來獲得賽車前方賽道的道路信息,經(jīng)過單片機(jī)處理后,來控制車體的移動方向,
11、同時根據(jù)光電編碼器的測速信號來計算當(dāng)前賽車的速度,并根據(jù)前方賽道信息,進(jìn)行加減速控制。本著穩(wěn)定、簡單、高效的設(shè)計原則,在將近半年的時間里,我們將小車不斷改進(jìn),有以下幾個特點:機(jī)械方面:豎直安裝舵機(jī),提高轉(zhuǎn)向反應(yīng)速度;采用單桿支架,并降低攝像頭位置,降低重心。硬件方面:保證穩(wěn)定性前提下,盡量減小電路板面積;采用廣角攝像頭,保證各種s 彎都能提取到完整的黑線。35 第二章 車模機(jī)械結(jié)構(gòu)的改進(jìn) 第二章 車模機(jī)械結(jié)構(gòu)的改進(jìn)軟件方面:采用動態(tài)閾值和邊沿檢測法提取黑線,保證黑線穩(wěn)定性;只采用簡單的pid控制策略,并且基本上不對路型作判斷,提高賽車對賽道適應(yīng)性。車模的機(jī)械部分是整輛小車的基礎(chǔ),它代表著硬件架
12、構(gòu)的穩(wěn)定性,影響小車行駛的性能,其重要性為小車的所有方面之最。一旦對其進(jìn)行改動將會影響以后的設(shè)計,所以一開始一個良好的機(jī)械架構(gòu)將會節(jié)省很多不必要的麻煩。因此,車模的機(jī)械性能是我們最優(yōu)先所考慮的問題。 2.1 舵機(jī)的安裝車模默認(rèn)的舵機(jī)安裝位置是橫放,轉(zhuǎn)動時出現(xiàn)較多的空位、傳動摩擦較大、反應(yīng)不夠靈敏。鑒于此,我們結(jié)合上幾屆的經(jīng)驗,在大賽規(guī)則范圍內(nèi),把舵機(jī)位置及其傳動部分做了改動。把舵機(jī)豎起來放在了車的前方,將舵機(jī)頭朝后,安裝在前懸掛中間。這樣的安裝方法結(jié)構(gòu)比較緊湊,轉(zhuǎn)動時空位較小。并且我們使用左右等長的轉(zhuǎn)向搖臂,加強(qiáng)其轉(zhuǎn)向能力,提高了舵機(jī)的反應(yīng)速度。具體如圖2.1所示。圖2.1 舵機(jī)的安裝2.2
13、測速編碼器的安裝這次的c型車模有兩個電機(jī),所以難點是編碼器安裝。我們所用的光電編碼器體積較大,更是增加了安裝的難度。經(jīng)過多次的嘗試后,在實際使用中選定了最終的安裝方案,如圖2.2所示。由于光電編碼器的測量齒輪和電機(jī)的傳動齒輪嚙合,這樣實際上測量的是電機(jī)的轉(zhuǎn)速,它們之間存在一定的誤差,但誤差較少,對控制算法的影響不大。 第二章 車模機(jī)械結(jié)構(gòu)的改進(jìn)圖2.2 編碼器的安裝2.3 ccd攝像頭的安裝為了降低整車重心,需要嚴(yán)格控制ccd攝像頭的安裝位置和重量,我們采用了碳纖維管作為安裝ccd的主桅,這樣可以獲得最大的剛度質(zhì)量比,整套裝置具有很高的定位精度和剛度,使攝像頭便于拆卸和維修,具有賽場快速保障能
14、力。由于車模的后部要安裝電池,考慮到車的整體重量分布和重心的問題我們把攝像頭安裝在了小車的前部,重量分布均勻小車在彎道轉(zhuǎn)向時更容易轉(zhuǎn)彎,攝像頭的安裝如圖2.3所示。圖2.3 攝像頭安裝 2.4 車輪定位關(guān)于車輪定位,其主要定位參數(shù)包括:主銷后傾、主銷內(nèi)傾、車輪外傾和前束。本次比賽中的所使用的車模的這四個參數(shù)均可調(diào)整。各定位參數(shù)的作用如下:2.4.1 主銷后傾角 汽車在車輪偏轉(zhuǎn)后,會產(chǎn)生一回正力矩,糾正車輪的偏轉(zhuǎn)。欲使車模轉(zhuǎn)向靈活,主銷后傾角可設(shè)定為0°。同時過大的主銷后傾角會使轉(zhuǎn)向沉重,由于車模舵機(jī)性能偏軟,主銷后傾角會對轉(zhuǎn)向性能帶來不利的影響,但合理后傾會增加知道性能。為增加車的直
15、道性能,主銷后傾角為車模原始數(shù)值5°;2.4.2 主銷內(nèi)傾角 主銷內(nèi)傾角也會使車輪具有自動回正的作用,當(dāng)轉(zhuǎn)向輪在外力的作用下發(fā)生偏轉(zhuǎn)時,由于主銷內(nèi)傾角的原因,車輪連同整個車模的前部將被抬起一定的高度,當(dāng)外力消失后,車輪就會在重力作用下,回復(fù)到原來的中間位置。因此主銷內(nèi)傾角也為3°;2.4.3 前輪外傾角 前輪外傾角一方面可以在車模重載時減小主銷與襯套、輪轂與軸承等處的裝配間隙,使車輪接近垂直路面而滑動,同時減小轉(zhuǎn)向阻力,使車模轉(zhuǎn)向輕便;另一方面還可防止由于路面對車輪垂直反作用力的軸向分力壓向輪轂外端的軸承,減小軸承及其鎖緊螺母的負(fù)荷,從而增加這些零件的使用壽命,提高車模的安
16、全性。由于車模用于競賽,負(fù)載較輕,因此前輪外傾角設(shè)定為0°;2.4.4 前輪前束 為了減小由于前輪外傾帶來的轉(zhuǎn)向輪的磨損,前輪前束應(yīng)該與前輪外傾角配合。前輪前束因此設(shè)定為0°。綜上,為了提高車模的直線性能,對前輪部分進(jìn)行機(jī)械調(diào)整。由于有會正力矩,當(dāng)車模在直線行駛中,直線性能角好,但同時增加了車體的轉(zhuǎn)彎負(fù)載,我們又減少了舵機(jī)力臂,用來減少舵機(jī)負(fù)載。 第三章 智能汽車整體設(shè)計3.1 路徑識別的方案設(shè)計論證3.1.1 攝像頭選擇由于對車體的控制方法都是基于對賽道黑線的準(zhǔn)確提取與判斷上的,所以對外界信息采集的唯一入口的攝像頭傳感器選擇就顯得尤為重要。本次比賽所選用的攝像頭為ccd
17、攝像頭。相比較而言,cmos 數(shù)字?jǐn)z像頭硬件電路相對簡單,工作電壓低,電流小,功耗小,工作穩(wěn)定。但是在動態(tài)圖像的現(xiàn)實中不如ccd 攝像頭清晰,車子在高速情況下,不僅有車子沿賽道延伸方向的速度,還有位置校正帶來的橫向擺動,這樣一來,黑線在曝光時間內(nèi)不穩(wěn)定,產(chǎn)生了圖像不實。在這一點ccd 攝像頭有更大的優(yōu)勢。所以我們選擇ccd 攝像頭,以適應(yīng)高速情況。3.1.2 圖像采集方案攝像頭采集電路的核心芯片為lm1881,tlc5510,其中l(wèi)m1881 是pal 制式的視頻解碼芯片,tlc5510 是一款高速的atd 并行采集芯片,其采集頻率最高可達(dá)到20m,其高速采集特性滿足了我們對視頻信息處理時橫向
18、分辨率的要求。圖31 是我們視頻信號采集部分的電路原理圖。 3.1視頻采集系統(tǒng)原理圖 第三章 智能汽車的整體設(shè)計3.2 xs128最小系統(tǒng)我們采用mc9sxs128maa 芯片作為控制芯片。具有體積小,性能穩(wěn)定的特點。主頻最高可達(dá)到90m,圖3.2 為系統(tǒng)版原理圖。 3.2系統(tǒng)版原理圖3.3 小車主板設(shè)計最初的主板我們直接采用萬用板搭建,所有元件都為直插式,各部分模塊都焊接在一張萬用版上,搭建出的主板較重,穩(wěn)定性較差。在我們燒壞了一些芯片后,我們對小車的主板進(jìn)行了徹底改進(jìn)。小車主板我們采用雙面pcb板設(shè)計,從而獲得了較高的穩(wěn)定性。主板電路包括電源模塊、單片機(jī)接口、撥碼開關(guān)、指示燈、編碼器接口、
19、舵機(jī)接口、攝像頭電路,我們考慮到車整體布局的問題把電機(jī)驅(qū)動模塊單獨制版放在了車的后面。如圖3.3所示圖3.3 電路板3.4 系統(tǒng)硬件結(jié)構(gòu)設(shè)計智能車的最終設(shè)計目的是為了讓其能夠自動尋跡和快速行駛,所以在硬件上需要解決自動尋跡和動力驅(qū)動這兩大關(guān)鍵問題。為了實現(xiàn)自動尋跡,我們選用了ccd攝像頭來獲取道路圖像,通過tlc5510芯片吧模擬信號轉(zhuǎn)換為數(shù)字信號,然后由mc9s12xs128微控制器分析tlc5510的傳來的信息采集的圖像來獲取道路信息,從而實現(xiàn)小車的行駛策略。小車要高速行駛,動力機(jī)構(gòu)必不可少。官方的車模已經(jīng)帶有直流驅(qū)動電機(jī),我們要做的就是制作驅(qū)動控制電路來實現(xiàn)電機(jī)的速度控制。解決了自動尋跡
20、和動力驅(qū)動這兩大關(guān)鍵問題后,還需要考慮實現(xiàn)這兩大問題的輔助電路,例如電源電路,速度反饋傳感器等,這些模塊也是缺一不可的。經(jīng)過這樣的整合,一臺智能車的硬件系統(tǒng)就誕生了。今年c型車模有兩個電機(jī)分別控制兩個后輪的驅(qū)動,我們用了兩個編碼器,一個接到mc9s12xs128微控制器的脈沖累加器的接口,另一個接到mc9s12xs128微控制器的pb口定時采集另一個編碼器返回的脈沖值,從而實現(xiàn)了雙電機(jī)的控制。硬件系統(tǒng)的結(jié)構(gòu)圖如下所示:圖 3.4硬件的結(jié)構(gòu)圖3.5 模型車技術(shù)參數(shù)統(tǒng)計項目參數(shù)路徑檢測方法(賽題組)攝像頭車模幾何尺寸(長、寬、高)(毫米)長310mm,寬170mm,高390mm車模軸距/輪距(毫米
21、)138mm / 160mm車模平均電流(勻速行駛)(毫安)1200ma電路電容總量(微法)1970uf傳感器種類及個數(shù)ccd攝像頭一個,光電對射管6個新增加伺服電機(jī)個數(shù)無賽道信息檢測空間精度(毫米)8.5mm賽道信息檢測頻率(次/秒)50主要集成電路種類/數(shù)量mc9s12xs128(80引腳)車模重量(帶有電池)(千克) 1.233.6 模型車外形照片3.7 車模制作特色簡介我們使用ccd模擬攝像頭(型號hq6600),用lm1881將攝像頭輸出地模擬信號進(jìn)行行場信號分離,使用片外ad轉(zhuǎn)換芯片tlc5510將模擬信號轉(zhuǎn)換為數(shù)字信號。由于我們使用的攝像頭需要+12v電壓,所以我們使用lm257
22、7將穩(wěn)壓芯片lm2940輸出地+5v電壓升壓到+12v,另外我們使用4片bts7960驅(qū)動兩個電機(jī),使用74ls244對單片機(jī)輸出的pwm進(jìn)行光耦隔離。特色:將前輪轉(zhuǎn)向舵機(jī)直立放置,并將前輪拉桿都換成短桿;另外增加了光電對射管輔助檢測賽道;由于我們使用了兩個編碼器對兩個輪子進(jìn)行速度檢測所以另外使用了片外計數(shù)器cd4520對其中一路編碼器進(jìn)行脈沖計數(shù)。 第四章智能汽車的軟件設(shè)計4.1 軟件系統(tǒng)概述智能車之所以稱為“智能”,是體現(xiàn)在它的自動尋跡能力上,而實現(xiàn)其智能的,正是它的軟件系統(tǒng)??梢哉f,硬件系統(tǒng)是智能車的軀干,而軟件系統(tǒng)是它的靈魂所在。在硬件布局合理的情況下,軟件系統(tǒng)發(fā)揮出來的能效更是遠(yuǎn)遠(yuǎn)大
23、于硬件系統(tǒng)。對于利用攝像頭采集道路信息的智能車來說,軟件系統(tǒng)更為重要。其中涉及難度較高的黑線提取算法,圖像干擾濾波算法等。整個軟件系統(tǒng)可以分為以下模塊:Ø 圖像采集模塊ccd攝像頭經(jīng)過lm1881分離后產(chǎn)生了同步信號,但圖像的信號是以電壓值的形式表示的,為了方便mcu處理,需要把它轉(zhuǎn)變?yōu)閿?shù)字信號,當(dāng)中涉及高速ad芯片的控制,我們用了tlc5510作為模擬和數(shù)字信號的轉(zhuǎn)換和ad值的濾波算法。Ø 黑線提取算法這是攝像頭組的關(guān)鍵問題,黑線提取的效果,決定著智能車的命運。由于在采集過程或者賽道周邊色塊的影響,對于算法的要求較高,既要盡可能提高前瞻性,又要濾掉干擾。因此,我們采用了精
24、確度高切算法相對簡單的邊沿檢測法提取黑線。Ø 道路識別算法僅僅把黑線提取出來還是不夠的,我們還需要根據(jù)黑線來識別出道路的信息,是大s彎、小s彎還是直道。這個識別的準(zhǔn)確性決定著小車的控制策略,不可忽視。我采用了有效行的方法來判斷小車行駛的路徑。Ø 電機(jī)驅(qū)動模塊電機(jī)的驅(qū)動是由微控制器產(chǎn)生pwm波形驅(qū)動電機(jī)驅(qū)動電路來實現(xiàn)的。另外,要實現(xiàn)電機(jī)速度的閉環(huán)控制,我們加入了經(jīng)典的pid算法。Ø 舵機(jī)控制模塊小車的轉(zhuǎn)向依賴于舵機(jī),舵機(jī)由pwm控制。實現(xiàn)舵機(jī)的閉環(huán)控制也要加入算法來實現(xiàn),我們用到pd算法。4.2 pid算法介紹 在過程控制中,按偏差的比例(p)、積分(i)和微分(d
25、)進(jìn)行控制的pid控制器(亦稱pid調(diào)節(jié)器)是應(yīng)用最為廣泛的一種自動控制器。它具有原理簡單,易于實現(xiàn),適用面廣,控制參數(shù)相互獨立,參數(shù)的選定比較簡單等優(yōu)點;而且在理論上可以證明,對于過程控制的典型對象“一階滯后純滯后”與“二階滯后純滯后”的控制對象,pid控制器是一種最優(yōu)控制。pid調(diào)節(jié)規(guī)律是連續(xù)系統(tǒng)動態(tài)品質(zhì)校正的 一種有效方法,它的參數(shù)整定方式簡便,結(jié)構(gòu)改變靈活。傳統(tǒng)pid的算法公式是:u(n)=kpe(n)-e(n-1)+kie(n)+kde(n)-2e(n-1)+e(n-2)u(n)=u(n)+u(n-1)e(n) ,e(n-1), e(n-2)就是歷史上的三個設(shè)定值跟過程值之間的偏差了
26、。這是一個增量式的pid算式。我們采用的主要也是這種模式來進(jìn)行舵機(jī)轉(zhuǎn)向和電機(jī)的控制。比例控制:就是對偏差進(jìn)行控制,偏差一旦產(chǎn)生,控制器立即就發(fā)生作用即調(diào)節(jié)控制輸出,使被控量朝著減小偏差的方向變化,偏差減小的速度取決于比例系數(shù)kp, kp越大偏差減小的越快,但是很容易引起振蕩,尤其是在遲滯環(huán)節(jié)比較大的情況下,kp減小,發(fā)生振蕩的可能性減小但是調(diào)節(jié)速度變慢。但單純的比例控制存在靜差不能消除的缺點,這里就需要積分控制。積分控制:實質(zhì)上就是對偏差累積進(jìn)行控制,直至偏差為零。積分控制作用始終施加指向給定值的作用力,有利于消除靜差,其效果不僅與偏差大小有關(guān),而且還與偏差持續(xù)的時間有關(guān)。簡單來說就是把偏差積
27、累起來,一起進(jìn)行運算。微分控制:它能敏感出誤差的變化趨勢,可在誤差信號出現(xiàn)之前就起到修正誤差的作用,有利于提高輸出響應(yīng)的快速性,減小被控量的超調(diào)和增加系統(tǒng)的穩(wěn)定性。但微分作用很 第四章 智能汽車的軟件設(shè)計容易放大高頻噪聲,降低系統(tǒng)的信噪比,從而使系統(tǒng)抑制干擾的能力下降。因此,在實際應(yīng)用中,應(yīng)慎用微分控制。4.3 圖像采集模塊ccd攝像頭是用電壓幅度來表示灰度圖像的,我們需要把它轉(zhuǎn)換成單片機(jī)可處理的數(shù)字圖像,采用的是tlc5510高速ad來完成電壓值到數(shù)字信號的轉(zhuǎn)換。tlc5510最高的采樣速度為20mhz,比mc9s12xs128的片內(nèi)atd模塊快很多。在利用tlc5510高速ad轉(zhuǎn)換時,只需
28、要向tlc5510提供幾個連續(xù)的轉(zhuǎn)換時鐘脈沖,然后直接讀取其數(shù)字信號總線輸出值即可,大大提高了采樣速度。通過tlc5510的高速采集,我們一幀圖像可以采集到90x40個點,即每行90個點,一共有40行,對于小車的分析來說,已經(jīng)足夠了。利用一個二維數(shù)組來記錄讀取到的數(shù)字信號值,為了確定所讀取數(shù)字信號值對應(yīng)的圖像坐標(biāo),這就需要借助lm1881分離出來的場同步信號和行同步信號。行同步信號控制一行內(nèi)采集的點的個數(shù),場同步信號控制一幀圖像中的行數(shù)。為了提高其實時性,我們有意把這圖像采集的過程放在中斷服務(wù)函數(shù)中完成。行同步信號和場同步信號如下圖所示:圖 4.1 行同步信號和場同步信號采集的流程圖如下:圖
29、4.2 圖像采集流程圖4.4 黑線提取算法 提取黑線常用的方法有二值法和邊沿檢測算法,通過對上幾屆提取黑線的方法研究和我們反復(fù)的實驗,最后我們用邊緣檢測算法來提取黑線。所謂邊沿檢測算法就是攝像頭采集回來的信號,提取黑線的兩個邊沿,取平均值,即為黑線的中心位置。這樣,可以減小賽場的燈光對信號處理的影響。由于比賽賽道是在白色底板上鋪設(shè)黑色引導(dǎo)線,所以干擾比較小,采用邊沿檢測算法較為簡單。該算法的主要過程如下:從最左端的第一個有效數(shù)據(jù)點開始依次向右進(jìn)行閥值判斷,以j為原點,判斷j和j+1的差是否大于該閥值,如果是則紀(jì)錄j+1,從j+1 開始繼續(xù)在接下的從j+1到該行最末之間點j+n的差值是否大于閥值
30、,如果大于則將j+n/2的坐標(biāo)賦給中心給黑線中心位置值??紤]到賽道外為深色,經(jīng)常會出現(xiàn)一行圖像由黑進(jìn)入白的現(xiàn)象,加上十字交叉的影響,要在以上算法基礎(chǔ)上進(jìn)行改進(jìn),以便使這部分作為基準(zhǔn)的黑線更有效,最后加上濾波得到了較為準(zhǔn)確的黑線。4.5 舵機(jī)控制模塊舵機(jī)控制部分我們采用的也是經(jīng)典的pid算法。由于舵機(jī)存在一定的響應(yīng)時間,可以當(dāng)成是積分部分,所以我們采用的是pd算法。為提高舵機(jī)的響應(yīng)速度,控制舵機(jī)輸出的pwm為50hz。而兩路八位pwm通道聯(lián)合輸出作為舵機(jī)pwm輸出則提高了控制的精度。在控制舵機(jī)輸出的pd算法中。以圖像與圖像中心的偏差為輸入,與舵機(jī)中心值進(jìn)行相加減,就實現(xiàn)了轉(zhuǎn)向的控制。4.6 速度
31、控制策略智能車的速度控制策略我們?nèi)耘f是選擇了經(jīng)典的pid控制策略。在速度控制中,首先,我們在程序中給出一我們設(shè)定的理想速度值,理想速度值是經(jīng)過反復(fù)調(diào)試并根據(jù)車在不同的賽段來設(shè)定的,并且設(shè)定了幾組不同的理想速度值,通過拔碼開關(guān)來選擇不同的速度來適應(yīng)不同的環(huán)境。4.7 起跑線檢測 起跑線檢測我們采用六個光電對管在車的前部成一字形排開,這樣將側(cè)起跑線簡單準(zhǔn)確,避免了復(fù)雜的算法,傳感器如圖4.3所示如圖4.3 第五章智能車開發(fā)平臺和調(diào)試技術(shù)5.1 codewarrior簡介freescale16位微處理器最為常用的開發(fā)工具是codewarrior development studio,我們采用的是co
32、dewarrior development studio for s12(x) v5.0,為官方發(fā)布的免費版本,有32k的c語言代碼限制。不過對于智能車的程序來說,程序是在32k之內(nèi),所以已經(jīng)足夠了。codewarrior作為官方推薦的ide,有著穩(wěn)定、高效的特點,友好簡潔的界面很容易上手。支持函數(shù)、變量、宏定義的索引跳轉(zhuǎn)查看功能,這種貼心的功能在代碼量龐大而很難以找到函數(shù)或變量的定義時尤為方便。codewarrior的界面如下圖所示:圖 5.1 codewarrior的界面codewarrior的界面雖然簡潔,但支持的編譯選項卻很強(qiáng)大。如下圖所示: 第五章 智能車開發(fā)平臺和調(diào)試技術(shù)圖 5.2
33、 豐富的編譯選項codewarrior開發(fā)套件還帶有ture-time simulator & realtime debugger仿真調(diào)試工具,可以利用軟件仿真調(diào)試,也可以和bdm聯(lián)合調(diào)試,大大提高了開發(fā)人員的調(diào)試效率。除此之外,還有一個我們平常很少用到但非常實用的工具processor expert,有了它,我們就可以利用圖形界面來“寫”程序了。接下來我們將會用例子來簡要說明一下它的使用方法。另外不得不提的是codewarrior開發(fā)套件中自帶的幫助文檔,有開發(fā)環(huán)境手冊、編譯器手冊、鏈接器手冊、cpu12編程指南等實用資料。各主題自成章節(jié),在眾多的編譯器中,能夠提供如此詳盡的幫助文檔
34、,實屬罕見。從中也透露出freescale在此開發(fā)套件上的細(xì)心投入。5.2 軟件開發(fā)平臺本次飛思卡爾智能車大賽的軟件開發(fā)平臺為 code warrior。code warrior 是面向以hc12和s12為cpu的單片機(jī)嵌入式應(yīng)用開發(fā)的軟件包,包括集成開發(fā)環(huán)境ide、處理器專家?guī)?、全芯片仿真、可視化參?shù)顯示工具、項目工程管理器、c交叉編譯器、匯編器、鏈接器以及調(diào)試器等。在code warrior軟件中可以使用匯編語言或c語言,以及兩種語言的混合編程。其使用界面如圖5.3 所示。1、 新建一個工程,設(shè)置工程名和選擇工程的保存路徑 第五章 智能車開發(fā)平臺和調(diào)試技術(shù) 第五章 智能車開發(fā)平臺和調(diào)試技術(shù)
35、圖5.3新建工程2、選擇啟用processor expert功能。圖5.4啟用processor expert功能3、設(shè)置其它選項圖 5.5設(shè)置其它選項圖5.6 freescale code warrior 運行界面用戶可在新建工程時將芯片的類庫添加到集成環(huán)境開發(fā)環(huán)境中,工程文件一旦生成就是一個最小系統(tǒng),用戶無需再進(jìn)行繁瑣的初始化操作,就能直接在工程中添加所需的程序代碼。在硬件初始化及控制方面,選取pe模式進(jìn)行設(shè)置,不需要用戶去操作繁瑣的寄存器,就可以進(jìn)行硬件的初始化,當(dāng)需要在軟件執(zhí)行中使用相關(guān)寄存器時,只需要調(diào)用pe自動封裝好的相關(guān)函數(shù)即可。5.3 軟件調(diào)試平臺codewarrior 我們選
36、擇的是freescale公司推薦的集成開發(fā)環(huán)境(ide)codewarrior for hc12 v4.6版本。codewarrior for s12 是面向以hc12和s12為cpu的單片機(jī)嵌入式應(yīng)用開發(fā)軟件包。包括集成開發(fā)環(huán)境ide、處理器專家?guī)?、全芯片仿真、可視化參?shù)顯示工具、項目工程管理器、c交叉編譯器、匯編器、鏈接器以及調(diào)試器。codewarrior開發(fā)工具是完整的集成開發(fā)環(huán)境,它具有高度可視性和自動的框架幫助加速最復(fù)雜的嵌入式應(yīng)用開發(fā)。用戶可在新建工程時將芯片的類庫添加到集成環(huán)境開發(fā)環(huán)境中,工程文件一旦生成就是一個最小系統(tǒng),用戶無需再進(jìn)行繁瑣的初始化操作,就能直接在工程中添加所需的
37、程序代碼。利用 bdm和codewarrior 自帶的 hiwave.exe 用戶可以進(jìn)行一系列的調(diào)試工作,如監(jiān)視寄存器狀態(tài)、修改 pc指針、設(shè)置斷點等,這樣能快速地幫助我們找到軟件或硬件的問題。mc9s12xs128支持bdm在線調(diào)試方式,使用bdm調(diào)試器時,可以實現(xiàn)程序燒寫和調(diào)試雙重功能。在bdm調(diào)試方式下,程序在實體芯片中運行,bdm返回程序執(zhí)行的狀態(tài)信息供用戶查看。此外,還可以設(shè)置斷點,進(jìn)行單步調(diào)試,全速執(zhí)行等調(diào)試功能,這對于程序的開發(fā)來說,甚為方便。圖5.7 code warrior 調(diào)試界面 圖 5.8 bdm for s12第六屆全國大學(xué)生智能汽車邀請賽技術(shù)報告36第六章 結(jié) 論
38、6.1 參賽心得自報名參加“飛思卡爾”杯智能汽車競賽以來,我們小組成員從查找資料、設(shè)計機(jī)構(gòu)、組裝車模、編寫程序一步一步的進(jìn)行,最后終于完成了最初目標(biāo),定下了現(xiàn)在這個設(shè)計方案。 在剛制作的初期我們遇到了很多困難,在確定機(jī)械結(jié)構(gòu)時,我們先把舵機(jī)橫放,后來我們發(fā)現(xiàn)舵機(jī)豎放效果更好,所以我們改變了原因的方案,在攝像頭的安裝我們也經(jīng)歷了幾次改革最后采用了碳纖維管作為安裝ccd的主桅,放在車的前部,在最小系統(tǒng)、主板、電機(jī)驅(qū)動等模塊分別設(shè)計,經(jīng)過不斷實驗,最后決定了我們最終的電路圖,在軟件設(shè)計方面,如攝像頭的采集數(shù)據(jù),開始我們的車總是尋找不到準(zhǔn)確的黑線中心位置,在制作閉環(huán)環(huán)節(jié)時,由于今年c車是兩個電機(jī),我選
39、的mc9s12xs128是80引腳的,只有一個脈沖累加器,這就給我們采集另一個編碼器的脈沖值帶來了困難,經(jīng)過我小組的探討最后決定用i/o口作為采集另個一個編碼器脈沖值的方案,。 在這幾個月的備戰(zhàn)過程中,場地和指導(dǎo)方面都得到了學(xué)院的大力支持,在此特別感謝一直支持和關(guān)注智能車比賽的學(xué)院領(lǐng)導(dǎo)以及各位指導(dǎo)老師、指導(dǎo)學(xué)長,同時也感謝比賽組委會能組織這樣一項有意義的比賽。 現(xiàn)在,面對即將到來的大賽,在歷時近五個月的充分準(zhǔn)備以及東北賽的考驗之后,我們有信心在全國比賽中取得優(yōu)異成績。也許我們的知識還不夠豐富,考慮問題也不夠全面,但是這份技術(shù)報告作為我們小組辛勤汗水的結(jié)晶,凝聚著我們小組每個人的心血和智慧,隨著
40、它的誕生,這份經(jīng)驗將永伴我們一生,成為我們最珍貴的回憶。6.2 智能車的不足以及改進(jìn)1.硬件上不足之處在于人機(jī)接口太少只有一個撥碼開關(guān),不利于現(xiàn)場調(diào)試。應(yīng)該加一些簡單可視的界面幫助在現(xiàn)場觀察參數(shù),最好可以改變其中的參數(shù),比如用觸摸屏。2.電機(jī)驅(qū)動在過度剎車時會熱導(dǎo)致芯片保護(hù)??梢宰龊蒙岬墓ぷ鞅M量減少不必要的剎車,或是換成mos管。3.機(jī)械結(jié)構(gòu)整體還不夠合理,在高速轉(zhuǎn)彎時車做不到漂移,這樣迫使在轉(zhuǎn)彎時必須降速。 4.速度策略過于簡單,沒有什么創(chuàng)新。一些高級算法沒有應(yīng)用到程序中,如果在控制策略上采用一些高級算法,車的性能一定會有質(zhì)的飛躍。5.在道路識上,我們沒有做到彎道內(nèi)切,小s直沖等可以減少路
41、徑的措施,沒有充分利用攝像頭的優(yōu)勢來節(jié)省時間,這個算法還有待于研究。6.在信息采集上我們沒有做上位機(jī),不能更好的查看信息采集的數(shù)據(jù),只能通過codewarrior調(diào)試時,觀察數(shù)據(jù)。xi參考文獻(xiàn)1 卓晴,黃開勝,邵貝貝等.學(xué)做智能汽車m.北京:北京航空航天大學(xué)出版社,2007.2 張昊飏,馬旭,卓晴,基于電磁場檢測的尋線智能車設(shè)計.北京:清華大學(xué),2009.11.09.3 李仕伯,馬旭,卓晴,基于磁場檢測的尋線小車傳感器布局研究.2009.12.10.4 競賽秘書處,電磁組競賽車模路徑檢測設(shè)計參考方案(版本1.0).2010.1.5 王威等,hcs12 微控制器原理及應(yīng)用.北京:北京航空航天大學(xué)
42、出版社,2007.10.6 閻石, 數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社, 1998.7 杜剛,電路設(shè)計與制板:protel應(yīng)用教程m.北京:清華大學(xué)出版社,2006.8 聶榮等,實例解析pcb設(shè)計技巧m.北京:機(jī)械工業(yè)出版社,2006.9 陳伯時,電力拖動自動控制系統(tǒng)運動控制系統(tǒng)m.北京:機(jī)械工業(yè)出版社,2008.10梅曉榕,自動控制原理(第二版).北京:科學(xué)出版社,2007.211梅曉榕,柏桂珍,張卯瑞,自動控制元件及線路(第四版).北京:科學(xué)出版社,致謝首先我們感謝教育部舉辦這樣的創(chuàng)新比賽,感謝飛思卡爾公司對于學(xué)生創(chuàng)新活動的大力支持,感謝飛思卡爾智能汽車競賽組委會提供競技平臺,讓我們在
43、這個平臺上學(xué)到了知識;其次感謝我們指導(dǎo)教師的悉心指導(dǎo),感謝學(xué)院領(lǐng)導(dǎo)對我們本次參賽的支持與幫助;同時還要感謝前輩們,感謝前輩們給我們提供的資源以及經(jīng)驗;再次感謝本屆大賽各位評委能夠在百忙之中抽出寶貴時間對我們的智能車進(jìn)行評定和提出寶貴的建議;最后感謝所有關(guān)心過我們比賽的親人、老師、同學(xué),在你們的期盼和祝福下,我們贏得了最悅耳掌聲,在此向各位致以崇高的敬意!附錄a:模型車程序源代碼#include <hidef.h> #include <mc9s12xs128.h> #pragma link_info derivative "mc9s12xs128"#d
44、efine uchar unsigned char#define uint unsigned int#define row_max 40 #define line_max 84 #define servo_mid 432 #define kp_l 7 #define ki_l 0.1#define kd_l 0#define kp_r 7#define ki_r 0.1#define kd_r 0#define control_line 19 int ad6;uchar start_count=0; uchar start_flag; uchar pulse_start;uchar pulse
45、_end;uint pulse_count;uchar stop_flag;uchar start_valid;uchar image_data4084; uchar image_row40= 65, 70, 75, 80, 85, 90, 95,100,105,110, 115,120,125,130,135,140,147,154,161,168, 174,180,186,192,197,202,207,212,217,221, 225,229,233,237,241,244,247,249,251,253;uchar row_valid; uint row_count; uchar wi
46、dthlimit; char row_process; char edge_l,edge_r; char left_flag,right_flag; char first_flag; uchar prerow_center; uint pre_sum; uchar search_range; uchar search_l,search_r; char black_center; uchar line_center40; uchar line_valid40; uchar sci_getflag; float kp,kd; uint angle_ctrl;uchar lost_count; fl
47、oat x,last_x;int pulse_back; uchar brake_count; signed int pulse_counter_l,pulse_counter_r;typedef struct pid signed long v_prederror_l; float v_kp_l; float v_ki_l; float v_kd_l; float v_kp_r; float v_ki_r; float v_kd_r; pid;pid spid;void setbusclk_80m(void) clksel = 0x00; synr=0xd3; refdv=0x43; clksel_pllsel=1; void port_init(void) ddra=0x00; ddrb=0x00; irqcr=0xc0; ddrj_ddrj7=0;/設(shè)置pj7口為行中斷輸入 ppsj_ppsj7=0; ddrj_ddrj6=1; ptj_ptj6=0; ddrm=0x00; ddrt=0x3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《新能源材料課程設(shè)計》教學(xué)大綱
- 玉溪師范學(xué)院《商務(wù)談判與溝通》2022-2023學(xué)年第一學(xué)期期末試卷
- 波譜儀器賬務(wù)處理實例-記賬實操
- 下冊語文第23課知識課件
- 2023年液壓氣壓剎車系統(tǒng)項目評估分析報告
- 2024年精細(xì)藥液過濾器項目評估分析報告
- 2024年聚碳酸酯(PC)及合金項目成效分析報告
- 2019粵教版 高中美術(shù) 必修1 美術(shù)鑒賞《第三單元 中國近現(xiàn)代美術(shù)鑒賞》大單元整體教學(xué)設(shè)計2020課標(biāo)
- 叉車貨物裝卸合同范本
- 餐飲帶產(chǎn)品合伙協(xié)議書
- 中華經(jīng)典誦讀主題班會課件
- 六年級英語上冊課件-Unit4 I have a pen pal 人教pep (共23張PPT)
- 賞識教育培訓(xùn)課程課件
- 山西恒泰佳源生物科技有限公司新建年產(chǎn)15萬噸乙酸鈉項目環(huán)評報告書
- 低碳高效池塘循環(huán)流水養(yǎng)魚技術(shù)課件
- 托兒所幼兒園衛(wèi)生保健管理辦法(全文)
- 口腔前臺客服工作質(zhì)量考核標(biāo)準(zhǔn)
- 工程開工令模板
- 船用柴油機(jī)的發(fā)展與分類課件
- 國開成本會計第9章綜合練習(xí)試題及答案
- 主題班會告別假努力-課件
評論
0/150
提交評論