平衡小車演算法
Ⅰ 平衡車的工作原理是什麼
電動平衡車的原理主要是建立在一種被稱為「動態穩定」(Dynamic Stabilization)的基本原理上,也就是車輛本身的自動平衡能力。以內置的精密固態陀螺儀(Solid-State Gyroscopes)來判斷車身所處的姿勢狀態,透過精密且高速的中央微處理器計算出適當的指令後,驅動馬達來做到平衡的效果。假設我們以站在車上的駕駛人與車輛的總體重心縱軸作為參考線。當這條軸往前傾斜時,智能平衡車車身內的內置電動馬達會產生往前的力量,一方面平衡人與車往前傾倒的扭矩,一方面產生讓車輛前進的加速度,相反的,當陀螺儀發現駕駛人的重心往後傾時,也會產生向後的力量達到平衡效果。因此,駕駛人只要改變自己身體的角度往前或往後傾,智能平衡車就會根據傾斜的方向前進或後退,而速度則與駕駛人身體傾斜的程度呈正比。
原則上,只要電動平衡車有正確打開電源且能保持足夠運作的電力,車上的人就不用擔心有傾倒跌落的可能,這與一般需要靠駕駛人自己進行平衡的滑板車等交通工具大大不同。市場前景:即使自平衡電動車價格不菲,但在中國這個超級消費大國,仍然有著不錯的前景。首先來說自平衡電動車開始較廣泛的被用來商用和警用,起到了非常不錯的效果,最為突出的就是在2011年兩會期間巡邏警察配備的自平衡電動車,他們瀟灑的表現,儼然成了兩會期間一道亮麗的風景,贏來大批的圍觀群眾。 其次自平衡電動車在中國的民用銷量也是很不錯的,很多人對它的特性所著迷,這其中就就包括很多的明星群體。總體來說自平衡電動車在中國的市場還是比較樂觀的,隨著民眾生活水平的提高,自平衡電動車的銷量一定會出現成倍的增加,這都是完全可能的。
Ⅱ 平衡車的原理是什麼
運作原理主要是建立在一種被稱為「動態穩定」(DynamicStabilization)的基本原理上,也就是車輛本身的自動平衡能力。以內置的精密固態陀螺儀(Solid-StateGyroscopes)來判斷車身所處的姿勢狀態,透過精密且高速的中央微處理器計算出適當的指令後,驅動馬達來做到平衡的效果。
Ⅲ 如何通過一個陀螺儀感測器配合PID演算法實現兩輪車的平衡
陀螺儀的作用
兩輪自平衡機器人控制系統除了需要實時的傾角信號,還要用到角速度以給出控制量。理論上可以對加速度計測得的傾角求導得到角速度,但實際上這樣求得的結果遠遠低於陀螺儀測量的精度,陀螺儀具有動態性能好的優點。
(1)陀螺儀的直接輸出值是相對靈敏軸的角速率,角速率對時間積分即可得到圍繞靈敏軸旋轉過的角度值。由於系統採用微控制器循環采樣程序獲得陀螺儀角速率信息,即每隔一段很短的時間采樣一次,所以採用累加的方法實現積分的功能來計算角度值。
(2)陀螺儀是用來測量角速度信號的,通過對角速度積分,能得到角度值。但由於溫度變化、摩擦力、不穩定力矩等因素,陀螺儀會產生漂移誤差。而無論多麼小的常值漂移通過積分都會得到無限大的角度誤差。因而不能單獨使用陀螺儀作為自平衡小車的角度感測器。
2.傾角感測器的作用
(1)傾角感測器中加速度計可能測量動態和靜態線性加速度。靜態加速度的一個典型例子就是重力加速度,用加速度計數直接測量物體靜態重力加速度可以確定傾斜角度。
加速度感測器靜止時,加速感測器僅僅輸出作用在加速度靈敏軸上的重力加速度值,即重力加速度的分量值。根據各軸上的重力加速度的分量值可以算出物體垂直和水平方向上的傾斜角度。
(2)加速度計動態響應慢,不適應跟蹤動態角度運動;如果期望快速地響應,又會引起較大的雜訊。再加上其測量范圍的限制,使得單獨應用加速度計檢測車體傾角並不合適,需要與其它感測器共同使用。
3.原理
其運作原理主要是建立在一種被稱為「動態穩定」(Dynamic Stabilization)的基本原理上,利用車體內部的陀螺儀和加速度感測器,來檢測車體姿態的變化,並利用伺服控制系統,精確地驅動電機進行相應的調整,以保持系統的平衡。
Ⅳ 一文搞懂PID控制演算法
PID演算法是工業應用中最廣泛演算法之一,在閉環系統的控制中,可自動對控制系統進行准確且迅速的校正。PID演算法已經有100多年歷史,在四軸飛行器,平衡小車、汽車定速巡航、溫度控制器等場景均有應用。
之前做過循跡車項目,簡單循跡搖擺幅度較大,效果如下所示:
PID演算法優化後,循跡穩定性能較大提升,效果如下所示:
PID演算法:就是「比例(proportional)、積分(integral)、微分(derivative)」,是一種常見的「保持穩定」控制演算法。
常規的模擬PID控制系統原理框圖如下所示:
因此可以得出e(t)和u(t)的關系:
其中:
Kp:比例增益,是調適參數;
Ki:積分增益,也是調適參數;
Kd:微分增益,也是調適參數;
e:誤差=設定值(SP)- 回授值(PV);
t:目前時間。
數學公式可能比較枯燥,通過以下例子,了解PID演算法的應用。
例如,使用控制器使一鍋水的溫度保持在50℃,小於50℃就讓它加熱,大於50度就斷電不就行了?
沒錯,在要求不高的情況下,確實可以這么干,如果換一種說法,你就知道問題出在哪裡了。
如果控制對象是一輛汽車呢?要是希望汽車的車速保持在50km/h不動,這種方法就存在問題了。
設想一下,假如汽車的定速巡航電腦在某一時間測到車速是45km/h,它立刻命令發動機:加速!
結果,發動機那邊突然來了個100%全油門,嗡的一下汽車急加速到了60km/h,這時電腦又發出命令:剎車!結果乘客吐......
所以,在大多數場合中,用「開關量」來控制一個物理量就顯得比較簡單粗暴了,有時候是無法保持穩定的,因為單片機、感測器不是無限快的,採集、控制需要時間。
而且,控制對象具有慣性,比如將熱水控制器拔掉,它的「余熱」即熱慣性可能還會使水溫繼續升高一小會。
此時就需要使用PID控制演算法了。
接著咱再來詳細了解PID控制演算法的三個最基本的參數:Kp比例增益、Ki積分增益、Kd微分增益。
1、Kp比例增益
Kp比例控制考慮當前誤差,誤差值和一個正值的常數Kp(表示比例)相乘。需要控制的量,比如水溫,有它現在的 當前值 ,也有我們期望的 目標值 。
當兩者差距不大時,就讓加熱器「輕輕地」加熱一下。
要是因為某些原因,溫度降低了很多,就讓加熱器「稍稍用力」加熱一下。
要是當前溫度比目標溫度低得多,就讓加熱器「開足馬力」加熱,盡快讓水溫到達目標附近。
這就是P的作用,跟開關控制方法相比,是不是「溫文爾雅」了很多。
實際寫程序時,就讓偏差(目標減去當前)與調節裝置的「調節力度」,建立一個一次函數的關系,就可以實現最基本的「比例」控制了~
Kp越大,調節作用越激進,Kp調小會讓調節作用更保守。
若你正在製作一個平衡車,有了P的作用,你會發現,平衡車在平衡角度附近來回「狂抖」,比較難穩住。
2、Kd微分增益
Kd微分控制考慮將來誤差,計算誤差的一階導,並和一個正值的常數Kd相乘。
有了P的作用,不難發現,只有P好像不能讓平衡車站起來,水溫也控製得晃晃悠悠,好像整個系統不是特別穩定,總是在「抖動」。
設想有一個彈簧:現在在平衡位置上,拉它一下,然後鬆手,這時它會震盪起來,因為阻力很小,它可能會震盪很長時間,才會重新停在平衡位置。
請想像一下:要是把上圖所示的系統浸沒在水裡,同樣拉它一下 :這種情況下,重新停在平衡位置的時間就短得多。
此時需要一個控製作用,讓被控制的物理量的「變化速度」趨於0,即類似於「阻尼」的作用。
因為,當比較接近目標時,P的控製作用就比較小了,越接近目標,P的作用越溫柔,有很多內在的或者外部的因素,使控制量發生小范圍的擺動。
D的作用就是讓物理量的速度趨於0,只要什麼時候,這個量具有了速度,D就向相反的方向用力,盡力剎住這個變化。
Kd參數越大,向速度相反方向剎車的力道就越強,如果是平衡小車,加上P和D兩種控製作用,如果參數調節合適,它應該可以站起來了。
3、Ki積分增益
Ki積分控制考慮過去誤差,將誤差值過去一段時間和(誤差和)乘以一個正值的常數Ki。
還是以熱水為例,假如有個人把加熱裝置帶到了非常冷的地方,開始燒水了,需要燒到50℃。
在P的作用下,水溫慢慢升高,直到升高到45℃時,他發現了一個不好的事情:天氣太冷,水散熱的速度,和P控制的加熱的速度相等了。
這可怎麼辦?
P兄這樣想:我和目標已經很近了,只需要輕輕加熱就可以了。
D兄這樣想:加熱和散熱相等,溫度沒有波動,我好像不用調整什麼。
於是,水溫永遠地停留在45℃,永遠到不了50℃。
根據常識,我們知道,應該進一步增加加熱的功率,可是增加多少該如何計算呢?
前輩科學家們想到的方法是真的巧妙,設置一個積分量,只要偏差存在,就不斷地對偏差進行積分(累加),並反應在調節力度上。
這樣一來,即使45℃和50℃相差不是太大,但是隨著時間的推移,只要沒達到目標溫度,這個積分量就不斷增加,系統就會慢慢意識到:還沒有到達目標溫度,該增加功率啦!
到了目標溫度後,假設溫度沒有波動,積分值就不會再變動,這時,加熱功率仍然等於散熱功率,但是,溫度是穩穩的50℃。
Ki的值越大,積分時乘的系數就越大,積分效果越明顯,所以,I的作用就是,減小靜態情況下的誤差,讓受控物理量盡可能接近目標值。
I在使用時還有個問題:需要設定積分限制,防止在剛開始加熱時,就把積分量積得太大,難以控制。
PID演算法的參數調試是指通過調整控制參數(比例增益、積分增益/時間、微分增益/時間) 讓系統達到最佳的控制效果 。
調試中穩定性(不會有發散性的震盪)是首要條件,此外,不同系統有不同的行為,不同的應用其需求也不同,而且這些需求還可能會互相沖突。
PID演算法只有三個參數,在原理上容易說明,但PID演算法參數調試是一個困難的工作,因為要符合一些特別的判據,而且PID控制有其限制存在。
1、穩定性
若PID演算法控制器的參數未挑選妥當,其控制器輸出可能是不穩定的,也就是其輸出發散,過程中可能有震盪,也可能沒有震盪,且其輸出只受飽和或是機械損壞等原因所限制。不穩定一般是因為過大增益造成,特別是針對延遲時間很長的系統。
2、最佳性能
PID控制器的最佳性能可能和針對過程變化或是設定值變化有關,也會隨應用而不同。
兩個基本的需求是調整能力(regulation,干擾拒絕,使系統維持在設定值)及命令追隨 (設定值變化下,控制器輸出追隨設定值的反應速度)。有關命令追隨的一些判據包括有上升時間及整定時間。有些應用可能因為安全考量,不允許輸出超過設定值,也有些應用要求在到達設定值過程中的能量可以最小化。
3、各調試方法對比
4、調整PID參數對系統的影響