水下機器人嵌入式控制系統設計和運動控制仿真-
1 引言
本文引用地址:http://www.j9360.com/article/201808/386781.htm智能水下機器人在海洋石油開發、礦物資源開采、打撈和軍事等方面都有廣泛的應用前景[1][2][3]。水下機器人已經開始取代過去由載人潛器和潛水員所承擔的工作,尤其是在大深度和危險區域發揮了更大的優勢。水下機器人運動控制的核心是嵌入式計算機系統,它需具有運動控制算法的實現、數據采集、與外設的通訊等功能[4][5][6]。本文以潛艇式有纜遙控水下機器人(ROV,Remotely Operated Vehicle)為對象設計了基于ARM9處理器的嵌入式控制系統,并進行了深度控制的仿真實驗。
2 ROV結構本文設計的可用于水下探測的ROV采用了開架式結構,搭載有聲納、姿態傳感器。可以在岸上控制臺通過電纜控制ROV完成前進、后退、上浮、下沉、左右轉彎等動作。ROV結構如圖1所示,耐壓艙在中間,左右兩邊是浮力調節艙。電子艙用來安裝高、低頻信標機、姿態傳感器和控制電路等,還可提供鋰電池的空間。浮力艙用來提供浮力,框架把整體固定在一起,保證最大的穩定性。推進器由兩個螺旋槳推進器組成,以保證ROV在水中可以自由地做前進、倒退和轉艏運動。這種水下機器人結構有利于航向控制和前向運動。在水下運動時,橫傾和縱傾運動對于該ROV是不重要的。水下探測ROV的航行速度較慢,其慢速與穩定性是水底探測任務所要求的。

基于浮力調節進行ROV的升沉運動和定深控制可以降低能耗。下潛、上浮運動通過調節兩邊的浮力調節艙的浮力來實現。ROV采用雙螺旋槳推進器,布置在兩側,平行于中軸線。通過這兩個推進器,既可以產生前進和后退的推力,也可以產生回轉力矩,各自由度之間沒有耦合。平行布置的兩個推進器連線的中點要與浮心、重心在一條直線上,達到平衡推進。在浮力調節系統上采用了變質量調節系統,通過調節左右兩個浮力艙的注排水量,改變整體浮力減少或增加,從而產生下降或上升的作用力。兩個浮力調節艙不但能夠調節ROV的浮力,還可調節ROV的姿態。螺旋槳推進器正向時最大推力為93千克力,反向時的最大推力為52.2千克力。最大工作水深300m。
3 ROV控制系統設計3.1 傳感器系統水下探測機器人的控制系統分為水下和水上兩部分組成。水上節點采用工控機,工控機安放在母船上,通過光纖通信與底層的嵌入式計算機實現數據通信。其上運行Windows操作系統,其功能是監控水下機器人的運行情況,發送控制命令。水下節點采用基于ARM微處理器的嵌入式計算機,負責傳感器數據采集,運動控制算法的實現和通信功能,其上運行QNX操作系統。水下機器人上安裝的傳感器有:(1) 姿態航向傳感器航向動態精度為0.5度,俯仰和橫滾的動態精度為0.2度,尺寸:106x29x26mm,重量:0.15kg。(2) 運動傳感器俯仰和橫滾動態精度為0.03度,升沉精度為5cm或5%,尺寸:

134x120mm,重量:2kg。(3) 測掃聲納,長基線和超短基線水聲定位系統。基于短基線和深度計獲取位置信息,基于姿態傳感器獲取航向和姿態信息。(4) 壓力傳感器用于深度測量。(5) 可以搭載成像聲納、水下攝像機、熒光計、照明燈等。3.2 嵌入式控制系統嵌入式控制系統通過檢測裝置檢測潛器的運動狀態,將數據通過網絡傳輸到水面計算機,水面計算機根據預定任務和預設算法計算出控制量,然后將控制量傳給潛器,再由嵌入式系統控制潛器的運動裝置。嵌入式控制系統框圖如圖2所示。

嵌入式控制系統的設計基于AT91RM9200處理器,內部集成ARM920T芯核,180MHz運行時有200MIPS處理能力;16KB的數據緩沖,16KB的指令緩沖;全功能MMU(存儲器管理單元);16KB的內部SRAM和128KB的內部ROM[7]。水下機器人的嵌入式系統框圖如圖2所示。通過I2C總線擴展出12位ADC,用于采集深度傳感器數據,獲取ROV深度。深度傳感器的輸出信號是4~20mA的電流信號,本系統采用RCV420精密變換器,可以將4~20mA的環路電流變換成0~5V的電壓輸出。模數轉換器選用AD7992,轉換時間2μs,與處理器通過標準的I2C接口進行數據交換。帶光耦隔離器的I/O口用于控制浮力筒的開關。RS422和10M/100M以太網接口,用于和水面計算機通信。系統中的姿態傳感器和信標機都是串口輸出,并且通訊部分也需要一個串口,9200處理器內部串行異步收發器的數目不夠,所以需要擴展串口,本系統采用SPI接口,外接兩片GM8142進行串口擴展。擴展出的4路RS232串口,2路RS232用于采集航向和姿態傳感器數據,獲取水下ROV的運行狀態。另外2路RS232接口采集高低頻信標機數據。12位DAC來控制推進器電機。本系統采用兩片4通道、12位精度、串行輸入雙極性輸出的AD5726做為DAC轉換器。調試接口包括:LCD顯示器、鍵盤和觸摸屏等人機交互設備。3.3 軟件設計水下機器人的運動控制軟件在實時操作系統QNX下編寫,包括網絡通信模塊、串口通信模塊、傳感器數據采集模塊、數據管理模塊、控制器模塊。QNX操作系統具有實時性好的特點,采用多進程技術將控制算法、對傳感器的信息處理和推力分配算法等統一在實時操作系統的框架下進行管理,從而提高動力定位控制系統的實時性和可靠性。采用多線程技術,接收網絡數據和來自串行通訊的數據,保證程序運行的高效性和實時性。
4 橫傾角和深度協調控制調整和保持下潛深度是水下機器人的基本航行能力之一,水下機器人采用了浮力艙調節深度。它的垂直面協調控制系統方框圖如圖3所示。通過調整左右兩個浮力調節艙的注水量來調節ROV整體的浮力,從而控制下潛或者上浮運動。所以要考慮ROV浮力變化的過程,即左右兩個浮力調節艙的充水量。ROV處于水面時是正浮力狀態,浮力艙充水后,浮力減小到零,進入水下平衡狀態。繼續向浮力艙充水,浮力變為負值,ROV下潛,并且下潛速度增加。由于兩個浮力艙的容積是一定的,所以有最大負浮力的限制。調節兩個浮力桶的總浮力控制ROV的下潛深度,同時分別調節左右浮力桶,產生不同的浮力可以使ROV橫傾。但一般情況下橫傾角不需要控制,保持ROV水平就可以了。

橫傾角控制的目的是在ROV初始下潛和上浮階段,控制ROV的姿態。在水下大部分時間,保持ROV水平狀態就可以了。ROV橫傾角

的控制是通過調節ROV左右兩個浮力調節艙的不同的注、排水量來產生左右兩個浮力調節艙的浮力差,即產生旋轉運動的偏傾力矩。在深度控制時,將深度傳感器的測量值作為反饋,橫傾角控制采用姿態傳感器的測量值作為反饋,都采用積分分離PID控制器。橫傾角、深度協調控制器根據輸入期望深度與實際深度的偏差和期望橫傾角與實際橫傾角的偏差,輸出控制ROV下降或者上升所需穩定的作用力,輸出控制ROV偏轉所需穩定偏轉力矩,通過浮力解算輸出左右兩個浮力調節桶的注、排水量,實現ROV的橫傾角控制和深度控制。積分分離PID控制器具體實現如下:⑴ 根據實際情況,人為設定一閥值

⑵ 當

時,也即偏差值

比較大時,采用PD,可避免過大的超調,又使系統有較快的響應。⑶ 當

時,也即偏差值

比較小時,采用PID控制,可保證系統的控制精度。寫成計算公式,可在積分項前乘一個系數


評論