章盼梅
(廣州城市理工學院機械工程學院,廣東廣州 510800)
水下機器人是在水中作業(yè)的一種新型機器人,主要用于海洋水中環(huán)境探測、湖泊水質(zhì)檢測、船舶水下檢修等。近年來,半導體技術(shù)、傳感器技術(shù)、計算機軟硬件技術(shù)的發(fā)展為水下機器人的發(fā)展提供了技術(shù)保證,使水下機器人技術(shù)得到了快速的發(fā)展。水下機器人是一種復雜的機器人,主要由機械結(jié)構(gòu)和控制系統(tǒng)兩部分組成,控制系統(tǒng)是水下機器人的核心,是保證其能否智能運行的關(guān)鍵。
當前國內(nèi)學者對水下機器人控制系統(tǒng)研究比較活躍,以尋求更穩(wěn)定可靠、更先進智能的水下機器人。文獻[1]設(shè)計了一種應用于內(nèi)陸湖泊水質(zhì)監(jiān)測的機器人,設(shè)計其機械結(jié)構(gòu)和控制系統(tǒng),該自控裝置以STM32為單片機控制器,利用超聲波傳感器、GPS定位模塊等,實現(xiàn)了水下機器人水下運行。文獻[2]為解決當前國內(nèi)海生物捕撈困難、自動化程度低等問題,設(shè)計了一款海生物捕撈機器人,該機器人水上系統(tǒng)由上位機、遙控器等組成,下位機由單片機、傳感器、蓄電池等組成。文獻[3]為實現(xiàn)水下目標的探測和數(shù)據(jù)的輸出,設(shè)計了一款小型智能魚機器人,該機器人由APP監(jiān)控軟件、單片機、傳感器等組成,最終實現(xiàn)了對水下環(huán)境的監(jiān)測。文獻[4]為解決水下機器人回收難題,以及機器人傳感器系統(tǒng)精度不高的問題,采用多傳感器相互配合的設(shè)計方法,分析了機器人回收系統(tǒng)原理,建立了動態(tài)數(shù)學模型,最后用MATLAB進行了仿真驗證。文獻[5]為保證水電站長距離引水隧道的安全運行,提高管道檢測技術(shù)水平,設(shè)計了一臺專門用于水電站引水隧道的機器人,該機器人采用多傳感器結(jié)合技術(shù),提高了機器人運行時的穩(wěn)定性和安全性。
當前研究人員對機器人在水下工作時的機械部分、控制部分等進行了相關(guān)研究,為機器人的發(fā)展奠定了一定的基礎(chǔ)。水下機器人在實際運行時,水下環(huán)境充滿著太多的不確定性,單純的研究控制系統(tǒng)組成、設(shè)計、仿真等,還遠遠不能滿足水下機器人的實際運行要求。因此,本文作者在原水下機器人實物模型的基礎(chǔ)上,利用模糊PID算法對原控制系統(tǒng)的經(jīng)典PID算法進行優(yōu)化,提升水下機器人工作時的性能,以滿足水下檢測的需求,并用實驗驗證其可行性。
機器人樣機開發(fā)分為機械部分設(shè)計和自動控制系統(tǒng)開發(fā)兩部分。機械部分設(shè)計利用機械行業(yè)專業(yè)的軟件進行建模,軟件模型輸入到三維打印裝備,把水下機器人整體和零部件制作成實物。自動控制是機器人最關(guān)鍵的技術(shù),它影響機器人的實際工作性能。自動控制系統(tǒng)以STM32芯片為中央控制器,分為水上部分和水下部分。水上系統(tǒng)由手機/平板APP監(jiān)控軟件、水下攝像、水質(zhì)檢測、路徑規(guī)劃和數(shù)據(jù)中心等軟件組成;水下系統(tǒng)由定位系統(tǒng)、電調(diào)模塊、動力系統(tǒng)、通信系統(tǒng)、檢測系統(tǒng)和傳感器模塊等組成。在設(shè)計控制系統(tǒng)時,為了后期檢修、改造升級方便,每一個子系統(tǒng)均采用模塊化設(shè)計,出現(xiàn)故障時采用整個模塊替換的方法。為了提升水下機器人的續(xù)航能力和系統(tǒng)的穩(wěn)定性,采用大容量鋰電池雙電源冗余設(shè)計;在通信方面,采用有線電纜和無線WiFi兩種方式,以方便檢修人員在不同場合選擇不同的通信方式。水下機器人控制系統(tǒng)總體架構(gòu)如圖1所示。
圖1 水下機器人控制系統(tǒng)架構(gòu)
在開發(fā)水下機器人樣機時先進行SolidWorks建模。機器人的機械結(jié)構(gòu)由4個垂直推進器、2個平衡推進器、機身板等組成。水下機器人工作時,主要受到來自機身本體的浮力、4個平衡推進器的推力、2個平衡推進器的推力,在這些力的共同作用下實現(xiàn)了水下機器人的運動。機器人機械結(jié)構(gòu)SolidWorks軟件3D建模如圖2所示,機器人水下工作時受力分析如式(1)—(7)所示。
圖2 機器人機械結(jié)構(gòu)SolidWorks 3D建模
F=ma
(1)
a=(vt-v0)/t
(2)
vx=u·cosφ-v·sinφ
(3)
vy=u·sinφ+v·cosφ
(4)
vz=w
(5)
v=(vx,vy,vz)=[u,v,w]·
(6)
(7)
式中:F為機器人的受力;m為機器人的質(zhì)量;a為機器人運行的加速度;vt為t時刻的運行速度;v0為初始運行速度;t為運行時間;u、v、w為機器人初始狀態(tài)(理想狀態(tài))時在原坐標系x、y、z軸方向運行速度;vx、vy、vz為機器人工作狀態(tài)時在變換后坐標系x、y、z軸運行速度;φ為機器人變換后坐標系x軸與原坐標系x軸的夾角;v是機器人運行時的速度向量;|v|是速度向量v的模,它表示機器人的實際運行速度。
機器人原自動控制系統(tǒng)分為硬件系統(tǒng)部分和軟件系統(tǒng)部分。硬件系統(tǒng)部分以STM32為中央處理器,外圍電路包括傳感系統(tǒng)模塊、電調(diào)模塊、通信模塊等;軟件部分是用C語言對單片機進行編程,用程序協(xié)調(diào)各個模塊的工作,以保證水下機器人智能運行。原軟件控制程序采用經(jīng)典PID算法,雖然經(jīng)典PID算法具有應用范圍廣、參數(shù)整定簡單、設(shè)計方便等優(yōu)點,但由于水下機器人在水下運行時面臨著太多的非線性和不確定性情況,例如:水的流速、水下不明物體、水下波浪等,原經(jīng)典PID控制技術(shù)無法滿足各行業(yè)對機器人智能運行的要求。為了提升水下機器人的運行性能,本文作者利用模糊PID算法對其控制系統(tǒng)進行優(yōu)化。此次優(yōu)化設(shè)計是不改變水下機器人原控制系統(tǒng)的硬件結(jié)構(gòu),僅通過在單片機程序中引入模糊PID算法,改變單片機中的程序,從而實現(xiàn)優(yōu)化水下機器人的運行。
水下機器人工作時,超聲波傳感器、舵機速度傳感器等把采集到的現(xiàn)場環(huán)境參數(shù)轉(zhuǎn)變?yōu)殡娦盘?,然后發(fā)送給STM32控制器;STM32控制器按照預設(shè)的程序?qū)﹄娦盘栠M行分析和處理,最后把處理完的信號發(fā)送給電機等執(zhí)行元件,從而實現(xiàn)水下機器人的智能運行。原經(jīng)典PID算法通過單片機程序應用到每一個控制回路中,例如:在控制水下機器人運行速度時,利用速度傳感器采集速度信號,同時加入速度負反饋。原控制系統(tǒng)經(jīng)典PID算法架構(gòu)如圖3所示,P(n)為第n次的給定值,e(n)為第n次的偏差,M(n)為第n次采樣時刻PID回路輸出的計算值,v(n)是第n次的過程變量,D/A模塊把模擬的電信號轉(zhuǎn)化成數(shù)字的信號。
圖3 原控制系統(tǒng)經(jīng)典PID算法
原控制系統(tǒng)經(jīng)典PID數(shù)學模型的傳遞函數(shù)一般表達式為
(8)
其中:Kp是比例系數(shù);Ki是積分系數(shù);Kd是微分系數(shù)。原控制系統(tǒng)通過調(diào)整PID的各項參數(shù),使機器人在水下工作時獲得更優(yōu)異的動態(tài)性能,滿足檢測的需求。
近年來,模糊控制理論及方法是熱門的技術(shù)之一,當前有學者對模糊控制理論及方法進行相關(guān)研究,從理論到仿真再到實際應用,以獲得更具優(yōu)越性能的自控系統(tǒng)應用到各行各業(yè)。文獻[6]為解決礦井提升機在啟動、提速、減速等階段運行存在的調(diào)速不夠平順、能效消耗過大、生產(chǎn)成本過高等問題,提出一種采用雙閉環(huán)的提升機控制方法,并引入模糊控制技術(shù)提升自動控制系統(tǒng)的精度。文獻[7]針對大型重載機械臂工作時存在精度不夠高、運行不平穩(wěn)等情況,設(shè)計了一種基于模糊PID算法的重載機械臂控制系統(tǒng),軟件實驗結(jié)果表明:采用模糊PID的控制系統(tǒng)抗干擾性能更強、魯棒性更好,提升了大型重載機控制系統(tǒng)的工作性能。文獻[8]為解決工業(yè)機器人在打磨作業(yè)時打磨力的控制問題,提出一種改進型粒子群模糊PID控制技術(shù),實際測試顯示:經(jīng)優(yōu)化后的自控系統(tǒng)精度更高、穩(wěn)定性更好。文獻[9]針對電液閥在工作過程中存在非線性死區(qū)、液壓缸泄漏的難題,設(shè)計一種模糊PID溫度控制器,并用軟件進行了仿真測試,實驗結(jié)果表明:利用模糊PID優(yōu)化后的電液比例閥控缸系統(tǒng)穩(wěn)定性更高、抗干擾性更強,解決了液壓缸泄漏等問題,達到了預期的效果。文獻[10]為提高橡膠生產(chǎn)過程中出料筒的溫度控制精準度,提出一種Smith預估算法與模糊PID算法相結(jié)合的智能控制技術(shù),MATLAB仿真和實際運行結(jié)果顯示:采用智能算法改進后溫度控制系統(tǒng)穩(wěn)定性更高、反應更靈敏、動態(tài)性能更好,提高了橡膠的生產(chǎn)質(zhì)量和效率。
當前學者對模糊PID的研究,從理論研究到軟件仿真再到應用實踐,已開始在各行業(yè)控制領(lǐng)域進行應用,并取得了一定的效果。作者以已有的水下機器人模型及其控制系統(tǒng)為載體,利用模糊PID算法對其控制系統(tǒng)改進優(yōu)化,以提升水下機器人的工作性能。
2.2.1 建立模糊PID控制模型
應用模糊PID算法處理電信號時,先把模擬信號轉(zhuǎn)換為數(shù)字信號并模糊化,經(jīng)過預設(shè)好的規(guī)則庫和數(shù)據(jù)庫,對輸入信號進行分析運算并進行去模糊化操作,最后把信號發(fā)送給執(zhí)行元件。在優(yōu)化水下機器人控制系統(tǒng)時,首先在MATLAB中建立模糊PID仿真模型,驗證算法無誤后再導入到單片機程序中。優(yōu)化后的模糊PID算法架構(gòu)如圖4所示。
圖4 模糊PID算法架構(gòu)圖
水下機器人運動過程可以簡化為二階系統(tǒng)與非線性環(huán)節(jié)的結(jié)合,簡化后控制對象的傳遞函數(shù)為
(9)
模糊規(guī)則是模糊控制器的核心部分。對輸入信號處理時,通常的流程為:模糊化操作—模糊推理—模糊決策。在實際運行中,機器人需對每一路的傳感器信號進行處理。模糊規(guī)則由一連串模糊條件組合而成,這些組合而成的規(guī)則構(gòu)成模糊數(shù)據(jù)庫。在模糊集合中,R為總集合,i為第i個子規(guī)則,n為規(guī)則的總數(shù),Ri為i條子集合,所有子集合的并集等于R的總集合,如式(10)所示:
(10)
2.2.2 建立模糊規(guī)則
模糊規(guī)則是控制算法的一個重要數(shù)據(jù)庫,仿真時將模糊PID偏差e分成7個子模糊控制集:負大(NB)、負中(NM)、負小(NS)、零(ZO),正小(PS)、正中(PM)、正大(PB)。同時,依據(jù)變量e的偏差范圍分成7個部分取值范圍:-3、-2、-1、0、1、2、3,Kp/Ki/Kd的模糊規(guī)則見表1。
表1 Kp/Ki/Kd模糊規(guī)則
2.2.3 設(shè)計模糊PID控制器
模糊PID控制器是水下機器人的核心部分,它類似于人的大腦,決定水下機器人工作時能否智能運行、能否根據(jù)水下環(huán)境實現(xiàn)自動調(diào)整。設(shè)計模糊PID控制器時,首先進行系統(tǒng)的初始化,并建立輸入/輸出信號的模糊集,設(shè)置初值和定義變量的約束條件,然后單片機根據(jù)預設(shè)的程序采集傳感器發(fā)送過來的信號,計算ec并進行去模糊化操作,從而計算出Kp、Ki、Kd值,最后程序判斷任務(wù)是否完成,如圖5所示。
圖5 模糊PID控制器設(shè)計流程
水下機器人控制系統(tǒng)測試分為MATLAB仿真和水下試驗兩部分。在MATLAB仿真環(huán)節(jié)中,進行模糊PID控制器的設(shè)計、傳遞函數(shù)的建立、Simulink仿真等操作,并把原經(jīng)典PID算法與模糊PID算法進行仿真對比。通過對比2種算法發(fā)現(xiàn):雖然經(jīng)典PID算法各項參數(shù)容易整定,但經(jīng)典PID算法響應速度較慢、超調(diào)量較大、穩(wěn)態(tài)時間較長;而模糊PID算法雖然參數(shù)不易調(diào)節(jié),但響應速度快、超調(diào)量小、穩(wěn)態(tài)時間短,如圖6所示。
圖6 模糊PID與經(jīng)典PID對比
對系統(tǒng)的動態(tài)控制性能和抗負載擾動分別進行測試。在負載恒定的情況下,將控制電機的轉(zhuǎn)速由0 r/min提升到1 200 r/min,測定轉(zhuǎn)速超調(diào)和調(diào)節(jié)時間;然后將轉(zhuǎn)速降到900 r/min,再次測定轉(zhuǎn)速超調(diào)和調(diào)節(jié)時間。在轉(zhuǎn)速恒定的情況下,將負載由6 N·m提升到12 N·m,測定響應時間和轉(zhuǎn)速變化率;然后將負載降到6 N·m,再次測定響應時間和轉(zhuǎn)速變化率。測試數(shù)據(jù)如表2—3所示,可知:經(jīng)模糊PID優(yōu)化的控制系統(tǒng)動態(tài)性能和抗負載擾動性能均優(yōu)于經(jīng)典PID。
表2 模糊PID與經(jīng)典PID動態(tài)控制性能 對比(負載恒定)
表3 模糊PID與經(jīng)典PID抗負載擾動對比(轉(zhuǎn)速恒定)
在各硬件模塊設(shè)計并制作完成后,進行水下機器人的組裝。水下機器人組裝分為機械結(jié)構(gòu)部分組裝和硬件電路組裝。機械結(jié)構(gòu)部分主要由3D打印機直接打印模型,然后把各打印出的模型組裝。硬件模塊組裝包括攝像頭組裝、燈光模塊組裝、傳感器模塊組裝等,組裝完成后通電測試各模塊能否正常工作。組裝環(huán)節(jié)中最重要的是水下機器人的氣密性測試,即檢測水下機器人是否漏水,通常采用多次粘膠水的方法來防止機器人漏水。組裝的水下機器人如圖7所示。
圖7 實驗室組裝機器人
在MATLAB仿真完之后,把MATLAB的程序嵌入到原水下機器人的單片機控制系統(tǒng)程序中,修改好相關(guān)程序后進行實物測試,記錄好測試的數(shù)據(jù)并與原控制系統(tǒng)測試數(shù)據(jù)相比較。機器人實驗室測試項目包括在規(guī)定時間內(nèi)和規(guī)定距離內(nèi),水下機器人的加速度、運行速度,以及運行時的急停、急轉(zhuǎn)彎、急上浮和下沉的響應時間、控制精度和運行距離等。水下機器人實物測試如圖8所示,測試項目如表4所示。
表4 水下機器人測試項目
圖8 水下機器人測試
為應對復雜的水下工作環(huán)境,提升機器人水下工作時的性能,利用模糊PID算法技術(shù)對原控制系統(tǒng)進行優(yōu)化升級,得出以下結(jié)論:
(1)MATLAB軟件仿真結(jié)果表明:與經(jīng)典的PID技術(shù)相比,采用模糊PID算法優(yōu)化的控制系統(tǒng)響應速度更快、超調(diào)量更小、達到穩(wěn)態(tài)時間縮短至原來的20%。
(2)實際運行結(jié)果表明,優(yōu)化后的水下機器人控制系統(tǒng)控制精度更高、響應速度更快、動態(tài)性能更好,為開發(fā)人員優(yōu)化機器人控制系統(tǒng)提供技術(shù)參考。