?

基于WEBOTS的模糊PID控制的研究

2016-09-08 09:23尹夢舒
電子設計工程 2016年13期
關鍵詞:輪式控制算法模糊控制

尹夢舒,馮 常

(1.中科院光電技術研究所 四川 成都610209;2.中國科學院大學 北京100190)

基于WEBOTS的模糊PID控制的研究

尹夢舒1,2,馮 常1

(1.中科院光電技術研究所 四川 成都610209;2.中國科學院大學 北京100190)

在基于Webots虛擬移動機器人仿真軟件提供的環境下,以Epuck輪式機器人為實驗平臺,設計了模糊PID控制器并提出了一種模糊PID控制算法,在Webots軟件的代碼區寫入模糊PID控制算法來控制機器人的運動,最后將實驗結果與常規PID控制進行了比較分析,得出了模糊PID具有控制更準確,魯棒性更強,和系統更穩定的優勢。

模糊PID控制器;模糊PID控制算法;Webots仿真軟件;輪式機器人

PID控制器作為最早實用化的控制器已有近百年的歷史,隨著它的應用越來越廣泛,在很多特殊條件和場合下,單使用PID控制器并不能滿足所有要求,這時就需要將PID與其它不同的方式相結合起來彌補自身的不足,形成新的更完善更符合要求的控制方式[1]。

而基于模糊數學理論的模糊控制是近十幾年來迅速發展起來的一項高級新型技術,有較強的容錯能力和自適應控制能力,將傳統PID控制器和模糊控制技術相結合起來,就形成了本文所要研究的模糊PID控制器。

1 模糊PID控制器的原理與設計

1.1模糊PID控制器的原理

模糊PID控制器分為兩部分:PID控制和模糊化模塊。而二者結合的方式不同,所形成的模糊PID控制也不同。本文所采用的方式是PID參數模糊自整定的方法,形成了自適應模糊PID控制器,該控制器以偏差e和偏差變化ec為輸入,找出PID控制器的3個參數和偏差e及偏差變化ec之間的模糊關系,在運行過程中不斷檢測偏差e及偏差變化ec,利用模糊控制器對PID控制器的3個參數進行在線整定,對參數進行調節以使系統達到最佳響應性能[2]。其結構框圖如圖1所示。

圖1 模糊PID控制結構圖

1.2確定模糊PID控制器的語言變量值

將輸入量的論域實行離散化,即把輸入的論域進行歸一化處理,轉變成論域上的對應語言變量值,即模糊化。采用Mamdani提出的標準化設計,將輸入量e和ec及PID控制器的3個參數的論域范圍設定為[-3,3],選取常用的三角函數為隸屬函數形式,輸入量模糊化后的語言變量可描述為“負大、負中、負小、零、正小、正中、正大”,分別定義為{NB、NM、NS、ZO、PS、PM、PB}[3],如圖2所示。

圖2 偏差e的模糊化

1.3參數自整定的模糊控制規則

模糊控制器對PID 3個參數利用模糊規則進行模糊推理,通過查詢模糊矩陣表來對參數進行調整。在調整3個參數的過程中分別要遵守以下3個原則[4]:

1)Kp整定原則:當偏差e正向偏大時,△Kp為正向,即要增大Kp;而當e負向增加時,系統處于超調狀態,此時應該降低Kp。而當偏差e處于零的位置時,若ec為負向,則系統超調越來越大,此時應該降低Kp;若ec為正向,為了降低偏差△Kp為正向。Kp整定的模糊規則表如表1所示。

表1 Kp的模糊規則表

2)Ki整定原則:采用積分分離原則,Ki的調節和Kp相似,但為了防止積分飽和,系統出現超調,Kp增大一點時,Ki應該相應減少一點。Ki整定的模糊規則表如表2所示。

表2 Ki的模糊規則表

3)Kd整定原則:當偏差e正向偏大時,增大Kp的同時可能會引起微分溢出,因此取較大Kp時應取較小Kd。Kp整定的模糊規則表如表3所示。

表3 Kd的模糊規則表

1.4PID 3個參數的計算

模糊推理的結果不能直接得到修正后的參數值,我們還需將模糊推理的結果進行解模糊,本文采用重心法進行解模糊[5],得到控制量的精確分布,即可得到各模糊子集的隸屬度,根據其各參數的模糊控制模型和模糊矩陣表,查出修正參數代入下式進行計算,最后得到最終整定后的參數值。

2 Webots仿真

2.1webots簡介

webots是一款用于移動機器人建模、編程和仿真的開發環境軟件。除了可以在軟件中對每個機器人選擇大量的虛擬傳感器和驅動器,也可以在這種集成的環境或者是第三方的開發環境對機器人的控制器進行編程。機器人的行為完全可以通過現實環境中進行驗證,同時控制器的代碼也可以實現商業化機器人的移植。Webots目前已經在全世界1 067所大學及科研院的中使用,為全世界的使用者節省了大量的開發時間。

在Webots中可以使用6種編程語言(C,C++,Java,Python, Matlab,URBI)和200API函數對機器人進行編程,也可以使用我們20個類(C++,Java或Python)的APIs連接外部庫文件(如OpenCV)。在Webots的代碼編輯器中對機器人的控制代碼進行編程,以達到控制機器人來執行任務的目的[6]。

2.2模糊PID算法設計思想

常規PID控制的算法差分模型如下公式:

其中kp是比例系數;ki是積分時間常數;kd是微分時間常數。

而模糊PID控制器則是通過模糊控制器找出使系統處于最佳狀態的PID控制器的比例積分微分系數這3個參數值。在系統運行過程中,通過對模糊推理結果進行處理、查表和運算,完成了對PID控制器3個參數的在線自校正,最終得到合適的參數值,使系統達到最佳響應。其算法程序流程如圖3所示。

圖3 自適應模糊PID算法流程圖

/*主函數*/

int main(int argc,char**argv)

float vetor;

float templ;

float error;

WbDeviceTag ds=wb_robot_get_device("ds");

wb_distance_sensor_enable(ds,TIME_STEP);

PID sPID;

wb_robot_init();

PIDInit();

wb_differential_wheels_set_speed(100.0,100.0);

WbDeviceTag my_sensor=wb_robot_get_device("my_sensor");

float fuzzy_Kp(float e,float ec);

float fuzzy_Ki(float e,float ec);

float fuzzy_Kd(float e,float ec);

do{

sPID.setpoint=100.0;

vetor=wb_distance_sensor_get_value(my_sensor)/ TIME_STEP;

error=sPID.setpoint-vetor;

templ=PIDcal(&sPID,error);

while(wb_robot_step(TIME_STEP)!=-1);

wb_robot_cleanup();

return 0;

3 仿真結果及分析

圖4 WEBOTS軟件3D窗口輪式機器人運動圖

圖5 WEBOTS軟件3D窗口輪式機器人運動圖

在WEBOTS軟件的代碼編輯區分別寫入模糊PID控制算法和常規PID控制算法,進行編譯后生成可執行文件,即可成功創建仿真環境。最后將Epuck輪式機器人導入仿真環境中,運行程序進行仿真。通過軟件的3D窗口可顯示輪式機器人的運動情況,如圖4、圖5所示。

通過觀察3D窗口中輪式機器人在模糊PID和常規PID控制下的運動狀態,和在控制區對機器人的控制情況比較得出,模糊PID控制更為精準,且魯棒性更高。

最后將輪式機器人運動過程中模糊PID控制下和常規PID控制下的速度響應圖進行比較,如圖6和圖7所示。通過兩圖的對比,明顯可看出,在模糊PID算法控制下的速度響應圖中,速度的最終趨于一個定值,系統逐漸穩定,最后達到平衡狀態。而在常規PID控制下[7-8]的速度響應圖中并沒看出系統最后能否穩定下來,速度顯然還在不斷變化,因此模糊PID算法控制下的系統具有更穩定的優勢。

圖6 模糊PID控制下機器人速度響應圖

圖7 常規PID控制下機器人速度響應圖

4 結束語

文中基于WEBOTS虛擬移動機器人仿真平臺,進行了模糊PID控制器的設計和模糊PID算法的研究與實現。機器人大多數都比較昂貴,一個好的仿真平臺可以起到檢測自己算法而又不會損壞機器人的作用,因此本文選擇WEBOTS這一具有和真實機器人接口,可實現控制代碼對商業化機器人移植,進行真實環境下的測試的軟件作為仿真平臺。

通過在WEBOTS平臺上的驗證,發現所提出的模糊PID控制算法可行,且經實驗結果對比,得出了模糊PID控制比常規PID控制具有控制更準確,魯棒性更強,和系統更穩定的優勢。

[1]陶永華,尹怡欣,葛蘆生.新型PID控制及其應用[M].北京:機械工業出版社,1998.

[2]朱穎合.自適應模糊PID控制器的研究與應用[D]杭州:杭州電子科技大學,2011.

[3]席愛民.模糊控制技術[M].西安:西安電子科技大學出版社,2008:6-15,68-77.

[4]劉金琨.先進PID控制MATLAB仿真[M].3版.北京:電子工業出版社,2014:288-291.

[5]王灝,毛宗源.機器人的智能控制方法[M].北京:國防工業出版社,2002:36-40.

[6]Admin.Webots機器人仿真軟件[EB/OL].[2015-7-15].http:// www.sensorobots.net/931.html

[7]周陽,周美嬌,殷弋.直流電機調速系統設計及PID參數整定[J].電子科技,2016(5):153-157.

[8]李娟.一種基于前饋補償的PID軌壓控制設計方法[J].電子科技,2014(6):146-149.

【相關參考文獻鏈接】

黃軍友.基于 PID控制的 X模式四旋翼飛行器研究[J]. 2014,22(2):127-129.

楊藝,虎恩典.基于S函數的BP神經網絡PID控制器及Simulink仿真[J].2014,22(4):29-31.

褚新勝,吳耀,龐科旺.智能PID控制器在儀表中的應用[J]. 2014,22(6):27-29.

張守旭,嚴衛生,謝蘭,等.非線性PID控制技術在飛艇上的應用[J].2014,22(7):64-66.

劉婉慈,王曉明,肖雯娟.基于模糊-PID控制瀝青骨料稱量系統算法的仿真研究[J].2014,22(13):109-111.

張瑩,肖軍,李天.基于遺傳優化的模糊PID控制器在水加藥中的應用[J].2014,22(17):9-12.

曹詩林,王安.吹塑機壁厚控制系統的模糊PID控制器的設計[J].2014,22(21):84-87.

王志剛,虎恩典,王寧.基于PLC的雙容水箱液位串級PID控制的實現[J].2014,22(22):131-133.

劉念,程磊,張東,等.基于PID控制算法的氣味循跡車設計[J].2015,23(9):175-177.

王攀藻,張華.變風量中央空調智能PID控制系統設計研究

Research on fuzzy PID control algorithm based on WEBOTS

YIN Meng-shu1,2,FENG Chang1
(1.Institute of Optics and Electronics,Chinese Academy of Sciences,Chengdu 610209,China;2.University of Chinese Academy of Sciences,Beijing 100190,China)

It uses Epuck wheeled robot as the experiment platform in the environment provided by Webots virtual simulation software,designs a fuzzy PID controller and proposes a fuzzy PID control algorithm.Fuzzy PID control algorithm is written in the webots software code areas to control the robot movement and finally experimental result is compared with those of the conventional PID control,it is concluded that the fuzzy PID control is more accurate,robust,and the system is more stable in the advantages.

fuzzy PID controller;fuzzy PID control algorithm;webots simulation software;wheeled robot

TP242.6

A

1674-6236(2016)13-0041-04

2015-08-10稿件編號:201508044

尹夢舒(1991—),女,湖北武漢人,碩士研究生。研究方向:機器人控制。

猜你喜歡
輪式控制算法模糊控制
輪式裝備搶救搶修車
紡織機械手專利瞄準控制算法
兩輪式隨動支撐裝置控制系統設計
高通過性輪式無人機平臺誕生記
基于ARM+FPGA的模塊化同步控制算法研究
T-S模糊控制綜述與展望
基于模糊控制的PLC在溫度控制中的應用
基于模糊控制的恒壓供水系統的研究
基于模糊控制的無人機滑跑起飛控制方法研究
基于航跡差和航向差的航跡自動控制算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合