发布时间:2018-08-15
智能水下机器人在海洋石油开发、矿物资源开采、打捞和军事等方面都有广泛的应用前景[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控制,可保证系统的控制精度。写成计算公式,可在积分项前乘一个系数
上一篇:LED生鲜灯的混光方案及模拟分析
热点排行