黃強(qiáng),唐杰,林立,王源明,朱群峰
(1.多電源地區(qū)電網(wǎng)運(yùn)行與控制湖南省重點(diǎn)實(shí)驗(yàn)室,湖南 邵陽(yáng),422000; 2.杭州拓生智能科技有限公司,江蘇 杭州,310000)
隨著科學(xué)技術(shù)、世界經(jīng)濟(jì)的迅速發(fā)展,機(jī)器人技術(shù)成為一項(xiàng)涵括控制理論、物理學(xué)、計(jì)算機(jī)科學(xué)、動(dòng)力學(xué)等多學(xué)科領(lǐng)域的綜合性技術(shù)[1]。移動(dòng)機(jī)器人是整個(gè)機(jī)器人領(lǐng)域中不可缺少的一部分,而通過車輪移動(dòng)的機(jī)器人更是當(dāng)今世界研究的重點(diǎn)領(lǐng)域。兩輪平衡小車是一種典型的車輪移動(dòng)機(jī)器人,其具有成本低、控制簡(jiǎn)單、高速穩(wěn)定運(yùn)行等優(yōu)點(diǎn),因此,具有很高的理論價(jià)值和實(shí)用價(jià)值[2]。
國(guó)內(nèi)外學(xué)者在兩輪自平衡機(jī)器人[3-4]、智能后退控制[5]、多傳感器數(shù)據(jù)融合[6]、離散神經(jīng)動(dòng)態(tài)規(guī)劃算法[7]、分?jǐn)?shù)階PID控制[8]、控制量按任意函數(shù)變化的PID算法[9]等方面進(jìn)行了深入研究。本文在參考這些文獻(xiàn)的基礎(chǔ)上,采用雙閉環(huán)PID控制算法對(duì)兩輪平衡小車控制問題進(jìn)行了研究。角度環(huán)采用PD控制算法,速度環(huán)采用PI控制算法,并利用超聲波檢測(cè)回來的小車與物體的距離,通過區(qū)間判斷來疊加或減小1個(gè)固定值控制PWM脈沖的占空比,增加系統(tǒng)的響應(yīng)速度。最后搭建了兩輪平衡小車樣機(jī),通過系統(tǒng)調(diào)試與運(yùn)行,驗(yàn)證了雙閉環(huán)PID控制算法的有效性。小車能夠穩(wěn)定地實(shí)現(xiàn)平衡控制,具有一定的實(shí)用價(jià)值。
為實(shí)現(xiàn)兩輪小車自平衡控制,設(shè)計(jì)了系統(tǒng)硬件框圖,框圖如圖1所示。
圖1 硬件系統(tǒng)框圖Fig.1 Block diagram of hardware system
硬件系統(tǒng)的主控芯片選用STM32F10系列的單片機(jī),其內(nèi)部采用RISC指令集。本次設(shè)計(jì)采用的是F103系,具有體積小,容量夠用等優(yōu)點(diǎn)。該單片機(jī)最小系統(tǒng)為STM32F103C8T6的小體積開發(fā)板,該型號(hào)的開發(fā)板片有40個(gè)外置引腳,其中包括I2C復(fù)用引腳,USART串口通信的引腳和32個(gè)可以實(shí)現(xiàn)50 MHz頻率翻轉(zhuǎn)電平的引腳。開發(fā)子上還集成了8 MHz的系統(tǒng)晶振和1個(gè)USB供電電源口。
陀螺儀采用MPU6050,具有6軸運(yùn)動(dòng)傳感器,在內(nèi)部檢測(cè)三軸陀螺儀和加速度,檢測(cè)到的值帶有一定的噪聲,所以,在MPU模塊內(nèi)部對(duì)數(shù)據(jù)進(jìn)行了卡爾曼濾波處理[10]。通過內(nèi)部DMP檢測(cè)模塊,解算姿態(tài)角,所得的數(shù)據(jù)傳遞給主控制器,在STM32內(nèi)部得到1個(gè)四元數(shù)表示的平衡角[11]。
陀螺儀的設(shè)計(jì)得到了極大簡(jiǎn)化,因?yàn)椴挥每桃馓砑訛V波模塊的程序,只需實(shí)現(xiàn)I2C與從機(jī)的通信就可以實(shí)現(xiàn)旋轉(zhuǎn)角的檢測(cè)。同時(shí),考慮到PCB板上的電信號(hào)多而復(fù)雜,容易對(duì)I2C通信造成干擾,為了得到穩(wěn)定的數(shù)據(jù),將MPU安裝在靠近控制器的位置。
超聲波采用HC-SR04的測(cè)距模塊[12],該模塊根據(jù)超聲波遇到物體反彈的原理,配合定時(shí)器使用,得到障礙物最終與小車的距離[13-14]。
電機(jī)采用自帶編碼器的減速電機(jī),其碼盤采用1∶30的減速比,電機(jī)轉(zhuǎn)1圈將得到780個(gè)脈沖,根據(jù)每次電機(jī)轉(zhuǎn)動(dòng)得到的脈沖數(shù)就可以得到小車移動(dòng)的距離。
驅(qū)動(dòng)模塊采用TB6612FNG,對(duì)12 V電機(jī)進(jìn)行驅(qū)動(dòng),利用驅(qū)動(dòng)外設(shè)4個(gè)使能端口的高、低電壓差異來實(shí)現(xiàn)2個(gè)電機(jī)的正反轉(zhuǎn)。
為了得到更好的控制效果,本設(shè)計(jì)采用雙閉環(huán)PID控制方法,角度環(huán)作為外環(huán),角度調(diào)節(jié)器為主調(diào)節(jié)器,速度環(huán)作為內(nèi)環(huán),速度控制器為副調(diào)節(jié)器。通過雙閉環(huán)中外環(huán)的粗調(diào)以及內(nèi)環(huán)的細(xì)調(diào),從而提高整個(gè)系統(tǒng)的控制精度。2個(gè)環(huán)的控制作用形成互補(bǔ),最終得到比較合理的補(bǔ)償效果??刂葡到y(tǒng)框圖如圖2所示。
圖2 控制系統(tǒng)框圖Fig.2 Block diagram of control system
在控制器中,角度環(huán)采用PD控制算法,其中P控制起主要作用,消除角度偏差;D控制作用于系統(tǒng)過于激烈的情況,降低系統(tǒng)超調(diào)。角度環(huán)的PD控制算法不僅直接對(duì)小車的傾角進(jìn)行校正,而且是控制PWM脈沖占空比的主要因素,其作用程度直接決定控制效果。速度環(huán)采用PI控制算法,設(shè)計(jì)速度環(huán)是為了補(bǔ)償角度環(huán)控制的不足。在該控制算法中I調(diào)節(jié)作為主要控制,通過對(duì)每次的速度檢測(cè),實(shí)現(xiàn)一個(gè)偏差值的積分,從而提高整個(gè)系統(tǒng)控制精度。速度環(huán)中的P調(diào)節(jié)是在速度反饋值與速度設(shè)定值產(chǎn)生偏差的基礎(chǔ)上,利用此偏差產(chǎn)生一個(gè)微弱的控制作用,使之作用于電機(jī),使得電機(jī)在小車速度失衡的初期有1個(gè)校正力,防止小車在控制時(shí)嚴(yán)重失速。速度環(huán)利用PI環(huán)控制的作用,解決了小車在基本平衡后處理失速、控制作用不足和失速等問題。由于速度環(huán)的存在,系統(tǒng)在很大程度上補(bǔ)償了角度環(huán)的控制作用,同時(shí)提高了系統(tǒng)的穩(wěn)定性和抗干擾能力。
本系統(tǒng)在設(shè)計(jì)了雙閉環(huán)PID控制算法的基礎(chǔ)上,還設(shè)計(jì)了超聲波測(cè)距,利用超聲波測(cè)量反饋回來的小車與物體的距離,來控制是否疊加或減小PWM脈沖的占空比,從而控制電機(jī)轉(zhuǎn)速,增加系統(tǒng)的響應(yīng)能力。若反饋回來的距離小于5 cm,則可以實(shí)現(xiàn)跟隨功能,若反饋回來的距離為5~10 cm,則還可以實(shí)現(xiàn)避障功能。
利用之前介紹的硬件系統(tǒng),設(shè)計(jì)出PCB板,并在實(shí)驗(yàn)室搭建好樣機(jī),樣機(jī)如圖3所示。
圖3 兩輪平衡小車樣機(jī)Fig.3 The prototype for the two-wheeled balancing vehicle
為得到較好的PID整定參數(shù),實(shí)現(xiàn)理想的控制效果,參數(shù)整定采用經(jīng)驗(yàn)試湊法,遵循先外后內(nèi)、先比例后積分再微分的原則對(duì)PID參數(shù)逐一進(jìn)行整定。通過上位機(jī)采用串口下載的方式對(duì)參數(shù)進(jìn)行實(shí)時(shí)更新。表1給出了參數(shù)整定的過程,通過多次試驗(yàn)最后得到理想的PID參數(shù),并且得到了理想的控制效果。
具體的整定過程如下:先整定角度環(huán)P參數(shù)值,得到一定的控制效果后,再整定角度環(huán)D參數(shù)值,得到較平滑的控制效果,然后整定速度環(huán)P,最后整定速度環(huán)I控制提高整個(gè)系統(tǒng)精度。在參數(shù)整定過程中,利用超聲波檢測(cè)回來的小車與物體的距離,進(jìn)一步完善PID參數(shù),通過區(qū)間判斷來疊加或減小1個(gè)固定值控制PWM脈沖的占空比[15],增加系統(tǒng)的響應(yīng)速度。通過實(shí)驗(yàn)室最后得到角度環(huán)的KP=91.3,TD=1.2,速度環(huán)的KP=6.0,TI=0.2。
表1 雙閉環(huán)PID參數(shù)的整定表
Table 1 Tuning Table of double closed loop PID parameters
角度環(huán)P角度環(huán)D速度環(huán)P速度環(huán)I角度偏差度/(°)控制效果50.0———>30矯正力不足98.0———>30或<-30矯正力過大91.3———-10~10振蕩,不穩(wěn)定91.32.0——-10~10振蕩減弱,不穩(wěn)定91.31.2——-5~5控制平滑,易失速91.31.26.0—-3~3穩(wěn)定差,抗干擾弱91.31.26.00.2-3~3穩(wěn)定,抗干擾
本文介紹了兩輪平衡小車系統(tǒng)的總體設(shè)計(jì)方案,并從主控制器、檢測(cè)環(huán)節(jié)、電機(jī)驅(qū)動(dòng)等方面介紹了系統(tǒng)的主要硬件組成。針對(duì)多變量、強(qiáng)耦合、高度不穩(wěn)定,非線性的兩輪平衡小車控制問題進(jìn)行了研究,采用雙閉環(huán)PID控制算法對(duì)其進(jìn)行控制,角度環(huán)采用PD控制算法,其中P控制起主要作用,消除角度偏差、D控制作用于系統(tǒng)過于激烈的情況,降低系統(tǒng)超調(diào)。速度環(huán)采用PI控制算法,速度環(huán)補(bǔ)償了角度環(huán)控制的不足,在PI控制算法中I調(diào)節(jié)作為主要控制,通過對(duì)偏差值積分,提高了整個(gè)系統(tǒng)控制精度。系統(tǒng)利用超聲波檢測(cè)回來的小車與物體的距離,通過區(qū)間判斷來疊加或減小1個(gè)固定值控制PWM脈沖的占空比,增加系統(tǒng)的響應(yīng)速度。最后搭建了兩輪平衡小車樣機(jī),并利用試湊法整定了相關(guān)的PID參數(shù),通過系統(tǒng)的軟硬件設(shè)計(jì)、調(diào)試及運(yùn)行情況,驗(yàn)證了雙閉環(huán)PID控制算法的有效性,小車能夠穩(wěn)定地實(shí)現(xiàn)平衡控制。