前言
截止目前,初代小車已經調試完畢,功能上只能直立,后期還會加上更多功能。
前面關于pid的內容也已經更新完畢,如果你是跟著我的教程走的話,那么現在的你最起碼對PID已經有所了解了,那么后面我就主要講解一下平衡小車的控制原理。結合理論和實踐,徹底學會PID。
一、平衡小車為什么會倒?
說到這,那就不得不復習一下高中的物理知識-----受力分析。先看看下面一張圖–單擺,來個受力分析:
受力分析說明:如圖所示,單擺擺長為L,擺球質量為m,從平衡位置О運動到某點A(不是最高點)時的速度為V,此時擺線拉力為T,擺角為θ。對擺球所受重力和拉力進行受力分析,此時小球應該只受兩個力,一個是重力mg,一個是線的拉力T。把重力進行分解為徑向分力F’( = mgcosθ)和切向分力F( = mgsinθ):
徑向:T - mgcosθ = mv’/L(徑向合力充當物體做圓周運動的向心力)切向:F= mgsinθ (切向合力充當物體做簡諧運動的回復力)
徑向力我們不用管,我們來分析一下切向力。1.假設空氣沒有阻力由于小球一直受到一個切向力,那么小球會一直做自有震蕩運動2.假設空氣阻力很小空氣阻力會慢慢消耗切向力,小球會停下來,但是時間會很長3.假設空氣阻力很大空氣阻力會慢慢消耗切向力,小球也會停下來,但是時間先對與2會縮短
因為在空氣中運動的單擺,由于受到空氣的阻尼力,單擺最終會停止在垂直平衡位置。空氣的阻尼力與單擺運動速度成正比,方向相反。阻尼力越大,單擺越會盡快在垂直位置穩定下來。
看到這里,我們在聯想一下平衡小車,看看有什么區別。下圖是平衡小車傾斜時上方某一點的受力分析:
平衡小車有個現象,當你沒有上電時,小車如果機械結構比較好的情況下,在垂直的時候是可以單獨直立不到的。但是只要稍微有點角度,他就會順著這個角度加速倒下。因為在垂直的時候,小車受到的回復力=mgsinθ,而θ=0,因此回復力等于0,。此時只有一個mg和地面對小車的支撐力,兩者相抵消,受力平衡,從而直立不到。但是稍微有點角度就會打破這一受力平衡。因為在它偏離平衡位置的時候,所受到的回復力與位移方向相同,而單擺卻相反!因此,平衡小車便會加速偏離垂直位置,直到倒下。如何通過控制使得平衡小車能夠像單擺一樣,穩定在垂直位置呢?要達到這一目的,只有兩個辦法:一個是改變重力的方向;另一個是增加額外的受力,使得回復力與位移方向相反才行。顯然能夠做到的只有第二種方法。
二、平衡小車直立原理
怎么增加一個額外力使得回復力與位移方向相反呢?看下圖:
讓電機旋轉,使得小車運動方向和傾倒方向一致。這樣就能產生一個力F1,使得小車保持平衡。
那么問題來了,新手都會遇到一個問題,為啥讓電機旋轉,會使得小車保持平衡?知其然,更要知其所以然
解決這一問題只有一個辦法----還是受力分析、在這之前呢,先給大家說一個現象,幫助大家理解。
老司機當然還是要開車呀,當你坐在車里,腳踩油門加速的時候,你會發現,你的上半身會向后仰,仿佛有個人坐在你的大腿上想放倒你。不巧的是后面有個座椅支撐著你,座椅對你產生推背感。
這一現象從物理的角度怎么解釋呢?汽車發動的瞬間你的身體因為慣性會保持靜止狀態,但因為你的下半身腰部以下(坐立時)都直接接觸汽車,因為摩擦力的緣故會伴隨車子向前移動。于是見證奇跡的時刻到了,你下半身隨著車子移動,上半身因為慣性保持不動,結果就變成了下身拉動上身即出現了你所謂的身體后仰狀態。類比我們的平衡小車,當電機旋轉時,會產生一個力使得小車下半身向傾倒方向加速,這個力會使得上半身產生一個回復力與位移方向相反,這樣就能保持平衡了。
下圖為受力分析圖,圖中省略一部分受力,比如摩檫力、輪子對上半身的支持力等等,主要是F和-F1COSθ。
受力分析之后就能列出回復力Y的關系式了:
又因為在實際運用當中,平衡小車擺動角度很小,因此進行線性化簡化。并假設負反饋控制是車輪加速度 a 與偏角 θ 成正比,比例為 k。代入公式得出:
如果比例k>g ,( g是重力加速度)那么回復力的方向便于位移方向相反了,這樣就能使小車直立了。
為了使得倒立擺能夠盡快地在垂直位置穩定下來,還需要增加阻尼力。雖然存在著空氣和摩擦力等阻尼力,相對阻尼力比較小。因此需要另外增加控制阻尼力。增加的阻尼力與偏角的速度成正比,方向相反。最終得出下圖公式:
綜上所述可得控制車輪加速度的控制算法:式中 θ 為小車傾角,θ’ 為角速度,k 、k1 均為比例系數。
這就是小車直立環的推導過程,乍一看這個公式其實就是PD控制器。
三、速度環的引入
平衡小車的最高境界是什么?一個字:穩怎么穩?立在那不動。怎么不動?保持直立并且速度為0(保持直立也有可能是勻速運動)。怎么速度為0?加入速度環。加入速度環的原因還有以下兩點:1.配合直立環,讓小車更加穩定2.為后面遠程遙控做基礎
四、串級PID
由于速度環和直立環都是控制小車電機的轉速,因此兩者需串在一起。又因為平衡小車最主要的是直立,因為速度環的輸出作為直立環的輸入,直立環的輸出最終作用到小車電機上。最終形成下圖框圖的形式:
總結
重點理解直立原理,受力分析圖。知識點都不難,回憶回憶高中物理就能分析出來了。至此,理論部分已經差不多了,把理論部分理解透徹,代碼部分也就好理解了。代碼實現見下一節。
|