黃義豪 符長友
摘 要:兩輪自平衡代步小車集姿態(tài)信息感知、電機驅動、動態(tài)平衡控制于一體,設計難點在于姿態(tài)信息準確感知與自平衡控制。姿態(tài)信息感知通過帶有自適應降階卡爾曼濾波器的陀螺儀、加速度計集成傳感器來實現。針對傳統(tǒng)PID、LQR、人工神經網絡等自平衡控制方式的缺陷與不足,提出采用模糊PID控制。利用陀螺儀、加速度計、ARM微處理器、語音播報、LoRa通信等技術,設計出基于模糊PID的兩輪自平衡代步小車。詳細闡述了系統(tǒng)工作原理、系統(tǒng)架構、硬件設計及相關程序設計。實踐表明,基于模糊PID的兩輪自平衡代步小車具有平衡穩(wěn)定、續(xù)航距離遠、語音預警、遙控等特點。
關鍵詞:兩輪自平衡;模糊PID;陀螺儀;加速度計;ARM;LoRa;卡爾曼濾波;姿態(tài)信息
*基金項目:1. 企業(yè)信息化與物聯網測控技術四川省院士(專家)工作站基金項目(2016WZY201);2. 四川省教育廳重點科研項目(16ZA0258);3. 2017年教育部產學合作協(xié)同育人項目(201702109051)
0 引言
兩輪自平衡代步小車作為一個新興的行業(yè),近年來在我國迎來爆炸式增長,其行業(yè)年產值已超過了100億元,生產廠家也已超過了300家[1]。與其他代步工具相比,兩輪自平衡代步小車具有噪音小、操作方便簡單、低碳環(huán)保等優(yōu)點[2]。這種新穎的個人可移動代步工具已成功地應用于城市車站、廣場、購物中心等場所,起著城市短途代步、安保巡邏、休閑娛樂等作用[3]。
兩輪自平衡代步小車集姿態(tài)信息感知、電機驅動、動態(tài)平衡控制于一體。其設計難點在于車體姿態(tài)信息的準確感知與自平衡控制。車體姿態(tài)信息的感知可通過陀螺儀、加速度等傳感器來實時采集,再通過互補濾波[4]、卡爾曼濾波[5]等方式能很好地獲得準確的姿態(tài)信息。而自平衡控制現有傳統(tǒng)PID、LQR、人工神經網絡等控制方式。由于傳統(tǒng)PID(比例、積分、微分控制)的參數固定,無法進行自行修正,缺乏靈活性與應變性。而兩輪自平衡代步小車是一個非線性、多階次、不穩(wěn)定的系統(tǒng),采用傳統(tǒng)PID就難以保證控制的準確性、穩(wěn)定性。LQR(Linear Quadratic Regulator,線性二次型調節(jié)器)利用系統(tǒng)的狀態(tài)方程與數學模型,由于兩輪自平衡代步小車數學模型過于理想化,與實際所需相差較遠,導致LQR參數不準確,不能達到所需的控制效果[6]。人工神經網絡是一種仿生物神經傳導特性的控制,但其算法過于復雜,需占用微處理器大量的系統(tǒng)資源而影響微處理器的整體性能,在實際應用中也有很大難度[7]。
由于上述自平衡控制方式均存在某些缺陷與不足,需尋求一種全新的自平衡控制方式,而模糊控制魯棒性強,且專門針對于非線性、不穩(wěn)定的復雜系統(tǒng),其算法也完全不依賴于系統(tǒng)的數學模型、狀態(tài)空間方程等[8]。因此將模糊控制與傳統(tǒng)PID有機結合起來,構成模糊PID來實現兩輪自平衡代步小車的自平衡控制。
1 系統(tǒng)工作原理
1.1 兩輪自平衡小車
兩輪自平衡小車為了實現自平衡,必須使得其整個狀態(tài)維持在平衡態(tài),如圖1所示。當車體傾斜角θ為0時,其重心恰好落在兩個車輪的軸線上,此時系統(tǒng)便處于自平衡點上。若這時θ對時間的高階導數全為0且外界沒有對系統(tǒng)有擾動的情況下,小車將會一直維持著這穩(wěn)定的平衡態(tài)。事實上這平衡態(tài)是不穩(wěn)定的,若外界有很小很小的擾動,系統(tǒng)的平衡態(tài)就會被破壞。只有加以控制,否則整個狀態(tài)還會發(fā)散,更不會自行恢復到平衡態(tài)。因此必須使系統(tǒng)的各個參數一直維持在平衡態(tài),或者在平衡態(tài)附近波動[9]。下面對兩輪自平衡小車的運動狀態(tài)分三類情況進行闡述。
1)靜止狀態(tài)。車體重心恰好垂直落在兩個電機軸線上,此時小車處于平衡態(tài),無需做任何控制。
2)前傾狀態(tài)。車體向前傾斜,其重心向前偏離車軸線,此時若要恢復到平衡態(tài),必須使車輪向前加速運動,使重心重新回到車軸線,系統(tǒng)保持平衡。
3)后仰狀態(tài)。車體向后傾斜,其重心向后偏離車軸線,此時若要恢復到平衡態(tài),與前傾狀態(tài)相反,必須使車輪向后加速運動,使重心重新回到車軸線。
在實際運行中,兩輪自平衡小車的工作狀態(tài)始終在這三類狀態(tài)中變換。平衡控制就是通過姿態(tài)傳感器實時監(jiān)測車體的傾斜角度,一旦發(fā)現傾角偏離了平衡點,即車體的重心偏離了車軸線,微處理器就會自動控制驅動電機轉動方向與速度,以向前或向后、加速或減速使車體再次恢復到平衡點上。并且這個過程一直持續(xù)著,系統(tǒng)才能保持動態(tài)平衡。
1.2 模糊PID控制
模糊PID控制是將模糊技術與傳統(tǒng)PID控制有機結合起來,以達到有效的控制精度。當姿態(tài)數據偏差較大時采用模糊控制,響應速度快、動態(tài)性能高;當姿態(tài)數據偏差較小時采用傳統(tǒng)PID控制,靜態(tài)性能高,這樣才能滿足系統(tǒng)的控制精度[10]。因此模糊PID控制比單獨的模糊控制和單獨的傳統(tǒng)PID控制都有更好的控制效果與控制精度。
2 系統(tǒng)設計
兩輪自平衡代步小車由兩輪自平衡小車與遙控器構成,二者之間通過LoRa (Long Range Radio,遠距離無線電)無線通信進行數據交換,如圖2所示。兩輪自平衡小車通過陀螺儀、加速度計實時感知運動姿態(tài)信息,中央微處理器根據姿態(tài)信息控制兩個獨立的步進電機的方向與轉速,以實現車體的平衡控制。同時,在不平衡或突然加速、減速時,通過語音發(fā)預警信號,以友情提醒使用人注意安全;而在勻速行駛時,語音可提示當前時速或播放使用人喜歡的音樂、評書、小品等節(jié)目。再者,可把當前的姿態(tài)信息通過LoRa無線傳輸給遙控器。此外,也可通過LoRa無線接收遙控器發(fā)來的控制指令。因此兩輪自平衡小車由中央微處理器、陀螺儀、加速度計、步進電機、LoRa通信、語音播報等模塊等構成,如圖3所示。而遙控器可通過操作桿遠程無線控制兩輪自平衡小車的方向與轉速,同時有LED燈顯示兩輪自平衡小車的運行狀態(tài)。
3 硬件設計
3.1 陀螺儀與加速度傳感器
陀螺儀與加速度傳感器若集成在一起,具有體積小、集成度高、可靠性高等優(yōu)點。故采用Cruiz Core R1370P。該芯片是一款超小型的數字陀螺儀與加速計集成傳感器,在動態(tài)條件下能有效測定角速度、航向角與加速度。Cruiz Core R1370P內部含有1個3軸MEMS陀螺儀、3軸加速度計、電壓調節(jié)器、信號處理電路、AD轉換器和1個能完成誤差校正算法的RISC微處理器。采用1個自適應降階卡爾曼濾波器,以減少如偏置漂移、比例因素、不對稱性所造成的誤差,進而輸出精確、穩(wěn)定的角速度與航向角[11]。其電路設計如圖4所示。
3.2 LoRa通信模塊
LoRa是一種基于擴頻技術的低功耗、遠距離無線通信方式,其特點是在同樣的功耗條件下比其他無線方式傳播的距離更遠。采用SZ15-01模塊,其工作頻段為(470~510)MHz,可實現數據透明傳輸,具有超高接收靈敏度,波特率為1 200~115 200 bit/s[12]。其電路設計如圖5所示。
3.3 語音播報模塊
語音播報模塊不僅具有播放音樂、評書、小品等使用人心情愉快,而且還具有若遇到不平衡或突然加速、減速時,友情語音提醒讓使用人多注意安全。語音模塊采用MX6100。該模塊嵌入了串口的MP3芯片,集成了MP3、WAV的硬解碼。通過簡單的串口指令即可完成播放指定的語音文件,穩(wěn)定可靠。該模塊支持比特率11172-3和ISO13813-3 layer3音頻解碼,支持Normal、Jazz、Classic、Pop、Rock等音效,24位DAC輸出,支持FAT16、FAT32文件系統(tǒng)與32 G的TF/SD卡;30級音量可調[13],其電路設計如圖6所示。
3.4 中央處理器
中央微處理器整個系統(tǒng)的最核心部件,負責讀取陀螺儀、加速度傳感器的姿態(tài)數據,然后進行匯總、分析與處理,并控制步進電機按所需要的方式平穩(wěn)轉動。同時把自平衡小車的當前運行姿態(tài)數據通過LoRa方式發(fā)送給遙控器,讓遙控器及時知曉自平衡小車的當前的運行狀態(tài)。此外,也通過LoRa方式接收遙控器發(fā)來的控制指令及相關數據。因此需要功能強大的中央微處理器,為此采用STM32F103。該芯片使用高性能的32位ARM/Cortex M3內核,內置20KB SRAM、128KB Flash,含有2個12bit的A/DC、3個通用16bit定時器和多種串行接口,如I2C、SPI與USART等接口[14]。STM32F103外接了實時時鐘芯片SZ2058以及驅動步進電機,其電路設計如圖7所示。
4 程序設計
4.1 運動姿態(tài)檢測程序
運動姿態(tài)檢測采用CruizCore R1370P集成傳感器,其程序部分代碼如下:
4.2 卡爾曼濾波程序
卡爾曼濾波對陀螺儀、加速度采集的數據進行深度融合、優(yōu)化處理,其程序部分代碼如下:
4.3 語音模塊程序
語音模塊可友情提示和播放音樂等節(jié)目,程序部分代碼如下:
5 測試數據
5.1 平緩路面續(xù)航距離測試
當電池充滿電后,由4名體質量為50 kg、55 kg、60 kg、65 kg的人員分別騎行自平衡小車在同一條相對平緩路面進行續(xù)航距離測試。當蓄電池電壓下降到設定閾值并蜂鳴器報警時,停止測試。測試數據如表1所示。
5.2 坡度路面續(xù)航距離測試
當電池充滿電后,同樣由上述4名人員分別騎行自平衡小車在大約15°的坡度路面進行續(xù)航距離測試,測試要求與5.1一樣。測試數據如表2所示。
5.3 陀螺儀角度數據
當自平衡代步小車處于駕駛狀態(tài)時,Cruiz Core R1370P輸出的角度數據如圖8所示。
6 實物圖片
遙控器實物如圖9所示。
基于模糊PID的兩輪自平衡代步小車實物如圖10所示。
7 結束語
基于模糊PID的兩輪自平衡代步小車采用了陀螺儀、加速度計、ARM微處理器、語音播報、步進電機控制、LoRa通信等多種物聯網技術,具有平衡穩(wěn)定、續(xù)航距離遠、語音預警、遠程遙控等特點。
參考文獻:
[1] 薛艷.代步出行唯選江昕—上海平衡車展江昕華麗出擊[J].電動自行車,2016(12):20-21.
[2] 徐文凱.載人平衡車控制系統(tǒng)的設計與實現[D].哈爾濱:哈爾濱理工大學,2014.
[3] 張明.載人兩輪自平衡車控制系統(tǒng)的研究與設計[D].成都:電子科技大學,2017.
[4] 梁光勝,杜夢楠,周子豪,等.基于互補濾波的兩輪自平衡車姿態(tài)控制[J].測控技術,2015,34(5):72-73.
[5] 路成強,曾潔,李千振.基于卡爾曼濾波的兩輪自平衡遙控小車設計[J].自動化儀表,2017,38(9):44-47,52.
[6] 行陽陽.基于模糊PD的兩輪自平衡車的設計[D].太原:太原理工大學,2013.
[7] 夏玫.BP神經網絡泛化能力改進研究[D].太原:太原科技大學, 2009.
[8] 許亞朝.兩輪平衡車控制系統(tǒng)的設計與研究[D].太原:太原科技大學,2016.
[9] 袁帥.兩輪自平衡機器人系統(tǒng)的設計[D].北京:北京交通大學, 2012.
[10] 辛斌,陳杰,彭志紅.智能優(yōu)化控制:概述與展望[J].自動化學報, 2013,(11):49-54.
[11] Micro infinity Co., Ltd. Cruiz Core R1370P Technical Manual Rev1.1[M/OL].http://www.minfinity.com/Manual/ CruizCore%20R1370P%20Technical%20Manual%20 Rev1.1.pdf,2015,05.
[12] 上海順舟智能科技股份有限公司. SZ15-01 LoRa模塊用戶使用手冊V1.0 [M/OL]. http://pmo47b088.pic37.websiteonline.cn/upload/SZ15-01LoRa.pdf,2018(6).
[13] 廣州美芯電子科技有限公司.MX6100-16P模塊使用手冊V1.2[M/OL]. http://www.mxic168.com/sczs/hby/mp31/123. html.
[14] STMicroelectronics Co., Ltd. STM32F103t8ST user manual [M/OL].https://www.st.com/resource/en/datasheet/ stm32f103t8.pdf,2013,08.