水下機器人嵌入式控制系統(tǒng)設(shè)計和運動控制仿真-
1 引言
本文引用地址:http://m.butianyuan.cn/article/201808/386781.htm智能水下機器人在海洋石油開發(fā)、礦物資源開采、打撈和軍事等方面都有廣泛的應(yīng)用前景[1][2][3]。水下機器人已經(jīng)開始取代過去由載人潛器和潛水員所承擔的工作,尤其是在大深度和危險區(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微處理器的嵌入式計算機,負責傳感器數(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è)定一閥值
⑵ 當
時,也即偏差值
比較大時,采用PD,可避免過大的超調(diào),又使系統(tǒng)有較快的響應(yīng)。⑶ 當
時,也即偏差值
比較小時,采用PID控制,可保證系統(tǒng)的控制精度。寫成計算公式,可在積分項前乘一個系數(shù)
評論