一种船体检测水下机器人转让专利

申请号 : CN200810137410.5

文献号 : CN101386340B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李晔万磊邹劲庞永杰孙俊岭陈小龙唐旭东张磊吕翀

申请人 : 哈尔滨工程大学

摘要 :

本发明提供的是一种船体检测水下机器人。包括水下机器人主体,在水下机器人主体上安装有环境感知设备、运动感知设备和运动执行设备,所述的环境感知设备包括超声测厚仪、图像声纳、水下微光摄像机;所述的运动感知设备包括光纤罗经、深度计;所述的运动执行设备包括导管螺旋桨、三自由度云台;所有设备接入水下机器人本体耐压舱内一台PC/104计算机中;将控制程序嵌入PC/104计算机中,PC/104计算机采集环境感知设备和运动感知设备信息后和水面主控计算机进行混合数据的大数据量网络通讯、把水面主控计算机的控制指令输出给螺旋桨。

权利要求 :

1.一种船体检测水下机器人,其组成包括:由框架、安装在框架上的左右两个耐压舱、左主推螺旋桨、右主推螺旋桨、后侧推螺旋桨、后垂推螺旋桨、前侧推螺旋桨和前垂推螺旋桨组成的水下机器人主体,上述螺旋桨为导管螺旋桨,其特征是:在水下机器人主体上安装有环境感知设备、运动感知设备和运动执行设备,所述的环境感知设备包括超声测厚仪、图像声纳、水下微光摄像机;所述的运动感知设备包括光纤罗经、深度计;所述的运动执行设备包括所述导管螺旋桨、三自由度云台;所有设备接入水下机器人本体耐压舱内一台PC/104计算机中;将控制程序嵌入PC/104计算机中,PC/104计算机采集环境感知设备和运动感知设备信息后和水面主控计算机进行混合数据的大数据量网络通讯、把水面主控计算机的控制指令输出给所述导管螺旋桨。

2.根据权利要求1所述的船体检测水下机器人,其特征是:所述的所有设备接入水下机器人本体耐压舱内一台PC/104计算机中是指:深度计通过A/D板输入PC/104计算机的CPU核心模块,图像声纳、光纤罗经、超声测厚仪通过串口板输入PC/104计算机的CPU核心模块,水下微光摄像机通过视频采集卡输入PC/104计算机的CPU核心模块,PC/104计算机的CPU核心模块通过D/A板向导管螺旋桨输出控制信号。

3.根据权利要求1或2所述的船体检测水下机器人,其特征是:PC/104计算机与水面主控计算机之间的通信是通过一根光纤传输。

说明书 :

一种船体检测水下机器人

(一)技术领域

[0001] 本发明涉及的是一种水下机器人,特别是一种船体检测水下机器人的控制系统体系结构。(二)背景技术
[0002] 按照船级社的检验规定,营运船舶必须定期对船体钢板厚度进行检测,以决定是否需要进行修理和补强。在过去的几十年中,这个工作大都是在船坞中进行的。这大大影响了船厂中船坞的使用效率。随着近年来的发展,越来越多的船体钢板厚度检测转移到了水下进行。采用潜水员手持设备进行水下检测,不仅效率低,而且作业存在很大的危险性。这就催生了船体检测遥控式水下机器人的出现。美国等国家最先开展了船体检测水下机器人的研制。MIT水下机器人实验室先后研制了CetusIIAUV,HAUV用于船舶水下检测。Bluefin公司的Bluefin-9利用了其先进的声学扫描系统对美国的战舰进行了船底危险物的检测。迈阿密大学的Shahriar教授及其课题组采用商业机器人,利用水下光学系统对船体进行了快速扫描试验。以上检测的目标主要是船舶底部吸附爆炸物的检测,真正意义上的用于船体钢板厚度检测的水下机器人还鲜见报道。
[0003] 申请号200410013789.0的中国专利文件(公开日:2005年2月23日)中公开的“堤坝隐患检测水下机器人系统及检测方法”,提供了一种水下检测机器人的系统及检测方法。虽然与本专利属于同一技术领域,但两者之间存在显著不同。申请号为200410013789.0的专利文件中的技术方案与本发明申请的不同点有:主要功能是通过声学和光学设备进行混凝土或沙土堤坝的隐患检测;所有水下设备直接经过光端机,通过电-光-电传输至水面主控计算机进行数据处理,水下机器人本体不带任何处理计算机设备;光端机设备是串行数据-光信号-串行数据的转换,传输速率较低;将水面支持母船或堤岸的交流220V电压升至1500V,交流传输至水下机器人本体;水下机器人使用的是HMR300型,是磁罗经。而磁罗经不能在船体壳板等铁磁材料附近使用,后者将对地磁场产生影响,导致磁罗经数据不准确。(三)发明内容
[0004] 本发明的目的在于提供一种可以有效地适应水下船体检测的一种船体检测水下机器人。
[0005] 本发明的目的是这样实现的:
[0006] 船体检测水下机器人的组成包括:由框架,安装在框架上的左右两个耐压舱、左主推螺旋桨、右主推螺旋桨、后侧推螺旋桨、后垂推螺旋桨、前侧推螺旋桨和前垂推螺旋桨组成的水下机器人主体,在水下机器人主体上安装有环境感知设备、运动感知设备和运动执行设备,所述的环境感知设备包括超声测厚仪、图像声纳、水下微光摄像机;所述的运动感知设备包括光纤罗经、深度计;所述的运动执行设备包括导管螺旋桨、三自由度云台;所有设备接入水下机器人本体耐压舱内一台PC/104计算机中;将控制程序嵌入PC/104计算机中,PC/104计算机采集环境感知设备和运动感知设备信息后和水面主控计算机进行混合数据的大数据量网络通讯、把水面主控计算机的控制指令输出给螺旋桨。
[0007] 所述的所有设备接入水下机器人本体耐压舱内一台PC/104计算机中是指:深度计通过A/D板输入PC/104计算机的CPU核心模块,图像声纳、光纤罗经、超声测厚仪通过串口板输入PC/104计算机的CPU核心模块,水下微光摄像机通过视频采集卡输入PC/104计算机的CPU核心模块,PC/104计算机的CPU核心模块通过D/A板向导管螺旋桨输出控制信号。
[0008] PC/104计算机与水面主控计算机之间的通信是通过一根光纤传输。
[0009] 本发明是一种可以有效地适应水下船体检测的水下机器人系统。其组成包括环境感知设备:水下超声测厚仪,高精度图像声纳,水下微光摄像机;运动感知设备:光纤罗经、深度计;运动执行设备:导管螺旋桨,三自由度云台。所有设备接入水下机器人本体耐压舱内一台PC/104计算机中。该计算机嵌入有并行控制程序,采集环境感知设备和运动感知设备信息,和水面主控计算机进行混合数据的大数据量网络通讯,把水面主控计算机的控制指令输出给螺旋桨。整个软件体系采用广义服务器-客户端模式,由水面主控计算机激发水下机器人本体的PC/104计算机嵌入式程序工作。整个控制节拍随时可变,水面水下两台控制机使用统一的系统时钟有利于节拍的绝对同步。
[0010] 水面主控计算机采用Linux操作系统,利用SGI Performer图形包进行三维可视编程,建立主控程序,便于实时显示水下信息。水下机器人本体耐压舱内一台PC/104计算机采用实时嵌入式操作系统VxWorks,利用C语言进行嵌入式编程。采集所有环境感知设备和运动感知设备信息,包括水下超声测厚仪,高精度图像声纳的串行数据和水下微光摄像机的视频数据,通过网络打包传输给水面主控计算机。
[0011] 整个水面和水下控制系统的联系只通过一根光纤传输。传输的模式也只是网络数据-光信号-网络数据。不必进行串行数据-光信号-串行数据,视频数据-光信号-视频数据的转换,可采用性能简单,价格低廉的光端机传输。
[0012] 船体检测水下机器人系统结构由水下机器人载体,水面控制机,观测显示设备三部分构成。其中水下机器人载体为整个系统的核心部分。装备的探索观察设备有图像声纳,水下摄像机,水下超声测厚仪等;装备的导航设备为深度计和光纤罗经。它可通过光缆与支持母船上的水面控制机进行双向网络通讯。借助该通道,当其作业时,可将TV的电视信号,图像声纳的声图像信号和测厚仪探测数据打包,经过光纤转换的网络信号,传至母船主控计算机。系统采用了便于调试和监测的Sever-Client模式。机器人载体中自带水下工控机PC/104,采用实时操作系统VxWorks,整个程序嵌入在工控机中。水面控制机采用Linux下的SGIPerformer建立控制主程序及监控界面。两者通过经过光线传输的快速以太网进行数据传输,带宽可达到千兆。
[0013] 与专利申请号为200410013789.0的专利文件中公开的技术方案相比,本发明的特点主要体现在:主要功能是通过超声测厚设备进行金属船体的厚度检测;水下机器人本体携带PC/104总线嵌入式计算机,多串口卡,DA/AD卡等进行传感器的数据处理和螺旋桨的推力指令输出;光端机设备是网络数据-光信号-网络数据的转换,传输速率高;直接在岸上将交流220V电压转变为148V直流电传输至水下机器人本体;采用的光纤罗经,不受铁磁材料影响,且精度较高。(四)附图说明
[0014] 图1是本发明的结构示意图;
[0015] 图2是本发明的硬件体系连接结构示意图;
[0016] 图3是本发明的软件体系结构示意图;
[0017] 图4是PC/104计算机与水面主控计算机的联系Socket过程图;
[0018] 图5是水面主控计算机的数据处理流程图;
[0019] 图6是水下PC/104计算机的数据处理流程图;
[0020] 图7是本发明的基础运动控制的方法流程图。
[0021] 图8是艏向控制水池试验数据曲线;
[0022] 图9是铁板测厚水池试验数据曲线。(五)具体实施方式
[0023] 下面结合附图举例对本发明做更详细地描述:
[0024] 结合图1和图2,船体检测水下机器人的组成包括:由框架1,安装在框架上的左右两个耐压舱2、3、左主推螺旋桨4、右主推螺旋桨5、后侧推螺旋桨6、后垂推螺旋桨7、前侧推螺旋桨8和前垂推螺旋桨9组成的水下机器人主体,在水下机器人主体上安装有环境感知设备、运动感知设备和运动执行设备,所述的环境感知设备包括超声测厚仪10、图像声纳11、水下微光摄像机12;所述的运动感知设备包括光纤罗经13、深度计14;所述的运动执行设备包括导管螺旋桨、三自由度云台14;所有设备接入水下机器人本体耐压舱内一台PC/104计算机中;行控制程序嵌入PC/104计算机中,PC/104计算机采集环境感知设备和运动感知设备信息后和水面主控计算机进行混合数据的大数据量网络通讯、把水面主控计算机的控制指令输出给螺旋桨。
[0025] 所述的所有设备接入水下机器人本体耐压舱内一台PC/104计算机中是指:深度计通过A/D板输入PC/104计算机的CPU核心模块,图像声纳、光纤罗经、超声测厚仪通过串口板输入PC/104计算机的CPU核心模块,水下微光摄像机通过视频采集卡输入PC/104计算机的CPU核心模块,PC/104计算机的CPU核心模块通过D/A板向导管螺旋桨输出控制信号。
[0026] PC/104计算机与水面主控计算机之间的通信是通过一根光纤传输。
[0027] 水下工控机PC/104CUP板为奔腾III CUP,主频266Hz,64M内存,一个网络口,两个串行口。A/D板、D/A板、8串口板均为严格遵循104总线标准的板卡。PC104电源模块具有整流稳压功能,输入电压24V,同时提供额外的5V和12V输出各一个。其中12V输出用于光纤罗经供电。核心模块采用的是Intel处理器,PIIX-4芯片组,集成了Inte182559ER网卡和CompactFlash接口。通过采用CompactFlash取代了其它外部存储器,大大提高了嵌入式系统的稳定性。类似于格式化硬盘,将CF卡分区。将VxWorks的bootrom下载到C盘根目录,可实现类似于硬盘启动的VxWorks系统嵌入。串口板模块集成了两个16554异步串行通信接口,具有64字节的缓冲区,传输波特率最高能达到460.8kbps,允许中断共享。
[0028] 深度计的输出为与水深成正比的电压模拟信号,电压范围为0~+10V。采用A/D板收取深度计电压,进行简单线性解算即可得到当前机器人深度。
[0029] 光纤罗经精确到0.01度,可自检报警与报错。通过RS232串行口与PC104串口板进行实时联系。提供姿态角信息。
[0030] 所用推进器最大输出推力50牛顿。但其输出力与电压并非线性关系。经过螺旋桨的敞水试验得到了不同航速下电压—输出力的关系曲线。在指定航速下输出固定力,通过两次埃特金不等距插值得到相应电压。
[0031] 水下TV、图像声纳和测厚仪与水下工控机PC104相连,通过相应板卡采集环境感知信息,与运动感知信息(光纤罗经、深度计)数据打包成网络格式,通过光端机转换的千兆网络传至水面主控机。
[0032] 水面支持基站包括电源适配箱、水面光端机和一部可运行Linux的笔记本电脑。电源适配箱将220V交流电源转换为148V直流电源,通过光电复合缆传至水下机器人本体。
水面光端机负责将笔记本电脑和PC104之间的网路通信包转换为光信号,通过光纤传输。
[0033] 结合图3,水下嵌入式软件通过PC/104总线通信。包括Socket通信模块,串口采集与处理程序,模拟信号电压采集程序,云台控制程序,D/A转换及电压发送程序,视频采集程序,数字信号采集程序。其中,Socket通信模块用于水面主控机的网络通信;串口采集与处理程序接收图像声纳,光纤罗经,超声测厚仪传感器的串行数据;模拟信号电压采集程序负责采集深度计反馈回来的电压值;云台控制程序根据系统指令转动云台,使水下摄像机对准目标;D/A转换及电压发送程序控制螺旋桨的转速;视频采集程序采集水下摄像机视频信号,转化为数值信号并压缩成包;数字信号采集程序监测水密舱内的漏水报警器。
[0034] 图3中水面主控机包括运动控制器和Socket通信模块。运动控制器根据水下传感器反馈回来的数据进行运动计算和控制计算;Socket通信模块负责将控制指令传输给水下Socket通信模块。
[0035] 水下工控机PC/104中采用了实时嵌入式操作系统VxWorks。由于VxWorks的嵌入式操作系统提供了Pentium3的BSP,对BSP进行简单的修改即可使用。主要就是对于CF卡(Compact Flash Card)的支持。可把CF卡当作一块硬盘来处理。而对于网卡,采用的是Intel82559ER网卡,这是VxWoks默认的网卡,驱动都是可以直接用的。这样水下工控机PC/104就可以通过开机自检CF卡启动VxWorks。默认的VxWorks内核支持CUP板上自带的两个串口″/tyCo/0″和″/tyCo/1″。由于采用串口板进行光纤罗经数据采集,因此必须在VxWorks下驱动串口板。按照系统默认的8250,在上述文件中增加相应的16550设置。
[0036] 结合图4,水下嵌入式程序采用上位机Socket触发水下工控机的方式进行节拍控制。水下工控机建立Socket服务器端,通过绑定(bind)和监听(listen)等待水面主控机连接(connect)。有连接的时候,接受(accept)请求,建立联系。通过读(read)写(write)相互通信。这样使上位机与水下工控机的时钟节拍保持了完全的一致性。避免了出现由于时钟节拍错位引起的数据丢失。
[0037] 结合图5,水下工控机PC/104建立Socket,绑定端口,监听等待开始。水面控制机请求握手连接。若成功,触发Socket事件,水下工控机PC/104发出控制指令,把传感器数据通过Socket回传给水面控制机。以后每0.1s水面控制机发一次控制指令给PC/104,Socket触发PC/104:输出控制指令给执行器;处理传感器信息并通过Socket回传给水面控制机,完成一个控制的闭环。若不成功,输出错误信息,进行出错处理。
[0038] 结合图6,水下工控机上电启动,自动启动嵌入式系统VxWorks,驱动8串口板,启动内核任务,启动工作任务taskSpawnl。此处的任务类似于Windows中的线程概念。多任务类似于多线程程序。工作任务包括两个:建立与水面控制机联系的Socket,进入监听状态;打开并配置连接光纤罗经的串口,读取光纤罗经信息到指定内存Buffer。以上两个与外界通信的方式均为阻塞IO类型,无数据到来就不反映。其中光纤罗经数据读取是一个无限循环,只要启动工作任务,就不断的读取光纤罗经信息,但不一定处理它。建立的Socket一旦接到水面控制机的控制指令将进行以下工作:将发给螺旋桨的控制指令数字信号转变成D/A板制式的模拟量,在指定的输出通道发给螺旋桨。控制螺旋桨转速;读A/D卡,得到深度计电压,计算出深度值;读A/D卡,检测是否漏水;读串口卡,得到云台姿态和测厚仪读数。处理存储光纤罗经信息的Buffer,得到艏向角,纵倾角和横摇角。将收到的传感器信息通过Socket回传给水面控制机。Socket继续进入监听状态。
[0039] 水面控制机采用Linux操作系统,利用SGI Performer图形包进行三维可视编程,建立主控程序。运动控制方法采用改进的S面控制器。运动控制器收到深度计Depth(即z值)和姿态角(Yaw,Pith,Roll)和是否漏水信息。首先进行数据的预处理,如姿态角大于360°或小于0°转换到0°-360°;x,y,z值若明显错误,沿用上一个节拍的值(如水池试验中,x,y超过水池池壁范围,z值超过水池深度等)。接着要进行数据滤波:预处理后的数据虽然去除了很多野点,但数据仍然不平滑。跳变的数据会影响控制器的解算,因此必须进行数字滤波。采用强跟踪卡尔曼滤波的方法对数据进行最优估计。由于输入输出都进行了归一化处理,因此力系数=应输出力/该自由度方向上的最大推力。0<力系数<1。应输出力=该自由度方向上的最大推力×力系数。得到该自由度方向上的应输出力后,按照推力分配方程组进行推力的分配。推力分配后得到每个螺旋桨的应输出力。通过Socket把上述控制指令信息发给水下工控机PC/104。图7描述了水面控制机的处理过程。
[0040] 按照上述的控制系统体系结构,已经进行了软件仿真,半实物仿真和水池试验。图8给出了深度控制1.1m水池试验数据。图9给出了水池池壁铁板测厚数据曲线。