摘 要:基于恩智浦MK60微處理器、綜合多種傳感器(電磁傳感器、編碼器、nrf24l01、超聲波、干簧管等)對賽道獲取的信息以及雙車本身的狀態,在賽道上的完成超車以及平穩、高速地跑完賽道,也對將來的汽車行業無人駕駛提出一些寶貴的建議。
關鍵詞:電磁雙車;通信;模糊控制
DOI:10.16640/j.cnki.37-1222/t.2018.08.122
1 前言
隨著社會的進步和科技的快速發展,人們的生活要求日益提高,對于汽車的要求也自然越來越高,尤其是無人駕駛這塊,谷歌公司推出的無人駕駛汽車也于2016年發生車禍,說明谷歌的無人駕駛仍然存在缺陷,但是汽車的智能控制是未來的一種趨勢。
本文是基于恩智浦Kinetis系列MK60FN1M0VLQ15微處理器的電磁導航智能車雙車通信控制系統的研究。該系統涉及道路識別、硬件制作、電源管理、算法控制等方面。智能車控制系統是通過傳感器進行路徑識別及路徑規劃、角色識別、多等級輔助駕駛等多功能于一體的綜合控制系統。
2 硬件電路設計
(1)核心板模塊:采用恩智浦Kinetis系列MK60FN1M0VLQ15微控制器,以下簡稱K60。我們團隊并沒有把芯片直接嵌入在主板上,而是采用的山外科技提供的最小系統板,這樣的好處就是如果芯片燒了可以及時更換系統板而不至于更換整個主板,最終根據B車模大小確定了主板大小是12cm*5cm的圓角矩形。
(2)電源模塊:K60芯片、電磁傳感器、和電機模塊等需要5V供電,采用TPS76850芯片來提供穩定的電壓。它在壓降非常低的情況下都能工作并且與輸出電流成正比,故十分穩定。為保證電機和主板供電穩定,采取兩片TPS76850分別供電的解決方案。采用LM2941芯片給舵機供電,以LM2941構成的供電電路可以提供可調節的電壓輸出,保證舵機在賽道上靈活轉向。
(3)舵機模塊:車模舵機是SD5舵機,此款舵機是特制的品種,工作電壓只能在5.5V以下,有堵轉保護功能,舵機在堵轉后3秒后開始保護,降低電流,保護馬達以及主板正常工作電流200mA,堵轉電流800mA,頻率是300HZ。
(4)電機模塊:車模電機是RS540電機,采用四個mos管(LR7843芯片)組成的“H橋式驅動電路”來驅動。其中的HIP4082驅動芯片所需的12V電壓通過mc34063芯片升壓得到,理論上是升到12V,但是實際測試13.8V左右。
(5)電磁傳感器模塊:電磁賽道中間鋪的是通20kHz、50mA的交變電流的銅線,作為車模的引導線。根據麥克斯韋電磁場理論,變化的電流周圍能產生變化的磁場,再根據畢奧-薩伐爾定理,電流元在磁場中能激發出感應電動勢。因此車模前瞻采用電感和電容的組合作為傳感器來采集細銅線上的信號,電感的作用類似電流元,電容的作用保持信號穩定。信號的處理是采用AD0832芯片,并將采集的信號經放大后再發送給MK60處理。
(6)人機交互模塊:采用撥碼開關、按鍵和OLED。由于各個場地的賽道摩擦系數不一樣,可以將撥碼開發和四個按鍵可以形成不同的檔位以適應不同的環境。OLED則可以顯示調試車模的一些基本輸出,比如采集信號的輸出、按鍵檔位和PID參數,和按鍵組合可以實現微調,從而使小車的參數更加精確。
(7)通信模塊:采用NRF24L01作為通信方式和鴛鴦超聲波作為檢測兩車模間距這兩種傳感器來完成雙車之間的超車。賽道內有圓環、十字路口等多種路段來模擬真實環境的路況,當前面的車模檢測到十字或者圓環時,NRF24L01發出超車信號的請求,后面的車接收到信號之后,便選擇超車并完成響應標志信號。當兩車在直道時,鴛鴦超聲波測距模塊可以檢測兩車模之間的距離,并調節兩車之間的最優距離。
3 道路檢測及PID控制算法
電磁傳感器(通常說的是前瞻)垂直離地是25厘米,離車頭水平是30厘米。前瞻是由六路傳感器排成一列而成,最旁邊兩個是傾斜45度的10mH電感,最內的兩個是水平的電感,還有兩個分別處于傾斜和水平之間的豎直電感,標號0 4 1 2 5 3。豎直電感檢測十字,其他四路每一路的電感如果在引導線的正上方,則此路的電感值最大,所以根據這個來找電感值最大的傳感器,從而判斷小車在賽道上的位置。
小車的位置有5種,0的左側、0 1之間、1 2之間、2 3之間、3的右側,這五個位置的不同就體現在中間兩路電感值的差值,讓舵機根據差值的不同來實現轉向,經過測試,采用位置式PD的控制方法可以得到更好的效果。
PID的思想就是利用真實反饋的值和期望值之差來精確地穩定某個量。這個用在電機上的應用很廣泛。在電機PID調節中,根據編碼器測得真實速度和你想讓車達到速度的偏差值來迅速穩定系統,再通過藍牙傳輸的速度曲線,根據這個曲線的斜率就能判斷系統是否快速達到穩定。
4 模糊控制算法及“點剎”思想
小車的轉向以及與電機配合的實時性,用精確的數學的模型將其描述出來是一個非常繁瑣的任務。總的來說小車在賽道上只需要三點配合好——電磁傳感器檢測、舵機轉向、電機動力。硬件連接不能有問題。那么就是舵機的位置式PD和電機的增量式PI需要適當配合。為什么需要模糊PID控制?因為小車在賽道上不同位置是需要不同的PID達到最佳狀態,這個時候可以根據位置的不同選取不同的PID,比如直道、大S彎、小S彎、圓環,調試出適合這些位置的PID,這個時候就叫分段式PID,但是比如在大S彎和小S彎銜接處、直道與彎道的銜接處突然變換PID就會產生一些意想不到的問題,這個時候才引入模糊PID控制。
模糊控制器由模糊化接口、規則庫、模糊推理、清晰化接口組成。
模糊化接口就是將得到偏差模糊化進入一個論域。
規則庫包括模糊控制器參數庫和模糊控制規則庫。模糊控制規則建立在語言變數的基礎上。語言變數取值為“大”、“中”、“小”等這樣的模糊子集,各模糊子集以隸屬函數表明基本論域上的精確值屬于該模糊子集的程度。因此,為建立模糊控制規則,需要將基本論域上的精確值依據隸屬函數歸并到各模糊子集中,從而用語言變數值(大、中、小等)代替精確值。
模糊推理就是將精確的輸入量轉化為模糊量有兩種方法:將精確量轉換為標準論域上的模糊單點集,精確量X經對應關系G轉換為標準論域X上的基本元素。或者將精確量轉換為標準論域上的模糊子集,精確量經對應關系轉換為標準論域上的基本元素,在該元素上具有最大隸屬度的模糊子集,即為該精確度對應的模糊子集。
清晰化接口推理得到的模糊子集要轉換為精確值,以得到最終控制量輸出Y。目前常用兩種精確化方法。最大隸屬度法:在推理得到的模糊子集中,選取隸屬度最大的標準論域元素的平均值作為精確化
(下轉第143頁)
(上接第135頁)
結果。重心法:將推理得到的模糊子集的隸屬函數與橫坐標所圍面積的重心所對應的標準論域元素作為精確化結果。在得到推理結果精確值之后,還應按對應關系,得到最終控制量輸出Y。
“點剎”思想:首先小車的速度控制必須閉環控制。上文道路檢測的五個位置,如果一直檢測位置在12之間,說明小車一直在賽道中間,這時小車想達到的速度就是你設定的的最大速度,小車就在不停的加速,因為PID就是總想達到算法里的期望速度并維持穩定。但是直道之后突然遇到急彎,這時道路檢測的位置肯定不是直道,是0的左側或者是3的右側,這時開一個計數器,不停的自加反饋的速度,當自加的速度累加到算法里設定的一個值,然后把這個計數器的值清零,這樣就能明顯地看到一段剎車距離,這個距離跟設定的值有關系,跟急彎的長度也有關系,需要慢慢調試。
5 超車停車算法
超車是指在圓環或者十字的時候,后面的車超過前面的車,并且不相撞,超車之后依然能安全行駛在賽道上,稱之為超車。
圓環分兩種,一種是左部分圓環與右部分圓環是1:1,另一種是左部分圓環右部分是3:1。小車入1:1的環時的引導線是類似于“T形”,前面的車檢測后必然會進入左邊圓環或者右邊圓環,假設進入右邊圓環,進入右邊圓環就會停下并通過NRF24L01發送信號給后面的車告訴它進入了右邊圓環,后面的車就會走左邊圓環。上文的檢測算法中,當檢測到“T字形”時,四路中最大的值是兩邊的電感。當后面的車收到信號,如果它檢測到最左邊的電感最大,自然就會走左邊,但是如果檢測到最右邊的電感值最大呢,代碼里面就會強制將左右兩邊的電感值交換,交換后左邊的電感值就是最大的,所以車子仍然會走左邊圓環。同理如果前面的車先入左圓環,后面的車就會入右圓環。3:1的圓環經過測試,由于電磁車車身較長,幾乎不能在3:1的圓環處超車,所以就沒有設計。
再說說十字路口超車,道路檢測中的45兩路就是用來檢測十字的,檢測到十字之后會拐進彎道從而讓出賽道并發送信號給后面的車,當后面的車接收信號完成超車并發送完成信號,這時之前拐進彎道的車接收信號并回到賽道再發送完成信號。經過測試,可以實現兩車在十字路口穩定超車。
鴛鴦模塊可實現測量兩車在直道的車距,兩車車頭和車尾都配備一套鴛鴦模塊,實現可控距離的解決方案。
6 結語
本文以恩智浦智能汽車競賽為背景,設計了涉及硬件規劃、電路制作、自動測速、算法控制分析等以及機電、通信等多學科與一體的的綜合系統,并且鍛煉大學生的動手能力、思考能力、以及團隊協作能力。
基金項目:2017年國家級大學生創新創業訓練項目(編號:201710378252)
作者簡介:陳磊(1995-),男,安徽銅陵人,本科,研究方向:嵌入式系統設計。