发布询价单
您的位置:首页 > 资讯 > 综合资讯 > 正文

多无人机应用真实仿真的集成框架

2022-06-27 10:03 性质:转载 作者:飞思实验室 来源:飞思实验室
免责声明:无人机网(www.youuav.com)尊重合法版权,反对侵权盗版。(凡是我网所转载之文章,文中所有文字内容和图片视频之知识产权均系原作者和机构所有。文章内容观点,与本网无关。如有需要删除,敬请来电商榷!)
多无人机应用的开发涉及到整合控制系统、无线通信、协调、自组织等任务,最复杂的问题是测试和调试。一方面,算法被设计为在物理系统上运行,因此调试它们的最佳...

无人机应用的开发涉及到整合控制系统、无线通信、协调、自组织等任务,最复杂的问题是测试和调试。一方面,算法被设计为在物理系统上运行,因此调试它们的最佳方法是使用真实的无人机进行测试;另一方面,错误或错误的参数调整可能会产生灾难性的后果,例如触发危险行为甚至引发碰撞。为了避免这种不良后果,在运行实际系统之前,必须对所有算法进行预防性验证,以便尽可能多地捕获错误并修复它们。处理多无人机应用的模拟并不是一项简单的任务。虽然存在大量的多智能体模拟器,但主要区别在于工具模拟真实系统的能力及其准确性。

无人机是一种机械系统,其动力学趋于振荡或不稳定,特别是在存在风或湍流等环境条件的情况下,因此在设计多无人机应用时必须始终考虑它们的实际行为。这里提出一个集成解决方案,让开发人员以现实的方式模拟多无人机应用程序。使用了一些最先进的模拟器,并围绕它们构建了一个“胶水”:包括一个协议、一个名为GzUavChannel的软件模块和一些模拟器插件。图1中描述了多无人机场景的各个组件及其在应用环境中的作用。基本部件显然是无人机。至于机身,虽然任何类型的配置都是可能的,但研究人员倾向于使用多旋翼(例如四旋翼),因为它们比固定翼飞行器更灵活。

图1 无人机和多无人机应用程序的其他组件的架构

为了让多旋翼正常飞行,总是使用飞行控制单元(FCU)。它是一个配备有微控制器、适当的电机驱动器和一组惯性和地理传感器的电子板。FCU通常为遥测、飞行应急控制和FCU设置/监控提供一些通信接口。FCU还提供了一个通信通道,可以用来连接机载伴侣计算机,即树莓派、Odroid等嵌入式平台,实现任务的高层逻辑。此外,我们提出了一个基于三个现有工具集成的解决方案,每个工具都实现了一个特定的功能。机械部件(即 机身、电机和螺旋桨)的物理特性通过Gazebo进行模拟;ns-3用于模拟网络;至于飞行堆栈,我们使用ArduPilot。

基本组件

集成模拟器的软件架构由几个模块组成,每个模块指的是真实场景中无人机的特定组件。每个无人机由以下软件模块表示,如图 2所示并描述如下:Gazebo视觉模型、Gazebo物理模型、GzUavPlugin、ArduCopter 进程、无人机节点和高级逻辑。

图 2 集成模拟器的软件组件和架构

GzUav频道

提出的集成仿真环境包括一个称为GzUavChannel的基本组件,它与框架的其他组件的链接和连接如图3所示。它是一个具有多个目标的中间件组件。

图3 组件和GzUavChannel之间的关系

定时和同步

在我们的仿真环境中,时间同步由GzUavChannel根据交互协议进行管理,如图4所示并在此处描述。一切都由Gazebo启动:正是这个工具确实负责生成主时间刻度,这是一个通知 Gazebo中运行的所有插件的事件,包括GzUavPlugins。如图4所示,此事件对应于对特定回调函数的调用,对于GzUavPlugin,该回调函数称为onUpdate()。

图4 序列图显示每个模拟步骤的进程之间交换的消息

为了正确模拟网络活动,采用的策略如下:在 Phase-0期间,必须通过网络发送数据的High-level Logic进程通过发送ENQUEUE-NS3消息直接与ns-3交互,如图5所示。这里消息并没有真正由ns-3处理,而只是放在事件队列中。

图5 高级逻辑进程和 ns-3 之间的交互

在分布式环境中管理模拟

鉴于用于将进程分布在一组服务器上的策略可能不同,提高模拟性能的一个好方法是将物理模拟(Gazebo)与其他部分分开。从这个意义上说,如图6所示,在最一般的形式中,可以创建一棵树,其中节点是GzUavChannel实例,边缘是 TCP连接;在这样的树中,根由直接连接到Gazebo的实例表示,而叶子则连接到 ArduCopter进程。每个ArduCopter进程都连接到相关的高级逻辑进程,运行在同一节点上,该节点又连接到全局ns-3进程。

图6 分布式环境中集成模拟器的架构

所描述的体系结构已经在许多测试程序上实施和验证(参见图 7)。其中,Boids算法的实现一直是评估模拟器的性能。特别是,我们旨在通过比较模拟的持续时间与实时性来测试(i)解决方案的可扩展性和(ii)其性能。

图7 40架无人机起飞截图

我们使用越来越多的无人机(从10架到120 架)进行了模拟活动,并使用280秒的(模拟)任务持续时间。在此基础上,我们收集了模拟实时持续时间的度量测量报告在图8中,是指使用 IEEE 802.15.4无线信道进行无人机交互的Boids算法的实现;该测试在具有8个vCPU和32 GB RAM的VMWare 虚拟机内的单个 Intel Xeon E5-2620 v3 @ 2.40GHz 节点上运行。如图8所示,集成模拟器能够支持多达100多架模拟无人机,这个数字与实际任务的场景一致。

图8 模拟运行时间对应于 280 秒的模拟时间

仿真是无人机应用程序开发中的宝贵工具,因为它允许在不使用真实无人机的情况下测试算法,从而避免相关风险。由于使用了 ArduPilot的MAVLink API,在模拟器上运行的相同代码也可以在真正的无人机中运行。因此,我们的框架首先允许在模拟器中开发无人机程序,并且只有在经过广泛测试和验证后才能在物理世界中部署它们。

源自:Computers and Electrical Engineering 74 (2019) 196–209

网友评论
文明上网,理性发言,拒绝广告

相关资讯

推荐图文

关注官方微信

手机扫码看新闻