国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CCD的自動(dòng)循跡小車的軟件設(shè)計(jì)

2012-07-26 04:57石冰飛周宏輝
自動(dòng)化儀表 2012年1期
關(guān)鍵詞:黑線循跡引線

楊 寧 石冰飛 朱 平 周宏輝

(上海電力學(xué)院電力與自動(dòng)化工程學(xué)院1,上海 200090;國(guó)核自儀系統(tǒng)工程有限公司2,上海 200233;寧波市電業(yè)局3,浙江 寧波 315010)

0 引言

自動(dòng)循跡小車作為一種移動(dòng)機(jī)器人,主要應(yīng)用于機(jī)場(chǎng)、倉(cāng)庫(kù)以及其他需要搬運(yùn)設(shè)備的工況中。小車的基本結(jié)構(gòu)由導(dǎo)向模塊、驅(qū)動(dòng)模塊、微處理器、控制模塊、通信模塊、機(jī)械部分和電源模塊構(gòu)成。小車通過(guò)導(dǎo)向傳感器獲取路徑信息,并按一定的精度要求沿正確路徑行駛。目前,比較常用的傳感器有激光傳感器[1-2]、CCD 傳感器和測(cè)距儀等[3-4]。

基于CCD的自動(dòng)循跡小車采用CCD獲取道路信息,通過(guò)圖像處理辨別路面標(biāo)志,并確定小車前方一定范圍內(nèi)的路況。綜合分析道路和速度等相關(guān)信息,采用相應(yīng)的控制策略來(lái)控制小車沿正確的路線前進(jìn)。本文主要介紹所設(shè)計(jì)的基于CCD的自動(dòng)循跡小車的軟件系統(tǒng),提出軟件設(shè)計(jì)方面的關(guān)鍵問(wèn)題,并探討了圖像信息的采集、處理和舵機(jī)控制策略[5-6]。

1 軟件系統(tǒng)整體設(shè)計(jì)

本設(shè)計(jì)中,要求自動(dòng)循跡小車在一定寬度的白色底黑色引導(dǎo)線的道路上自動(dòng)行駛,并可根據(jù)變化的道路形狀,按行駛要求自主導(dǎo)航。這就要求小車具備較強(qiáng)的自適應(yīng)能力。自動(dòng)循跡小車需要穩(wěn)定快速行駛,兼顧速度和可靠性的要求,因此,設(shè)計(jì)方案必須考慮傳感器信號(hào)采集處理、舵機(jī)和電機(jī)控制策略設(shè)計(jì)等因素[7]。整個(gè)軟件系統(tǒng)包括圖像信息采集和處理、舵機(jī)轉(zhuǎn)角控制、電機(jī)速度控制和速度反饋。軟件系統(tǒng)組成如圖1所示。

圖1 軟件系統(tǒng)組成圖Fig.1 The composition of software system

2 軟件模塊設(shè)計(jì)

2.1 圖像信息處理

對(duì)道路形狀的判斷正確與否決定了小車能否實(shí)現(xiàn)自動(dòng)循跡功能。雖然圖像處理算法已經(jīng)有很多成熟的算法和應(yīng)用,但如何有效地采用符合具體實(shí)際使用的算法則需要經(jīng)過(guò)實(shí)際測(cè)試才能確認(rèn)。圖像處理包括對(duì)CCD信息采集、道路狀況的提取、路徑的計(jì)算等。一般的設(shè)計(jì)流程包括圖像信息采集、圖像信息的處理、道路信息的計(jì)算和行駛路線的優(yōu)化這4個(gè)部分。

圖像信息采集時(shí),單片機(jī)的端口與攝像頭的圖像灰度信息輸出引腳相連??紤]到單片機(jī)的內(nèi)存有限,在每張圖像中進(jìn)行隔行采集,對(duì)每行數(shù)據(jù)進(jìn)行不間斷保存,共采集到53行×74列的有效像素?cái)?shù)據(jù)。剔除有誤差的點(diǎn),并考慮有效使用內(nèi)存,只保存第2行到第41行,以及中間50列的像素?cái)?shù)據(jù),即實(shí)際圖像為40行×50列的數(shù)據(jù)。

2.1.1 濾波算法

圖像處理的濾波算法較多,主要分為時(shí)域?yàn)V波和頻域?yàn)V波[8-9]。時(shí)域?yàn)V波常用的方法有平均值濾波、中值濾波、限值濾波等,頻域?yàn)V波有傅里葉變換、小波變換等??紤]到頻域?yàn)V波的運(yùn)算量大,需要占用大量?jī)?nèi)存,本文采用時(shí)域?yàn)V波法。去噪濾波采用中值濾波與滑動(dòng)平均值濾波相結(jié)合的算法。中值濾波的優(yōu)點(diǎn)是能有效克服因偶然因素引起的波動(dòng)干擾,對(duì)溫度、液位等變化較緩慢的被測(cè)參數(shù)具有良好的濾波效果;滑動(dòng)平均濾波的優(yōu)點(diǎn)是對(duì)周期性干擾具有良好的抑制作用,平滑度高,適用于高頻振蕩的系統(tǒng)[10]。

在實(shí)際處理中,每次取一行中3個(gè)相鄰列的灰度值,先判斷這3個(gè)值是否有相同的灰度值,若灰度值相同則采用滑動(dòng)平均值濾波,取平均值,并將第二個(gè)值修改為該平均值;若灰度值不同則采用中值濾波,并對(duì)這3個(gè)值進(jìn)行排序,將第二個(gè)值修改為3個(gè)數(shù)值的中間值。該算法對(duì)一個(gè)像素點(diǎn)的過(guò)濾僅用到了相鄰兩個(gè)像素點(diǎn)的灰度值,計(jì)算量不大,占用內(nèi)存不多,適合單片機(jī)的計(jì)算,且該算法相對(duì)來(lái)說(shuō)較簡(jiǎn)單,時(shí)間復(fù)雜度不高,滿足了小車對(duì)快速控制系統(tǒng)的要求。

濾波前后圖像對(duì)比如圖2所示。

圖2 濾波前后圖像對(duì)比圖Fig.2 Image comparison pre-filtering and post-filtering

由圖2可以看出,經(jīng)過(guò)濾波后的圖像更適合后續(xù)的判別和處理。

2.1.2 軌跡線提取

在濾波后的圖像中,白色為小車的行駛范圍,黑線為小車需要跟蹤的軌跡,因此,軌跡線的提取即為黑線,本文采用跟蹤引線的黑線提取算法。假設(shè)某時(shí)刻找到某行的黑線中心位置m,則下一時(shí)刻在下一行的m附近搜尋黑線的左右邊緣,然后計(jì)算該行的中心位置。該方法的特點(diǎn)是始終在前一行的引線中心位置附近尋找下一行的引線位置,故稱為“跟蹤”引線的黑線提取算法。該算法的優(yōu)點(diǎn)是在首行引線檢測(cè)正確的前提下具有較強(qiáng)的抗干擾性,能更有效地消除十字垂直交叉黑色引線的干擾以及引線外黑色噪點(diǎn)的影響,始終跟蹤目標(biāo)引導(dǎo)線。

在試驗(yàn)過(guò)程中,發(fā)現(xiàn)該算法也存在一定的問(wèn)題。由于是在連續(xù)鄰域上跟蹤引導(dǎo)線,因此,若第一行引線的檢測(cè)位置和實(shí)際導(dǎo)引線偏差較大,將產(chǎn)生一連串的錯(cuò)誤,甚至造成小車失穩(wěn)。為防止這種現(xiàn)象的發(fā)生,可利用前面兩行的引線中心位置來(lái)確定下一行的黑線位置。因?yàn)榍皟尚型瑫r(shí)出錯(cuò)的概率遠(yuǎn)遠(yuǎn)小于一行出錯(cuò)的概率,所以采用這種方法造成丟失引線的幾率會(huì)大大減小。

此外,針對(duì)每行中的孤立噪點(diǎn),采用計(jì)數(shù)法排除。如果連續(xù)黑點(diǎn)數(shù)小于某個(gè)閾值時(shí),認(rèn)為是噪聲影響,而非實(shí)際的黑線,從而可以減少誤判概率。

2.1.3 梯形失真

由于攝像頭與地面之間存在俯角,導(dǎo)致采集到的圖像并不是一個(gè)方形區(qū)域,而是一個(gè)近處區(qū)域小、遠(yuǎn)處區(qū)域大的梯形區(qū)域,圖像出現(xiàn)失真。梯形失真示意圖如圖3所示。

圖3 梯形失真示意圖Fig.3 Keystone distortion

由圖3可以看出,攝像頭采集的圖像發(fā)生了很大的形變。即使遠(yuǎn)處引線偏離道路中間很大,但是在圖像上顯示出來(lái)的仍有一個(gè)較小的偏差,從而使傳感器出現(xiàn)誤差,前瞻性大大減小,小車容易因控制不及時(shí)而沖出行駛范圍。

在實(shí)際處理中,需要對(duì)圖像進(jìn)行失真補(bǔ)償:當(dāng)小車靜止時(shí),進(jìn)行掃描區(qū)域的標(biāo)定,測(cè)量出圖像區(qū)域的實(shí)際位置,并與采集到圖像中的位置進(jìn)行換算,即可得到以下變換公式。

式中:y為在實(shí)際中圖像位置的列數(shù);x為攝像頭采集到的圖像的列數(shù);k為梯形一條邊的斜率。

在變換公式中,b的取值最為關(guān)鍵,由于每行之間的間隔不同,所以圖像變換公式中不能采取同樣的b值。最佳方法是對(duì)每行設(shè)定一個(gè)相應(yīng)的b值,但對(duì)于行數(shù)較多的圖像,每行都進(jìn)行精確測(cè)定顯然不可能實(shí)現(xiàn)。為了簡(jiǎn)化程序,對(duì)于該40×50的圖像,將40行圖像按每10行分為一組(0行 ~9行、10行~19行、20行~29行、30行~39行),每組采用相同的b值,即每組的中間行測(cè)出來(lái)的b值。這樣既減少了測(cè)定每行b值的工作量,又比整個(gè)圖像采用一個(gè)b值計(jì)算得到的數(shù)據(jù)準(zhǔn)確性高。

將圖像中每一行的最中間列作為基準(zhǔn)列,這里取第24列為基準(zhǔn)列,設(shè)定為0列。將左邊的列作為負(fù)列,右邊的列為正列。經(jīng)過(guò)式(1)補(bǔ)償后得到的每一行新的各列,在第0列左邊的列,依次為第-1、-2、-3,…,第-n列,直到實(shí)際圖像最左邊的列為止;右邊依次為第1、2、3、…、n列,直到實(shí)際圖像最右邊的列為準(zhǔn)。由此得出圖像中各像素點(diǎn)的實(shí)際位置。在進(jìn)行梯形失真補(bǔ)償后,計(jì)算出每行黑線的中心位置,并保存在一維數(shù)組中。這個(gè)數(shù)據(jù)就是每行的實(shí)際引線所在位置。

得到每行引線的實(shí)際位置后,為減少誤差,再對(duì)每行的引線位置數(shù)據(jù)進(jìn)行滑動(dòng)平均濾波,取滑動(dòng)采樣值個(gè)數(shù)為5,每次修改第3個(gè)采樣值為5個(gè)采樣值的平均值。經(jīng)過(guò)濾波后,每行引線的中心位置變得更加平滑,這就避免了由于引線提取部分的計(jì)算誤差而引起的錯(cuò)誤。

2.1.4 軌跡曲率處理

對(duì)于道路形狀的判斷,可以采用曲率法。找到每行黑線的中心位置后,再進(jìn)行道路曲率信息的計(jì)算,即可得出道路的類型。簡(jiǎn)單的曲率計(jì)算公式如下所示:

式中:x1、x2和 x3為3個(gè)實(shí)際距離相等的行的黑線位置。

行駛路徑類型可以分為直道、曲率小的S彎、曲率大的S彎和普通彎道4類。U型彎道和O型彎道可以認(rèn)為是多個(gè)同方向普通彎道連接在一起,因此,都可以被認(rèn)為是普通彎道。若計(jì)算出來(lái)的曲率q接近0,則說(shuō)明該段道路為直道或者小S彎;若曲率q比較大,則說(shuō)明該段道路為普通彎道;若計(jì)算出來(lái)的曲率q非常大,則說(shuō)明該段彎道為大S彎。

在計(jì)算得到各段道路的具體類型之后,就可以進(jìn)行小車行駛路徑的優(yōu)化。通常情況下,直道和小S彎道按照直線行駛通過(guò);對(duì)于普通彎道,一般將小車行駛路線的曲率比道路彎曲程度大一點(diǎn),盡量以微內(nèi)圈的線路通過(guò);對(duì)于大S彎道,需要將小車的行駛路線曲率比道路彎曲程度小一點(diǎn),在不跑出道路的情況下盡量少走彎路,這樣小車看到的彎道類型始終是大S彎道,即可以連續(xù)地走“小彎”路線通過(guò),這樣既節(jié)約時(shí)間,且行駛速度不會(huì)因?yàn)楣諒澨蠖^(guò)于減小,并保持勻速行駛。

優(yōu)化前后路徑如圖4所示,虛線代表實(shí)際道路形狀,帶箭頭的實(shí)線代表優(yōu)化后的路徑形狀。

2.2 舵機(jī)轉(zhuǎn)角控制

在循跡小車的行駛過(guò)程中,舵機(jī)轉(zhuǎn)向控制是小車能夠穩(wěn)定行駛的一個(gè)重要因素,它對(duì)小車的速度有很大影響。若轉(zhuǎn)向及時(shí),小車就不需要在彎道處通過(guò)降低速度來(lái)通過(guò)彎道,從而保證小車始終保持勻速行駛。

小車的轉(zhuǎn)向是根據(jù)信號(hào)線輸入的占空比信號(hào)來(lái)控制固定在小車前輪的中央位置的舵機(jī),以產(chǎn)生一個(gè)轉(zhuǎn)角;再通過(guò)左右轉(zhuǎn)向搖臂產(chǎn)生一個(gè)扭矩,驅(qū)動(dòng)前輪轉(zhuǎn)向。根據(jù)測(cè)出的最左、最右和中間位置的信號(hào)占空比的值,采用等分法來(lái)確定占空比和轉(zhuǎn)角的比例。

舵機(jī)轉(zhuǎn)角一般采用PID控制[11]。最簡(jiǎn)單的是采用P控制,通過(guò)設(shè)定合適的系數(shù),就可以減小余差和超調(diào),使小車始終保持在道路中間位置且不跑出道路。但由于舵機(jī)本身是一個(gè)大慣性大延遲系統(tǒng),若只采用P控制,一旦控制不及時(shí),就會(huì)產(chǎn)生較大的超調(diào),很有可能沖出道路,或被迫采用犧牲速度的方法來(lái)?yè)Q取穩(wěn)定性。為改進(jìn)控制效果,增加了D控制,這樣就可以在出現(xiàn)偏差時(shí)作出較快反應(yīng),減少控制延時(shí)。經(jīng)測(cè)試,加入D控制后,在過(guò)普通彎道時(shí)效果較好,可以使小車入彎時(shí)轉(zhuǎn)向提前,切內(nèi)道過(guò)彎,出彎時(shí)轉(zhuǎn)向減少,但是在S彎道,尤其是大S彎道時(shí),轉(zhuǎn)過(guò)一兩個(gè)彎后,就會(huì)引起小車與引線偏差增大,很容易跑出道路,引起系統(tǒng)的不穩(wěn)定。D控制系數(shù)越大,大S彎道的穩(wěn)定性越差。I控制作用可以消除余差,但是I控制是一個(gè)緩慢的控制,而小車的速度很快,在進(jìn)入彎道時(shí),前半彎控制作用不大,且對(duì)于連續(xù)的彎道,I控制變得較強(qiáng),進(jìn)入直道后很容易引起較大的超調(diào),使小車沖出道路。在實(shí)際測(cè)試中,加入I控制后的效果并不好,在大S彎道處也沒(méi)有明顯的效果,而且會(huì)引起彎道進(jìn)入直道時(shí)車體發(fā)生抖動(dòng),整體效果反而變差。所以,舍棄I控制,只采用PD控制。

由于面陣CCD可以獲得更多的信息量,因此,可采用圖像處理得到的曲率軌跡來(lái)進(jìn)行輔助的控制。將道路曲率看作干擾,相當(dāng)于在閉環(huán)的PD控制上增加一個(gè)曲率的前饋。這樣就可以充分利用攝像頭傳感器的高前瞻性,預(yù)判前面道路的趨勢(shì)。該控制效果明顯優(yōu)于簡(jiǎn)單PD控制的控制效果。

小車舵機(jī)控制模型如圖5所示。

圖5 小車舵機(jī)控制模型Fig.5 Control model of the steering engine of car

3 循跡試驗(yàn)

考慮到實(shí)際應(yīng)用環(huán)境下對(duì)小車的平穩(wěn)運(yùn)行的要求,試驗(yàn)中對(duì)小車采用勻速運(yùn)行。道路信息為二維水平平面,寬度最大為600 mm,窄道區(qū)域最大為450 mm。道路彎曲處最小曲率半徑不小于500 mm,并且路徑有交叉,交叉角為90°。試驗(yàn)中,小車采用不同速度勻速運(yùn)行,并以偏離黑線的最大誤差和沖出道路的次數(shù)為標(biāo)準(zhǔn)衡量系統(tǒng)性能,小車試驗(yàn)數(shù)據(jù)如表1所示。表1中:V為小車速度;ΔS為最大誤差,ΔS=|S實(shí)際-S標(biāo)準(zhǔn)|;N為沖出軌跡次數(shù)。

表1 小車試驗(yàn)數(shù)據(jù)Tab.1 The experimental data of car

由表1可以看出,當(dāng)速度逐漸增大時(shí),小車偏離軌跡中心線的距離也隨之增加,沖出整個(gè)軌跡的次數(shù)也明顯增加。當(dāng)速度不是很快時(shí),小車能夠很好地跟蹤黑線。

4 結(jié)束語(yǔ)

近年來(lái),自動(dòng)循跡小車在不同場(chǎng)合的應(yīng)用需求日益增加,以激光、CCD和電磁等作為道路信息采集方式的不同循跡方式不斷出現(xiàn)。

本設(shè)計(jì)采用CCD攝像頭獲取道路信息,根據(jù)路面標(biāo)志作為導(dǎo)引信息,通過(guò)圖像處理來(lái)確定自動(dòng)循跡小車的前方路況。本文介紹了一套較為適合基于CCD的自動(dòng)循跡小車的信息處理和控制方法,并針對(duì)各模塊處理方法和運(yùn)動(dòng)控制策略進(jìn)行了分析和比較,包括CCD信息采集、道路狀況的提取和路徑形狀判斷等內(nèi)容??刂撇呗陨现饕捎米儏?shù)、帶死區(qū)的增量式數(shù)字PID控制器,使小車行駛更加穩(wěn)定。在試驗(yàn)測(cè)試中,循跡小車以不同的車速在固定跑道上行駛,采用偏離中心的最大誤差和沖出道路次數(shù)來(lái)衡量循跡小車性能。試驗(yàn)表明,本文所設(shè)計(jì)的小車能有效地識(shí)別和跟蹤多種類型的道路[12]。

[1]Lü Yingjun,Xu Anling,Chong Cancan,et al.Application analysis of the linear CCD in the path recognition system1[C]∥International Conference on Integration Technology,Shenzhen,2007:151-154.

[2]宮紀(jì)波.基于紅外反射循跡小車的傳感器布局研究[J].工業(yè)控制計(jì)算機(jī),2009,22(8):97-98.

[3]程志江,李劍波.基于遺傳算法的智能小車模糊控制系統(tǒng)的研發(fā)[J].自動(dòng)化儀表,2009,30(8):4-7.

[4]王子輝,葉云岳.基于CMOS傳感器的智能循跡小車圖像識(shí)別技術(shù)研究[J].傳感技術(shù)學(xué)報(bào),2009,22(4):484-488.

[5]卓晴,黃開(kāi)勝,邵貝貝,等.學(xué)做智能車:挑戰(zhàn)“飛思卡爾”杯[M].北京:北京航空航天大學(xué)出版社,2007:45-68.

[6]田里,姚素英,周津.CMOS圖像傳感器的自適應(yīng)降噪方法研究[J].傳感技術(shù)學(xué)報(bào),2008,21(9):697-701.

[7]楊枝靈,王開(kāi).數(shù)字圖像獲取、處理及其實(shí)踐應(yīng)用[M].北京:人民郵電出版社,2003:70-100.

[8]郎銳.數(shù)字圖像處理學(xué)[M].北京:北京希望電子出版社,2003.

[9]甄紅濤,齊曉慧.智能車參數(shù)自校正方向模糊控制器的設(shè)計(jì)[J].自動(dòng)化儀表,2010,31(9):57-59.

[10]溫陽(yáng)東,王祥好.基于線陣CCD的智能小車路徑識(shí)別系統(tǒng)[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2009,32(9):1348-1353.

[11]黃偉,吳青,馬育林,等.基于視覺(jué)導(dǎo)航的智能小車調(diào)速控制器設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào):自然科學(xué)版,2010,32(6):103-106,135.

[12]梁佳海,黃雪燕.基于光引導(dǎo)的小車自動(dòng)尋軌技術(shù)研究[J].欽州學(xué)院學(xué)報(bào),2008,23(3):38-40.

猜你喜歡
黑線循跡引線
基于DFT算法的電力巡檢無(wú)人機(jī)循跡檢測(cè)系統(tǒng)設(shè)計(jì)
基于超導(dǎo)磁體的高溫超導(dǎo)電流引線的傳熱優(yōu)化
帶引線的固體酒精
黑線
淺談基于機(jī)器視覺(jué)和姿態(tài)檢測(cè)的循跡智能車
蝦背黑線真的特別“臟”嗎
智能差分循跡小車設(shè)計(jì)
鞭炮迷宮
這也算海鮮
七巧數(shù)獨(dú)
扎鲁特旗| 宁晋县| 凤庆县| 陇西县| 察隅县| 禄丰县| 瑞昌市| 鞍山市| 那曲县| 苏州市| 郁南县| 吉木萨尔县| 新化县| 阿克苏市| 民县| 胶州市| 秭归县| 汤阴县| 光泽县| 广汉市| 曲周县| 阳城县| 历史| 雷山县| 德州市| 鄂托克前旗| 新竹县| 博爱县| 同仁县| 麻城市| 马公市| 绍兴县| 保山市| 常熟市| 桃江县| 达孜县| 顺平县| 祁东县| 金溪县| 枞阳县| 大丰市|