猿创征文 | 一文看懂!无人机集群半物理仿真系统的7大模块拆解,超详细!

2023-05-16

在无人机集群研究领域,仿真验证技术可以高效且低廉的对算法理论,极大的缩短研制周期,降低研制成本。全数字仿真技术和半物理仿真技术是仿真验证技术的两种主要实现方式,本篇带你快速了解无人机集群半物理仿真系统!

——

仿真验证技术最新综述及半物理仿真验证系统优势

在无人机集群研究领域,仿真验证技术发挥着重要的作用,利用仿真技术可以高效且低廉的对算法理论成果进行测试验证,根据测试结果不断迭代系统方案,极大的缩短研制周期,降低研制成本。其实现方式主要有全数字仿真技术和半物理仿真技术,两种技术在系统研发设计过程中经常需要综合使用,全数字仿真技术应用数字模型,将整个测试仿真过程在虚拟环境中运行完成,不涉及软硬件数据通信交互,主要应用于系统前期的预研及可行性论证等工作。

半物理仿真验证系统可以提高系统的置信度,以真实物理模型为基础,将被仿真系统的一部分以实物方式引入仿真回路,尤其是一部分非线性传感器,可减少虚拟系统与真实设备之间的误差。相较于全数字仿真技术,半物理仿真技术逼真度更高,可以更真实的模拟设备传感器的状态,可以更好的验证系统方案的正确性和可行性,进行故障模式的仿真以及对各研制阶段验证进行闭路动态试验

无人机集群半物理仿真系统的7大模块拆解

针对无人机集群半物理仿真实现,飞思实验室具备成套解决方案,其系统框架如下图:

系统各功能模块如下:

一、无人机模型设计模块

系统具备无人载具统一建模框架,将整个无人载具系统分解为两个部分:机身系统与控制系统。机身系统与控制系统之间交互传感器数据与控制信号。而机身系统又可以细分为四个子系统:机体子系统、执行器子系统、三维环境子系统和传感器子系统。

• 机体子系统包含了机身、运行环境、力与力矩等内部子系统模块,是对机体在环境的运动、能耗和故障特性的整体描述;

• 执行器子系统包含了飞行器与外界环境的相互作用,它接收来之控制系统的控制信号,然后产生的力与力矩来驱动机身运动;

• 传感器子系统主要用于描述控制软件之外的所有电子硬件模型,主要包含传感器数据、通信协议、连接接口等特性;

• 三维环境子系统主要用于描述无人机飞行的三维视景环境(包括树木、障碍物、公路等),用于为自主控制系统提供视觉数据的模拟。

在整个建模框架中,机身系统需要进行高精度建模,并且在实时仿真计算机中实现,最后连接控制系统软件或硬件,构成软件在环仿真或硬件在环仿真闭环。

在整个仿真模型搭建完毕后,可以利用自动代码生成的方法生成不同实时仿真计算机环境下的仿真软件,并且通过替代其中特定的子系统模块可以快速扩展得到不同类型的载具模型。所示为Simulink中搭建仿真模型的示例,它包含了基本的运动仿真功能以及故障注入功能,能够非常逼真地仿真各种多旋翼的运动动态。

Simulink仿真模型

 

二、集群视觉感知模块

集群视觉感知模块主要完成无人机的环境感知、视觉处理等功能。其通网络通讯节点接收视觉模块发送的无人机视觉传感器数据,利用图像算法或人工智能完成视觉的导航或态势感知。顶层控制模块通过综合操控人员的指挥信息、无人机的状态信息(姿态、速度、位置、电量、健康程度等)、视觉感知的结果等信息,完成无人机的上层决策,并将底层控制指令发送给无人机自驾仪。

三、集群协同控制决策算法设计模块

集群协同控制决策算法设计模块,具有顶层集群规划指挥层、组网通讯节点层、集群决策层、底层控制层等大规模无人机集群控制系统。

1)支持集中式的无人机集群控制策略,在指挥中心可以获取所有无人机数据并统一进行轨迹规划与安全防护;

2)支持分布式的无人机集群控制策略,每个飞机可获取临近无人机的信息,并进行自主决策;

3)支持集中式控制算法的软/硬件在环仿真验证;

4)支持局域网内多台电脑上的多个软/硬件在环仿真系统组网,形成整体的集群仿真系统,并实现集中显示与控制

5)支持集群控制算法快速移植到真机飞行平台中,进行试飞测试;

固定翼飞机软件在环控制仿真

固定翼飞机硬件在环控制仿真

 四、典型场景搭建设计模块

本平台基于UE4实时三维渲染引擎开发了面向无人机的实时视景软件RflySim3D,它可以接收局域网内的所有飞机数据并集中实时显示在场景中,同时支持单独配置并获取到特定飞机的特定机载摄像头。此软件也支持自行设计并导入三维场景和飞机模型,且操作非常简单。支持直接使用UE4场景库中的海量三维场景和飞机模型;同时支持用3Ds Max和AutoCAD等软件自行制作三维场景和飞机模型并导入UE4。下图分别展示了平台目前自带的四旋翼室内飞行、小车街区行驶、六旋翼森林穿梭和固定翼山脉巡航的三维场景。

 高逼真三维场景示例

典型场景搭建设计模块,能够自定义场景类型,提供典型场景模块设计SDK,对场景内的环境、设施及行人进行自定义。支持通过UDP/ROS动态改变场景地图、改变飞机三维样式、动态创建障碍物(其他飞机、跟踪靶标、人物、标定板、桌椅等)、动态改变飞机视角(位置、方向、焦距等)、改变三维引擎输出图像分辨率等。

 五、半实物模拟模块

系统支持外部传感器接入,传感器数据分为两类:直连飞控的外部传感器(磁罗盘、差分GPS、光流测速等),另一类是直连机载计算机的视觉传感器(双目、Lidar、深度相机等)飞控传感器通过Simulink等程序直接生成传入Pixhawk飞控,视觉传感器通过三维环境引擎生成,随图像传入机载计算机。

飞控与机载计算机在环半物理仿真

无人系统运动仿真模块接收无人系统飞控的舵机输出信号,采用六自由度动力学模型,解算出某型无人系统飞行运动状态,输出飞机的姿态、位置、速度等状态参数。

信号选择模块根据用户的选择将无人系统的状态参数输出到转台或者视景仿真系统。如果输出到转台,转台在转台控制模块的作用下,完成的无人系统飞行姿态的联动和模拟;如果输出到视景仿真系统,则可以在虚拟的三维场景中显示无人系统的运动姿态和运动轨迹。

信号选择模块的框图如下图所示:

信号选择模块(转台在环半物理仿真)

 

六、分布式网络通讯模块

本系统采用分布式组网架构,不同的仿真模型可以运行在同一台电脑或者不同的电脑上。打开多个模型仿真器并连接多个Pixhawk/PX4自驾仪硬件就可以形成多无人机集群的仿真环境。由于单台电脑的性能是有限的,可以通过局域网内多台电脑间进行相互通信的形式进一步扩展整体飞机数量。

多机视觉处理框架

七、系统二次开发协议接口模块

1)实现对无人机动力学模型、3D仿真模型进行辨识后重新建模,提供接口协议,以便在后续工作中自行构建无人机模型。提供Simulink无人机动力学建模模版,支持多种旋翼类型,便于模型开发与扩展;提供标准输入输出接口,可在Simulink中自行搭建任意构型无人机模型;支持Simulink自动代码生成为DLL文件的形式导入到硬件在环仿真器中;动力系统组件数据库覆盖市面上2000款以上组件产品,支持从数据库中选择合适组件组装不同构型无人机并估算性能与模型参数,用于无人机动力学仿真。

2)平台提供系统故障注入接口:

模型故障:提供Simulink模型和外部触发接口,可自行加入任意故障。

通信故障:所有通信链路经过统一接口转发,可模拟延迟、丢包等

环境故障:障碍物等在三维引擎中生成

3)平台提供传感器基本参数与安装位置的深度相机传感器模块SDK,用户可以通过设置相关参数对无人机机载视觉传感器进行设计朝向、焦距、视场角等,自定义机载视觉模块;根据用决策的输入输出接口协议,提供决策系统输入/输出接口。

- End -


飞思实验室:让无人智能科研更简单!

新一代信息技术产业正在迅速崛起,飞思实验室作为无人智能教育及科研领先品牌,秉承“让无人智能科研更简单”的理念,经过多年技术迭代,在无人智能体控制、集群、视觉等科研应用方向的研发、自动控制类课程教学及创新及实训类实验室的建设等领域处于行业领导地位。如果你对无人系统仿真及无人集群感兴趣,就请关注我们的公众号,我们将为你带来最新最有价值的行业技术分享。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

猿创征文 | 一文看懂!无人机集群半物理仿真系统的7大模块拆解,超详细! 的相关文章

  • 重学C语言之开始

    还记得是大一上学期学习的C语言 xff0c 当时就是为了应付一下考试 xff0c 很多东西其实还没有吃透 虽然大学玩了几年的单片机 xff0c 自己也写了不少的C代码 xff0c 但是总是感觉自己还是没有搞透C语言 xff0c 没有抓住C语
  • 【20-8-7】树莓派上部署英特尔深度相机IntelRealsense T265

    最近在搭建无人机的自主飞行平台 xff0c 无GPS的情况下室内定位的方案除了光流 xff0c 最好的就是配合intel的realsense系列的摄像头 尤其是T265本身带IMU xff0c 可以直接给飞控输出位姿信息 xff0c 不管是
  • 【2020-8-8】ROS软件包自动安装依赖,安装ros_pcl

    最近要把T265部署到无人机平台 xff0c 编译一个软件的时候一直报ros pcl的错误 原因是树莓派安装的ros并不是完整版 xff0c 因为也不需要再树莓派上部署gazebo之类的仿真平台 网上关于安装ros pcl的文章基本上都已经
  • 【2020-8-9】APM,PX4,GAZEBO,MAVLINK,MAVROS,ROS之间的关系以及科研设备选型

    0 概述 无人机自主飞行平台可以分为四个部分 xff1a 动力平台 xff0c 飞行控制器 xff0c 机载电脑和模拟平台 动力平台 xff1a 负责执行飞行任务 xff0c 包括螺旋桨 电机 机架等 xff0c 用于科研的一般都是F380
  • 【8-12】树莓派ubuntu升级Cmake

    树莓派上运行的是Ubuntu Mate18 04的系统 xff0c 自带的cmake版本是3 10 0 xff0c 编译软件的时候要求cmake版本大于3 11 0 需要进行升级 注意网上的教程会让你卸载现在系统里cmake xff0c 就
  • 【8-12】树莓派部署t265+px4飞控实现无人机视觉定位

    在之前的文章中 xff0c 我们已经成功在树莓派 xff08 ubuntu mate 18 04 xff09 上部署了T265的追踪摄像头 本文将利用MAVROS协议 xff0c 将T265测量的位姿信息发送给px4固件 xff0c 实现室
  • 【8-14】树莓派3B+ Ubuntu Mate 18.04使用Intel NCS2做人脸识别

    想要在无人机平台部署CV xff0c 但是无人机的机载电脑需要安装ROS xff0c 而ROS需要在Ubuntu的平台才能方便使用 xff0c 所以树莓派3B 43 上安装的是Ubuntu Mate18 04 Intel Ncs2 xff0
  • 【8-14】virtualenv和virtualenv wrapper的快速入门

    跟conda类似的Python虚拟环境管理工具 xff0c jetson nano暂时无法使用conda 1 virtualenv span class token comment 安装 span span class token func
  • 【20-9-22】Python实现多进程多线程

    简介 对于计算机来说 xff0c 有两种实现多任务的方式 xff1a 并行和并发 并发 xff1a 一段时间内交替执行某些任务 如单核CPU轮流执行一些程序 并行 xff1a 一段时间内同时运行多个任务 多核cpu处理多任务 1 进程 程序
  • 【21-3-28】pvcreate device excluded by a filter

    使用Lvm创建虚拟磁盘时报错的解决方法 xff1a span class token function sudo span pvcreate dev sdd Device dev sdd excluded by a filter 原因是因为
  • BMI指数

    身体质量指数 xff08 Body Mass Index xff0c BMI xff09 是根据人的体重和身高计算得出的一个数字 xff0c BMI对大多数人来说 xff0c 是相当可靠的身体肥胖指标 xff0c 其计算公式为 xff1a
  • 生日悖论的Python实现

    题目 xff1a 如果你的班级中有23个学生 xff0c 那么其中有两个人生日相同的概率为多大 xff1f usr bin env python coding 61 utf 8 import random def has duplicate
  • 二分法查找的Python实现

    代码如下 xff1a usr bin env python coding 61 utf 8 def BinarySearch t x t sort 对列表进行排序 xff0c 列表是有序的 xff0c 是二分法的前提 low 61 0 hi
  • Python中bisect模块用法,及实现方式

    bisect用法 import bisect bisect bisect left t x 在T列表中查找x xff0c 若存在 xff0c 返回x左侧位置 bisect bisect right t x bisect insort lef
  • c++实验六总结(自用)

    实验目的 掌握派生类的声明方法和派生类构造函数的定义方法 掌握不同方式下 xff0c 构造函数与析构函数的执行顺序与构造规则 程序如下 xff1a include lt iostream gt include lt string gt us
  • 光网络知识

    一 WDM网络体系结构注意点 1 波长复用 2 波长转换 3 透明性 4 电路交换 5 生存性 xff1a 当网络出现故障时 xff0c 光路能够自动路由到另一条备份路径上 xff0c 为网络提供了高度的弹性 6 光路拓扑 二 波分复用网络
  • docker镜像更新后 如何正确更新对应的容器 避免数据丢失

    容器的更新大致分为以下两种方法 1 容器并未存储任何应用程序的数据 在这种情况下 您可以在任何时候使用它的更新版本替换APP容器 方法是执行如下所示 span class token function docker span pull my
  • netconn_accept返回值为0,OSQCreate出错 lwip uocsii

    我是在main中有创建信号量的函数 led event 61 OSQCreate amp led q 0 MSGSIZE 这个因为配置中信号量上限较小 而在sys arch c中有一个创建消息邮箱的函数 err t sys mbox new
  • 零基础自学STM32-复习篇2——使用结构体封装GPIO寄存器

    我们首先要了解寄存器的一个特点 xff0c 他不是只针对一个外设 xff0c 而是所有的外设都 就拿GPIO的CRL xff0c ODR寄存器来说 对于GPIOA GPI xff2f E都有一组功能相同的寄存器只是地址不一样而已 xff21
  • 写给小白:使用GitHub来托管论文吧

    使用GitHub来托管论文吧 摘要 xff1a 写给小白 对于非计算机专业的小伙伴 xff0c 可能很少接触到GitHub吧 xff0c 但GitHub真心好用 xff0c 虽然我们不会用它来进行 托管代码 xff0c 但是可以用来托管论文

随机推荐