|
0.png (87.66 KB, 下載次數(shù): 60)
下載附件
2018-7-15 18:42 上傳
目錄
第一章 初識(shí)智能小車 1
11 常見的兩種類型 1
12 智能小車的基本結(jié)構(gòu) 1
第二章 車體設(shè)計(jì) 3
21 小車的拆卸 3
22 舵機(jī)的安裝 3
23 車體的整體布局 4
第三章 硬件設(shè)計(jì) 5
31 電源模塊設(shè)計(jì) 5
311 智能車電源設(shè)計(jì)要點(diǎn) 5
312 低壓差穩(wěn)壓芯片 LM2940 簡介 5
32 單片機(jī)最小系統(tǒng)設(shè)計(jì) 6
321 單片機(jī)最小系統(tǒng)簡介 6
322 51 單片機(jī)最小系統(tǒng)設(shè)計(jì) 6
33 循跡模塊設(shè)計(jì) 9
331 紅外光電管的工作原理 9
332 檢測(cè)電路設(shè)計(jì) 10
542 光電檢測(cè)部分的發(fā)揮設(shè)計(jì) 12
34 舵機(jī)轉(zhuǎn)向模塊設(shè)計(jì) 12
341 舵機(jī)的工作原理 12
342 常見舵機(jī)簡介及使用注意事項(xiàng) 13
35 后輪電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì) 14
351 H 橋驅(qū)動(dòng)電路的工作原理 14
352 常用 H 橋集成電路芯片 L298 16
36 測(cè)速模塊 17
第四章 程序設(shè)計(jì) 18
41 PWM 的相關(guān)知識(shí) 18
411 PWM 簡介以及實(shí)現(xiàn) 18
412 51 單片機(jī)產(chǎn)生 PWM 波 19
42 舵機(jī)的控制 21
43 后輪電機(jī)的控制 22
44 程序總體的設(shè)計(jì) 22
45 程序設(shè)計(jì)的發(fā)揮與拓展 23
第五章 測(cè)試與調(diào)試 24
51 測(cè)試與調(diào)試 24
52 智能車的測(cè)試步驟 24
第六章 車速的測(cè)量 26
61 車速測(cè)量的重要性 26
62 車速測(cè)量的幾種方式 26
621 霍爾傳感器檢測(cè) 26
622 反射式光電檢測(cè) 26
623 透射式光電檢測(cè) 26
63 車速測(cè)量的單片機(jī)實(shí)現(xiàn) 27
第七章 攝像頭的使用 28
71 攝像頭工作原理及簡介 28
72 模擬攝像頭視頻分離電路設(shè)計(jì) 29
73 攝像頭選型 30
74 攝像頭安裝 32
75 基本視頻信號(hào)采集 32
751 使用單片機(jī)內(nèi)部 A/D 轉(zhuǎn)換。 34
752 使用外部 A/D 轉(zhuǎn)換器 35
753 使用模擬電路對(duì) PAL 信號(hào)進(jìn)行轉(zhuǎn)化(參考北京科技大學(xué) CCD 一隊(duì)) 36
第八章 電磁傳感器的使用 38
81 智能汽車電磁組簡介: 38
82 20KHz 電源參考設(shè)計(jì)方案 38
821 電源技術(shù)指標(biāo)要求 38
822 電源組成 39
823 功率輸出電路 40
824 恒流控制 42
825 參考設(shè)計(jì)電路 42
826 電源調(diào)試 43
827 注意事項(xiàng) 44
83 電磁組傳感器及模路徑檢測(cè)設(shè)計(jì)參考方案 44
831 設(shè)計(jì)原理 44
832 磁場(chǎng)檢測(cè)方法 45
833 電路設(shè)計(jì) 48
834 傳感器的設(shè)計(jì)與調(diào)試 52
835 檢測(cè)方案 54
84 軟件部分的簡要流程圖 56
85 結(jié)束語 57
第九章 激光傳感器的使用與設(shè)計(jì) 58
91 激光傳感器的工作原理和驅(qū)動(dòng) 58
92 激光傳感器的選用與注意事項(xiàng) 58
93 激光管的布局和安裝 58
第十章 算法設(shè)計(jì) 60
101 攝像頭組處理算法 60
1011 黑線提取算法 60
102 車體控制算法 62
1021 PID 算法 62
1022 預(yù)判算法 63
0.png (228.19 KB, 下載次數(shù): 67)
下載附件
2018-7-15 18:44 上傳
0.png (435.16 KB, 下載次數(shù): 83)
下載附件
2018-7-15 18:44 上傳
10.1 攝像頭組處理算法
10.1.1 黑線提取算法
目標(biāo)指引線(即賽道上的黑線)的寬度相對(duì)整個(gè)賽道較窄,因此只要提取目標(biāo)指引線的某些特 征點(diǎn),就能放映出指引線的形狀。我們可以對(duì)采集到的視頻數(shù)據(jù)中每列黑線的中間點(diǎn)或邊緣點(diǎn)作為 該列的特征點(diǎn)。在下面的黑線提取算法中,二值化算法才采用的是中間點(diǎn)作為特征點(diǎn),直接邊緣檢 測(cè)法和跟蹤邊緣檢測(cè)法采用的是邊緣點(diǎn)作為特征點(diǎn)。
10.1.1.1 二值化算法
算法的思路是:設(shè)定一個(gè)閾值 value,對(duì)于視頻信號(hào)矩陣中每一行,從左至右比較各像素和閾值 的大小。若像素值大于等于閾值,則判定該像素對(duì)應(yīng)的是白色賽道;反之,則判定對(duì)應(yīng)的是目標(biāo)指 引線。記下第一次和最后一次出現(xiàn)像素小于閾值是的像素點(diǎn)的列號(hào),算出兩者的平均值,以此作為 該行上目標(biāo)指引線的位置。
二值化算法流程圖如圖 10.1 所示。
0.png (64.91 KB, 下載次數(shù): 59)
下載附件
2018-7-15 18:46 上傳
該算法的思路簡單,具體實(shí)現(xiàn)時(shí)還可以一旦檢測(cè)到左邊緣后就退出該行掃描,這樣上面的流程 圖將變的更簡潔。但是這種提取算法穩(wěn)定性較差,當(dāng)拍攝圖像中只有目標(biāo)指引線一條黑線時(shí),還能 準(zhǔn)確提取出目標(biāo)指引線,但當(dāng)光強(qiáng)有大幅度的變化,或者圖像中出現(xiàn)其他黑色圖像的干擾時(shí),該算法提取的位置就有可能與目標(biāo)指引線的實(shí)際位置偏離較大。
實(shí)際使用時(shí)需要將該算法加以改進(jìn),以增強(qiáng)其穩(wěn)定性。比如可以使用該算法找出每行中出現(xiàn)的 黑塊數(shù)量,然后再對(duì)提取出的黑塊使用合適的濾波算法,這樣做可以提高該算法的穩(wěn)定性。
10.1.1.2 直接邊緣檢測(cè)算法 算法的思路是:設(shè)定一個(gè)閾值,對(duì)于視頻信號(hào)矩陣中每一行,從左至右求出相鄰兩像素的差值
(左減右)。若差值大于閾值,則判定下一個(gè)的像素對(duì)應(yīng)的是目標(biāo)指引線的左邊緣,以此像素點(diǎn)作為 該列的特征點(diǎn),記錄下此像素點(diǎn)的列號(hào),作為該行上目標(biāo)指引線的位置。當(dāng)然,可能出現(xiàn)差值始終 小于閾值的情況,此時(shí)一種方法是令該行上目標(biāo)指引線位置為 0,通過進(jìn)一步濾波或擬合來修正; 另一種方法是讓該行上目標(biāo)指引線位置和通過上一場(chǎng)視頻數(shù)據(jù)求得的位置一樣。 直接邊緣檢測(cè)算法流程圖如圖 9.2 所示。
0.png (56.27 KB, 下載次數(shù): 54)
下載附件
2018-7-15 18:46 上傳
該算法較二值化方法而言,抗環(huán)境光強(qiáng)變化干擾的能力更強(qiáng),同時(shí)還能削弱或消除垂直交叉黑 色指引線的干擾。因?yàn)樵撍惴ㄔ谝曨l信號(hào)矩陣中是由左至右來尋找目標(biāo)指引線的左邊緣的,所以當(dāng) 黑色圖像出現(xiàn)在目標(biāo)指引線左方時(shí),該算法無法排除干擾,而當(dāng)其出現(xiàn)在右方時(shí),則可以排除干擾。 實(shí)際使用時(shí)可以對(duì)該算法稍加改進(jìn),當(dāng)一行處理完為找到黑線邊緣時(shí),再通過對(duì)左邊緣值與一 固定閾值(類似二值化算法中的閾值)比較,確定其時(shí)候是黑線邊緣。為增強(qiáng)穩(wěn)定性可以利用相鄰行黑線邊緣值相近的特點(diǎn)進(jìn)行合理的濾波。
10.1.1.3 跟蹤邊緣檢測(cè)算法
這種算法跟 9.1.1.2 小節(jié)介紹的直接邊緣檢測(cè)算法一樣,也是尋找出目標(biāo)指引線的左邊緣,仍 然用左邊緣的位置代表目標(biāo)指引線的位置。但跟蹤邊緣檢測(cè)從視頻信號(hào)矩陣每行中尋找左邊緣的方 法與上一小節(jié)介紹的不同。因?yàn)槟繕?biāo)指引線是連續(xù)曲線,所以相鄰兩行的左邊緣點(diǎn)比較靠近。跟蹤 邊緣檢測(cè)正是利用了這一特性,對(duì)直接邊緣檢測(cè)進(jìn)行了簡化。其思路是:若已尋找到某行的左邊緣,
則下一次就在上一個(gè)左邊緣附近進(jìn)行搜尋。這種方法的特點(diǎn)是始終跟蹤每行左邊緣的附近,去尋找 下一列的左邊緣,所以稱為“跟蹤”邊緣檢測(cè)算法。 該算法在首行邊緣檢測(cè)正確的前提下,該算法具有較強(qiáng)的抗干擾性,能更有效地消除垂直交叉黑色 指引線的干擾,以及指引線外黑色圖像的影響,始終跟蹤目標(biāo)指引線。另外,較之前兩種算法,跟蹤邊緣檢測(cè)算法的時(shí)間復(fù)雜度更低,因此效率更高。但值得注意的是第一行的左邊緣位置對(duì)整個(gè)目
標(biāo)指引線的搜尋影響很大,一旦它的位置和實(shí)際導(dǎo)引線偏差較大,就會(huì)產(chǎn)生一連串的錯(cuò)誤,這是不 可容忍的。
實(shí)際使用時(shí),在對(duì)第一行黑線邊緣的提前尤為重要,可結(jié)合上幅圖像中的黑線邊緣值對(duì)當(dāng)前第 一行的黑線邊緣進(jìn)行濾波處理。
10.1.1.4 中值濾波和曲線擬合 雖然采用了邊緣檢測(cè)的方法進(jìn)行黑線提取,但由于賽道縫隙或其他黑色像點(diǎn)的干擾,仍會(huì)使得
某些行的黑線位置發(fā)生跳變。為了解決這一問題,增加算法的穩(wěn)定性,可以采用中值濾波和曲線擬 合的方法對(duì)前面獲取的黑線位置進(jìn)行處理。
中值濾波的思想是:對(duì)于某行的黑線位置,如果它的位置正好在前后兩行的中間,則保留原有 位置;否則,以這三行中黑線位置居中的代替該行黑線位置。如圖 5.11 所示,利用中值濾波消除 單個(gè)的毛刺,但對(duì)連續(xù)兩個(gè)以上的毛刺不能濾除。 曲線擬合的思路是:判斷每行黑線位置與整幅圖像黑線平均位置的偏差,如果偏差大于某個(gè)數(shù)值, 就將該點(diǎn)標(biāo)記為無效點(diǎn),此處的黑線位置用前后最近兩個(gè)有效點(diǎn)的黑線位置的算術(shù)平均替代。
10.1.1.5 小結(jié) 本節(jié)中介紹的四種算法,各有其優(yōu)缺點(diǎn)。在使用時(shí)不要拘泥于某一種算法,結(jié)合硬件資源合理
利用各種算法的優(yōu)點(diǎn),取長補(bǔ)短。可以達(dá)到意想不到的效果。上述算法中有一個(gè)量比較重要,就是 閾值。閾值的選取直接關(guān)系到目標(biāo)線提取的正確性,攝像頭拍攝到圖像近端和遠(yuǎn)端是有差異的,往 往一個(gè)閾值很難適應(yīng)整幅圖像。所以可以采用動(dòng)態(tài)閾值的方法來改善目標(biāo)線的提取算法的穩(wěn)定性和 適應(yīng)性。
10.2 車體控制算法
車體控制算法是整個(gè)系統(tǒng)的核心,直接影響到小車在賽場(chǎng)上的表現(xiàn)。根據(jù)比賽經(jīng)驗(yàn),一般到后 期基本上都是調(diào)試這部分的內(nèi)容。目前常用的的控制算法主要有:PID 算法、預(yù)判算法、模糊控制 算法和賽道記憶算法。個(gè)人認(rèn)為不應(yīng)將賽道記憶作為一種算法提出來實(shí)現(xiàn),因?yàn)閭(gè)人感覺有作弊的 嫌疑,其實(shí)這個(gè)算法往往也不好用,特別是賽道比較大時(shí)。結(jié)合攝像頭的特點(diǎn)下面主要介紹 PID 算 法和預(yù)判算法。
10.2.1 PID 算法
PID 控制是工程實(shí)際中應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律。問世至今 70 年多年來,它以其結(jié)構(gòu)簡 單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。
單位反饋的 PID 控制原理框圖如圖 10.3 所示。
0.png (60.45 KB, 下載次數(shù): 54)
下載附件
2018-7-15 18:47 上傳
獲得了新的輸出信號(hào) Y。這個(gè)新的輸出信號(hào)被再次送到感應(yīng)器以發(fā)現(xiàn)新的誤差信號(hào),這個(gè)過程就這
樣周而復(fù)始地進(jìn)行。運(yùn)用 PID 控制的關(guān)鍵是調(diào)整三個(gè)比例系數(shù),即參數(shù)整定。PID 控制器參數(shù)整定 的方法很多,概括起來有兩大類:一是理論計(jì)算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論 計(jì)算確定控制器參數(shù)。二是工程整定方法,它主要依賴工程經(jīng)驗(yàn),直接在控制系統(tǒng)的試驗(yàn)中進(jìn)行, 且方法簡單、易于掌握,在工程實(shí)際中被廣泛采用。
一般來說,增大比例系數(shù)能夠減小上升時(shí)間,并減小穩(wěn)態(tài)誤差,但不能消除。增大積分系數(shù)能夠 消除穩(wěn)態(tài)誤差,但會(huì)使瞬時(shí)響應(yīng)變差。增大微分系數(shù)能夠增強(qiáng)系統(tǒng)的穩(wěn)定特性,減小超調(diào),并且改 善瞬時(shí)響應(yīng)。以上簡要介紹了 PID 算法的原理和特性,實(shí)際過程中,由于傳感器是按一定間隔周期 獲取位置信息的,因此必須將連續(xù) PID 控制離散化,這樣得到的就是數(shù)字 PID 算法。
在實(shí)際編程實(shí)現(xiàn)時(shí)主要需要保存上一幅圖像黑線特征值。這里簡單以一段程序來表示在實(shí)際編 程時(shí)如何實(shí)現(xiàn) PID 算法。
P_error = CurrentMidPlace – ImageMidLine;//靜態(tài)誤差量
D_error = CurrentMidPlace - PreMidPlace;//微分量
I_error += P_error;//積分量
PID = Kp*P_error + Ki*I_error + Kd*D_error;
其中 CurrentMidPlace、PreMidPlace 是當(dāng)前圖像和上一幅圖像選取的參考行的黑線特征值, ImageMidLine 為固定的參考值(根據(jù)實(shí)際算法需要可以動(dòng)態(tài)修改)。Kp、Ki、Kd 是比例參數(shù),需 要根據(jù)實(shí)際情況調(diào)試得出。這里的控制對(duì)象主要是舵機(jī),電機(jī)也可以用類似的算法處理。
實(shí)際經(jīng)驗(yàn):當(dāng)積分系數(shù)為 0,微分系數(shù)相對(duì)比例系數(shù)較小時(shí),小車性能較好。同時(shí)發(fā)現(xiàn),小車 在直道上時(shí)比例系數(shù)應(yīng)適當(dāng)小些,這樣不會(huì)產(chǎn)生“蛇形”現(xiàn)象;彎道上比例系數(shù)應(yīng)適當(dāng)大些,這樣 能避免小車在高速入彎后沖出賽道。為了最大程度上發(fā)揮攝像頭的大前瞻的優(yōu)點(diǎn),可以用預(yù)判算法
(也叫賽道識(shí)別算法)來對(duì)前方的賽道進(jìn)行預(yù)判,根據(jù)賽道的類型來確定 P、I、D 的參數(shù) Kp、Ki、
Kd 的值,并可以達(dá)到合理優(yōu)化車速的目的。
10.2.2 預(yù)判算法
賽道預(yù)判能力是可以說是攝像頭所特有的功能,對(duì)于整個(gè)車子的行走路線有很大的影響。所以 賽道預(yù)判也是圖像處理的一個(gè)重要的部分。賽道預(yù)判是在前面黑線提取的基礎(chǔ)上來做的。賽道預(yù)判 算法每一個(gè)組都可能不一樣,沒有一個(gè)經(jīng)典的典范,所以在這里我只能就自己所了解得幾種算法來 談一談。我歸納總結(jié)一下可以為:拐點(diǎn)算法和斜率算法兩種算法。 拐點(diǎn)算法的思想:對(duì)提取的黑線特征點(diǎn)逐個(gè)掃描(也可間隔掃描,視情況而定),記錄下路徑中拐 點(diǎn)的個(gè)數(shù)以及各拐點(diǎn)對(duì)應(yīng)的行號(hào)。然后再根據(jù)得到的拐點(diǎn)數(shù)和拐點(diǎn)與拐點(diǎn)之間的偏差值可以判斷出 賽道的基本類型。若拐點(diǎn)為零,則可以判為直道或直道入彎,然后再對(duì)截取一段計(jì)算出路徑的偏差 值,通過將偏差值與設(shè)定的閾值相比較來確定是直道還是直道入彎道。 這種算法在賽道類型的判斷上準(zhǔn)確性比較高,處理復(fù)雜度適中,可以考慮使用。
斜率算法的思想:從提取的黑線路徑中選取特定的三行(視情況而定)的黑線特征值,最好選 取的行與實(shí)際間隔距離相等。計(jì)算出相鄰的黑線特征值的偏差,這里的偏差就是賽道的斜率,根據(jù) 斜率的值可以判斷出賽道的基本特征。
這種算法在賽道類型的判斷上準(zhǔn)確性一般,處理復(fù)雜度低。
完整的pdf格式文檔51黑下載地址(共68頁):
智能小車設(shè)計(jì)指導(dǎo)_第二版_預(yù)覽版.pdf
(4.13 MB, 下載次數(shù): 26)
2018-7-15 11:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|