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

正文內(nèi)容

基于ccd傳感器智能汽車軟件的設(shè)計(jì)與研究p-資料下載頁

2024-11-12 15:34本頁面

【導(dǎo)讀】能小車,并通過適當(dāng)?shù)目刂扑惴ㄊ剐≤嚹茉诒M可能短的時(shí)間內(nèi)完成行駛過程。本設(shè)計(jì)首先簡(jiǎn)要介紹了小車的整體概況和小車的硬件及機(jī)械結(jié)構(gòu)的有關(guān)內(nèi)容。殊賽道元素的不同算法等內(nèi)容。研究了攝像頭圖像采集的方案、分析了攝像頭的工作原理以及提出了較佳的智能車。攝像頭的選購原則。成功應(yīng)用了往屆提出的“弦切法”算法,使小車能較好地處理大S、小S等特殊賽。找到了較有效的起跑線識(shí)別算法,能很好適應(yīng)“飛思卡爾”比賽的規(guī)則。對(duì)急轉(zhuǎn)彎、十字路口、大圓環(huán)出彎點(diǎn)等容易出現(xiàn)失誤的地方提出了相應(yīng)的行駛策略,使小車在這些地方的失誤率降低。針對(duì)實(shí)際實(shí)驗(yàn)現(xiàn)象和結(jié)果總結(jié)出了一些常出現(xiàn)問題的解決方法。所設(shè)計(jì)的智能車實(shí)物經(jīng)過實(shí)驗(yàn)及實(shí)際比賽驗(yàn)證。

  

【正文】 將駛?cè)霃澋阑蛘呔驮趶澋郎闲旭?。此時(shí)不 能 再調(diào)用“弦切法”計(jì)算偏移量 了 ,而采用其它 的 方法。這個(gè)有效行數(shù)最小值 的設(shè)定 可以根據(jù)總采集行數(shù)來定 (設(shè)計(jì)調(diào)試時(shí)實(shí)驗(yàn)得到) 。 圖 不能使用“弦切法”的兩種 典型 情況 根據(jù)以上前提條件的分析,我們可以得到“弦切法”調(diào)用場(chǎng)合的示意流程圖如圖 所示。 25 圖 調(diào)用場(chǎng)合的示意流程圖 本設(shè)計(jì)中所采用的攝像頭完全滿足以上的 兩個(gè)條件 。接下來 就可 以 對(duì) 用弦切法進(jìn)行偏移量 的 計(jì)算 進(jìn)行具體闡述了 。 在圖 中, 取出三點(diǎn),假如恰好是 A、 B、 C 這三點(diǎn),記這三點(diǎn)的偏移量分別為 offset1 、offset offset3,記它們的平均值為 offset,則: 3offs e t3)offs e t2(offs e t1 ???of f se t ( 6) 可以看出 A、 B、 C 三點(diǎn)剛好在中心線上, 所以 求出的平均偏 移量 offset 肯定為 0, 這樣小S就 自然 當(dāng)作了直線處理了。 接下來的任務(wù)就是找出上述的 A、 B、 C 這三個(gè)點(diǎn)了。不難分析出這樣的三個(gè)點(diǎn)有 以下兩個(gè) 顯著特征: 1) A、 B、 C 三點(diǎn)都處在臨界點(diǎn)上,如 B點(diǎn)在弧 APB 與弧 BQC 的交越處。 2) 弦 AB 與弦 BC 的跨距正好等于弧的弦長。 對(duì)于“ S”形賽道 來說 , 弧的弦長 總 在一個(gè)不大的范圍內(nèi)變化的,那么跨距 就 可以在這個(gè)范圍內(nèi)搜尋 。因此, 對(duì)不同的 “ S”形賽道 ,這種方法總能找到一個(gè)合適的跨距。在確定跨距后,也就 是弦長后,然后將這個(gè)弦長去“切”對(duì)應(yīng) 的 弧。 一般情況下,小車可以找到 像圖上面的 P、 Q、 M三點(diǎn), 然后按 P→ Q→ M 的路線行駛 , 這樣可以走一點(diǎn)捷徑。最理想圖像采集 利用“弦切法”進(jìn)行處理 其他方法進(jìn)行處理 計(jì)算偏移量 有效行數(shù)小于設(shè)定值? 26 的狀況下,對(duì)于下 S是第一點(diǎn)尋找的 P點(diǎn) 就是 A點(diǎn) 則小車就會(huì)按 A→ B→ C 的最優(yōu)路線行駛了 。 同樣的道理, 在此基礎(chǔ)上,我們只要控制好最大的跨距就可以使小車在走 其它 S 形賽道時(shí) 不至“切”得太深 沖出跑道 , 同時(shí)實(shí)現(xiàn)路徑的最優(yōu)行駛 。 急轉(zhuǎn)彎環(huán)節(jié)行駛策略 前面 已經(jīng) 提到 對(duì)于急轉(zhuǎn)彎和下一節(jié)所講的大圓環(huán)是 不能使用 “弦切法”的 。對(duì)于急轉(zhuǎn)彎采用以下 處理方法: 因?yàn)?急轉(zhuǎn)彎環(huán)節(jié)的 有效 行數(shù)小于 設(shè)定值 , 而通常急轉(zhuǎn)彎需要提前轉(zhuǎn)彎以防止側(cè)滑出跑道 。 所以本處 取出最遠(yuǎn)的 幾 行 (實(shí)際程序中設(shè)定為 8 行) , 求出其平均偏移 量 作為最終 的偏移量。這樣 由于是對(duì)前幾行的處理,因此帶有很強(qiáng)的前瞻性,能夠?qū)崿F(xiàn)提前處理(轉(zhuǎn)彎和減速)的目的。 大圓環(huán)及 “十字路口”行駛策略 大圓環(huán)處也是不能用“弦切法”的 。此處在實(shí)際調(diào)試時(shí)發(fā)現(xiàn)賽車在過大圓環(huán)時(shí),大圓環(huán)的后半圓,車的速度非常的慢,而一旦減速后在加起速來又需要一段時(shí)間,這樣會(huì)浪費(fèi)很多時(shí)間。 對(duì)此,本設(shè)計(jì)采用了大圓環(huán)的 加速策略: 考慮到 大圓環(huán) 時(shí)一旦進(jìn)彎車的轉(zhuǎn)角比較穩(wěn)定,在 看到直道前可以提前適當(dāng)加速,從而減少過彎時(shí)間。 本設(shè)計(jì)根據(jù)進(jìn)入彎道的時(shí)間和反饋回來的速度判斷,如果小車進(jìn)入大圓環(huán)一定時(shí)間后,反饋回的速度又非常低,則此時(shí)給小車加速。 實(shí)驗(yàn)證明,此種方法大大改善了大圓環(huán)的行駛效果。 接下來,在大圓環(huán)出彎時(shí),又會(huì)遇到“十字路口”環(huán)節(jié)。 如圖 , 此環(huán)節(jié)極容易對(duì)系統(tǒng)產(chǎn)生干擾, 使小車出彎時(shí)系統(tǒng)誤判直接跑到跑道的另一側(cè), 沖出跑道。 對(duì)于此處,本設(shè)計(jì)采用了黑線搜尋的算法 來避免干擾,將問題 解決 。 具體分析如下: 27 圖 圓環(huán)、十字路口示意圖 如圖 所示, 黑線搜尋的方法 是從 離小車 最近 的一 行開始 尋找 第一個(gè)有效的黑線 行 ,在限定的最大行數(shù) (這個(gè)數(shù)值的設(shè)置很重要) 內(nèi)如果還沒有搜尋到第一個(gè)有效的黑線位置,則置本場(chǎng)圖像信號(hào)無效,保持小車上一狀態(tài), 則小車就會(huì)繼續(xù)轉(zhuǎn)彎直到搜索到有效黑線位置結(jié)束, 這樣就可以避免 如圖中直接從 A 點(diǎn)竄越到 B點(diǎn)的 情況了。 這里值得注意的是 ,最大搜尋范圍不能太大,太大還是會(huì)出 現(xiàn)上述越軌現(xiàn)象;太小又經(jīng)常會(huì)搜尋不到第一個(gè)有效的點(diǎn)。 在線調(diào)試時(shí)在 CodeWarrior 軟件中得到的 數(shù)據(jù)搜尋結(jié)果 的 截圖如圖 所示。 28 圖 搜尋結(jié)果 截圖 “起跑線”識(shí)別算法 比賽規(guī)則規(guī)定,起跑線是小車開始和停止的標(biāo)志。小車行駛完一圈, 需在 檢測(cè)到起跑線后在一米之內(nèi)停止,否則總成績(jī)加一秒。 如圖 所示,為小車起跑線的示意圖。從圖中可以看出,起跑線是在中間的黑色引導(dǎo)線兩旁對(duì)稱加上兩條黑帶 。本設(shè)計(jì)對(duì)起跑線的識(shí)別算法正是基于這個(gè)特征而設(shè)計(jì)的。 對(duì)于起跑線,采集到的信號(hào)共有三條黑線,所以共有 6 個(gè)邊沿信號(hào)。如果圖像掃描到的信號(hào)共捕捉到 6 個(gè)邊沿,則置起跑線標(biāo)志為 1。但在實(shí)際調(diào)試時(shí)發(fā)現(xiàn),如果僅僅這樣設(shè)計(jì),是很難正 確檢測(cè)的。因?yàn)閿z像頭信號(hào)的穩(wěn)定性并不是特別好,所以掃描到的邊沿有可能是 5個(gè)或者 7個(gè)。但這樣的信號(hào)對(duì)其它環(huán)節(jié)的判斷并無妨礙,所以,軟件設(shè)計(jì)時(shí),采集到 5個(gè)到 7個(gè)邊沿時(shí)都可判定為采集到了起跑線。 因?yàn)閿z像頭的前瞻較遠(yuǎn),如果一檢測(cè)到起跑線就立即剎車是不可取的,這樣會(huì)使小車在起跑線前就會(huì)停下。 為此,設(shè)計(jì)在檢測(cè)到起跑線信號(hào)時(shí)只是先做一個(gè)標(biāo)記,并不急于停車,而是等到小車再次檢測(cè)不到起跑線時(shí)再停車。同時(shí)要注意,由于停車的過程中仍然需要巡線行駛,所以,此處停車只是電機(jī)剎車,舵機(jī)仍然繼續(xù)工作。 另外,有一個(gè)起跑線識(shí)別時(shí)的技巧: 由于整個(gè)過程中從開始起跑時(shí)小車就會(huì)檢測(cè)到一 29 次起跑線,所以整個(gè)一圈共能檢測(cè)到兩次起跑線。檢測(cè)一次的成功率總是高于兩次都成功的。所以,設(shè)計(jì)時(shí)將起跑時(shí)的起跑線檢測(cè)通過延時(shí)濾除,這樣可以提高檢測(cè)成功率。 圖 起跑線分析示意圖 實(shí)驗(yàn)顯示,以上的起跑線檢測(cè)方法與攝像頭的性能關(guān)系緊密,同樣的程序在不同的攝像頭采集信號(hào)時(shí)有可能會(huì)產(chǎn)生完全不同的效果。本設(shè)計(jì)最終選擇的攝像頭能夠較好地完成起跑線的識(shí)別。 執(zhí)行 控制策略 針對(duì) 一般 賽道, 不需經(jīng)上述的特殊處理,設(shè)計(jì)中對(duì)舵機(jī)采用了分段的 P 調(diào)節(jié) ;對(duì)于速度的控制則采用了經(jīng) 典的 PID調(diào)節(jié)方法。 PID 控制簡(jiǎn)介 PID( Proportional Integral Differential)控制是比例、積分、微分控制的簡(jiǎn)稱。在自動(dòng)控制領(lǐng)域中, PID控制是歷史最久、生命力最強(qiáng)的基本控制方式。 PID控制器的原理是根據(jù)系統(tǒng)的被調(diào)量實(shí)測(cè)值與設(shè)定值之間的偏差,利用偏差的比例、積分、微分三個(gè)環(huán)節(jié)的不同組合計(jì)算出對(duì)被控對(duì)象的控制量。圖 PID控制系統(tǒng)的原理框圖。 30 PID控制以其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。當(dāng)被控對(duì)象的結(jié)構(gòu)和參數(shù)不能完全 掌握,或得不到精確的數(shù)學(xué)模型時(shí),控制理論的其它技術(shù)難以采用時(shí),系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗(yàn)和現(xiàn)場(chǎng)調(diào)試來確定,這時(shí)應(yīng)用 PID控制技術(shù)最為方便。即當(dāng)我們不完全了解一個(gè)系統(tǒng)和被控對(duì)象,或不能通過有效的測(cè)量手段來獲得系統(tǒng)參數(shù)時(shí),最適合用 PID控制技術(shù)。 PID控制就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計(jì)算出控制量進(jìn)行控制的。目前 PID控制在工業(yè)控制系統(tǒng)中無處不見,隨著控制效果的要求不斷提高, PID逐漸向智能化發(fā)展。 PID算法 解決了自動(dòng)控制理論所要解決的最基本問題,既系統(tǒng)的穩(wěn)定性、快速性和準(zhǔn)確性。調(diào)節(jié) PID的 參數(shù),可實(shí)現(xiàn)在系統(tǒng)穩(wěn)定的前提下,兼顧系統(tǒng)的帶載能力和抗擾能力。由于自動(dòng)控制系統(tǒng)被控對(duì)象的千差萬別, PID的參數(shù)也必須隨之變化,以滿足系統(tǒng)的性能要求。 圖 PID控制器 原理 框圖 在圖 中,虛線框內(nèi)的部分是 PID 控制器,其輸入為設(shè)定值 r( t)與被調(diào)量實(shí)測(cè)值y( t)構(gòu)成的控制偏差信號(hào) e( t): 其輸出為該偏差信號(hào)的比例、積分、微分的線性組合,也即 PID 控制律: 式中 KP為比例系數(shù); TI為積分時(shí)間常數(shù); TD為微分時(shí)間常數(shù) ; e( t)為被控量與給定量的偏差 。 31 速度 控制 對(duì)于 電 機(jī) 的控制, 本設(shè)計(jì)中曾做過很多嘗試,但最終還是最簡(jiǎn)單的只有比例控制的算法取得的效果較佳。但在此基礎(chǔ)上, 我們作了一定改進(jìn),最終應(yīng)用分段的比例控制。 也就是說針對(duì)不同的 速度和轉(zhuǎn)彎曲率使用不同的偏移量比例值大小。其公式如下: offset = KP*curve_sum/Black_location[0] KP 隨速度和曲率的變化而變化的好處是讓小車在急轉(zhuǎn)彎時(shí) 電機(jī)轉(zhuǎn)速小一點(diǎn) , 剎車大一點(diǎn)。 而 如果轉(zhuǎn)彎曲率不大,則可以使剎車小一點(diǎn),過彎速度快一點(diǎn) 。 根據(jù)實(shí)際測(cè)試 KP一般選擇在 3/8 到 5/8之間能取得較好地效果。 舵 機(jī) 控 制 在對(duì) 舵機(jī) 和 轉(zhuǎn)角 的控制上,本設(shè)計(jì)采用 增量式 的 PID 算法進(jìn)行調(diào)節(jié), 使電機(jī)調(diào)速能夠既迅速又準(zhǔn)確。 增量式 PID的算式為: ? ? ? ? ? ? ? ? ? ? ? ? ? ?1 2 1 2P I Du k e k e k e k e k e k e kK K K? ? ? ? ? ? ? ? ? ? ?? ? ? ?? ? ? ? 在增量式 PID 處理的過程中,有一個(gè)步驟需要注意,即在算完△ u (k)后,需要把它賦值給電機(jī)控制對(duì)應(yīng)的 PWM 通道信號(hào),這時(shí)要判斷該△ u (k)的值,如果它小于 0,則把PWM 信號(hào)賦值為 0,如果它大于 PWM 信號(hào)的最大值,即大于 PWM 整個(gè)周期所對(duì)應(yīng)的數(shù)值時(shí),要把 PWM 信號(hào)賦值為該最大值。然后,再存儲(chǔ)本次△ u (k),和上次△ u (k)。 具體程序中所 用的算式參照西北工業(yè)大學(xué)的技術(shù)報(bào)告 及上屆的技術(shù)報(bào)告 為: 5/5/)2)*m in)_m a x_(*)(((5/5/)2(* 100 ????????? KKEEKE diiipi XXof fs e t 其中: Kp 為比例系數(shù), Ki 為積分系數(shù), Kd為微分系數(shù), Ei0 為本次偏差, Ei1 為上次偏差, X_max 與 X_min 為最遠(yuǎn)有效黑線位置與最近行有效黑線位置。 在此處一個(gè)較為重要的問題就是 PID 參數(shù)的設(shè)置和整定。在實(shí)際調(diào)試時(shí),我們采用的是試湊法進(jìn)行 PID 參數(shù)的調(diào)整。 其步驟 是 : 首先只整定比例部分。將比例系數(shù)從小變到大并觀察 效果選擇一個(gè)最佳狀態(tài)確定比例系數(shù)。然后 根據(jù)小車行駛的效果適當(dāng)增大和減小積分及微分系數(shù)。具體主要 是根據(jù)經(jīng)驗(yàn)更改的,總結(jié) 為 如下 兩條 : 1) 如果在比例系數(shù)確定之后,小車在跑道上總是有一點(diǎn)輕微的擺動(dòng)無法消除,通常此時(shí)要增大積分系數(shù)。 32 2) 如果感覺過急轉(zhuǎn)彎時(shí),轉(zhuǎn)角不明顯、不迅速。則通常此時(shí)可以調(diào)大積分系數(shù)。 本章小結(jié) 本章內(nèi)容豐富, 是參閱了大量文獻(xiàn)并總結(jié)創(chuàng)新了許多新的方法的結(jié)果。 對(duì)行駛路徑中的幾乎所有環(huán)節(jié)的行駛策略以及對(duì)舵機(jī)和電機(jī)的控制算法都進(jìn)行了詳細(xì)的論述。 具體包括起跑線、“ S”形賽道、急轉(zhuǎn)彎、大圓環(huán)及“十字路口” 等的 行駛策略 。在對(duì)各種方法論述的同時(shí),對(duì)在實(shí)踐中總結(jié)的經(jīng)驗(yàn)也進(jìn)行了相應(yīng)的介紹。 總之,本章是此 次設(shè)計(jì)中的一個(gè)重點(diǎn)部分,在本章上也花費(fèi)了較多的精力。 33 第六章 開發(fā)環(huán)境與系統(tǒng)調(diào)試 CodeWarrior 開發(fā)環(huán)境簡(jiǎn)介 本設(shè)計(jì) 在整個(gè)開發(fā)調(diào)試過程中,使用 的 是 Metrowerks公司為 MC9S12 系列專門提供的全套開發(fā)工具 CodeWarrior IDE 。 CodeWarrior 是由 Metrowerks公司提供的專門面向 Freescale 所有 MCU 與 DSP 嵌入式應(yīng)用開發(fā)的軟件工具。其中包括集成開發(fā)環(huán)境 IDE、處理器專家、全芯片仿真、可視化參數(shù)顯示工具、項(xiàng)目 工程管理、 C 交叉編譯器、匯編器、鏈接器以及調(diào)試器。 CodeWarrior IDE中 可 以處理不同的語言,并支持不同的處理器家庭。 CodeWarriorIDE 能夠自動(dòng)地檢查代碼中的明顯錯(cuò)誤,它通過一個(gè)集成的調(diào)試器和編輯器來掃描代碼,以找到并減少明顯的錯(cuò)誤,然后編譯并鏈接程序以便計(jì)算機(jī)能夠理解并執(zhí)行你的程序。 CodeWarrior IDE有以下優(yōu)點(diǎn) [2]: ? 支持多種編程語言 : 開發(fā)軟件時(shí)可從多種編程軟件中選擇。 IDE支持高級(jí)語言,如 C,C++, Java等。 ?一致的開發(fā)環(huán)境 : 軟件移植到新的處理器,而無需學(xué) 習(xí)新工具或失去現(xiàn)有的代碼庫。 IDE支持很多常見的桌面和嵌入式處理器的家庭。 ? 支持插件工具 : 通過增加支持新的服務(wù)的工具插件,擴(kuò)展了 IDE的功能。目前支持的 IDE插件的編譯器,連接器,預(yù)連接器插件,后連接器,偏好面板,版本控制和其他工具。 CodeWarrior IDE的使用方法和大多開發(fā)工具相類似,都需要新建工程在編寫程序。其界面如 圖 : 圖 CodeWarrior開發(fā)界面 34 針對(duì)初始化部分要對(duì)存儲(chǔ)空間進(jìn)行分配,主要是對(duì) 界面 中 的 文件進(jìn)行設(shè)置(通常情況下本部分 不需動(dòng))
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1