一種基于線(xiàn)性CCD的直立小車(chē)循跡行駛設計
摘要:本設計以第八屆“飛思卡爾”杯全國大學(xué)生智能車(chē)競賽為背景,提出了一種根據線(xiàn)性CCD采集圖像引導直立小車(chē)循跡行駛的方案。本文介紹了這一方案的基本思想,所依據的物理原理,并重點(diǎn)介紹在雙速度控制算法下對轉向及障礙問(wèn)題的優(yōu)化處理,并根據方案實(shí)際制作了小車(chē)。實(shí)踐證明該方案是可行的,并且效果較好。
本文引用地址:http://dyxdggzs.com/article/248145.htm關(guān)鍵詞:智能車(chē);直立;速度控制;Kinetis K10;TSL1401CL
引言
以往的智能車(chē)競賽分為光電組、攝像頭組及電磁組。在本屆比賽中,光電組首次嘗試小車(chē)直立行走,并且首次采用線(xiàn)性CCD作為圖像采集傳感器。本文介紹以飛思卡爾Kinetis K10為主控芯片,如何使用線(xiàn)性CCD所采集的圖像進(jìn)行數據處理的過(guò)程以及基于獨創(chuàng )的雙速度控制算法,從速度控制上解決了智能車(chē)過(guò)障礙的問(wèn)題。
1 設計原理
1.1 數據采集算法
檢測路徑參數可以使用多種傳感器件,如光電管陣列、CCD圖像傳感器、激光掃描器等。各種檢測方法都有相應優(yōu)缺點(diǎn),其中最常使用的方法為光電管陣列和CCD圖像傳感器。如何有效利用單片機內部資源進(jìn)行路徑參數檢測,是確定檢測方案的關(guān)鍵。
CCD傳感器是一種新型光電轉換器件,它能存儲由光產(chǎn)生的信號電荷。當對它施加特定時(shí)序的脈沖時(shí),其存儲的信號電荷便可在CCD內作定向傳輸而實(shí)現自?huà)呙?。CCD有面陣和線(xiàn)陣之分,面陣是把CCD像素排成1個(gè)平面的器件;而線(xiàn)陣是把CCD像素排成1直線(xiàn)的器件。本設計中使用線(xiàn)性CCD作為圖像傳感元件。
在本設計中選用TSL1401CL線(xiàn)性CCD,TSL1401CL線(xiàn)性傳感器陣列由一個(gè)128×1的光電二極管陣列、相關(guān)的電荷放大器電路和一個(gè)內部的像素數據保持器構成。該陣列由128個(gè)像素組成,其中每一個(gè)像素的光敏面積為3 524.3μm2,像素之間的間隔是8μm。該芯片操作簡(jiǎn)單,只需要一個(gè)串行輸入信號和一個(gè)時(shí)鐘信號即可進(jìn)行數據的讀取。
在CCD采集上,所采用的曝光時(shí)間自適應策略如圖1所示。

從圖1可看出,該曝光時(shí)間自適應策略就是一個(gè)典型的閉環(huán)控制,控制對象是線(xiàn)性CCD模塊的曝光時(shí)間,反饋是線(xiàn)性CCD感應到的曝光量。調節的目標是設定曝光量??刂破鞯墓ぷ髟硎菍⒃O定的曝光量減去實(shí)際曝光量,差值即為曝光量的偏差e,曝光量調節器用Kp乘以e再加上上次的曝光時(shí)間作為新的曝光時(shí)間進(jìn)行曝光,曝光時(shí)間調整后直接影響實(shí)際反饋的曝光量,如此反復進(jìn)行調節就能達到適應環(huán)境光的目的。我們的做法是取一次采集到的128個(gè)像素電壓的平均值作為曝光量當量,設定的曝光量也就是設定的128像素點(diǎn)平均電壓。
1.2 數據處理算法
在圖像處理中,采用邊緣檢測法檢測賽道。因為賽道采回圖像電壓值不同,白色賽道與黑色賽道邊緣的交界處會(huì )出現圖像的凹槽,也就是圖像數值的下降沿。將CCD的128個(gè)圖像點(diǎn)進(jìn)行坐標標注,由0~127,就可以確定出兩邊黑線(xiàn)的左右值。
得到左右坐標,根據公式“中線(xiàn)=(左坐標+右坐標)/2”,就提取到了中線(xiàn)。當然還要考慮邊線(xiàn)丟失的情況,我們采取補線(xiàn)的策略,如果這一時(shí)刻坐標丟失就采用上一時(shí)刻未丟失的坐標代替,這樣無(wú)論在十字彎、直道、彎道還是虛線(xiàn),都可以實(shí)現很好的識別與控制,適應各種不同的賽道要求。
對電機的控制上,采用傳統的PID控制算法。PID控制是最早發(fā)展起來(lái)的控制策略之一。PID控制器綜合了關(guān)于系統過(guò)去(I)、現在(P)和未來(lái)(D)三方面的信息,控制效果令人滿(mǎn)意。工業(yè)控制95%以上都采用了PID結構,具有簡(jiǎn)單、魯棒性好和可靠性高的優(yōu)點(diǎn)。
PID算法示意圖如圖2所示。

其中,所采用的數字PID算法公式如下:

綜上所述.在小車(chē)控制系統的閉環(huán)部分均采用了傳統數字PID算法或改進(jìn)型智能PID算法。
2 雙速度控制算法方案設計
2.1 傳統速度控制算法
由于車(chē)模的整個(gè)行駛過(guò)程是時(shí)刻變化的,在賽道構成復雜且車(chē)模運行速度很高的情況下,對于系統的響應要求很快。因此速度控制必須具有迅速、準確、響應快的特點(diǎn)。由PID原理知:I(積分項)的遲滯效果會(huì )讓控制系統響應變慢,因此為適應直立車(chē)模高速運行下的各種不同類(lèi)型賽道,放棄官方設計方案中所推薦的PI控制,而采用反應更迅速、調節速度更快的PD控制。
直立車(chē)模是雙電機分別控制左右輪,并且通過(guò)左右輪的差速進(jìn)行轉彎。在直立車(chē)的電機控制中,PWM波的輸出是由直立控制量、速度控制量與轉向控制量共同組成的,即:
電機輸出量=直立控制量+速度控制量+轉向控制量 (1)
傳統速度控制算法中控制公式為:
速度控制量=速度設定值=速度測量值=速度設定值-(左輪速度+右輪速度)/2 (2)
由上式可知,實(shí)際值為左右輪速度的平均值。得到速度控制量同時(shí)加給左右電機,即左右電機速度控制量始終相同,由此可知左右電機速度控制量始終相同。在傳統速度控制算法下,轉向控制量相對于速度控制量來(lái)說(shuō)相當于是一種擾動(dòng)量。
2.2 雙速度控制算法
我們所設計雙速度控制的思想如下:
左電機輸出量=直立控制量+左輪速度控制量+轉向控制量 (3)
右電機輸出量=直立控制量+右輪速度控制量-轉向控制量 (4)
因為在小車(chē)行駛過(guò)程中,小車(chē)保持直立,因此在小車(chē)直立行駛狀態(tài)下,直立值為固定值,所以:
左速度控制量=沒(méi)定值-左輪速度測量值 (5)
右速度控制量=設定值-右輪速度測量值 (6)
左、右輪速度值均由該輪速度控制量與轉向控制量同時(shí)給定。
由此可知:
左輪速度控制量=設定值-(速度控制量測量值+轉向控制量測量值)
pid控制相關(guān)文章:pid控制原理
pid控制器相關(guān)文章:pid控制器原理
電荷放大器相關(guān)文章:電荷放大器原理 網(wǎng)線(xiàn)測試儀相關(guān)文章:網(wǎng)線(xiàn)測試儀原理 激光二極管相關(guān)文章:激光二極管原理
評論