水下機器人嵌入式控制系統(tǒng)設(shè)計和運動控制仿真-
1 引言
智能水下機器人在海洋石油開發(fā)、礦物資源開采、打撈和軍事等方面都有廣泛的應(yīng)用前景[1][2][3]。水下機器人已經(jīng)開始取代過去由載人潛器和潛水員所承擔(dān)的工作,尤其是在大深度和危險區(qū)域發(fā)揮了更大的優(yōu)勢。水下機器人運動控制的核心是嵌入式計算機系統(tǒng),它需具有運動控制算法的實現(xiàn)、數(shù)據(jù)采集、與外設(shè)的通訊等功能[4][5][6]。本文以潛艇式有纜遙控水下機器人(ROV,Remotely Operated Vehicle)為對象設(shè)計了基于ARM9處理器的嵌入式控制系統(tǒng),并進行了深度控制的仿真實驗。
2 ROV結(jié)構(gòu)本文設(shè)計的可用于水下探測的ROV采用了開架式結(jié)構(gòu),搭載有聲納、姿態(tài)傳感器??梢栽诎渡峡刂婆_通過電纜控制ROV完成前進、后退、上浮、下沉、左右轉(zhuǎn)彎等動作。ROV結(jié)構(gòu)如圖1所示,耐壓艙在中間,左右兩邊是浮力調(diào)節(jié)艙。電子艙用來安裝高、低頻信標機、姿態(tài)傳感器和控制電路等,還可提供鋰電池的空間。浮力艙用來提供浮力,框架把整體固定在一起,保證最大的穩(wěn)定性。推進器由兩個螺旋槳推進器組成,以保證ROV在水中可以自由地做前進、倒退和轉(zhuǎn)艏運動。這種水下機器人結(jié)構(gòu)有利于航向控制和前向運動。在水下運動時,橫傾和縱傾運動對于該ROV是不重要的。水下探測ROV的航行速度較慢,其慢速與穩(wěn)定性是水底探測任務(wù)所要求的。
基于浮力調(diào)節(jié)進行ROV的升沉運動和定深控制可以降低能耗。下潛、上浮運動通過調(diào)節(jié)兩邊的浮力調(diào)節(jié)艙的浮力來實現(xiàn)。ROV采用雙螺旋槳推進器,布置在兩側(cè),平行于中軸線。通過這兩個推進器,既可以產(chǎn)生前進和后退的推力,也可以產(chǎn)生回轉(zhuǎn)力矩,各自由度之間沒有耦合。平行布置的兩個推進器連線的中點要與浮心、重心在一條直線上,達到平衡推進。在浮力調(diào)節(jié)系統(tǒng)上采用了變質(zhì)量調(diào)節(jié)系統(tǒng),通過調(diào)節(jié)左右兩個浮力艙的注排水量,改變整體浮力減少或增加,從而產(chǎn)生下降或上升的作用力。兩個浮力調(diào)節(jié)艙不但能夠調(diào)節(jié)ROV的浮力,還可調(diào)節(jié)ROV的姿態(tài)。螺旋槳推進器正向時最大推力為93千克力,反向時的最大推力為52.2千克力。最大工作水深300m。
3 ROV控制系統(tǒng)設(shè)計3.1 傳感器系統(tǒng)水下探測機器人的控制系統(tǒng)分為水下和水上兩部分組成。水上節(jié)點采用工控機,工控機安放在母船上,通過光纖通信與底層的嵌入式計算機實現(xiàn)數(shù)據(jù)通信。其上運行Windows操作系統(tǒng),其功能是監(jiān)控水下機器人的運行情況,發(fā)送控制命令。水下節(jié)點采用基于ARM微處理器的嵌入式計算機,負責(zé)傳感器數(shù)據(jù)采集,運動控制算法的實現(xiàn)和通信功能,其上運行QNX操作系統(tǒng)。水下機器人上安裝的傳感器有:(1) 姿態(tài)航向傳感器航向動態(tài)精度為0.5度,俯仰和橫滾的動態(tài)精度為0.2度,尺寸:106x29x26mm,重量:0.15kg。(2) 運動傳感器俯仰和橫滾動態(tài)精度為0.03度,升沉精度為5cm或5%,尺寸:
134x120mm,重量:2kg。(3) 測掃聲納,長基線和超短基線水聲定位系統(tǒng)?;诙袒€和深度計獲取位置信息,基于姿態(tài)傳感器獲取航向和姿態(tài)信息。(4) 壓力傳感器用于深度測量。(5) 可以搭載成像聲納、水下攝像機、熒光計、照明燈等。3.2 嵌入式控制系統(tǒng)嵌入式控制系統(tǒng)通過檢測裝置檢測潛器的運動狀態(tài),將數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)剿嬗嬎銠C,水面計算機根據(jù)預(yù)定任務(wù)和預(yù)設(shè)算法計算出控制量,然后將控制量傳給潛器,再由嵌入式系統(tǒng)控制潛器的運動裝置。嵌入式控制系統(tǒng)框圖如圖2所示。
嵌入式控制系統(tǒng)的設(shè)計基于AT91RM9200處理器,內(nèi)部集成ARM920T芯核,180MHz運行時有200MIPS處理能力;16KB的數(shù)據(jù)緩沖,16KB的指令緩沖;全功能MMU(存儲器管理單元);16KB的內(nèi)部SRAM和128KB的內(nèi)部ROM[7]。水下機器人的嵌入式系統(tǒng)框圖如圖2所示。通過I2C總線擴展出12位ADC,用于采集深度傳感器數(shù)據(jù),獲取ROV深度。深度傳感器的輸出信號是4~20mA的電流信號,本系統(tǒng)采用RCV420精密變換器,可以將4~20mA的環(huán)路電流變換成0~5V的電壓輸出。模數(shù)轉(zhuǎn)換器選用AD7992,轉(zhuǎn)換時間2μs,與處理器通過標準的I2C接口進行數(shù)據(jù)交換。帶光耦隔離器的I/O口用于控制浮力筒的開關(guān)。RS422和10M/100M以太網(wǎng)接口,用于和水面計算機通信。系統(tǒng)中的姿態(tài)傳感器和信標機都是串口輸出,并且通訊部分也需要一個串口,9200處理器內(nèi)部串行異步收發(fā)器的數(shù)目不夠,所以需要擴展串口,本系統(tǒng)采用SPI接口,外接兩片GM8142進行串口擴展。擴展出的4路RS232串口,2路RS232用于采集航向和姿態(tài)傳感器數(shù)據(jù),獲取水下ROV的運行狀態(tài)。另外2路RS232接口采集高低頻信標機數(shù)據(jù)。12位DAC來控制推進器電機。本系統(tǒng)采用兩片4通道、12位精度、串行輸入雙極性輸出的AD5726做為DAC轉(zhuǎn)換器。調(diào)試接口包括:LCD顯示器、鍵盤和觸摸屏等人機交互設(shè)備。3.3 軟件設(shè)計水下機器人的運動控制軟件在實時操作系統(tǒng)QNX下編寫,包括網(wǎng)絡(luò)通信模塊、串口通信模塊、傳感器數(shù)據(jù)采集模塊、數(shù)據(jù)管理模塊、控制器模塊。QNX操作系統(tǒng)具有實時性好的特點,采用多進程技術(shù)將控制算法、對傳感器的信息處理和推力分配算法等統(tǒng)一在實時操作系統(tǒng)的框架下進行管理,從而提高動力定位控制系統(tǒng)的實時性和可靠性。采用多線程技術(shù),接收網(wǎng)絡(luò)數(shù)據(jù)和來自串行通訊的數(shù)據(jù),保證程序運行的高效性和實時性。
4 橫傾角和深度協(xié)調(diào)控制調(diào)整和保持下潛深度是水下機器人的基本航行能力之一,水下機器人采用了浮力艙調(diào)節(jié)深度。它的垂直面協(xié)調(diào)控制系統(tǒng)方框圖如圖3所示。通過調(diào)整左右兩個浮力調(diào)節(jié)艙的注水量來調(diào)節(jié)ROV整體的浮力,從而控制下潛或者上浮運動。所以要考慮ROV浮力變化的過程,即左右兩個浮力調(diào)節(jié)艙的充水量。ROV處于水面時是正浮力狀態(tài),浮力艙充水后,浮力減小到零,進入水下平衡狀態(tài)。繼續(xù)向浮力艙充水,浮力變?yōu)樨撝?ROV下潛,并且下潛速度增加。由于兩個浮力艙的容積是一定的,所以有最大負浮力的限制。調(diào)節(jié)兩個浮力桶的總浮力控制ROV的下潛深度,同時分別調(diào)節(jié)左右浮力桶,產(chǎn)生不同的浮力可以使ROV橫傾。但一般情況下橫傾角不需要控制,保持ROV水平就可以了。
橫傾角控制的目的是在ROV初始下潛和上浮階段,控制ROV的姿態(tài)。在水下大部分時間,保持ROV水平狀態(tài)就可以了。ROV橫傾角
的控制是通過調(diào)節(jié)ROV左右兩個浮力調(diào)節(jié)艙的不同的注、排水量來產(chǎn)生左右兩個浮力調(diào)節(jié)艙的浮力差,即產(chǎn)生旋轉(zhuǎn)運動的偏傾力矩。在深度控制時,將深度傳感器的測量值作為反饋,橫傾角控制采用姿態(tài)傳感器的測量值作為反饋,都采用積分分離PID控制器。橫傾角、深度協(xié)調(diào)控制器根據(jù)輸入期望深度與實際深度的偏差和期望橫傾角與實際橫傾角的偏差,輸出控制ROV下降或者上升所需穩(wěn)定的作用力,輸出控制ROV偏轉(zhuǎn)所需穩(wěn)定偏轉(zhuǎn)力矩,通過浮力解算輸出左右兩個浮力調(diào)節(jié)桶的注、排水量,實現(xiàn)ROV的橫傾角控制和深度控制。積分分離PID控制器具體實現(xiàn)如下:⑴ 根據(jù)實際情況,人為設(shè)定一閥值
⑵ 當(dāng)
時,也即偏差值
比較大時,采用PD,可避免過大的超調(diào),又使系統(tǒng)有較快的響應(yīng)。⑶ 當(dāng)
時,也即偏差值
比較小時,采用PID控制,可保證系統(tǒng)的控制精度。寫成計算公式,可在積分項前乘一個系數(shù)
ROV在水底的前進和轉(zhuǎn)向運動通過控制兩個螺旋槳推進器來實現(xiàn)。給定參數(shù)為航速和航向角,輸出為兩個推進器的推力。這里航向角控制器選擇PID調(diào)節(jié)器。只有兩個推進器,推力分配算法簡單。
5 仿真研究為了驗證水下探測ROV設(shè)計的合理性,進行了仿真研究。5.1 水下機器人模型建立水下機器人6自由度運動模型的各個自由度彼此之間存在耦合,由于水下探測ROV常在低速下運動,可以將其運動分解為為水平面運動(包括狀態(tài)變量
)和垂直面運動(包括狀態(tài)變量
)兩部分,并且認為這兩個自由度之間不存在耦合關(guān)系。結(jié)合本文研究對象的情況,設(shè)計方案中ROV的外形為左右、前后對稱,且重力、浮力分布可使其保持水平狀態(tài),無橫傾或縱傾。其在水平面運動過程中,ROV滿足條件:
此外,由于其只沿縱向平行安裝兩個水平推進器,推進器的作用只限于產(chǎn)生水下機器人的進退和轉(zhuǎn)艏運動。當(dāng)左右推進器產(chǎn)生相同推力矢量時可引起進退運動,而當(dāng)兩者產(chǎn)生大小或方向不同的推力時則可引起轉(zhuǎn)艏運動。根據(jù)上述假設(shè)和條件可以得到ROV在水平面內(nèi)的簡化模型:
式中:
——包含附加質(zhì)量的質(zhì)量和轉(zhuǎn)動慣量;
—沿
方向的流體阻力中線性項和非線性項;
——繞Z軸轉(zhuǎn)動方向的流體阻力的線性項和非線性項;
——為推進器產(chǎn)生的X軸向力和繞Z軸的轉(zhuǎn)艏力矩。ROV采用壓載水艙進行垂直面的位置控制,其在垂直面的模型可以簡化為:
式中:
——包含附加質(zhì)量的質(zhì)量;
——沿Z方向流體阻力的線性項和非線性項;
——壓載水艙產(chǎn)生的垂向作用力。5.2 仿真驗證
仿真情況設(shè)定為:ROV由初始靜止?fàn)顟B(tài)開始運動。為實現(xiàn)直航,需保持左右推進器輸出相同大小和方向的推力。不同推力情況下ROV的速度響應(yīng)曲線如圖4所示。由速度響應(yīng)曲線可以發(fā)現(xiàn),其速度經(jīng)過一段時間的增加后最終保持在一定的數(shù)值,此時推力與阻力達到動態(tài)平衡,ROV作勻速直線航行。令
表示ROV在大地坐標系下的位置和姿態(tài)。圖5為ROV由初態(tài)
控制ROV垂直下潛到10米處懸停。ROV橫傾角
的控制是通過調(diào)節(jié)特種ROV左右兩個浮力調(diào)節(jié)艙的不同的注、排水量來產(chǎn)生左右兩個浮力調(diào)節(jié)艙的浮力差,即產(chǎn)生旋轉(zhuǎn)運動的偏傾力矩。其仿真結(jié)果如下圖6所示。從仿真實驗結(jié)果看出所設(shè)計的ROV深度協(xié)調(diào)控制器達到了預(yù)期的控制效果。
6 結(jié)束語本文介紹了開架式水下探測機器人的結(jié)構(gòu)、傳感器系統(tǒng),基于AT91RM9200處理器設(shè)計了ROV嵌入式控制器。建立了ROV的數(shù)學(xué)模型,提出了ROV垂直面協(xié)調(diào)運動控制的方法,并進行了深度和橫傾角協(xié)調(diào)控制仿真。仿真實驗證明控制器設(shè)計的有效性。
參考文獻:[1] 徐玉如,龐永杰,甘永.智能水下機器人技術(shù)展望[J].智能系統(tǒng)學(xué)報,2006,1(1):9-16.[2] 封錫盛,劉永寬.自治水下機器人研究開發(fā)的現(xiàn)狀和趨勢[J].高技術(shù)通訊,1999,(9):55-59.[3] 甘永,王麗榮,劉建成.水下機器人嵌入式基礎(chǔ)運動控制系統(tǒng)[J].機器人,2004,26(3):25-29.[4] MICHAEL J,RUTH A.Robust depth and speed control system for a low-speed undersea vehicle[C].Proceedings of the Symposium on Autonomous Underwater Vehicle Technology.1990:51-58.[5] 戴學(xué)豐,邊信黔.6自由度水下機器人軌跡控制仿真研究[J].系統(tǒng)仿真學(xué)報,2001,13(3):368-369.[6] 翟宇毅,馬金明,姚志良。超小型潛水機器人沉浮系統(tǒng)設(shè)計[J].光學(xué)精密工程,2004,12(3):231-234.[7] 周立功.AMR嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué),2005.作者簡介:周麗麗(1983-),在讀博士,助理研究員,研究方向:機器視覺與安全分析。





