0 引言
無人自動(dòng)駕駛車輛作為一種高效、安全、靈活的交通車輛,促進(jìn)了交通行業(yè)的大力發(fā)展。實(shí)際研究證明,將人放在路 - 車系統(tǒng)之外,可以相對(duì)降低事故率。[1] 近年來車輛無人駕駛作為智能交通的重要組成部分,已逐漸成為研究的熱點(diǎn)。無人駕駛技術(shù)中,智能小車發(fā)展快,應(yīng)用廣,從兒童玩具可推廣到汽車工業(yè)。
目前,智能小車已基本可實(shí)現(xiàn)循跡避障等功能,現(xiàn)今大學(xué)生智能車設(shè)計(jì)大賽又在向聲控系統(tǒng)發(fā)展。本課題主要實(shí)現(xiàn)了小車的循跡避障自動(dòng)駕駛功能。
1 小型智能車自動(dòng)駕駛原理
1. 1 小車自動(dòng)避障的原理
紅外線發(fā)射管、PSD 與相應(yīng)的計(jì)算電路構(gòu)成了功能強(qiáng)大使用廣泛的 GP2D12紅外線傳感器,位置敏感檢測(cè)裝置能夠檢測(cè)到光子在其上運(yùn)動(dòng)產(chǎn)生的微量移動(dòng),微米級(jí)的分辨率使得測(cè)量更精確。利用這一特性,幾何原理測(cè)距可由GP2D12傳感器輕松實(shí)現(xiàn)[2] 。光束由發(fā)射管發(fā)出,遇到障礙物再反射到PSD上,如圖 1 所示,兩條光線與地面構(gòu)成了等腰三角形,三角形的底邊長度可由PSD測(cè)得,而兩個(gè)底角的值由發(fā)射管確定,可由此推算出高,也就是與障礙物的距離[3] 。
1. 2 小車循跡原理
用紅外探測(cè)法循跡指的是小車在白色地面上跟隨黑線行走,由于黑線和白色地面對(duì)光線的反射程度不一樣,可以根據(jù)接收到的反射光的強(qiáng)弱來尋找路線。
紅外探測(cè)法:路面信息的檢測(cè)是由光電傳感器發(fā)射管發(fā)射出一定波長的紅外線,在地面反射后回到接收管。由于黑白兩色對(duì)光線的反射程度不同,黑線吸收了大部分光線,而白色賽道反射了大部分光線,使得接收到的反射光線的強(qiáng)度存在差異,從而導(dǎo)致接收端特性曲線的變化程度不同,可近似認(rèn)為接收管兩端的輸出阻值不等,分壓后的電壓也不等,由此黑線白地便可區(qū)分開來[4] 。
1. 3 測(cè)速原理
由于霍爾元件在磁場附近時(shí)能夠感應(yīng)出高電平,稍偏離時(shí)感應(yīng)強(qiáng)度較弱,可以通過霍爾元件的這一特性來實(shí)現(xiàn)測(cè)速[5] ?;魻栐袘?yīng)磁鐵產(chǎn)生脈沖信號(hào),將4個(gè)小磁鐵均勻放置于每個(gè)車輪之下,由此計(jì)算每秒鐘感應(yīng)磁鐵產(chǎn)生的脈沖數(shù),再計(jì)算出每秒鐘小車輪子轉(zhuǎn)動(dòng)的轉(zhuǎn)數(shù),再乘以小車車輪總的周長,推算出小車當(dāng)前運(yùn)行速度,經(jīng)過累加運(yùn)算得到當(dāng)前路程。
2 系統(tǒng)硬件電路設(shè)計(jì)
2. 1 系統(tǒng)總體設(shè)計(jì)圖
圖 2 為系統(tǒng)的總體設(shè)計(jì)圖。
2. 2 主控模塊
由于智能小車的要求不是很高,Atmel 公司的 AT99C52 單片機(jī)可作為控制核心。AT99C52 的性價(jià)比高,耗能低,其主要的性能參數(shù)為:兼容標(biāo)準(zhǔn)的 MCS -51 指令系統(tǒng)、9 字節(jié)可重擦寫閃存只讀程序存儲(chǔ)器、256X9 字節(jié)隨機(jī)存取數(shù)據(jù)儲(chǔ)存器、可編程串行 UART 通道、時(shí)鐘頻率 0Hz ~24MH、3 個(gè) 16 位定時(shí)/ 計(jì)數(shù)器、9 個(gè)中斷源、32 個(gè)可編程 I/0 口線[6] 。
2. 3 避障傳感器模塊
采用 3 只 GP2D12 紅外線傳感器分別探測(cè)正前方,前右側(cè),前左側(cè)障礙物信息,該傳感器的平均有效探測(cè)距離在 10 ~90 cm 范圍內(nèi)可調(diào),可以有效地抵抗干擾光,能夠在日光下正常運(yùn)行(試驗(yàn)過程中應(yīng)該盡量避免日光或者較強(qiáng)的光源直接照射在傳感器上)。小車經(jīng)過調(diào)速后的制動(dòng)距離應(yīng)該控制在 30 cm 以內(nèi),一般維持在 10 ~20 cm,所以探測(cè)距離該根據(jù)設(shè)計(jì)小車的需求來設(shè)定。
2. 4 循跡傳感器模塊
為了實(shí)現(xiàn)循跡傳感,我們選擇反射型光電探測(cè)器 RPR220。它是一種有著一體化優(yōu)點(diǎn)的光電探測(cè)器。RPR 220 的發(fā)射器部分是一個(gè) GaAs 紅外發(fā)光二極管,而其接收器的構(gòu)成中使用了一個(gè)靈敏度較高的硅光敏三極管。RPR220 采用 DIP4 封裝,具有如下特點(diǎn):反應(yīng)靈敏、受離散光的干擾小、體積較小且結(jié)構(gòu)緊湊一體化、可簡化外圍電路設(shè)計(jì),且性能較為穩(wěn)定。
2. 5 電機(jī)選擇與驅(qū)動(dòng)模塊
電機(jī)的選擇采用直流電機(jī)。直流減速電機(jī)可提供較大的轉(zhuǎn)動(dòng)力矩,安裝方便,操作簡單,質(zhì)量輕、體積小,能夠較好的滿足系統(tǒng)的要求。
如圖 3 所示,使用 L299N 芯片驅(qū)動(dòng)電機(jī)。采用 SMT 工藝穩(wěn)定性高,采用高質(zhì)量鋁電解電容,使電路穩(wěn)定工作??梢灾苯域?qū)動(dòng)兩路 3 ~35V 直流電機(jī),并提供了 5V 輸出接口(輸入最低只要 6V),可以給 5V單片機(jī)電路系統(tǒng)供電(低紋波系數(shù)),支持 3. 3V MCU 和 ARM 控制,可以方便的控制直流電機(jī)速度和方向,也可以控制 2 相步進(jìn)電機(jī),5 線 4 相步進(jìn)電機(jī)。用該芯片作為電機(jī)驅(qū)動(dòng),操作便捷,穩(wěn)定性好,且工作性能較為突出。
驅(qū)動(dòng)模塊主要功能是使主控芯片來發(fā)出的信號(hào)并將該信號(hào)發(fā)送給 L299N 電機(jī)控制芯片,L299N 電機(jī)控制芯片將使小車按照指令執(zhí)行相應(yīng)的動(dòng)作。VDD 引腳和 VCC 引腳作為 L299N 芯片電源引腳,電機(jī)的電源是 VDD 引腳接的 +9V 電源,芯片由接到 VCC 引腳上的 +5V 電源供能。
為了保證小車轉(zhuǎn)向成功,讓轉(zhuǎn)向電機(jī)以最大功率輸出以獲得最大的扭矩,轉(zhuǎn)向電機(jī)的輸出功率不需再控制,所以 ENA 引腳(即轉(zhuǎn)向電機(jī)使能引腳)直接接入 +5V,即讓轉(zhuǎn)向電機(jī)一直使能。
對(duì)于后置的驅(qū)動(dòng)電機(jī),除了要控制其實(shí)現(xiàn)前進(jìn)、后退和停止外,還需控制其轉(zhuǎn)速以解決因電量不足而使小車速度變慢的問題。因此,可通過將 L299N 芯片的 ENB 引腳與 AT99C52 的 P1. 7 引腳連接起來,以實(shí)現(xiàn) PWM 調(diào)速。
L299N 芯片的 IN1 和 IN2 引腳分別和 AT99C52 的 P1. 2 和 P1. 3 引腳連接用來接收主控芯片輸出的動(dòng)作指令,并通過端口 OUT1 和 OUT2 將指令轉(zhuǎn)化為電機(jī)轉(zhuǎn)向(正轉(zhuǎn)或反轉(zhuǎn))的動(dòng)作,至此實(shí)現(xiàn)了小車的橫向控制。
L299N 芯片的 IN3 和 IN4 引腳分別與 AT99C52 的 P1. 4 和 P1. 5 引腳連接用來接收主控芯片輸出的動(dòng)作指令,并通過端口 OUT3 和 OUT4 來控制驅(qū)動(dòng)電機(jī)的轉(zhuǎn)向,最終功能的實(shí)現(xiàn)表現(xiàn)在小車的前進(jìn)、后退、停止。
2. 6 直流調(diào)速模塊
調(diào)速的實(shí)現(xiàn)是選擇基于 PWM 為主控電路的調(diào)速系統(tǒng)。相較于傳統(tǒng)的直流調(diào)速技術(shù),PWM(脈寬調(diào)制技術(shù))直流調(diào)速系統(tǒng)具有較大的優(yōu)越性:主電路線路簡單,需要的功率元件少;主電路元件工作在開關(guān)狀態(tài),導(dǎo)通損耗小,低速性能好,穩(wěn)速精度高,因而調(diào)速范圍寬;系統(tǒng)頻帶寬,快速響應(yīng)性能好,動(dòng)態(tài)抗干擾能力強(qiáng);開關(guān)頻率高,電流容易連續(xù),諧波少,電機(jī)損耗和發(fā)熱都較小;裝置效率高[7] 。
一般通過調(diào)節(jié)各路 PWM 的占空比來改變直流電動(dòng)機(jī)電樞兩端電壓,這里采用定頻調(diào)寬法。保證頻率一定,通過程序控制單片機(jī)的定時(shí)計(jì)數(shù)器計(jì)數(shù)次數(shù),或使用軟件延時(shí)等方法均可達(dá)到調(diào)整脈寬的目的。此方式可以使硬件電路簡化,且具有操作性強(qiáng)等優(yōu)點(diǎn)。要求做直線運(yùn)動(dòng)時(shí),分別控制左右兩電機(jī)的 PWM 的占空比使它們相同,即可讓小車以相應(yīng)速度的直線運(yùn)動(dòng)。
要求做曲線運(yùn)動(dòng)時(shí),在初始狀態(tài)給定小車車輪一定轉(zhuǎn)速,將小車起始位置設(shè)置在原點(diǎn)。由逆運(yùn)動(dòng)學(xué)進(jìn)行速度分析,要使小車沿著一定半徑做曲線運(yùn)動(dòng),則根據(jù)該半徑大小可以推算出小車左右輪所需的速度大小和差值。對(duì)擬合曲線方程進(jìn)行分析,可以得到相應(yīng)的電機(jī)驅(qū)動(dòng)右輪的 PWM 占空比。因?yàn)樗俣群蚉WM 的脈沖寬度有著正比例關(guān)系,所以我們?cè)诔绦蛑型ㄟ^脈沖寬度調(diào)節(jié)速度。
3 系統(tǒng)的軟件設(shè)計(jì)分析
3. 1 程序設(shè)計(jì)主流程圖與主控制策略
在尋跡和避障中,控制的電機(jī)方式基本一樣。當(dāng)左邊的避障傳感器或右邊的尋跡傳感器檢測(cè)到信號(hào)時(shí),都是左轉(zhuǎn)速不變,右輪轉(zhuǎn)速減小 PWM 的占空比,從而使右輪轉(zhuǎn)速減慢,實(shí)現(xiàn)差速轉(zhuǎn)彎,向右轉(zhuǎn)的同時(shí)實(shí)現(xiàn)避障和尋跡;右邊也是如此。如果當(dāng)左右尋跡傳感器同時(shí)檢測(cè)到信號(hào),或是左邊避障和左邊尋跡、右邊避障和右邊尋跡。這種情況下不能同時(shí)滿足避障和尋跡,只能使車停下。圖 4 為程序流程圖。
3. 2 傳感器數(shù)據(jù)處理及尋跡程序流程
車底的 6 個(gè)傳感器用一個(gè)字節(jié)來表示,并將傳感器當(dāng)前的檢測(cè)狀態(tài)用字節(jié)中的每一個(gè)位來表示,小車直線行駛時(shí)有三種情況。圖 5 為傳感器子程序流程圖。當(dāng)位于車體中央的四個(gè)傳感器都檢測(cè)到黑線時(shí),小車恰好位于賽道正上方,此時(shí)系統(tǒng)控制兩電機(jī)等速全速前進(jìn)。當(dāng)檢測(cè)到某一側(cè)一個(gè)或兩個(gè)傳感器偏離黑線,此時(shí)小車偏離黑線程度較小,系統(tǒng)將一個(gè)電機(jī)速度調(diào)快,另一個(gè)電機(jī)速度調(diào)慢,實(shí)現(xiàn)方向上的微調(diào)。當(dāng)傳感器檢測(cè)到有 3 個(gè)電機(jī)偏離運(yùn)行,小車偏離范圍較大,這時(shí)系統(tǒng)大幅降低一個(gè)電機(jī)速度,并使另一電機(jī)以最高速度運(yùn)行,在短時(shí)間內(nèi)實(shí)現(xiàn)方向調(diào)整。使用這種 3 級(jí)調(diào)速的循跡算法程序構(gòu)思清晰,程序執(zhí)行可靠性高。
4 結(jié)語
本文所設(shè)計(jì)的自動(dòng)駕駛系統(tǒng)實(shí)現(xiàn)的功能和現(xiàn)有的智能小車近似。創(chuàng)新之處在于利用兩個(gè)電機(jī)的差動(dòng)調(diào)節(jié),控制電動(dòng)小車的自動(dòng)避障、尋光及自動(dòng)停車;由單片機(jī)系統(tǒng)來控制智能車的行駛狀態(tài);并用 PWM技術(shù)實(shí)現(xiàn)了電動(dòng)機(jī)的多級(jí)調(diào)速,革新了控制策略與程序,使整機(jī)工作更加可靠,節(jié)約能源,在將來的機(jī)動(dòng)車市場上能發(fā)揮更大作用。
責(zé)任編輯:ct
評(píng)論
查看更多