付陽,張曉剛,許凱龍,蔡薇
(大連科技學院 交通與電氣工程學院,遼寧大連,116052)
隨著我國汽車工業不斷發展,汽車智能化的程度越來越高,并已經成為未來發展的重要趨勢。隨著城市人口不斷增多,車輛數目也隨之增加,導致泊車環境日趨復雜,停車特別是對于新手來說日益困難。而自動泊車技術則發揮了重要作用,并推動我國汽車向著智能化方向不斷邁進[1]。在該項目中,以STM32 單片機為核心對小車進行研究,設計出通過自動循跡、速度控制以及傳感器測距等實現自動泊車功能的小車。該系統通過超聲波模塊來精準測量其左右車輛的距離,通過圖像傳感器功能來感應車庫線與小車的位置,并利用STM32 單片機實現小車的驅動控制,從而完成小車入庫、出庫的操作。最后利用CoppeliSim Edu 仿真軟件通過LUA語言編程進行仿真實現。
系統設計主要包括單片機主控模塊、紅外避障模塊、超聲波模塊、電機驅動模塊等。采用 STM32 單片機作為主控芯片進行控制,運行速度快,且支持各種主流操作系統。顯示屏使用 IPS 屏幕,響應速度快,且其在抖動時可以很好地保證畫面清晰度。電機利用三極管特性,選擇使用三極管復合的直流電機驅動,可以更好地接收 PWM 的信號控制。具體方案如圖 1 所示。

圖1 系統整體方案框圖
系統設計采取STM32 單片機為主控核心芯片,總體電路構成包括主控部分、紅外避障模塊、超聲波模塊、速度傳感器、藍牙或WiFi 通訊模塊、圖像處理模塊、電機驅動模塊以及電源模塊等構成。其硬件核心電路圖,如圖2 所示。

圖2 系統硬件核心電路圖
超聲模塊采用HC-SR04 傳感器,包括超聲波發射器、接收器與控制電路,其測距可提供2~400cm 的非接觸式距離感測功能,測距精度可高達3mm[2]。在本設計中通過使用該超聲波傳感器對小車自動泊車進行精細調整,實現在側方位和倒車入庫的泊車過程中更完美的泊車路徑規劃。具體超聲波模塊如圖3 所示。

圖3 超聲波模塊
本系統所采用的舵機工作電壓為3.0~7.0V,工作電流為200mA。由于舵機的控制需要20ms 的周期信號[3],且轉動角度隨高電平占空比的變化而變化,即需要使用單片機中的定時器中斷來控制。而當超聲波測距時又需要關閉系統中斷,以提高測量精度。具體電路如圖4 所示。

圖4 舵機轉向電路
電機驅動采用TB6612 模塊實現,采用四個電機作為前進主動力。通過調整其中端口占空比,實現PWM 調速,從而實現小車加速、減速、退行和轉彎等。電機驅動模塊電路如圖5 所示。

圖5 電機驅動模塊電路
WiFi 模塊內部集成MCU,能實現單片機之間串口通信,其工作體積小,穩定性強,溫度范圍大,在使用時只需將TXD 與RXD 端口與單片機的串行接收、發送端口相接即可,電源部分選擇接3.3V 作為VCC,使能端口EN 接3.3V 高電平[4]。具體電路如圖6 所示。

圖6 選擇藍牙或無線WiFi 模塊電路
小車采用 STM32 單片機作為主控模塊,擁有主流的 Cortex 內核,也擁有全面豐富的計數文檔和豐富的軟件包作為支持,其具有高性能、低成本以及低功耗的特點。芯片型號種類多,覆蓋面廣。
本項目中主要是利用CoppeliSim Edu 仿真軟件進行仿真,并利用LUA 語言編程模擬實現,通過使用Lua 函數或界面可視化來操作電機運動,從而實現軌跡規劃,正逆運動解算。該軟件能提供Matlab、C++、Python等多樣的編程接口,方便調用API 接口,支持跨平臺運行,比如matlab、visual等,所以很適合在該項目中驗證算法邏輯的可行性。
根據停車的不同場景,本設計通過對收集的環境信息進行不同的處理,并根據收集到的信息特點作出不同的控制電信號,實現小車的側方泊車運行控制。具體算法邏輯如圖7所示。

圖7 側方停車算法流程圖
現實中停車場都有較為規范的停車線規劃,庫內車輛擺放較為整齊,測試環境也更為簡單。倒車設計通過循跡模塊和障礙物探測,綜合確定停車空間,進而規劃停車入庫路徑。
具體算法流程圖如圖8 所示。

圖8 倒車入庫算法流程圖
本系統主要采用可視圖法來提高整體的路徑規劃。通過把小車看成一個點,在二維平面內通過組合連接庫位點、小車和障礙物的各個頂點,保證小車和障礙物、庫位點和障礙物以及各障礙物每個頂點之間的連線,均不能穿越其障礙物,如此可以將直線看作是可視的,即形成可視圖。可視圖法通過在環境模型中提取有用障礙物的信息,并在此基礎上建立障礙物與子路徑相對位置的輔助頂點,生成可視邊的最短組合作為最優或較優路徑。經仿真驗證,該方法對解決無頂點障礙物全局路徑規劃問題具有較高的可行性和有效性,相較于固定四邊形包絡障礙物的可視圖法具有更優的效果[5]。通過構造的可視圖,可知任意兩直線的頂點都是可見的,所以從起點沿著這些直線到達目標點的所有路徑都是運動物體的無碰路徑。此外,姚智龍等人的改進Bi-RRT*算法[6]也能夠滿足避障要求和運動學約束,而且規劃時間和路徑質量也具有優越性。
基于智能汽車無人駕駛需求,設計具有自動泊車功能的電動車并實現虛擬仿真,可在圖9、圖10 所示的場地上,分別獨立完成“倒車入庫/出庫”或“側方入庫/出庫”的單向操作,也可連續完成這兩項入庫/出庫的操作,并將測試結果記錄于表1、表2、表3 中。

圖9 側方位停車測試泊車場地示意與仿真圖

圖10 倒車入庫測試泊車場地示意與仿真圖
如圖 10 所示,擺放在“發車區 1”內的電動車,在一鍵啟動后,電動小車開始以“右側垂直泊車方式”自動倒車進入圖中“庫 2 ”內居中位置停車(詳見圖10庫區abcd,此時庫 1、庫 3 內均停有車輛),倒車入庫時間越短越好。電動車在庫內停車到位 5s 后,沿車頭方向右轉出庫。測試數據如表1 所示。

表1 單向倒車入庫/出庫測試數據
如圖 9 所示,一鍵啟動擺放在“發車區 2”內的電動車,電動車以“右側平行泊車方式”自動泊入庫 5 內居中位置停車(詳見圖9 庫區 abcd,此時庫 4、庫 6 內均停有車輛),側方入庫時間越短越好。電動車在庫內停車到位 5s后,沿車頭方向出庫。測試數據如表2 所示。

表2 單向側方入庫/出庫測試數據
該測試場地如圖11 所示,此刻泊車場地中的庫1、3、4、6 內均居中停有車輛。電動車自圖11 中“發車區1”內一鍵啟動泊車,按4.1、4.2 要求,連續完成自動道岔及側方入庫/出庫,測試數據如表3 所示。

圖11 續倒車與側方入庫/出庫測試場地示意與仿真圖

表3 連續倒車與側方入庫/出庫測試數據
本系統分別對三次情況各進行三次測試,得出小車在單向倒車、側方入庫以及連續倒車與側方入庫時間均為15s 左右,在單向倒車、側方出庫以及連續倒車與側方出庫時間均為25s 左右。通過測試我們可以得出該系統的各模塊電路均能正常工作,小車的入庫/出庫時間以及數據記錄準確。
目前我國汽車數量逐年增加,車輛停放空間也在不斷縮小,將車輛安全地泊入車位變得更加困難。本系統正是基于這樣的現實問題而設計的,目的就是解決車輛在較狹窄空間內的泊車困難問題,通過設計自動泊車系統從而解決此問題[7]。本項目設計是基于單片機的智能小車自動泊車系統的設計與實現,其主控芯片采用的是STM32 單片機,利用CoppeliSim Edu 仿真,能夠完成自動循跡、速度控制以及傳感器測距,通過對系統控制結構、控制原理、路徑規劃方案以及軟件硬件的設計研究與介紹,較好實現了不同場景下小車在側方位以及倒車的情況下能夠實現自動入庫出庫的基本功能。該項目為發展智能小車的自動泊車技術提出了可行性的方案,對未來小車智能泊車的發展提供了思路參考。下一步仍需在路線規劃以及跟蹤方面不斷優化完善,強化技術創新,提升自動化水平,促進汽車產業的智能化發展。