基于線性CCD的尋線智能車設(shè)計(jì)
摘要:本設(shè)計(jì)以第八屆“飛思卡爾”杯全國(guó)大學(xué)生智能車競(jìng)賽為背景,提出了一種根據(jù)線性CCD采集圖像引導(dǎo)直立小車循跡行駛的方案。本文介紹了這一方案的基本思想,所依據(jù)的物理原理,并重點(diǎn)介紹在雙速度控制算法下對(duì)轉(zhuǎn)向及障礙問(wèn)題的優(yōu)化處理,并根據(jù)方案實(shí)際制作了小車。實(shí)踐證明該方案是可行的,并且效果較好。
本文引用地址:http://2s4d.com/article/201610/309992.htm關(guān)鍵詞:智能車;直立;速度控制;Kinetis K10;TSL1401CL
引言
以往的智能車競(jìng)賽分為光電組、攝像頭組及電磁組。在本屆比賽中,光電組首次嘗試小車直立行走,并且首次采用線性CCD作為圖像采集傳感器。本文介紹以飛思卡爾Kinetis K10為主控芯片,如何使用線性CCD所采集的圖像進(jìn)行數(shù)據(jù)處理的過(guò)程以及基于獨(dú)創(chuàng)的雙速度控制算法,從速度控制上解決了智能車過(guò)障礙的問(wèn)題。
1 設(shè)計(jì)原理
1.1 數(shù)據(jù)采集算法
檢測(cè)路徑參數(shù)可以使用多種傳感器件,如光電管陣列、CCD圖像傳感器、激光掃描器等。各種檢測(cè)方法都有相應(yīng)優(yōu)缺點(diǎn),其中最常使用的方法為光電管陣列和CCD圖像傳感器。如何有效利用單片機(jī)內(nèi)部資源進(jìn)行路徑參數(shù)檢測(cè),是確定檢測(cè)方案的關(guān)鍵。
CCD傳感器是一種新型光電轉(zhuǎn)換器件,它能存儲(chǔ)由光產(chǎn)生的信號(hào)電荷。當(dāng)對(duì)它施加特定時(shí)序的脈沖時(shí),其存儲(chǔ)的信號(hào)電荷便可在CCD內(nèi)作定向傳輸而實(shí)現(xiàn)自掃描。CCD有面陣和線陣之分,面陣是把CCD像素排成1個(gè)平面的器件;而線陣是把CCD像素排成1直線的器件。本設(shè)計(jì)中使用線性CCD作為圖像傳感元件。
在本設(shè)計(jì)中選用TSL1401CL線性CCD,TSL1401CL線性傳感器陣列由一個(gè)128×1的光電二極管陣列、相關(guān)的電荷放大器電路和一個(gè)內(nèi)部的像素?cái)?shù)據(jù)保持器構(gòu)成。該陣列由128個(gè)像素組成,其中每一個(gè)像素的光敏面積為3 524.3μm2,像素之間的間隔是8μm。該芯片操作簡(jiǎn)單,只需要一個(gè)串行輸入信號(hào)和一個(gè)時(shí)鐘信號(hào)即可進(jìn)行數(shù)據(jù)的讀取。
在CCD采集上,所采用的曝光時(shí)間自適應(yīng)策略如圖1所示。
從圖1可看出,該曝光時(shí)間自適應(yīng)策略就是一個(gè)典型的閉環(huán)控制,控制對(duì)象是線性CCD模塊的曝光時(shí)間,反饋是線性CCD感應(yīng)到的曝光量。調(diào)節(jié)的目標(biāo)是設(shè)定曝光量??刂破鞯墓ぷ髟硎菍⒃O(shè)定的曝光量減去實(shí)際曝光量,差值即為曝光量的偏差e,曝光量調(diào)節(jié)器用Kp乘以e再加上上次的曝光時(shí)間作為新的曝光時(shí)間進(jìn)行曝光,曝光時(shí)間調(diào)整后直接影響實(shí)際反饋的曝光量,如此反復(fù)進(jìn)行調(diào)節(jié)就能達(dá)到適應(yīng)環(huán)境光的目的。我們的做法是取一次采集到的128個(gè)像素電壓的平均值作為曝光量當(dāng)量,設(shè)定的曝光量也就是設(shè)定的128像素點(diǎn)平均電壓。
1.2 數(shù)據(jù)處理算法
在圖像處理中,采用邊緣檢測(cè)法檢測(cè)賽道。因?yàn)橘惖啦苫貓D像電壓值不同,白色賽道與黑色賽道邊緣的交界處會(huì)出現(xiàn)圖像的凹槽,也就是圖像數(shù)值的下降沿。將CCD的128個(gè)圖像點(diǎn)進(jìn)行坐標(biāo)標(biāo)注,由0~127,就可以確定出兩邊黑線的左右值。
得到左右坐標(biāo),根據(jù)公式“中線=(左坐標(biāo)+右坐標(biāo))/2”,就提取到了中線。當(dāng)然還要考慮邊線丟失的情況,我們采取補(bǔ)線的策略,如果這一時(shí)刻坐標(biāo)丟失就采用上一時(shí)刻未丟失的坐標(biāo)代替,這樣無(wú)論在十字彎、直道、彎道還是虛線,都可以實(shí)現(xiàn)很好的識(shí)別與控制,適應(yīng)各種不同的賽道要求。
對(duì)電機(jī)的控制上,采用傳統(tǒng)的PID控制算法。PID控制是最早發(fā)展起來(lái)的控制策略之一。PID控制器綜合了關(guān)于系統(tǒng)過(guò)去(I)、現(xiàn)在(P)和未來(lái)(D)三方面的信息,控制效果令人滿意。工業(yè)控制95%以上都采用了PID結(jié)構(gòu),具有簡(jiǎn)單、魯棒性好和可靠性高的優(yōu)點(diǎn)。
PID算法示意圖如圖2所示。
其中,所采用的數(shù)字PID算法公式如下:
綜上所述.在小車控制系統(tǒng)的閉環(huán)部分均采用了傳統(tǒng)數(shù)字PID算法或改進(jìn)型智能PID算法。
2 雙速度控制算法方案設(shè)計(jì)
2.1 傳統(tǒng)速度控制算法
由于車模的整個(gè)行駛過(guò)程是時(shí)刻變化的,在賽道構(gòu)成復(fù)雜且車模運(yùn)行速度很高的情況下,對(duì)于系統(tǒng)的響應(yīng)要求很快。因此速度控制必須具有迅速、準(zhǔn)確、響應(yīng)快的特點(diǎn)。由PID原理知:I(積分項(xiàng))的遲滯效果會(huì)讓控制系統(tǒng)響應(yīng)變慢,因此為適應(yīng)直立車模高速運(yùn)行下的各種不同類型賽道,放棄官方設(shè)計(jì)方案中所推薦的PI控制,而采用反應(yīng)更迅速、調(diào)節(jié)速度更快的PD控制。
直立車模是雙電機(jī)分別控制左右輪,并且通過(guò)左右輪的差速進(jìn)行轉(zhuǎn)彎。在直立車的電機(jī)控制中,PWM波的輸出是由直立控制量、速度控制量與轉(zhuǎn)向控制量共同組成的,即:
電機(jī)輸出量=直立控制量+速度控制量+轉(zhuǎn)向控制量 (1)
傳統(tǒng)速度控制算法中控制公式為:
速度控制量=速度設(shè)定值=速度測(cè)量值=速度設(shè)定值-(左輪速度+右輪速度)/2 (2)
由上式可知,實(shí)際值為左右輪速度的平均值。得到速度控制量同時(shí)加給左右電機(jī),即左右電機(jī)速度控制量始終相同,由此可知左右電機(jī)速度控制量始終相同。在傳統(tǒng)速度控制算法下,轉(zhuǎn)向控制量相對(duì)于速度控制量來(lái)說(shuō)相當(dāng)于是一種擾動(dòng)量。
2.2 雙速度控制算法
我們所設(shè)計(jì)雙速度控制的思想如下:
左電機(jī)輸出量=直立控制量+左輪速度控制量+轉(zhuǎn)向控制量 (3)
右電機(jī)輸出量=直立控制量+右輪速度控制量-轉(zhuǎn)向控制量 (4)
因?yàn)樵谛≤囆旭傔^(guò)程中,小車保持直立,因此在小車直立行駛狀態(tài)下,直立值為固定值,所以:
左速度控制量=沒(méi)定值-左輪速度測(cè)量值 (5)
右速度控制量=設(shè)定值-右輪速度測(cè)量值 (6)
左、右輪速度值均由該輪速度控制量與轉(zhuǎn)向控制量同時(shí)給定。
由此可知:
左輪速度控制量=設(shè)定值-(速度控制量測(cè)量值+轉(zhuǎn)向控制量測(cè)量值)
評(píng)論