无人机集群软件在环仿真系统的制作方法

文档序号:11431804阅读:1187来源:国知局
无人机集群软件在环仿真系统的制造方法与工艺

本发明属于多智能体系统技术领域,具体涉及无人机集群软件在环仿真系统。



背景技术:

无人机技术是一项热点技术,在商业和科研领域都受到了广泛关注,并且在过去十年间取得了巨大成就。目前,无人机集群技术被广泛寄予厚望,被认为是无人机技术的一个重要发展方向。无人机集群中的飞机之间通过某种通信链路相互联结,互通信息,可以实现信息共享,分布决策,编队飞行,任务协同等群体智慧,产生“1+1>2”的效果。

无人机集群在军事应用领域具有重大意义。目前,通常每架无人机需要一个操作员。应用成熟的无人机集群技术,一个操作员可以控制整个集群,实现编队飞行。并且,操作员下达任务之后,无人机集群可以自动进行任务分配,提高作战效能。

无人机的研究需要进行大量的实机实验。无人机造价高昂,机动性能强,因此实验的成本较大,组织实验费时。研究人员通常使用软件在环仿真和硬件在环路仿真对无人机的控制算法和相关软件进行测试,在实机实验之前就可以验证控制算法和相关软件的性能和可靠性。

专利文件cn104880961a公开了一种多无人机分布式协同的硬件在回路实时仿真实验系统,其主要技术方案是通过链路模拟计算机链接n台自动驾驶仪和n个无人机模拟计算机,实现多无人机控制算法的仿真,但是这种方法的缺点是自动驾驶仪接入链路模拟计算机带宽有限,仿真实时性和仿真数量受到限制。

软件在环仿真将飞行器控制器软件接入仿真的飞行器模型。与硬件在环仿真相比,软件在环仿真更容易实现大量无人机的仿真。然而,当前软件在环仿真系统缺乏对多机之间的通信拓扑和气动干扰的仿真模型,影响仿真可信度。同时,目前缺乏完整的多无人机仿真系统,对多无人机软件仿真进行配置,监控,和管理。



技术实现要素:

本发明的目的在于提供一种无人机集群软件在环仿真系统,以便能够对多无人机软件仿真进行配置、监控和管理。

本发明提供的无人机集群软件在环仿真系统,主要解决现有技术中的以下技术问题:多无人机通信拓扑的建模;多无人机气动干扰的建模;多无人机软件在环的仿真系统构建。

本发明提供的无人机集群软件在环仿真系统,包含若干个自动驾驶仪,通信仿真模块,和飞行器模拟器,自动驾驶仪之间通过通信仿真模块相互通信,自动驾驶仪和飞行器模拟器之间通过网络通信协议通信。

所述自动驾驶仪,包含导航模块和控制器,导航模块按照实验流程生成期望飞行轨迹,作为控制器的输入;控制器模块通过反馈控制实现无人机的位置和姿态控制。

所述导航模块可通过udp协议与控制器相连,获取当前位置,速度和加速度,同时通过udp协议与通信仿真模块相连,获取邻居的位置和速度。基于这些信息,导航模块运行算法计算期望位置和期望速度并作为控制量发送给控制器。

所述导航模块可采用状态机式程序结构,如图3所示。该状态机中的每个状态执行特定任务,实验过程中通过组合不同的任务来配置实验内容。状态机初始状态为空闲状态,在该状态内不进行任何任务。任务开始后,状态机顺序执行一系列任务,包括:解锁电机、起飞、执行集群算法、降落、锁定电机。当一个任务完成后,就切换进入下一个状态。全部任务完成后,就回到空闲状态。若任务过程中出现异常事件,比如电池电量低、定位信号丢失等,则切换到紧急状态。

所述导航模块实现所述任务,每个任务都基于一定方法生成期望位置和期望速度发送给控制器。

所述控制器可采用的串级pd控制器,包括位置控制器和姿态控制器。

所述通信仿真模块,可以设置通信延时、丢包率和通信半径,用来模拟无人机集群的通信网络。所述通信仿真模块用来模拟无人机集群的通信拓扑,具体功能为:

(1)模拟通信半径。转发消息时,首先判断接收者是否在通信半径以内,如果是则转发,否则放弃;

(2)模拟丢包。可以指定一个有效的丢包率,对于转发的每条消息进行随机的丢包;

(3)模拟通信延时。对于每条经过通信仿真模块的消息,施加时间长度符合高斯分布的延时。高斯分布的平均值和标准差可以指定。

所述飞行器模拟器,包括若干飞行器模型和气动干扰仿真模块,其中飞行器模型用来仿真飞行器的运动过程,而气动干扰仿真模块用来仿真机翼或螺旋浆产生的气流对临近无人机产生的气动干扰。

本发明具有如下有益效果:

本发明使用通信仿真模块对无人机集群的通信拓扑进行仿真,通过通信延时、通信半径和丢包率,模拟不同通信条件下无人机集群算法的效果。

本发明在飞行器模拟器中对临近无人机之间的气动干扰进行建模和仿真,提高仿真的真实性。

本发明构建的无人机集群软件在环仿真系统,与纯软件仿真和数值仿真相比,该系统使用自动驾驶仪进行仿真,仿真结果更加接近实际情况,并且该自动驾驶仪可以直接移植到实际飞行器使用。与硬件在环仿真相比,该系统不需要连接飞行控制器硬件,使用更简便,更容易对大量飞行器构成的集群进行仿真。

附图说明

图1为实施例中所述的无人机集群软件在环仿真系统结构图。

图2为实施例中所述的无人机控制器结构。

图3为实施例中所述的无人机导航模块结构。

图4为实施例中所述的气动干扰仿真模块图示。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

本实施例所述的无人机集群软件在环仿真系统,其结构如图1所示。包括4个自动驾驶仪101~104,编号为a,b,c,d。自动驾驶仪101~104包括导航模块105~108和控制器109~112。其中,控制器109~112向导航模块105~108反馈位置、速度和加速度,记为r,导航模块105~108向控制器109~112发送期望位置和期望速度,记为rdes,自动驾驶仪101~104通过udp协议与通信仿真模块100相连。四架四旋翼模型114~117运行在飞行器模拟器113中,编号为a,b,c,d。四个自动驾驶仪101~104与编号字母相对应的四旋翼模型114~117通过udp协议相连,其中,101与114相连,104与115相连,107与116相连,110与117相连。

所述飞行器模拟器使用开源机器人仿真软件gazebo实现。gazebo具有多种物理仿真引擎,可以对空气动力学,刚体动力学进行实时仿真。并且该软件具有优秀的三维渲染效果,可以实时展示实验结果。gazebo可以对加速度计、陀螺仪、gps、摄像机等多种传感器进行仿真。用户可以添加自定义模型,并通过开源的api与模型互动。本例使用四旋翼模型114~117对无人机集群算法进行验证。

所述四旋翼模型114~117使用3driris模型。所涉及的参数包括质量,转动惯量,电机常数,电机轴距,电机阻力系数,最大转速,udp通信端口。

所述四旋翼模型114~117的动力学模型如下。u1是系统的第一个输入量,fi为螺旋桨i的推力:

牛顿运动方程为:

其中,m为质量,g为重力加速度,为线加速度,tθ为从固定坐标系到本体坐标系的旋转矩阵。由欧拉方程可得角加速度方程为:

其中,p,q,r为横滚角速度,倾斜角速度和偏航角速度,为横滚角加速度,倾斜角加速度和偏航角加速度,i为转动惯量矩阵,mi为螺旋桨i产生的角动量,l为相邻螺旋桨轴的距离。系统的第二输入u2为:

其中,γ为系数。

所述飞行器模拟器113使用本发明所开发的气动干扰仿真模块118计算无人机之间的气动干扰。当两架四旋翼模型无人机相互接近时,旋翼产生的尾涡气流吹向对方机身,产生推力。本例中假设无人机机身为一圆柱形,气动干扰如图4所示。图4说明了无人机的一个螺旋桨和另一架无人机的机身之间的气动干扰,为方便说明,这两架无人机编号为1、2。其中无人机1螺旋桨桨盘129产生的气流尾涡与无人机2机身130相接触,因气动干扰对无人机2机身产生的压力如下所示:

其中,vi(d)为距离桨盘d处的诱导速度,vi(0)为桨盘处的诱导速度,r是螺旋桨半径,r(0)为桨盘处桨盘半径,r(d)为距离桨盘d处桨盘半径,χ为尾涡气流的离去角,μ||为进入螺旋桨桨盘气流速度沿桨盘平行方向的分量,ω⊥为进入螺旋桨桨盘气流速度沿桨盘垂直方向的分量,ρ为空气密度,ξ为阻力系数,a′为尾涡覆盖的机身部分面积。

所述自动驾驶仪101~104包括导航模块105~108和控制器109~112。

所述控制器109~112通过udp协议与相对应的四旋翼模型114~117通信,其控制模型如图2所示。所述控制器109~112采用的串级pd控制器包括位置控制器119和姿态控制器120。为使用串级pd控制器对四旋翼模型114~117进行位置和姿态控制,将飞行器模型在悬停工作点附近线性展开。因此该控制器仅适用于四旋翼飞行器处于小倾角飞行状态时的控制。控制器109~112所使用的控制率如下。

其中,kr,p,kr,d,kp,φ,kp,θ,kp,ψ,kd,φ,kd,θ,kd,ψ为系数,φ,θ,ψ为横滚角,倾斜角和偏航角,φdes,θdes,ψdes为期望横滚角,期望倾斜角和期望偏航角,pdes,qdes,rdes为期望横滚角速度,期望倾斜角速度,期望偏航角速度,r,为位置,速度和加速度,rdes,为期望位置和期望速度。飞行器121接受输入u1,u2,并将状态反馈给位置控制器119和姿态控制器120。

所述导航模块105~108通过udp协议与控制器109~112相连,获取当前位置,速度和加速度,同时通过udp协议与通信仿真模块100相连,获取邻居的位置和速度。基于这些信息,导航模块105~108运行算法计算期望位置和期望速度并作为控制量发送给控制器109~112。

所述导航模块105~108采用状态机式程序结构,如图3所示。该状态机中的每个状态执行特定任务,实验过程中通过组合不同的任务来配置实验内容。状态机初始状态为空闲状态122,在该状态内不进行任何任务。任务开始后,状态机顺序执行一系列任务,包括解锁电机123,起飞124,执行集群算法125,降落126,锁定电机127。当一个任务完成后,就切换进入下一个状态。全部任务完成后,就回到空闲状态122。若任务过程中出现异常事件,比如电池电量低、定位信号丢失等,则切换到紧急状态128。

所述导航模块105~108实现了以下任务,包括解锁电机123,锁定电机127,起飞124,降落126和集群算法125。每个任务都基于一定方法生成期望位置和期望速度发送给控制器109~112。

所述解锁电机任务123将螺旋桨设置为怠速运行,在此状态下解除对电机运转的锁定。

所述起飞任务124流程如下:自动驾驶仪101~104记录起飞点的海拔高度,将此高度加目标高度作为目标飞行高度。将当前起飞点的x,y坐标和目标飞行高度组成期望位置,发送给控制器109~112。控制器109~112控制飞行器模型起飞并飞行到指定高度。

所述集群算法125流程如下:在该任务中,导航模块105~108接收邻居无人机的位置和速度信息,在算法中进行运算,得到期望位置和期望速度。然后控制控制器109~112,达到与邻居节点保持均衡距离并且速度一致的目的。所述集群算法是对文章decentralizedflockingprotocolofmulti-agentsystemswithpredictivemechanisms的实现。

所述降落任务126流程如下:将期望速度设置为匀速下降,在检测到飞行器模型降落地面后该任务完成。

所属锁定电机127流程如下:停止电机转动,并且锁定对电机的控制。

所述通信仿真模块100用来模拟无人机集群的通信拓扑,包括如下功能:

(1)模拟通信半径。转发消息时,首先判断接收者是否在通信半径以内,如果是则转发,否则放弃;

(2)模拟丢包。可以指定一个有效的丢包率,对于转发的每条消息进行随机的丢包;

(3)模拟通信延时。对于每条经过通信仿真模块100的消息,施加时间长度符合高斯分布的延时。高斯分布的平均值和标准差可以指定。

整合(1)、(2)、(3)三点,通信仿真模块100在工作时对每条经过通信仿真模块100的消息进行缓存和处理,最终将消息转发到相应的接收者。通过这种可以配置的方式灵活的仿真多机通信的不同情形下无人机集群算法的效果。

所述无人机集群实验的步骤如下:

(1)配置飞行器模型数量为4个,为各模块之间的通信配置udp端口。设置飞行器模型的初始位置为坐标点(0,0,0),(0,10,0),(0,20,0),(0,30,0)。启动飞行器模拟器113;

(2)为每个导航模块105~108编写飞行脚本,该脚本指定飞行器模型的实验流程。在该实验中,每个飞行器模型起飞到10m高度的空中,然后运行集群算法,运行1分钟后降落;

(3)为导航模块105~108使用的集群算法指定算法参数,在本例中使用的参数为:均衡距离为5.0,预测步长为3,控制步长为2,周期为0.1s,最大速度为3.0m/s;

(4)启动4个自动驾驶仪,自动驾驶仪101~104将实验流程初始化为上述流程。并且与相对应的飞行器模型通过udp接口相连接。连接建立后,自动驾驶仪101~104接收飞行器模型发送的位置、速度等状态量,将控制量发送给飞行器模型;

(5)配置通信仿真模块100,设置通信半径为20m、通信延时为100ms和丢包率为0.1;启动通信仿真模块100并与4个自动驾驶仪101~104建立udp连接,通信模块接收并缓存4个飞行器模型的位置、速度等信息。根据通信延时、通信半径和丢包率等参数,通信仿真模块100对接收到的信息计算延时,并且随机丢包,将信息广播到通信半径内的自动驾驶仪;

(6)启动实验任务,自动驾驶仪101~104中的导航模块105~108进入状态列表中的第一个状态,解锁电机123;

(7)解锁电机123成功后,进入起飞任务124。本次目标高度为10米;

(8)起飞任务124完成,切换到下一个任务,即集群算法125。可以持续观察到无人机渐进达到一致的过程,集群算法125运行完成;

(9)无人机进入降落26,导航模块105~108控制期望速度为(0,0,-0.5),降落地面;

(10)最后无人机锁定电机127。

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