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