0 引言
無人自動駕駛車輛作為一種高效、安全、靈活的交通車輛,促進了交通行業的大力發展。實際研究證明,將人放在路 - 車系統之外,可以相對降低事故率。[1] 近年來車輛無人駕駛作為智能交通的重要組成部分,已逐漸成為研究的熱點。無人駕駛技術中,智能小車發展快,應用廣,從兒童玩具可推廣到汽車工業。
目前,智能小車已基本可實現循跡避障等功能,現今大學生智能車設計大賽又在向聲控系統發展。本課題主要實現了小車的循跡避障自動駕駛功能。
1 小型智能車自動駕駛原理
1. 1 小車自動避障的原理
紅外線發射管、PSD 與相應的計算電路構成了功能強大使用廣泛的 GP2D12紅外線傳感器,位置敏感檢測裝置能夠檢測到光子在其上運動產生的微量移動,微米級的分辨率使得測量更精確。利用這一特性,幾何原理測距可由GP2D12傳感器輕松實現[2] 。光束由發射管發出,遇到障礙物再反射到PSD上,如圖 1 所示,兩條光線與地面構成了等腰三角形,三角形的底邊長度可由PSD測得,而兩個底角的值由發射管確定,可由此推算出高,也就是與障礙物的距離[3] 。
1. 2 小車循跡原理
用紅外探測法循跡指的是小車在白色地面上跟隨黑線行走,由于黑線和白色地面對光線的反射程度不一樣,可以根據接收到的反射光的強弱來尋找路線。
紅外探測法:路面信息的檢測是由光電傳感器發射管發射出一定波長的紅外線,在地面反射后回到接收管。由于黑白兩色對光線的反射程度不同,黑線吸收了大部分光線,而白色賽道反射了大部分光線,使得接收到的反射光線的強度存在差異,從而導致接收端特性曲線的變化程度不同,可近似認為接收管兩端的輸出阻值不等,分壓后的電壓也不等,由此黑線白地便可區分開來[4] 。
1. 3 測速原理
由于霍爾元件在磁場附近時能夠感應出高電平,稍偏離時感應強度較弱,可以通過霍爾元件的這一特性來實現測速[5] 。霍爾元件感應磁鐵產生脈沖信號,將4個小磁鐵均勻放置于每個車輪之下,由此計算每秒鐘感應磁鐵產生的脈沖數,再計算出每秒鐘小車輪子轉動的轉數,再乘以小車車輪總的周長,推算出小車當前運行速度,經過累加運算得到當前路程。
2 系統硬件電路設計
2. 1 系統總體設計圖
圖 2 為系統的總體設計圖。
2. 2 主控模塊
由于智能小車的要求不是很高,Atmel 公司的 AT99C52 單片機可作為控制核心。AT99C52 的性價比高,耗能低,其主要的性能參數為:兼容標準的 MCS -51 指令系統、9 字節可重擦寫閃存只讀程序存儲器、256X9 字節隨機存取數據儲存器、可編程串行 UART 通道、時鐘頻率 0Hz ~24MH、3 個 16 位定時/ 計數器、9 個中斷源、32 個可編程 I/0 口線[6] 。
2. 3 避障傳感器模塊
采用 3 只 GP2D12 紅外線傳感器分別探測正前方,前右側,前左側障礙物信息,該傳感器的平均有效探測距離在 10 ~90 cm 范圍內可調,可以有效地抵抗干擾光,能夠在日光下正常運行(試驗過程中應該盡量避免日光或者較強的光源直接照射在傳感器上)。小車經過調速后的制動距離應該控制在 30 cm 以內,一般維持在 10 ~20 cm,所以探測距離該根據設計小車的需求來設定。
2. 4 循跡傳感器模塊
為了實現循跡傳感,我們選擇反射型光電探測器 RPR220。它是一種有著一體化優點的光電探測器。RPR 220 的發射器部分是一個 GaAs 紅外發光二極管,而其接收器的構成中使用了一個靈敏度較高的硅光敏三極管。RPR220 采用 DIP4 封裝,具有如下特點:反應靈敏、受離散光的干擾小、體積較小且結構緊湊一體化、可簡化外圍電路設計,且性能較為穩定。
2. 5 電機選擇與驅動模塊
電機的選擇采用直流電機。直流減速電機可提供較大的轉動力矩,安裝方便,操作簡單,質量輕、體積小,能夠較好的滿足系統的要求。
如圖 3 所示,使用 L299N 芯片驅動電機。采用 SMT 工藝穩定性高,采用高質量鋁電解電容,使電路穩定工作。可以直接驅動兩路 3 ~35V 直流電機,并提供了 5V 輸出接口(輸入最低只要 6V),可以給 5V單片機電路系統供電(低紋波系數),支持 3. 3V MCU 和 ARM 控制,可以方便的控制直流電機速度和方向,也可以控制 2 相步進電機,5 線 4 相步進電機。用該芯片作為電機驅動,操作便捷,穩定性好,且工作性能較為突出。
驅動模塊主要功能是使主控芯片來發出的信號并將該信號發送給 L299N 電機控制芯片,L299N 電機控制芯片將使小車按照指令執行相應的動作。VDD 引腳和 VCC 引腳作為 L299N 芯片電源引腳,電機的電源是 VDD 引腳接的 +9V 電源,芯片由接到 VCC 引腳上的 +5V 電源供能。
為了保證小車轉向成功,讓轉向電機以最大功率輸出以獲得最大的扭矩,轉向電機的輸出功率不需再控制,所以 ENA 引腳(即轉向電機使能引腳)直接接入 +5V,即讓轉向電機一直使能。
對于后置的驅動電機,除了要控制其實現前進、后退和停止外,還需控制其轉速以解決因電量不足而使小車速度變慢的問題。因此,可通過將 L299N 芯片的 ENB 引腳與 AT99C52 的 P1. 7 引腳連接起來,以實現 PWM 調速。
L299N 芯片的 IN1 和 IN2 引腳分別和 AT99C52 的 P1. 2 和 P1. 3 引腳連接用來接收主控芯片輸出的動作指令,并通過端口 OUT1 和 OUT2 將指令轉化為電機轉向(正轉或反轉)的動作,至此實現了小車的橫向控制。
L299N 芯片的 IN3 和 IN4 引腳分別與 AT99C52 的 P1. 4 和 P1. 5 引腳連接用來接收主控芯片輸出的動作指令,并通過端口 OUT3 和 OUT4 來控制驅動電機的轉向,最終功能的實現表現在小車的前進、后退、停止。
2. 6 直流調速模塊
調速的實現是選擇基于 PWM 為主控電路的調速系統。相較于傳統的直流調速技術,PWM(脈寬調制技術)直流調速系統具有較大的優越性:主電路線路簡單,需要的功率元件少;主電路元件工作在開關狀態,導通損耗小,低速性能好,穩速精度高,因而調速范圍寬;系統頻帶寬,快速響應性能好,動態抗干擾能力強;開關頻率高,電流容易連續,諧波少,電機損耗和發熱都較小;裝置效率高[7] 。
一般通過調節各路 PWM 的占空比來改變直流電動機電樞兩端電壓,這里采用定頻調寬法。保證頻率一定,通過程序控制單片機的定時計數器計數次數,或使用軟件延時等方法均可達到調整脈寬的目的。此方式可以使硬件電路簡化,且具有操作性強等優點。要求做直線運動時,分別控制左右兩電機的 PWM 的占空比使它們相同,即可讓小車以相應速度的直線運動。
要求做曲線運動時,在初始狀態給定小車車輪一定轉速,將小車起始位置設置在原點。由逆運動學進行速度分析,要使小車沿著一定半徑做曲線運動,則根據該半徑大小可以推算出小車左右輪所需的速度大小和差值。對擬合曲線方程進行分析,可以得到相應的電機驅動右輪的 PWM 占空比。因為速度和PWM 的脈沖寬度有著正比例關系,所以我們在程序中通過脈沖寬度調節速度。
3 系統的軟件設計分析
3. 1 程序設計主流程圖與主控制策略
在尋跡和避障中,控制的電機方式基本一樣。當左邊的避障傳感器或右邊的尋跡傳感器檢測到信號時,都是左轉速不變,右輪轉速減小 PWM 的占空比,從而使右輪轉速減慢,實現差速轉彎,向右轉的同時實現避障和尋跡;右邊也是如此。如果當左右尋跡傳感器同時檢測到信號,或是左邊避障和左邊尋跡、右邊避障和右邊尋跡。這種情況下不能同時滿足避障和尋跡,只能使車停下。圖 4 為程序流程圖。
3. 2 傳感器數據處理及尋跡程序流程
車底的 6 個傳感器用一個字節來表示,并將傳感器當前的檢測狀態用字節中的每一個位來表示,小車直線行駛時有三種情況。圖 5 為傳感器子程序流程圖。當位于車體中央的四個傳感器都檢測到黑線時,小車恰好位于賽道正上方,此時系統控制兩電機等速全速前進。當檢測到某一側一個或兩個傳感器偏離黑線,此時小車偏離黑線程度較小,系統將一個電機速度調快,另一個電機速度調慢,實現方向上的微調。當傳感器檢測到有 3 個電機偏離運行,小車偏離范圍較大,這時系統大幅降低一個電機速度,并使另一電機以最高速度運行,在短時間內實現方向調整。使用這種 3 級調速的循跡算法程序構思清晰,程序執行可靠性高。
4 結語
本文所設計的自動駕駛系統實現的功能和現有的智能小車近似。創新之處在于利用兩個電機的差動調節,控制電動小車的自動避障、尋光及自動停車;由單片機系統來控制智能車的行駛狀態;并用 PWM技術實現了電動機的多級調速,革新了控制策略與程序,使整機工作更加可靠,節約能源,在將來的機動車市場上能發揮更大作用。
參考文獻:
[1]于虹. 基于 16 位單片機 MC9S12DG129 智能模型車系統開發研究[D]. 包頭:內蒙古科技大學,2009.
[2]徐魯旭. 基于 ARM + DSP 的機器人控制系統設計[D]. 北京:北京郵電大學,2010.
[3]張航. 基于 MSP430 與 UZ2400 的無線傳感器網絡節點的設計與應用[D]. 長春:吉林大學,2010.
[4]曾偉欽,徐東升,冉志勇,等. 基于光電導航的自主循跡智能車設計系統[D]. 綿陽:西南科技大學,2012.
[5]張青春. 基于 ZigBee 結構支撐安全監測無線傳感器的設計[J]. 計算機測量與控制,2012 (11):3 136 -3 139.
[6]李振新. 基于激光治療的光纖終端研究[D]. 武漢:武漢理工大學,2006.
[7]姚永剛. 機電傳動與控制技術[M]. 北京:中國輕工業出版社,2005.