如何對(duì)舵機(jī)建模仿真?
卓大大 您能發(fā)篇推文講解一下舵機(jī)控制的傳遞函數(shù)如何求解嗎 在做智能車(chē)仿真時(shí)卡在這里了。
的確,宅在家里手里沒(méi)有實(shí)際的智能車(chē)模,也無(wú)法實(shí)際調(diào)試。利用所學(xué)習(xí)的理論知識(shí)來(lái)對(duì)智能車(chē)建模仿真也不失為一種鍛煉的方法,這更能夠?qū)⒄n內(nèi)課外結(jié)合起來(lái)。
在仿真智能車(chē)控制中,有很多環(huán)節(jié)需要建模,其中的舵機(jī)環(huán)節(jié)是影響車(chē)模運(yùn)行性能的重要環(huán)節(jié)。你提到如何對(duì)舵機(jī)進(jìn)行建模的問(wèn)題非常重要,回答這個(gè)問(wèn)題需要從以下這幾個(gè)方面來(lái)討論。
什么是傳遞函數(shù)?
在分析和設(shè)計(jì)任何系統(tǒng)的時(shí)候,最重要的一個(gè)環(huán)節(jié)就是對(duì)系統(tǒng)進(jìn)行建模。有很多數(shù)學(xué)模型可以用于控制系統(tǒng)的描述。比如:微分方程、傳遞函數(shù)、狀態(tài)方程等。
傳遞函數(shù)是用來(lái)刻畫(huà)線性時(shí)不變(LTI:Linear Time Invariant)系統(tǒng)零狀態(tài)下輸入輸出信號(hào)之間的關(guān)系。針對(duì)控制問(wèn)題來(lái)說(shuō),系統(tǒng)函數(shù)可以定義為系統(tǒng)輸出信號(hào)的拉普拉斯變換與輸入信號(hào)拉普拉斯變換的比值。
下面微分方程描述了線性時(shí)不變系統(tǒng)輸入輸出時(shí)域關(guān)系:
如果系統(tǒng)是零狀態(tài),那么對(duì)方程兩邊做Laplace變換,可得:
系統(tǒng)函數(shù)定義為:
講到這兒,只是定義了什么是可以用于控制研究的傳導(dǎo)函數(shù)。在具體建立舵機(jī)的系統(tǒng)函數(shù)之前,需要判斷一下舵機(jī)是否滿(mǎn)足建立傳遞函數(shù)的條件:線性時(shí)不變特性。
舵機(jī)是線性時(shí)不變系統(tǒng)嗎?
線性時(shí)不變特性是描述了系統(tǒng)的輸入輸出之間的兩個(gè)特性,線性性和時(shí)不變特性。
時(shí)不變特性描述了系統(tǒng)的由系統(tǒng)輸入信號(hào) 所引起的系統(tǒng)輸出 ,是否隨著輸入信號(hào)的時(shí)間變化 而產(chǎn)生相同的時(shí)間變化 。舵機(jī)的輸入輸出之間的關(guān)系基本上滿(mǎn)足時(shí)不變特性。
線性特性是指系統(tǒng)輸入輸出之間滿(mǎn)足齊次性和疊加性,如果限定系統(tǒng)是實(shí)數(shù)系統(tǒng),那么滿(mǎn)足疊加性也就滿(mǎn)足齊次性了。
下圖顯示了舵機(jī)在給定的指令 之后,實(shí)際測(cè)量輸出角度 變化的情況?;旧鲜前凑找粋€(gè)恒定的轉(zhuǎn)速轉(zhuǎn)動(dòng)到指定角度便停止了。
那么,如果將指令 放大兩倍,變成 ,舵機(jī)大約經(jīng)過(guò)兩倍的時(shí)間,到達(dá)兩倍的角度,角度信號(hào)為 。如果僅僅是從最終輸出角度數(shù)值 來(lái)看,它與輸入信號(hào) 之間是線性(比例)關(guān)系。但從動(dòng)態(tài)過(guò)程 來(lái)看,輸出信號(hào)并不是放大兩倍:
所以,舵機(jī)不是一個(gè)線性系統(tǒng)。
由于實(shí)際舵機(jī)不滿(mǎn)足線性時(shí)不變特性,所以本質(zhì)上講,它無(wú)法使用傳遞函數(shù)了描述。
實(shí)際系統(tǒng)的線性近似
的確,很多實(shí)際系統(tǒng)不滿(mǎn)足線性時(shí)不變特性。這就使得應(yīng)用系統(tǒng)函數(shù)進(jìn)行描述遇到困難。在一定條件下,可以將系統(tǒng)進(jìn)行線性近似。
比如,只研究系統(tǒng)輸入輸出之間變化量的關(guān)系,可以引入增量線性系統(tǒng)的概念。如果系統(tǒng)是分段線性的,可以在每一階段內(nèi)建立對(duì)應(yīng)的傳遞函數(shù)。
如果系統(tǒng)輸入輸出之間的關(guān)系足夠平滑,而系統(tǒng)運(yùn)行時(shí)變化范圍小,這樣可以使用局部線性化來(lái)近似該系統(tǒng)。
那么對(duì)于舵機(jī)來(lái)講,它是否滿(mǎn)足上面的線性近似呢?很遺憾,至少對(duì)控制車(chē)模轉(zhuǎn)向的小型舵機(jī)來(lái)講,在它的工作范圍內(nèi)很難獲得比較好用的線性化后的模型了,主要的原因是舵機(jī)工作在大的動(dòng)態(tài)范圍內(nèi)。
為什么舵機(jī)不是線性的?
舵機(jī)內(nèi)部包括有小型直流電機(jī)、減速齒輪、驅(qū)動(dòng)電路以及位置傳感器等,是一個(gè)機(jī)電一體化的位置閉環(huán)負(fù)反饋系統(tǒng)。其中的小型電機(jī)、位置傳感器以及直流電機(jī)都可以近似看成線性系統(tǒng),非線性主要來(lái)自于驅(qū)動(dòng)電路。
由于受到工作電壓以及功率的限制,驅(qū)動(dòng)電路輸出具有飽和特性。這樣就決定了電機(jī)轉(zhuǎn)速被限制在一定的范圍之內(nèi)。當(dāng)電路輸出進(jìn)行飽和之后,電機(jī)的轉(zhuǎn)速就是恒定值,驅(qū)動(dòng)輸出角度按照恒定角速度轉(zhuǎn)動(dòng),從而與輸入信號(hào)之間就不再保持線性關(guān)系了。
所以,你可能看到網(wǎng)絡(luò)上很多對(duì)舵機(jī)進(jìn)行建模分析的,大部分都是針對(duì)于大型的伺服舵機(jī),它的輸出能力大于實(shí)際負(fù)載,或者說(shuō)特別關(guān)注于小范圍的動(dòng)態(tài)過(guò)程,此時(shí)可以使用傳遞函數(shù)建立相對(duì)精確的模型。
如何近似建立舵機(jī)數(shù)學(xué)模型?
根據(jù)上面分析,如何來(lái)對(duì)舵機(jī)建立可以用于仿真的數(shù)學(xué)模型呢?
1. 修改舵級(jí)的驅(qū)動(dòng)
前面分析了小型舵機(jī)的非線性主要來(lái)自于內(nèi)部驅(qū)動(dòng)電路板輸出飽和造成的,因此如果更換外部強(qiáng)勁的驅(qū)動(dòng)電路,就可以減少這方面的限制了。
在推文五線接口舵機(jī)[1]中給出了是所有A4950作為舵機(jī)功率驅(qū)動(dòng)的設(shè)計(jì)方法,在一定程度上可以擴(kuò)大舵機(jī)工作的線性范圍。
由于舵機(jī)的特性關(guān)系到車(chē)模運(yùn)行的速度,所以在比賽規(guī)則中除了特殊的組別(節(jié)能組、大型L型車(chē)模)之外,是不允許修改舵機(jī)內(nèi)部電路的。
2. 使用純延時(shí)環(huán)節(jié)替代舵機(jī)
由于舵機(jī)基本上工作在飽和恒速狀態(tài),在實(shí)際建模分析的時(shí)候,可以將它的傳遞函數(shù)近似以下的方式:
(1)比例環(huán)節(jié): 就是輸入輸出之間就是一個(gè)比例放大環(huán)節(jié)。傳遞函數(shù)為: 。
(2)純延時(shí)環(huán)節(jié): 根據(jù)舵機(jī)的工作參數(shù),將舵機(jī)近似成一個(gè)純延時(shí)環(huán)節(jié): 。其中 可以根據(jù)舵機(jī)參數(shù)來(lái)確定。(3)一階慣性關(guān)節(jié):
下面是使用純延遲環(huán)節(jié)仿真車(chē)模在轉(zhuǎn)彎時(shí)的運(yùn)行情況:
3. 建立舵機(jī)的非線性模型
不再使用傳遞函數(shù)來(lái)描述舵機(jī)的輸入輸出關(guān)系,而是直接建立它的輸入輸出之間的非線性動(dòng)態(tài)關(guān)系。這一點(diǎn)可以通過(guò)普通的狀態(tài)機(jī)、查表方法、人工神經(jīng)網(wǎng)絡(luò)建立,或者通過(guò)測(cè)量舵機(jī)的輸入輸出關(guān)系來(lái)進(jìn)行數(shù)值描述等。
4. 硬件在環(huán)
如論數(shù)學(xué)描述多么精確,實(shí)際上都很難對(duì)舵機(jī)在實(shí)際上工作狀態(tài)下完整的描述。因此,將來(lái)在做仿真的時(shí)候,也可以建立起硬件在環(huán)的仿真機(jī)制。將整個(gè)的仿真環(huán)節(jié)回歸到時(shí)間域來(lái)進(jìn)行。舵機(jī)模型則利用它的非線性時(shí)間模型來(lái)給出動(dòng)態(tài)特性。
小結(jié)
對(duì)于智能車(chē)仿真來(lái)講,建議你可以使用簡(jiǎn)單的比例、純延時(shí)、一階慣性環(huán)節(jié)來(lái)對(duì)車(chē)模上的舵機(jī)進(jìn)行建模。雖然這只是近似,但在給出車(chē)??刂苹緟?shù)之后,在實(shí)際的車(chē)模運(yùn)行中再進(jìn)行參數(shù)調(diào)整。
你想想,如果一切都能夠通過(guò)仿真搞定,那么還需要現(xiàn)場(chǎng)比賽干什么呢?
參考資料
五線接口舵機(jī): https://mp.weixin.qq.com/s?__biz=MzA5NjQyNjc2NQ&mid=2452221100&idx=1&sn=508232e296b36cb03b8140c1d992e878&chksm=876d02ceb01a8bd8f1c9a19295ef53c1bcc3afa5ddd81484c6b90f50b0692a0f331547317d54&token=458500273&lang=zh_CN#rd*
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!