本發(fā)明涉及兩輪差速控制技術(shù)領(lǐng)域,具體涉及一種兩輪差速控制無級平衡標(biāo)定方法。
背景技術(shù):
兩輪差速控制有很多實(shí)際應(yīng)用場景,如移動機(jī)器人、電動小車、平衡車等等。兩輪差速控制系統(tǒng)結(jié)構(gòu)簡單,既不需要專門的轉(zhuǎn)向機(jī)構(gòu),也不需要為車輪和車軸預(yù)留太多空間。因此,兩輪差速控制系統(tǒng)簡單廉價(jià)實(shí)用,擁有非常廣闊的市場。
兩輪差速控制一般使用直流電動機(jī),采用直流電機(jī)h橋式電機(jī)驅(qū)動電路,通過脈沖寬度調(diào)制(pwm)調(diào)速。為了提高控制精度,需要對電動機(jī)進(jìn)行閉環(huán)控制,所以一般有刷電動機(jī)需要加裝旋轉(zhuǎn)正交編碼器。
如圖1所示的h橋式電機(jī)驅(qū)動電路包括4個(gè)三極管和一個(gè)電機(jī),因其外形酷似字母“h”,所以稱作h橋驅(qū)動電路。要使電機(jī)m運(yùn)轉(zhuǎn),必須使對角線上的一對三極管導(dǎo)通。例如圖2和圖3所示,當(dāng)q1管和q4管導(dǎo)通時(shí),電流就從電源正極經(jīng)q1從左至右穿過電機(jī),然后再經(jīng)q4回到電源負(fù)極,電機(jī)順時(shí)針轉(zhuǎn)動;當(dāng)三極管q2和q3導(dǎo)通時(shí),電流將從右至左流過電機(jī),驅(qū)動電機(jī)逆時(shí)針方向轉(zhuǎn)動。如圖4所示,完整的晶體管h橋驅(qū)動電路,pwm1、pwm2為電機(jī)方向控制輸入端,pwm1=1,pwm2=0時(shí)正轉(zhuǎn),pwm1=0、pwm2=1時(shí)電機(jī)反轉(zhuǎn)。pwm1、pwm2同時(shí)也是電機(jī)調(diào)速的脈寬輸入端。
晶體管是最為廉價(jià)的控制方法,但在晶體管上有明顯的壓降,會產(chǎn)生功率的損耗,效率不高,適宜應(yīng)用在低電壓、小功率的場合。如圖5所示的場效應(yīng)管組成的h橋驅(qū)動電路,該電路的功能:s1閉合,電機(jī)正轉(zhuǎn);s1斷開,電機(jī)反轉(zhuǎn);s2閉合,電機(jī)轉(zhuǎn);s2斷開,電機(jī)停。場效應(yīng)管是效率最高的控制方式,但價(jià)格較高,通常應(yīng)用在大功率電機(jī)驅(qū)動場合。
技術(shù)實(shí)現(xiàn)要素:
現(xiàn)實(shí)使用中,兩輪差速控制系統(tǒng)存在生產(chǎn)安裝不可能完全一致的問題,因此兩個(gè)車輪在實(shí)際使用時(shí)會有些許偏差。兩輪之間的不同偏差程度會產(chǎn)生不同運(yùn)動狀態(tài),這種結(jié)果會嚴(yán)重影響基于車輛模型進(jìn)行智能控制的精度。鑒于此,本發(fā)明提供了一種兩輪差速控制無級平衡標(biāo)定方法,通過對兩輪之間的旋轉(zhuǎn)速度誤差進(jìn)行補(bǔ)償,來提高車輛直線運(yùn)動的精度,進(jìn)而改善基于車輛差速驅(qū)動運(yùn)動學(xué)模型進(jìn)行智能控制的效果。
在現(xiàn)有技術(shù)中,即使相同的生產(chǎn)線生產(chǎn)的兩個(gè)設(shè)備,也不可能完全相同;再加上安裝設(shè)備、輪轂尺寸、輪胎尺寸和變形等,都會導(dǎo)致兩個(gè)車輪在實(shí)際使用時(shí)會有些許偏差,兩輪之間的不同偏差程度會產(chǎn)生不同運(yùn)動狀態(tài),這種結(jié)果會嚴(yán)重影響基于車輛模型進(jìn)行智能控制的精度。通過對兩輪之間的誤差進(jìn)行補(bǔ)償,以提高車輛直線運(yùn)動的精度,通過采用本發(fā)明所述的兩輪差速控制無級平衡標(biāo)定方法,可以明顯提高車輛直線運(yùn)動精度,進(jìn)而改善基于車輛模型進(jìn)行智能控制的效果。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案。
一種兩輪差速控制無級平衡標(biāo)定方法,應(yīng)用于兩輪差速控制系統(tǒng),所述兩輪差速控制無級平衡標(biāo)定方法通過對兩輪之間的旋轉(zhuǎn)速度誤差進(jìn)行補(bǔ)償,來提高車輛直線運(yùn)動的精度,進(jìn)而改善基于車輛差速驅(qū)動運(yùn)動學(xué)模型進(jìn)行智能控制的效果。所述兩輪之間的旋轉(zhuǎn)速度誤差補(bǔ)償,是通過累計(jì)每一個(gè)控制周期中無法執(zhí)行的控制精度偏差,當(dāng)這種累計(jì)的偏差達(dá)到可控制精度時(shí),進(jìn)行補(bǔ)償,以實(shí)現(xiàn)將系統(tǒng)偏差控制在數(shù)據(jù)可以表達(dá)的精度內(nèi)。
優(yōu)選的是,所述兩輪之間的旋轉(zhuǎn)速度誤差補(bǔ)償,采用的無級平衡補(bǔ)償計(jì)算式:
deviation0=0;
realvalue=refvalue*ratio;
value=[realvalue+deviationi-1];
deviationi=realvalue-value;
其中,deviation表示偏差;
deviation0表示初始偏差;
realvalue表示期望值;
refvalue表示參考值;
ratio表示比例系數(shù);
value表示輸出值;
[realvalue+deviationi-1]表示將期望值和累計(jì)到目前的偏差相加,然后取整;
deviationoi表示累計(jì)到目前的偏差。
在上述任一技術(shù)方案中優(yōu)選的是,所述累計(jì)的偏差還包括且不限于四舍五入、向上取整、向下取整的方式,且結(jié)果類似。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中h橋式電機(jī)驅(qū)動電路結(jié)構(gòu)示意圖;
圖2為現(xiàn)有技術(shù)中h橋電路驅(qū)動電機(jī)順時(shí)針轉(zhuǎn)動示意圖;
圖3為現(xiàn)有技術(shù)中h橋電路驅(qū)動電機(jī)逆時(shí)針轉(zhuǎn)動示意圖;
圖4為現(xiàn)有技術(shù)中晶體管h橋驅(qū)動電路結(jié)構(gòu)示意圖;
圖5為現(xiàn)有技術(shù)中場效應(yīng)管組成的h橋驅(qū)動電路結(jié)構(gòu)示意圖;
圖6為現(xiàn)有技術(shù)中車輛差速驅(qū)動運(yùn)動學(xué)模型示意圖;
圖7為按照本發(fā)明的兩輪差速控制無級平衡標(biāo)定方法的一優(yōu)選實(shí)施例的固定補(bǔ)償和無級平衡的比較示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了克服兩輪差速控制系統(tǒng)在現(xiàn)有技術(shù)中所存在的兩輪偏差影響基于車輛模型進(jìn)行智能控制的精度問題,本發(fā)明實(shí)施例提出一種兩輪差速控制無級平衡標(biāo)定方法,通過對兩輪之間的誤差進(jìn)行補(bǔ)償,以提高車輛直線運(yùn)動的精度,進(jìn)而改善基于車輛模型進(jìn)行智能控制的效果。
如圖6所示的車輛差速驅(qū)動運(yùn)動學(xué)模型,其差速驅(qū)動運(yùn)動常用量如表1所述,
表1
則
(1)左右輪線速度:
(2)左右輪旋轉(zhuǎn)距離:
sl=vl*t,
sr=vr*t,
(3)車速:
(4)旋轉(zhuǎn)角速度:
(5)旋轉(zhuǎn)角度:
由此可見,兩輪差速驅(qū)動運(yùn)動的位姿和運(yùn)動信息都可以通過編碼器和時(shí)間計(jì)算得到。因此,只要精確控制產(chǎn)生編碼器信息的電動機(jī),即可實(shí)現(xiàn)對車輛位姿和運(yùn)動的精確控制。
為了保證兩輪差速運(yùn)動系統(tǒng)直線運(yùn)動,從上述車輛差速驅(qū)動運(yùn)動學(xué)模型可知,只需要保證兩輪旋轉(zhuǎn)速度相同即可,也就是編碼器的值以相同速度變化。但是因?yàn)檎`差的存在,使得兩輪即使旋轉(zhuǎn)速度相同,在行駛距離達(dá)到20米后,誤差已經(jīng)比較大,以至于無法獲取準(zhǔn)確的位姿信息,從而無法進(jìn)行精確控制。
兩輪差速控制無級平衡標(biāo)定方法就是通過對兩輪之間的誤差進(jìn)行補(bǔ)償,以提高車輛直線運(yùn)動的精度,也是進(jìn)行曲線運(yùn)動控制的基礎(chǔ)。
從理論上來說,只需要以一個(gè)電動機(jī)為參考,調(diào)整另一個(gè)電動機(jī)的速度即可。但是,通過編碼器值進(jìn)行閉環(huán)控制時(shí),編碼器是離散值,如果只是以變換控制周期進(jìn)行固定補(bǔ)償,雖然能夠減小整體的固定偏差,但是隨著時(shí)間的延長,這種固定偏差還是會累積。而為了獲得較高的控制精度,隨著控制頻率的提高和控制周期的累積,這種固定偏差無疑會產(chǎn)生比較大的系統(tǒng)偏差。
本發(fā)明實(shí)施例的兩輪差速控制無級平衡標(biāo)定方法,通過累計(jì)每一個(gè)控制周期中無法執(zhí)行的控制精度偏差,當(dāng)這種累計(jì)的偏差達(dá)到可控制精度時(shí),進(jìn)行補(bǔ)償,以實(shí)現(xiàn)將系統(tǒng)偏差控制在數(shù)據(jù)可以表達(dá)的精度內(nèi)。
本發(fā)明實(shí)施例的兩輪差速控制無級平衡標(biāo)定方法,一般來說,數(shù)據(jù)采用單精度或雙精度浮點(diǎn)數(shù)即可。
本發(fā)明實(shí)施例的兩輪差速控制無級平衡標(biāo)定方法,所采用的無級平衡補(bǔ)償計(jì)算方法包括:
deviation0=0;
realvalue=refvalue*ratio;
value=[realvalue+deviationi-1];
deviationi=realvalue-value;
其中,deviation表示偏差;
deviation0表示初始偏差;
realvalue表示期望值;
refvalue表示參考值;
ratio表示比例系數(shù);
value表示輸出值;
[realvalue+deviationi-1]表示將期望值和累計(jì)到目前的偏差相加,然后取整;
deviationi表示累計(jì)到目前的偏差。
固定補(bǔ)償和無級平衡的比較如表2和圖7所示,采用四舍五入方式取整。累計(jì)偏差可以控制在取整時(shí)的偏差范圍以內(nèi)。也可以用其它方式取整,例如向上取整,向下取整,結(jié)果類似。采用固定補(bǔ)償時(shí),累計(jì)偏差等于一個(gè)周期中的偏差乘以周期數(shù)。因此,12個(gè)周期后,固定補(bǔ)償?shù)睦塾?jì)偏差為(11-10.7)*12=3.6;而采用無級平衡后,參考表中的數(shù)據(jù)可知累計(jì)偏差為0.4,且該偏差不會根據(jù)時(shí)間累積,最大為0.5。
表2
采用本發(fā)明實(shí)施例的兩輪差速控制無級平衡標(biāo)定方法,對兩輪之間的誤差進(jìn)行補(bǔ)償,通過累計(jì)每一個(gè)控制周期中無法執(zhí)行的控制精度偏差,當(dāng)這種累計(jì)的偏差達(dá)到可控制精度時(shí),進(jìn)行補(bǔ)償,以實(shí)現(xiàn)將系統(tǒng)偏差控制在數(shù)據(jù)可以表達(dá)的精度內(nèi)。通過上述具體實(shí)施方法可以看出,采用兩輪差速控制無級平衡標(biāo)定方法,可以明顯提高車輛直線運(yùn)動精度,進(jìn)而改善基于車輛模型進(jìn)行智能控制的效果。一般在未標(biāo)定的情況下,控制車輛向前行駛20米,橫向誤差可達(dá)2米,轉(zhuǎn)向誤差可達(dá)10°。通過無級平衡標(biāo)定后,20米橫向誤差可控制在0.5米以內(nèi),轉(zhuǎn)向誤差可控制在2°以內(nèi)。
以上所述僅是對本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行描述,并非是對本發(fā)明的范圍進(jìn)行限定;以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍;在不脫離本發(fā)明設(shè)計(jì)精神的前提下,本領(lǐng)域普通工程技術(shù)人員對本發(fā)明的技術(shù)方案作出的任何修改、等同替換、改進(jìn)等,均應(yīng)落入本發(fā)明的權(quán)利要求書確定的保護(hù)范圍內(nèi)。