




關鍵詞:PID速度控制算法;移動機器人;路徑糾偏模糊控制算法
中圖分類號:TP242;TP18 文獻標識碼:A
0 引言
路徑糾偏屬于移動機器人控制方法的重要組成部分,行進路徑偏差主要體現在兩個方面:角度偏差和中心距離偏差。移動機器人通過調節車輪轉速來消除這兩種偏差,但如何根據角度和中心距離的變化精確設定車輪速度,尚缺乏可靠的數學模型。本文基于模糊控制理論和比例積分微分(proportional integral derivative,PID)控制器,有效建立了相應的控制模型,提高了移動機器人的控制精度,并且具有一定的實用價值。
1 移動機器人路徑糾偏控制方法設計
1.1 路徑糾偏控制方法的整體實施流程
移動機器人按照預設路徑控制行進方向,其路徑控制的實現流程:感知→ 決策→ 執行→ 糾偏。移動機器人在行進過程中,由于受到障礙物或其他因素的影響,可能會出現路徑偏移,此時需要通過糾偏來調整方向。根據移動機器人的控制系統,基于模糊控制算法和PID 速度控制算法設計了路徑糾偏控制方法,實現流程如圖1 所示。其中,Δα 為移動機器人和預設路徑的角度偏差,Δu 為移動機器人和預設路徑的中心距離偏差。模糊控制算法在多個控制周期內完成路徑偏差調節,在一個調節周期內,算法的輸入參數為(Δα,Δu),Δαt 為第t 個周期的角度偏差輸入量,Δu 為第t 個周期的中心距離偏差輸入量[1]。
1.2 路徑糾偏模糊控制算法設計
根據路徑糾偏控制方法的整體實現流程,在一個調節周期內,將角度偏差和中心距離偏差作為輸入變量,依次完成變量模糊化、建立模糊控制規則表、解模糊等步驟[2],最終輸出的變量為移動機器人左、右兩個車輪的輪速差。路徑糾偏模糊控制算法的設計要點如下。
1.2.1 變量模糊化
1.2.1.1 基本論域設計
經過多次測量,移動機器人在真實環境下的角度偏差最大值為±10°,中心距離最大偏差為±100 mm。本研究為移動機器人設計了絕對定位系統,借助該系統檢測其絕對位置,一旦檢測結果超過中心距離偏差和角度偏差的最大值,則認為移動機器人偏離預定路徑[3]。移動機器人的驅動系統為直流電機,其最大轉速為10rad/s。在糾偏時,要求左、右輪轉速的偏差不超過1 rad/s。因此,模糊控制算法輸入變量的基本論域包括角度偏差[-10°,10°]、中心距離偏差[-100 mm,100 mm];模糊控制算法輸出變量的基本論域為左、右輪轉速差[-1 rad/s,1 rad/s]。
1.2.1.2 模糊論域設計
基本論域代表一個變量的實際取值范圍,模糊論域則是對基本論域進行量化處理,其具體形式為集合。移動機器人角度偏差、中心距離偏差的模糊論域和模糊子集相同,模糊論域中包括7 個元素,相應的集合為{-3,-2,-1,0,1,2,3},如表1所示。移動機器人左、右輪轉速差的模糊論域包括9 個元素,相應的集合為{-4,-3,-2,-1,0,1,2,3,4},如表2所示。
2 移動機器人路徑糾偏控制方法性能仿真與實驗
2.1 路徑糾偏模糊控制算法性能仿真
利用式(2)的重心法解模糊,MATLAB 軟件可以輸出角度偏差、中心距離偏差和輪速差控制曲面。其中,角度誤差的范圍為[-10°,10°],中心誤差的范圍為[-100 mm,100 mm],輪速差的范圍為[-1 rad/s,1 rad/s]。根據該曲面,可生成量化的控制規則,如表4 所示。
2.2 PID 速度控制算法性能實驗
2.2.1 實驗條件設置
實驗過程將電機轉速設置為5 脈沖/ms,一個檢測周期為5 ms。向上位機上傳實測脈沖值和設定脈沖值,通過上位機監測兩種脈沖值的變化趨勢。
2.2.2 實驗結果分析
通過分析實測脈沖與設定脈沖的監測結果可以發現,實測值和設定值的偏差為1個脈沖。直流電機轉動一圈可產生8000個脈沖。因此,速度控制的偏差不超過1/8000,可忽略不計,這也表明基于PID 控制器的速度控制算法具有良好的控制精度。
3 結論
本文對移動機器人路徑糾偏控制方法進行探究,建立了相應的算法模型和完整的控制流程,同時借助仿真分析和實驗,對模型的性能進行檢驗,得出以下結論。
(1)在路徑糾偏模糊控制算法中,將移動機器人的角度偏差和中心距離偏差作為輸入變量,模型的輸出變量為機器人左、右輪轉速差。當移動機器人傳感器檢測的偏差量超過基本論域時,由模糊控制算法根據角度偏差和中心距離偏差計算精確的左、右輪轉速差,再將該數值輸入PID 控制器。仿真結果顯示,該算法可有效生成精確的左、右輪轉速差。
(2)由PID 控制器根據速度控制算法,先后計算出PID 增量和移動機器人左、右車輪的速度,進而通過直流電機進行轉速控制。實驗結果顯示,速度控制算法的偏差不超過1/8000,可忽略不計,并且具有良好的控制精度。