本发明属于水下机器人控制技术领域,涉及一种自主水下无人航行器控制系统。
背景技术:
随着人类自然科学等相关技术的进步以及整个人类社会的不断演变,地球陆地资源在不断减少甚至在逐步走向枯竭,但是人们对于能源的需求却仍在逐渐增加,这使得陆地能源的开发使用矛盾显得愈发突出。也正是如此,拥有丰富资源的海洋成为了人们新的开发对象。
水下机器人作为一种新型的海洋开发手段,其作用显而易见。就目前来说,水下机器人还可以被叫做潜航器、水下航行器,它与我们所想象的具有人性的机器人不同,其外形上像潜艇,功能上能够代替人完成既定任务。auv作为一种新型水下智能机器人,能够完成水下海底搜索、调查、识别等目的,是一种经济安全可靠的设备。相比于rov,其优点主要包括:可运动的范围更广、可下潜深度更深、安全性能高、隐蔽性强、噪声较小辐射小等,近年来越来越受到各方重视,特别是军方和工业界。
现阶段,auv工作的环境都是深度在数米的浅水域到数千米的深水域。因此,为了完成所需的各种复杂的作业和安全航行,就必须按要求得到其运动状态,因此对auv运动轨迹的控制就显得尤为重要。auv的运动控制是指其在水下状态,根据其当前运动情况,按照设定的某种控制规律对翼面或浆的运动进行控制,从而使auv能沿着某种特定路线以所设定的姿态进行运动。auv的控制系统一般都比较复杂,其硬件系统包含:主控制器、导航仪器、系统传感器、工作传感器、推进器、任务执行机构和电源等。为了使各个硬件模块间的数据流高效运转,需设计有效合理的软件体系相匹配。
目前为止,常用的auv控制系统在结构上都存在较大的差异,每种控制系统都有自己的优缺点,而如何找到一种能够适应复杂的水下环境、具有稳定可靠的控制系统与方法,仍是现在各国的研究重点。
技术实现要素:
为了克服已有水下无人航行器控制方式的灵活性较差的不足,本发明提供了一种自主水下无人航行器控制系统,同时具有开架式auv和鱼类式auv的特点,体积小且控制灵活。
本发明解决其技术问题所采用的技术方案是:
一种自主水下无人航行器控制系统,包括头部、中部和尾部,所述中部采用了空腔回转体结构,头部和尾部均采用了纺锤形结构,三部分之间使用管螺纹连接,衔接处皆备有密封凹槽,槽内装有橡胶圈进行防水,中部上安装了4个推进器,其中2个水平推进器安装在后面,沿中轴线左右对称,2个垂直推进器安装在前面,沿中轴线左右对称;在中部上方安装有天线部件,内部有通信天线以及电源开关、充电口和深度传感器,在各部分的连接处均设计有密封圈进行防水;内部设计了舱内支架,将电源、电源管理板、控制板、树莓派、电机驱动模块、通信模块、接线盒和配重块固定在支架上,再将支架装入内部。
进一步,所述控制板采用双处理器作为主控制器,包含了一块stm32单片机和一个树莓派模块,其中,stm32单片机作为从处理器,用于auv姿态信息采集、电机控制、与上位机通信、电源监测、漏水监测、工作仪器数据采集任务;树莓派作为主处理器用于运行控制方法,负责对auv的运动轨迹进行控制。
优选的,stm32单片机通过采集姿态传感器信息获取auv的状态,通过串口将状态发送给树莓派,输入到p-nndpg算法后输出动作,树莓派再通过串口将动作发送给stm32单片机,单片机根据返回的动作调节pwm占空比对推进器电机转速进行控制,调节推力大小,在推力的作用下使得auv可以按照目标轨迹进行运动,完成特定的任务。
再进一步,所述从处理器单片机型号为stm32f103rct6;主处理器树莓派型号为3b+,并运行基于linux内核的raspbian系统;
所述的电源为锂电池,标称电压22.2v(6s),容量5300mah,放电能力50c;电源管理板型号为sure2000;变压器型号为ams1117-3.3正向低压降稳压器;
所述的电机驱动模块为无刷电机,最大电流30a;
所述姿态传感器型号为jy901,深度传感器芯片型号为ms5837-30ba压力传感器;
所述的水上定位系统为gps系统,定位模块型号为bn-880;
通讯方式为组合通讯,即水面上使用170mhz的低频无线电通信、水下使用35khz的水声通信模块;与挂载仪器的通讯接口为rs485接口。
本发明的有益效果主要表现在:同时具有开架式auv和鱼类式auv的特点,体积小且控制灵活。
附图说明
图1为本发明自主水下无人航行器控制系统的外观结构图,其中,(a)为俯视图,(b)为侧视图,1为垂直推进器,2为水平推进器,3为头部,4为中部,5为顶部,6为尾部,7为尾翼。
图2为本发明自主水下无人航行器控制系统结构图。
图3为控制电路双处理器工作示意图。
图4为本发明基于增强学习的轨迹控制方法工作流程图。
图5为auv运动状态和目标点位在水平面上的投影。
图6为auv运动状态和目标点位在垂直面上的投影。
图7为策略网络和评价网络结构。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图7,一种自主水下无人航行器控制系统,包括头部、中部和尾部,中部采用了空腔回转体结构,头部和尾部均采用了纺锤形结构,三部分之间使用管螺纹连接,衔接处皆备有密封凹槽,槽内装有橡胶圈进行防水;auv中部上安装了4个推进器,其中2个水平推进器安装在后面,沿中轴线左右对称,2个垂直推进器安装在前面,沿中轴线左右对称;在auv中部上方安装有天线部件,内部有通信天线以及电源开关、充电口、深度传感器等部件;在各部分的连接处均设计有密封圈进行防水;auv内部设计了舱内支架,将电源、电源管理板、控制板、树莓派、电机驱动模块、通信模块、接线盒、配重块等各器件固定在支架上,再将支架装入auv内部。
所述控制板采用双处理器作为主控制器,包含了一块stm32单片机和一个树莓派模块。其中,stm32单片机作为从处理器,用于auv姿态信息采集、电机控制、与上位机通信、电源监测、漏水监测、工作仪器数据采集等任务;树莓派作为主处理器用于运行本发明所设计控制方法,负责对auv的运动轨迹进行控制。
stm32单片机通过采集姿态等传感器信息获取auv的状态,通过串口将状态发送给树莓派,输入到p-nndpg算法后输出动作,树莓派再通过串口将动作发送给stm32单片机,单片机根据返回的动作调节pwm占空比对推进器电机转速进行控制,调节推力大小,在推力的作用下使得auv可以按照目标轨迹进行运动,完成特定的任务。
所述从处理器单片机型号为stm32f103rct6;主处理器树莓派型号为3b+,并运行基于linux内核的raspbian系统。
所述电源为锂电池,标称电压22.2v(6s),容量5300mah,放电能力50c;电源管理板型号为sure2000;变压器型号为ams1117-3.3正向低压降稳压器。
所述电机驱动模块为无刷电机,最大电流30a。
所述姿态传感器型号为jy901,深度传感器芯片型号为ms5837-30ba压力传感器
所述水上定位系统为gps系统,定位模块型号为bn-880。
通讯方式为组合通讯,即水面上使用170mhz的低频无线电通信、水下使用35khz的水声通信模块;与挂载仪器的通讯接口为rs485接口。
一种自主水下无人航行器控制方法,采用基于增强学习的轨迹控制方法,包括以下步骤:
步骤1)初始化经验回放池
本发明所采用经验回访池的样本数据存储结构为基于sumtree的树结构模型,所有的经验回放样本只保存在最下面的叶子节点上,一个节点一个样本。内部节点不保存样本数据。叶子节点保存数据与样本优先级。对于内部节点每个节点只保存自己的子节点的优先级值之和,当采样时,首先根据总的优先度和采样个数将整个sumtree的叶子节点划分成很多区间,然后在每个区间中分别采样一个样本,按照从上往下的方式采样。计算公式为:n=sum(p)/batch_size,式中,sum(p)是sumtree根节点的值,p为样本的优先度值。
步骤2)由从处理器获取auv当前时刻的状态s,输入给主处理器;
定义auv当前位置状态st=[ε,δ,l,h,u,v,r]t,式中,ε为auv路径偏差,其计算公式为:ε(t)=l(t)×sinα(t);δ为auv航向角偏差,其计算公式为:
步骤3)由主处理输出动作a,并发送给从处理器;
定义动作a由本发明的基于增强学习的控制算法p-nndpg的策略网络获得,其策略网络采用四层结构,将状态st作为输入层,第二层与第三层为隐藏层,采用全连接结构,最后一层输出动作at。在网络中,隐藏层采用relu激活函数进行非线性化,而输出层采用tanh激活函数进行非线性化,其输出范围(-1,1)。在auv控制中,设定最大推力fmax、最大扭矩tmax,将fmax和tmax设为动作输出边界值,将策略网络输出值乘以动作边界值作为auv动力输入,则有at={(f,t)|-fmax<f<fmax,-tmax<t<tmax},根据上述设计的auv电机驱动模块优化后得
步骤4)从处理控制电机驱动模块控制推进器推力进行运动,并重新读取auv运动后的状态s’;
步骤5)主处理器计算该动作后的回报r,和样本优先度p;
p-nndpg算法的奖励函数为:
reward=-(ρ1δt+ρ2εt+ρ3ht-ρ4ut+ρ5rt)
式中,ρ1、ρ2、ρ3、ρ4和ρ5分别为各个上述各个参数的权重系数。
本发明的控制方法中的样本优先读计算方法引入随机采样的方法,结合贪婪优先度回放和随机均匀采样,定义样本i的采样概率为:
步骤6)将(s,a,r,s’,p)存入经验池中;
步骤7)从经验池中按照样本优先度提取一批样本进行训练,更新控制算法模型与经验池;
步骤8)判断auv是否到达目标点,若未到达则重复步骤1)-7),直至完成任务;
步骤9)经验回放池中的基础样本通过ε-greedy的探索和利用策略获得,在策略输出的动作上加入随机噪声的方法作为探索和利用策略,其表达式为:at=μ(st|θμ)+δut,式中,δut~n(μ,σ2)为零均值高斯白噪声。auv的控制方法每次在动作选择时,以概率1-ε去选择最大值函数q(s,a)的动作amax,并且以ε的概率在可执行的动作空间中进行随机的选择要执行的动作,使得算法能够尽量多的去探索未知的状态,使算法不会陷于局部最优。
以上实施例进用以说明本发明的技术方案而非限制,本领域普通技术人员对于本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应暗改在本发明的权利要求范围中。
技术特征:
1.一种自主水下无人航行器控制系统,其特征在于,所述系统包括头部、中部和尾部,所述中部采用了空腔回转体结构,头部和尾部均采用了纺锤形结构,三部分之间使用管螺纹连接,衔接处皆备有密封凹槽,槽内装有橡胶圈进行防水,中部上安装了4个推进器,其中2个水平推进器安装在后面,沿中轴线左右对称,2个垂直推进器安装在前面,沿中轴线左右对称;在中部上方安装有天线部件,内部有通信天线以及电源开关、充电口和深度传感器,在各部分的连接处均设计有密封圈进行防水;内部设计了舱内支架,将电源、电源管理板、控制板、树莓派、电机驱动模块、通信模块、接线盒和配重块固定在支架上,再将支架装入内部。
2.如权利要求1所述的一种自主水下无人航行器控制系统,其特征在于,所述控制板采用双处理器作为主控制器,包含了一块stm32单片机和一个树莓派模块,其中,stm32单片机作为从处理器,用于auv姿态信息采集、电机控制、与上位机通信、电源监测、漏水监测、工作仪器数据采集任务;树莓派作为主处理器用于运行控制方法,负责对auv的运动轨迹进行控制。
3.如权利要求1或2所述的一种自主水下无人航行器控制系统,其特征在于,stm32单片机通过采集姿态传感器信息获取auv的状态,通过串口将状态发送给树莓派,输入到p-nndpg算法后输出动作,树莓派再通过串口将动作发送给stm32单片机,单片机根据返回的动作调节pwm占空比对推进器电机转速进行控制,调节推力大小,在推力的作用下使得auv可以按照目标轨迹进行运动,完成特定的任务。
4.如权利要求2所述的一种自主水下无人航行器控制系统,其特征在于,所述从处理器单片机型号为stm32f103rct6;主处理器树莓派型号为3b+,并运行基于linux内核的raspbian系统;
所述的电源为锂电池,标称电压22.2v(6s),容量5300mah,放电能力50c;电源管理板型号为sure2000;变压器型号为ams1117-3.3正向低压降稳压器;
所述的电机驱动模块为无刷电机,最大电流30a;
所述姿态传感器型号为jy901,深度传感器芯片型号为ms5837-30ba压力传感器;
所述的水上定位系统为gps系统,定位模块型号为bn-880;
通讯方式为组合通讯,即水面上使用170mhz的低频无线电通信、水下使用35khz的水声通信模块;与挂载仪器的通讯接口为rs485接口。
技术总结
一种自主水下无人航行器控制系统,包括头部、中部和尾部,中部采用了空腔回转体结构,头部和尾部均采用了纺锤形结构,三部分之间使用管螺纹连接,衔接处皆备有密封凹槽,槽内装有橡胶圈,中部上安装推进器,在中部上方安装有天线部件,内部有通信天线以及电源开关、充电口和深度传感器,在各部分的连接处均设计有密封圈进行防水;内部设计了舱内支架,将电源、电源管理板、控制板、树莓派、电机驱动模块、通信模块、接线盒和配重块固定在支架上,再将支架装入内部。本发明同时具有开架式AUV和鱼类式AUV的特点,体积小且控制灵活。
技术研发人员:洪榛;刘涛;安曼;李严;陈博;俞立
受保护的技术使用者:浙江工业大学
技术研发日:.08.28
技术公布日:.01.10
如果觉得《一种自主水下无人航行器控制系统的制作方法》对你有帮助,请点赞、收藏,并留下你的观点哦!