楊釗燦, 沈永峰, 陳飛洋
(上海電機學院機械學院,上海 201306)
在步入21 世紀以來,人工智能得到了飛躍發展,在生活中逐漸嶄露頭角??刂祁I域的智能小車地位在人工智能應用中已經變得舉足輕重[1]。路徑規劃是智能小車的重要研究內容。路徑規劃是按照某一性能指標搜索一條從起始點到目標的最優或近似最優的無碰撞路徑?,F階段普遍的局部路徑規劃算法有人工勢場法、神經網絡法和遺傳算法等。上述算法具有一定的局限性,搜索范圍過于復雜、效率不高、易陷入局部最優解等[2]。
本文設計的智能小車路徑規劃使用串行PID算法和卡爾曼濾波算法,優化智能小車的行駛時間,完成路徑規劃任務[3]。
主控芯片選用LPC54606 J512 BD100[4],小車硬件包刮:電源穩壓、運放、攝像頭、電動機驅動、遠程控制、直立平衡和避障等模塊。硬件電路功能有電源轉換、角度控制、速度控制、數據采集、人機交互等[5]。小車系統總體框圖如圖1 所示。

圖1 智能小車系統總體框圖
通過AMS1117-5 線性穩壓器將外接7.8 V 電壓轉換為5 V電壓,為運放、編碼器、蜂鳴器、紅外接收、藍牙通信和超聲波電路供電。通過AMS117-3 線性穩壓器將5 V電壓轉換為3 V 電壓,為陀螺儀和攝像頭供電。MC34063(DC-DC 電源芯片)[6]和H 橋對電動機供電。電動機速度通過SN74LV245A進行控制。
智能小車的控制核心是單片機系統,主要控制各模塊工作??紤]到需要采集較多數據,完成不同場景中的任務,選用LPC54606J512BD 100 芯片[7]。
LPC54606J512BD100 MCU 系列集成了高能效的220 MHz Arm? Cortex? -M4 內核與多種高速連接選項、先進的定時以及模擬功能[8]。DSP 功能使LPC546xx MCU器件可支持數據密集型應用的復雜算法。該系列配有高達512 KB 的閃存以及外部存儲器接口,能彈性適應需求變化。閃存選項可靈活支持內、外部大型存儲器配置。借助LPC 54000 系列的內置兼容性,能提供一個無縫移動路徑來提高處理性能,還能靈活增加其他先進外設。
選用LPC54606J512BD100 芯片的單片機電路,降低了硬件故障風險,提高運行效率,并在主控板設計對應的排針電路[9]。分板設計的優點是便于更好地提升硬件維修速度。單片機核心板和主板對應的排針原理如圖2、3 所示。

圖2 單片機核心板

圖3 核心板在主板上的排針原理圖
各傳感器供電要求較高,需供給不同的電壓,在智能小車運行過程中,路徑規劃需要充足的電壓,所以采用7.2 V鎳鎘充電電池[10]。
在智能小車硬件系統中,各模塊需要進行穩壓模塊轉換電壓。AMS 117-5.0 線性穩壓電路[11]將7.2 V電壓穩壓到5 V,為運放、藍牙通信、紅外接收、編碼器、蜂鳴器和超聲波等模塊供電。由于陀螺儀、攝像頭和單片機核心板等所需電壓較低[12],選用AMS 117-3.0 線性穩壓電路進行供電。AM S117-5.0 線性穩壓電路和AMS117-3.0 線性穩壓電路原理如圖4、5所示。

圖5 AMS117-3.0電路
考慮到電磁線接收的數據的比較繁雜,控制系統需要穩定的電磁數據,選用NE5532 運放電路進行電磁數據的采集和濾波[13]。由于路徑規劃和直立狀態需要穩定電磁數據,選用3 路NE5532 運放進行電磁數據的采集。運放模塊部分電路原理如圖6 所示。

圖6 NE5532運放電路
智能小車的普遍姿態是直立狀態[14],特殊姿態是3 輪狀態。在遇到姿態轉換標志時,經攝像頭的檢測和陀螺儀的控制,小車由直立狀態轉變為3 輪著地狀態。為方便不同類型攝像頭的搭配,使用20 pin和18 pin攝像頭底座。攝像頭選用MT9V034。陀螺儀是直立功能的核心硬件,為節約主板空間,陀螺儀使用外接,在主板預留相應的排針。攝像頭和陀螺儀電路原理如圖7、8 所示。

圖7 攝像頭電路

圖8 陀螺儀電路
考慮到避障、節約主板空間、電路集成等要求,超聲波使用外接。為提高避障的成功率,使用3 組超聲波障礙物識別。超聲波位置在智能小車地前端,這樣有利智能小車對障礙物的檢測,并對直立起到輔助作用。超聲波原理[13]如圖9 所示。

圖9 超聲波電路
在智能小車設計中,需進行無線傳輸和遠程操控,選用紅外接收模塊、藍牙模塊以及OLED 顯示模塊[15]。OLED模塊極大地提高了調車效率,可以顯示電磁數據、小車實時速度、遙控狀態。紅外接收和藍牙模塊有利于人機交互,并能進行手動控制。紅外接收模塊PCB原理如圖10 所示。

圖10 紅外接收電路
為提供電動機足夠的電壓,選用MC34063(DCDC電源芯片)電路進行電源升壓。為更好地對電動機速度和H橋相關信號進行控制,使用SN74LV245A邏輯芯片電路[16]。部分原理如圖11 所示。

圖11 MC34063和SN74LV245A電路功能
主控芯片選用LPC54606J512 BD100,使用Keil uVision5 編譯軟件,用C語言進行程序編寫,程序主要具備直立、自主尋跡、避障和姿態轉換等功能。
主程序設置的變量。起跑停車、直立相關、環島相關和攝像頭等變量。主程序包含對陀螺儀、I2C 端口、OLED顯示、PWM控制、計數器、電磁采集、超聲波、攝像頭、串口的初始化。主程序調用有圖像處理、姿態轉換、停車標志位判定和OLED顯示等。
智能小車最基本的行駛狀態是直立狀態。小車主要在直立狀態中完成相應的路徑規劃任務。直立程序使用PID算法和卡爾曼濾波算法。經過串行PID算法處理電磁線的數據,計算直立所需轉矩。
直立程序處理過程。對電動機、角度環、角速度環、轉向環進行浮點數據組定義,通過位置式PID控制算法對小車進行直立控制。PID直立控制算法程序如圖12 所示。

圖12 PID直立控制算法
避障處理是智能小車的功能之一。超聲波傳感器在規定時間收、發超聲波。通過采集的數據,測算障礙物的距離與陀螺儀配合進行避障。
避障程序的處理過程。每10 ms 收發超聲波,根據距離公式得到障礙物與小車的距離;在距離障礙物80 cm處,小車向右旋轉90°,行駛80 cm,然后向左旋轉90°,再次行駛80 cm,最后向左旋轉90°,行駛80 cm返回賽道。部分路障處理程序如圖13 所示。

圖13 部分避障處理程序
電磁數據處理對智能小車的路徑規劃顯得十分重要。程序主要使用卡爾曼濾波算法,通過5 個工字電感對相應的電磁數據進行采集,經濾波處理得到穩定的正弦波,程序對波形數據進行處理。每路電感電磁數據處理程序所使用的部分算法如圖14 所示。

圖14 電磁處理程序
從直立到3 輪狀態的轉換是智能小車的功能之一。通過攝像頭識別對應的黑白車道線,經陀螺儀進行轉矩調整,使智能小車從直立狀態轉換為3 輪狀態,完成斷路路況下的姿態轉換。
攝像頭程序中一維數組的值是二維數組的累加,通過處理得到的圖像值,觸發姿態轉換的標志位,完成姿態轉換,部分程序如圖15 所示。

圖15 攝像頭識別姿態轉換標志程序
環島是道路的元素之一,環島處理有利小車智能化運行。通過電感對環島電磁線的數據采集,判別環島元素,觸發環島處理的標志位完成環島元素的處理。
在直立狀態中遇到環島的情況,程序處理過程是:當電磁支架最左邊電感和最右邊電感之和的值大于2.5 mH,中間電感值大于0.8 mH時,智能小車進入環島;當磁支架最左邊電感和最右邊電感之和的值小于1 mH時,智能小車離開環島。直立狀態下的環島處理程序如圖16 所示。

圖16 直立狀態中環島處理
面對復雜環境下的路徑規劃,速度處理的程序顯得尤為重要。為高效處理速度,使用PID 算法進行控制,加入串行PID,更好地完成相應的任務。速度處理程序分為直立狀態程序和3 輪狀態程序,直立狀態的速度程序如圖17 所示。

圖17 直立狀態中速度處理
實驗設置如下任務:超聲波避障、姿態轉換和環島處理。在室內進行賽道搭建,進行室外場景的模擬。小車打開電源開關之后,通過PID 算法配合陀螺儀執行直立任務,根據電磁數據的采集進行相應的路徑規劃。碰到路障,經過超聲波采集障礙物信息,觸發避障程序,進行避障,并重回賽道。經過速度程序處理,在短時間內到達環島,通過電磁數據的變化,識別環島元素,配合蜂鳴器完成環島路況的處理。通過攝像頭識別姿態轉換車道線,完成從直立向3 輪狀態的轉變。主板PCB如圖18 所示。部分實驗場景如圖19 所示。

圖18 主板PCB圖

圖19 彎道場景
本文基于LPC54606 設計了一款直立行駛的智能小車,使用超聲波進行障礙物探索,使小車在距障礙物30 cm距離外進行避障操作。陀螺儀和攝像頭結合實行姿態轉換任務,攝像頭進行車道線識別,當檢測到黑白車道線后,陀螺儀進行姿態轉換。通過電磁采集模塊和編碼器模塊進行路徑規劃相應的控制,構成閉環系統,提高系統的穩定性、準確性和快速性。