基于包容式結(jié)構(gòu)的智能循跡小車設(shè)計(jì)
摘要:設(shè)計(jì)出一個(gè)基于包容式結(jié)構(gòu)的智能循跡小車,該小車采用單片機(jī)AT89S51作為控制器。該系統(tǒng)主要有避障行為模塊、軌線跟蹤行為模塊、遠(yuǎn)程控制行為以及緊急停車模塊。采用紅外傳感器設(shè)計(jì)檢測(cè)軌線模塊,超聲波傳感器設(shè)計(jì)避障模塊。對(duì)于避障行為模塊,提出采用模糊控制算法進(jìn)行避障。經(jīng)大量實(shí)驗(yàn)驗(yàn)證該小車不僅能穩(wěn)定跟蹤軌線,而且能繞障礙物行走。
智能小車是一種集環(huán)境感知、動(dòng)態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多種功能于一體的綜合系統(tǒng),是一種功能簡(jiǎn)化的移動(dòng)機(jī)器人,廣泛用于智能吸塵器、搬運(yùn)小型物件、清理垃圾等。所謂智能,即是沒有人為干預(yù)下能自動(dòng)完成給定的任務(wù)。然而,環(huán)境未知,執(zhí)行任務(wù)復(fù)雜,單一的傳感器不能實(shí)現(xiàn)其功能,多傳感器信息技術(shù)被用來感知周圍環(huán)境與任務(wù)執(zhí)行是一種有效的措施,通過多傳感器信息的綜合判斷處理,獲得對(duì)環(huán)境的正確理解,使小車系統(tǒng)具有容錯(cuò)性,保證系統(tǒng)信息的快速性和正確性,其可靠度高于單個(gè)傳感器所能達(dá)到的目標(biāo)。常用機(jī)器人的體系結(jié)構(gòu)有分層體系結(jié)構(gòu)、包容式體系結(jié)構(gòu)和混合式體系結(jié)構(gòu)。在20世紀(jì)80年代Brooks提出了機(jī)器人的行為主義和包容結(jié)構(gòu),將復(fù)雜的任務(wù)分解成多個(gè)簡(jiǎn)單的可以并發(fā)執(zhí)行的單元,每個(gè)單元有自己的感知器和執(zhí)行器。多個(gè)行為相耦合構(gòu)成層次模型,重點(diǎn)強(qiáng)調(diào)在不同層間的聯(lián)系以及不同行為功能分配。智能小車也就是簡(jiǎn)化的移動(dòng)機(jī)器人,其運(yùn)動(dòng)控制就是通過調(diào)節(jié)智能小車的運(yùn)動(dòng)速度和運(yùn)動(dòng)方向,使智能小車沿期望的路徑運(yùn)動(dòng)。機(jī)器人的行為可以分為兩大類:反應(yīng)型和慎思型。反應(yīng)型行為是一種激勵(lì)一響應(yīng)行為,不需要計(jì)算過程,響應(yīng)時(shí)間短。Brook等提出的包容結(jié)構(gòu)就是典型的反應(yīng)范式,行為按照能力的等級(jí)進(jìn)行分層,位于較高層次的行為可以覆蓋相鄰低層次的行為輸出。慎思行為是可學(xué)習(xí)的,有意識(shí)的行為。它是將規(guī)劃加入到反應(yīng)式中,使得機(jī)器人具有記憶和推理能力。傳統(tǒng)的基于感知-建模-規(guī)劃-動(dòng)作的方法不易建立準(zhǔn)確的環(huán)境模型,而且較難實(shí)現(xiàn)動(dòng)態(tài)的、未知環(huán)境下的路徑跟蹤。反應(yīng)式是一種從感知到動(dòng)作的直接映射,智能小車能夠?qū)ν饨绛h(huán)境作出快速響應(yīng)。基于本文的研究目的,在未知的、動(dòng)態(tài)的室內(nèi)環(huán)境設(shè)計(jì)一個(gè)智能循跡小車,不僅要求穩(wěn)定實(shí)時(shí)跟蹤給定軌線運(yùn)動(dòng),且跟蹤過程自動(dòng)繞開障礙物,采用一種基于包容式結(jié)構(gòu)的軌線跟蹤控制方法設(shè)計(jì)智能循跡小車。
1 智能循跡小車設(shè)計(jì)原理
智能循跡小車在沒有人干預(yù)的環(huán)境中,能沿給定路線行走并在突然有障礙物出現(xiàn)時(shí)能繞開障礙物或者緊急停車。本次設(shè)計(jì)的小車主要實(shí)現(xiàn)智能循跡,采用單片機(jī)AT89S51作為控制器,采用反射式紅外線光電傳感器用于檢測(cè)路面的引導(dǎo)軌跡,采用壓電式超聲波傳感器來實(shí)現(xiàn)對(duì)小車的智能避障,用NT-T10A發(fā)射模塊和XY-R04A接收模塊作為無線遠(yuǎn)程控制模塊,實(shí)現(xiàn)對(duì)智能小車的遠(yuǎn)程控制,同時(shí)在LCD屏幕上顯示小車的運(yùn)行狀態(tài),速度等情況,兩直流電動(dòng)機(jī)即左右輪各一個(gè),采用L298N來驅(qū)動(dòng)電動(dòng)小車的兩臺(tái)直流電動(dòng)機(jī)實(shí)現(xiàn)小車的直行與轉(zhuǎn)彎。該系統(tǒng)的主要實(shí)現(xiàn)硬件結(jié)構(gòu)框架圖如圖1所示。
智能小車的主要任務(wù)實(shí)現(xiàn)軌跡跟蹤,首先根據(jù)紅外傳感器獲得路面信息,檢測(cè)跟蹤軌跡線,通過獲得的軌跡信息進(jìn)行計(jì)算,判斷驅(qū)動(dòng)左輪還是右輪,向左或向右轉(zhuǎn)動(dòng)角度,同時(shí)啟動(dòng)避障功能,檢測(cè)是否有障礙,如果有,結(jié)束軌跡跟蹤,進(jìn)行避障。判斷是否有遠(yuǎn)程人為控制命令,如果有,就結(jié)束軌跡跟蹤或者避障功能,響應(yīng)遠(yuǎn)程控制命令。同時(shí)檢測(cè)是否有結(jié)束程序命令,如果有,就結(jié)束所有任務(wù)。該系統(tǒng)基本行為模塊如圖2所示,采用水平分解任務(wù)結(jié)構(gòu)模式,每個(gè)行為都在運(yùn)行,通過單片機(jī)中斷設(shè)置實(shí)現(xiàn)。
2 行為模塊設(shè)計(jì)
2.1 避障模塊設(shè)計(jì)
采用兩個(gè)超聲波傳感器,分別設(shè)計(jì)在小車左側(cè)與右側(cè)。圖3為左側(cè)超聲波傳感器與單片機(jī)相連。VCC接5 V電源,Trig與AT89S51單片機(jī)的P1.0相連,Echo與AT89S51單片機(jī)P1.1相連,GND與地相連即可。右側(cè)傳感器連接方式與左側(cè)相同,但是與單片機(jī)連接分別為P1.2與P1.3。
障礙物距離信息是超聲波從發(fā)射聲波接收到反射回來聲波的時(shí)問間隔與速度乘積得到。設(shè)時(shí)間間隔為t,超聲波在空氣中的傳播速度為v,則傳感器與障礙物的距離d為:
避障不僅能夠使智能小車順利執(zhí)行任務(wù),而且能夠阻止智能小車對(duì)環(huán)境的損傷。目前移動(dòng)機(jī)器人用于避障的方法較多,就環(huán)境信息已知的研究來看,主要有矢量力場(chǎng)法、柵格法、人工神經(jīng)網(wǎng)絡(luò)法、模擬退火算法、螞蟻算法等。對(duì)于環(huán)境未知的避障研究有人工勢(shì)場(chǎng)法、模糊邏輯法等,模糊邏輯法將模糊控制本身所具有的魯棒性與基于生理學(xué)的“感知-動(dòng)作”行為結(jié)合起來,為移動(dòng)機(jī)器人在復(fù)雜環(huán)境中的避障導(dǎo)航提出了新的思路。模糊邏輯法避開了對(duì)環(huán)境信息依賴的特點(diǎn),對(duì)處理未知的、實(shí)時(shí)的復(fù)雜環(huán)境具有較強(qiáng)的優(yōu)越性。對(duì)于障礙物避障采用模糊控制算法進(jìn)行避障,對(duì)于智能小車與左右側(cè)障礙物之間的距離分為三個(gè)語意變量即大、中、小,輸出的速度也分為三個(gè)語意變量即快、中、慢本設(shè)計(jì)采用PWM波控制電機(jī)轉(zhuǎn)速,模糊控制器輸出直接控制脈沖寬度。
2.2 軌跡跟蹤模塊
本系統(tǒng)共設(shè)計(jì)三個(gè)紅外線傳感器,分別放置在電動(dòng)車的左、中、右三個(gè)方向,用來讀取地上的黑色軌跡線。當(dāng)行車方向偏離軌跡的時(shí)候,通過這三個(gè)紅外線感應(yīng)裝置就可以判斷出行車偏離的方向,將實(shí)時(shí)信息以高低電平的方式傳送回單片機(jī),然后通過單片機(jī)的處理,相應(yīng)的控制直流芯片就可以修正行車路線,最終完成自動(dòng)尋跡的任務(wù)。紅外線傳感器的工作過程如下:當(dāng)行車方向向右偏離軌跡線的時(shí)候,會(huì)有兩種情況發(fā)生:1)中間和左側(cè)紅外線傳感器同時(shí)接觸到地面黑線,右側(cè)傳感器接觸白色地面;2)左側(cè)一個(gè)傳感器接觸黑線,中間和右側(cè)傳感器接觸地面白色部分。這兩種情況都是行車方向右偏移的情況。相似的小車發(fā)生左偏移的時(shí)候也有兩種情況。這三個(gè)傳感器作為行車數(shù)據(jù)的輸入信號(hào)由單片機(jī)的I/O口輸入,那么就需要一個(gè)TFL的電壓,而且要根據(jù)需求可以對(duì)傳感器的靈敏度進(jìn)行微調(diào),滿足靈敏度的需要。所以可以把這三路信號(hào)引入由LM324組成的電壓比較器進(jìn)行電平的整形,最終給單片機(jī)使用。
圖4是一路紅外光傳感器電路的原理圖。VCC接入5 V電源,D1是紅外線發(fā)射管,上接一個(gè)限流保護(hù)電阻R1,D2是紅外線接收管,上接一個(gè)上拉電阻。當(dāng)接觸的是白色地面的時(shí)候,紅外線被反射回接收管,接收管就導(dǎo)通,這路傳感器就輸出低電平信號(hào)給LM324的反相端口,此時(shí)由變阻器引出的是一高電平信號(hào)給LM324的同向端口,那么經(jīng)過LM324的比較,便輸出一個(gè)高電平信號(hào)給排針,而和排針串聯(lián)的發(fā)光二極管陰極是LM324的高電平無法導(dǎo)通也就不能發(fā)光。若是傳感器接觸到的是黑色導(dǎo)線的話,那么紅外線就被吸收,而接收二極管便截止,此時(shí)傳感器就輸出高電平給LM324的反相端口,LM324同向端口的電平?jīng)]有反相端口的高,LM324就輸出低電平給排針,串接上排針的發(fā)光二極管就導(dǎo)通,提示這路傳感器正接觸黑色導(dǎo)線。電機(jī)轉(zhuǎn)速根據(jù)左、中、右紅外傳感器檢測(cè)結(jié)果,經(jīng)LM324整形后給單片機(jī),單片機(jī)輸出不同PWM波控制左右輪電機(jī)轉(zhuǎn)速。
3 行為控制模塊設(shè)計(jì)
基于行為的系統(tǒng)作為一個(gè)混雜系統(tǒng),既要穩(wěn)定地控制智能小車的連續(xù)動(dòng)力學(xué)行為,同時(shí)又要系統(tǒng)地、策略地面對(duì)突如其來的隨機(jī)事件(例如環(huán)境中的障礙)。首要問題就是如何設(shè)計(jì)多種可能的有效行為,其次是如何有效地協(xié)調(diào)或融合不同類型的行為之間的沖突或競(jìng)爭(zhēng),從而達(dá)到一個(gè)令人滿意的效果。為了能夠同時(shí)實(shí)現(xiàn)多個(gè)目標(biāo),有時(shí)候智能小車需要執(zhí)行多個(gè)基本行為。在某個(gè)時(shí)刻僅有一個(gè)行為被觸發(fā),系統(tǒng)一般都能夠比較平穩(wěn)地運(yùn)行。然而,當(dāng)兩個(gè)甚至更多的行為同時(shí)觸發(fā),并且每個(gè)行為都需要智能小車執(zhí)行不同的操作時(shí),智能小車該怎么辦呢?
本設(shè)計(jì)為解決智能小車實(shí)時(shí)性問題,選擇采用包容式結(jié)構(gòu)進(jìn)行任務(wù)決策,包容式結(jié)構(gòu)將復(fù)雜的軌跡跟蹤任務(wù)分解為水平的若干個(gè)子任務(wù),每個(gè)子任務(wù)功能層具有獨(dú)立完成任務(wù)的功能。高層功能層抑制較底層功能層,如圖5所示,軌跡跟蹤系統(tǒng)層為高層功能層。根據(jù)行為控制方法,首先確定功能層的優(yōu)先級(jí),功能層越低優(yōu)先級(jí)越高。如圖5所示,功能層結(jié)束命令最低,但是優(yōu)先級(jí)最高,當(dāng)運(yùn)動(dòng)過程中需要執(zhí)行結(jié)束命令時(shí),小車在執(zhí)行其它三個(gè)功能之一,首先響應(yīng)結(jié)束命令,軌跡跟蹤功能層最低,當(dāng)有障礙時(shí)候,智能小車首先執(zhí)行避障,然后執(zhí)行軌跡跟蹤。本次設(shè)計(jì)共有4個(gè)功能層:
1)遇到緊急行為需要停止運(yùn)行程序;
2)遠(yuǎn)程控制行為;
3)避障行為;
4)軌跡跟蹤行為。
根據(jù)行為控制方法,首先確定功能層的優(yōu)先級(jí),功能層越低優(yōu)先級(jí)越高,即Leve10優(yōu)先級(jí)最高,在發(fā)生意外情況時(shí),人工可以通過結(jié)束程序運(yùn)行來結(jié)束進(jìn)程。人為遠(yuǎn)程控制作為第一層,可以實(shí)現(xiàn)操作員的愿望。突然碰到障礙物時(shí),避開障礙物作為第二層,循跡過程中繞開障礙,才繼續(xù)循跡。
紅外傳感器產(chǎn)生的軌跡跟蹤行為設(shè)置為最高層,因?yàn)樵诟欉^程中,智能小車以及人的安全性第一,所以它的優(yōu)先級(jí)最低。圖5中圓圈中的S為“suppress”的意思,即高優(yōu)先級(jí)的行為抑制低優(yōu)先級(jí)的行為控制,當(dāng)在軌跡跟蹤過程中,突然有障礙出現(xiàn),智能小車首先啟動(dòng)避障行為,暫停跟蹤行為,避障行為結(jié)束立即執(zhí)行跟蹤行為。
4 實(shí)驗(yàn)結(jié)果分析
設(shè)計(jì)的循跡小車具有較好的跟蹤效果,分別在地面與白紙上做了軌跡跟蹤實(shí)驗(yàn)。小車跟蹤軌線如圖6所示。對(duì)于本文設(shè)計(jì)的智能循跡小車不僅直線能穩(wěn)定跟蹤,即使不規(guī)則彎曲的線也能較好地跟蹤。
由于在軟件中設(shè)置了用于防干擾的盲走程序。所以,可以通過使用軌跡線不均勻的誤差跑道和過彎測(cè)試的方法來檢驗(yàn)系統(tǒng)的抗干擾性能。經(jīng)過測(cè)試,當(dāng)路面的軌跡線不均勻的時(shí)候,小車可以根據(jù)前一個(gè)狀態(tài)指令進(jìn)行盲走,可以通過軌跡不均勻的軌跡線段。小車程序段中設(shè)置了原地自轉(zhuǎn)的程序,理論上小車可以通過接近180度的彎道。所以小車具有一定的過彎性能。經(jīng)過測(cè)試,在彎道處小車可以通過。但是由于小車的行駛速度控制不均勻,在直線和彎道接觸段是有一定沖出跑道的幾率的。
小車在循跡過程中出現(xiàn)偶然狀態(tài)時(shí),即突然遇到一個(gè)障礙物時(shí),小車能沿障礙物行走,直到遇到軌線沒有障礙物在前面時(shí)繼續(xù)循跡。當(dāng)障礙物靠得很近或者是在一個(gè)封閉的小范圍內(nèi)時(shí),小車可能有時(shí)來不及直走就直接右轉(zhuǎn)行駛了,導(dǎo)致小車在這個(gè)范圍內(nèi)一直保持右轉(zhuǎn)行駛,在同時(shí)檢測(cè)到?jīng)]有障礙物與軌線時(shí),說明小車軌線跟蹤失敗,自動(dòng)結(jié)束程序,小車停止。
5 結(jié)論
本文設(shè)計(jì)出一種基于包容式行為控制的智能循跡小車,采用單片機(jī)AT89S51作為控制器,紅外傳感器檢測(cè)軌跡線,將檢測(cè)結(jié)果經(jīng)LM324整形后傳給單片機(jī),設(shè)計(jì)程序輸出適合的PWM波控制智能小車左右輪轉(zhuǎn)速。超聲波傳感器檢測(cè)障礙物信息,設(shè)計(jì)模糊避障控制器,將控制器輸出結(jié)果用于電機(jī)轉(zhuǎn)速控制,使智能小車實(shí)現(xiàn)自動(dòng)避障,且繞障礙物行走。在室內(nèi)外做了大量的實(shí)驗(yàn),本文設(shè)計(jì)的小車不僅能穩(wěn)定地跟蹤黑色軌跡線,而且遇到障礙物時(shí)候能繞障礙物行走。