一种运用无人机进行海上态势感知监测船舶路径的方法与流程

文档序号:16645957发布日期:2019-01-16 08:17阅读:1105来源:国知局
一种运用无人机进行海上态势感知监测船舶路径的方法与流程

涉及无人机控制和船舶海上态势感知领域,具体涉及一种运用模型预测控制(modelpredictivecontrol)来控制无人机的控制方法。该方法建立了控制无人机进行海上态势感知并监测船舶路径的框架。



背景技术:

海上态势感知的目的是增强识别现有威胁的能力,以便尽可能早地处理现有威胁。这是通过将相互作用的智能、监视、测量和导航系统集成在同一个操作框架中来完成的。为了使这种系统框架有效运行,有必要建立一个包含数据收集和监测的结构。该机构使用传感器对空气和水流进行检测,并对数据进行精确的分析,继而进行快速和准确的响应。为了满足这种所需功能,无人机是非常适合的工具。无人机可以装备各种各样的传感器,例如照相机或雷达。这些传感器的一个应用是跟踪海洋中的漂浮元素,例如漂浮物、敌方船只、冰山等。该信息可用于防撞系统,船舶将根据障碍物的位置找到新的路径;军事行动,可以更早地确定威胁或目标;海洋冰山管理,用于绘制漂浮在船只路径中的冰或冰山的特征;搜救,用于船只需要寻找失踪的船员的情况。

通常,船只是海上行动的中心,如前所述,海上行动可以是海上作业、搜索和营救,也可以是军事监视行动。为了收集所需的数据来支持选择操作,无人机必须根据船的计划路径和速度飞过一个区域。在寻找障碍的情况下,结合已知知识如洋流速度,以信息融合的方式确保获取满足操作要求的数据。运用无人机进行海上态势感知并监测船舶路径是一种有效的方法。



技术实现要素:

提出了一种运用无人机进行海上态势感知监测船舶路径的方法,从构建matlab核心单元开始,引入模型预测控制(mpc)作为控制方法,建立了无人机和船舶的运动学方程,描述了整个系统的框架。研究的控制框架实现在船舶和无人机之间的联动,控制无人机在船舶的计划路径周围所需控制精度的区域工作。无人机对海上态势进行感知,监视海况,指导船舶航行、避障、海上作业等操作任务。控制不仅仅局限于固定路径的船舶航行情况,在船舶随时间改变其速度和航向时,也可以保持控制的精度与稳定性。在面对复杂海况时,能更好的为船舶规划航线,完成作业任务:

步骤一、构建matlab核心单元

matlab核心单元由matlab代码单元、模块间通讯协议(inter-modulecommunicationprotocol,imc)java库和acado工具箱三部分组成。

船舶计划路径的数据文件由matlab核心代码单元加载,船舶的起始位置b点作为ned坐标系的原点,根据坐标原点定义相应的纬度和经度。按顺序,定义航点的更新速率,以及船舶应从无人机接收有关其航路的信息的时间。此时间用于根据计划路径计算船舶的位置,然后将该信息用作无人机应飞越的所需位置。

无人机的位置,速度和空中姿态信息也必须用作解决二维优化问题的输入,假设无人机将飞行在恒定的高度。有关无人机的以下信息来自dune单元:

●机体在地球坐标系中的起始位置a点(经度lat,纬度lon,高度alt);

●机体自身位置c点相对于ned坐标系原点b点的位置偏差(x,y,z);

●机体坐标系下二维线速度(u,v);

●机体角度(横滚角(φ),纵摇角(θ),偏航角(ψ));

●机体坐标系下角速度(p,q,r)。

船舶的起始位置b点用作ned坐标系的坐标原点,将无人机在大地坐标系下的位置c点转换为ned坐标系下的位置坐标d点。首先使用无人机所在的大地坐标系将无人机的纬度和经度坐标变换,然后将无人机所在的大地坐标的原点a点变换到船舶ned坐标系下船舶所在位置b点。无人机的大地坐标系的原点a点一次变换移动一公里距离,直至大地坐标系的原点移动到船舶所在的ned坐标系原点b点。所有坐标变换以1984年的世界大地测量系统(wgs84)作为参考椭球。

关于偏航角速度,在无人机控制优化问题中使用二维模型,并且从dune接收的机体角速度r不是指无人机偏航角速度,因此必须利用(1)中欧拉角速率矢量与机体固定角速度矢量[p,q,r]t之间的关系计算偏航角速度。

在该控制系统中使用的无人机没有方向舵,它使用滚动转弯。在所使用的二维模型中,偏航角速度r实际上是从(1)获得的将新r记作rnew

模型预测控制(modelpredictivecontrol)是一种求解数值优化问题的技术,它控制输入变量,以使期望输出和预测输出在有限时间范围内的偏差最小化。

假设是固定翼无人机是由一个自动驾驶系统控制的,这个自动驾驶系统需要提供最优飞行轨迹的路径点。mpc模块根据无人机和船舶的姿态、位置和速度计算该轨迹。

考虑到固定翼无人机在恒定高度下飞行,由自动驾驶仪维持,其动力学处理为二维运动问题。无人机的位置和航向可以在ned坐标系中表示为

puav=[xuav,yuav,ψ]t(2)

其中xuav和yuav水平位置,ψ是偏航角。机体坐标系下的速度和偏航角的变化率组成以下矢量

vuav=[u,v,r]t(3)

(2)与(3)式的关系为

其中rz(ψ)为机体坐标系与ned坐标系之间的旋转矩阵,如(5)所示

系统的约束是无人机的最大转弯率(r),ψ是无人机的偏航角。

为了在mpc中应用船舶动力学,在无人机飞越该位置的瞬间,基于船舶在其预定路径中的位置和速度来构建线性运动模型。

其中是t时刻船舶在路径上的位置,是t+τ时刻船舶在路径上的位置,τ是两次测量之间的时间间隔,船舶t时刻的速度vx和vy分别是船舶在纵荡和横荡方向上的分速度。

用最小二乘(ls)函数(7)用作mpc算法的目标函数,求解最优化问题

在使用mpc解决优化问题后,使用“desiredpath()”函数将目标路径点发送到dune。在该函数中,还可以发送第二个路径点作为备份,以便在出现临时通信问题时使用,提高系统的冗余。程序重复每个选定的更新时间步骤,并一直运行,直到无人机到达船舶的最后一个计划位置。

模块间通信协议是一种面向信息的协议,在水下系统和技术实验室(lsts)中设计和实现,用于构建追求共同目标的机械,传感器和人工操作员的互连系统。通过交换有关环境和更新目标的实时信息,imc通过提供可以通过不同方式序列化和传输的共享消息集来抽象硬件和通信异构性。所描述的协议与其他现有的应用级协议形成对比,不对客户端应用强加或假设特定的软件架构。可以为不同的编程语言和计算机体系结构自动生成本机支持,从而产生优化的代码,该代码既可以用于联网节点,也可以用于进程间和线程间通信。要发送或接收imc消息,需要imcjava库向matlab提供必要的函数。此外,在该协议中,节点之间进行通信。因此,核心代码必须作为imc节点启动,然后连接到所需的飞行器节点。

acado工具箱是一个软件环境和算法集自动控制和动态优化,优化问题是使用acadoformatlab实现的,用c++实现。matlab用于保存主要软件,它可以模拟船舶数据,mpc和自动驾驶仪之间的所有集成。

步骤二、构建dune和ardupilot单元

dune是与许多不同的自动驾驶仪兼容的连接模块。当使用自动驾驶仪ardupilot时,dune接收“desiredpath()”命令时,它会调用负责与ardupilot通信的任务。dune的ardupilot任务发生变化的时候,无人机可以在任务模式下运行。在新的任务中,一个包含路径点的任务被发送到自动驾驶仪。从自动驾驶仪确认后,命令开始任务然后发送。在无监测任务的情况下,dune存储库中可用的标准任务在导航模式下操作uav,导航模式的控制命令由地面基站发出。在导航模式下,当无人机到达距离其它无人机一定距离的时候,无人机就开始徘徊,不再通过航路点,防止在空中发生无人机的碰撞事故。

ardupilot是一款开源自动驾驶仪,支持多种类型的机器人车辆,包括此应用中使用的固定翼无人机。可以通过微型飞行器通信协议(microairvehiclecommunicationprotocol,mavlink)向ardupilot发送命令或读取无人机传感器。ardupilot还有一个软件在线模拟器,它使用飞行动力学模型来获取传感器数据。

步骤三、构建状态估计器单元和地面基站单元

状态估计器与自动驾驶仪ardupilot协同工作。状态估计器模拟无人机在真实飞行中的行为,考虑到质量平衡、地面反应、推进、空气动力学、浮力、重力、外力和大气扰动,如风、阵风、湍流、降落爆发等并进行反馈。

导航模式的控制命令由地面基站发出,该命令可以调用dune存储库中可用的标准任务操作uav,基站保证各节点之间通讯要求。

本方法具有如下效果和优点:

提出了一种运用无人机进行海上态势感知监测船舶路径的方法,从构建matlab核心单元开始,引入模型预测控制(mpc)作为控制方法,建立了无人机和船舶的运动学方程,描述了整个系统的框架。研究的控制框架实现在船舶和无人机之间的联动,控制无人机在船舶的计划路径周围所需控制精度的区域工作。无人机对海上态势进行感知,监视海况,指导船舶航行、避障、海上作业等操作任务。控制不仅仅局限于固定路径的船舶航行情况,在船舶随时间改变其速度和航向时,也可以保持控制的精度与稳定性。在面对复杂海况时,能更好的为船舶规划航线,完成作业任务。

附图说明

图1为控制系统架构图

图2为matlab整体核心代码描述图

图3为二维无人机模型图

具体实施方式

步骤一、构建matlab核心单元

无人机的控制系统架构图如图1所示,框架图描述了各模块之间的连接关系并表明了信息流的方向。

matlab核心单元由matlab代码单元、模块间通讯协议(inter-modulecommunicationprotocol,imc)java库和acado工具箱三部分组成。

matlab的整体核心代码如图2所示,框图描述了matlab采集传感器及状态估计器的信息并以mpc为核心算法处理优化问题的过程。

船舶计划路径的数据文件由matlab核心代码单元加载,船舶的起始位置b点作为ned坐标系的原点,根据坐标原点定义相应的纬度和经度。按顺序,定义航点的更新速率,以及船舶应从无人机接收有关其航路的信息的时间。此时间用于根据计划路径计算船舶的位置,然后将该信息用作无人机应飞越的所需位置。

无人机的位置,速度和空中姿态信息也必须用作解决二维优化问题的输入,假设无人机将飞行在恒定的高度。有关无人机的以下信息来自dune单元:

●机体在地球坐标系中的起始位置a点(经度lat,纬度lon,高度alt);

●机体自身位置c点相对于ned坐标系原点b点的位置偏差(x,y,z);

●机体坐标系下二维线速度(u,v);

●机体角度(横滚角(φ),纵摇角(θ),偏航角(ψ));

●机体坐标系下角速度(p,q,r)。

船舶的起始位置b点用作ned坐标系的坐标原点,将无人机在大地坐标系下的位置c点转换为ned坐标系下的位置坐标d点。首先使用无人机所在的大地坐标系将无人机的纬度和经度坐标变换,然后将无人机所在的大地坐标的原点a点变换到船舶ned坐标系下船舶所在位置b点。无人机的大地坐标系的原点a点一次变换移动一公里距离,直至大地坐标系的原点移动到船舶所在的ned坐标系原点b点。所有坐标变换以1984年的世界大地测量系统(wgs84)作为参考椭球。

关于偏航角速度,在无人机控制优化问题中使用二维模型,并且从dune接收的机体角速度r不是指无人机偏航角速度,因此必须利用(1)中欧拉角速率矢量与机体固定角速度矢量[p,q,r]t之间的关系计算偏航角速度。

在该控制系统中使用的无人机没有方向舵,它使用滚动转弯。在所使用的二维模型中,偏航角速度r实际上是从(1)获得的将新r记作rnew

模型预测控制(modelpredictivecontrol)是一种求解数值优化问题的技术,它控制输入变量,以使期望输出和预测输出在有限时间范围内的偏差最小化。

假设是固定翼无人机是由一个自动驾驶系统控制的,这个自动驾驶系统需要提供最优飞行轨迹的路径点。mpc模块根据无人机和船舶的姿态、位置和速度计算该轨迹。

考虑到固定翼无人机在恒定高度下飞行,由自动驾驶仪维持,其动力学处理为二维运动问题。无人机的位置和航向可以在ned坐标系中表示为

puav=[xuav,yuav,ψ]t(2)

其中xuav和yuav水平位置,ψ是偏航角。二维无人机模型图如图3所示,机体坐标系下的速度和偏航角的变化率组成以下矢量

vuav=[u,v,r]t(3)

(2)与(3)式的关系为

其中rz(ψ)为机体坐标系与ned坐标系之间的旋转矩阵,如(5)所示

系统的约束是无人机的最大转弯率(r),ψ是无人机的偏航角。

为了在mpc中应用船舶动力学,在无人机飞越该位置的瞬间,基于船舶在其预定路径中的位置和速度来构建线性运动模型。

其中是t时刻船舶在路径上的位置,是t+τ时刻船舶在路径上的位置,τ是两次测量之间的时间间隔,船舶t时刻的速度vx和vy分别是船舶在纵荡和横荡方向上的分速度。

用最小二乘(ls)函数(7)用作mpc算法的目标函数,求解最优化问题

在使用mpc解决优化问题后,使用“desiredpath()”函数将目标路径点发送到dune。在该函数中,还可以发送第二个路径点作为备份,以便在出现临时通信问题时使用,提高系统的冗余。程序重复每个选定的更新时间步骤,并一直运行,直到无人机到达船舶的最后一个计划位置。

模块间通信协议是一种面向信息的协议,在水下系统和技术实验室(lsts)中设计和实现,用于构建追求共同目标的机械,传感器和人工操作员的互连系统。通过交换有关环境和更新目标的实时信息,imc通过提供可以通过不同方式序列化和传输的共享消息集来抽象硬件和通信异构性。所描述的协议与其他现有的应用级协议形成对比,不对客户端应用强加或假设特定的软件架构。可以为不同的编程语言和计算机体系结构自动生成本机支持,从而产生优化的代码,该代码既可以用于联网节点,也可以用于进程间和线程间通信。要发送或接收imc消息,需要imcjava库向matlab提供必要的函数。此外,在该协议中,节点之间进行通信。因此,核心代码必须作为imc节点启动,然后连接到所需的飞行器节点。

acado工具箱是一个软件环境和算法集自动控制和动态优化,优化问题是使用acadoformatlab实现的,用c++实现。matlab用于保存主要软件,它可以模拟船舶数据,

mpc和自动驾驶仪之间的所有集成。

步骤二、构建dune和ardupilot单元

dune是与许多不同的自动驾驶仪兼容的连接模块。当使用自动驾驶仪ardupilot时,

dune接收“desiredpath()”命令时,它会调用负责与ardupilot通信的任务。dune的ardupilot任务发生变化的时候,无人机可以在任务模式下运行。在新的任务中,一个包含路径点的任务被发送到自动驾驶仪。从自动驾驶仪确认后,命令开始任务然后发送。在无监测任务的情况下,dune存储库中可用的标准任务在导航模式下操作uav,导航模式的控制命令由地面基站发出。在导航模式下,当无人机到达距离其它无人机一定距离的时候,无人机就开始徘徊,不再通过航路点,防止在空中发生无人机的碰撞事故。

ardupilot是一款开源自动驾驶仪,支持多种类型的机器人车辆,包括此应用中使用的固定翼无人机。可以通过微型飞行器通信协议(microairvehiclecommunicationprotocol,mavlink)向ardupilot发送命令或读取无人机传感器。ardupilot还有一个软件在线模拟器,它使用飞行动力学模型来获取传感器数据。

步骤三、构建状态估计器单元和地面基站单元

状态估计器与自动驾驶仪ardupilot协同工作。状态估计器模拟无人机在真实飞行中的行为,考虑到质量平衡、地面反应、推进、空气动力学、浮力、重力、外力和大气扰动,如风、阵风、湍流、降落爆发等并进行反馈。

导航模式的控制命令由地面基站发出,该命令可以调用dune存储库中可用的标准任务操作uav,基站保证各节点之间通讯要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1