【RflySim学习笔记】1.RflySim的绪论

news2024/11/24 22:45:28

目录

文章目录

  • 目录
  • 1.RflySim 平台背景
  • 2.RflySim 平台特点
  • 3.RflySim 平台核心组件介绍
    • 3.1 CopterSim
    • 3.2 RflySim3D/RflySimUE5
      • UE引擎:
      • RflySim3D/RflySimUE5
    • 3.3 QGroundControl地面站
    • 3.4 Python38Env
    • 3.5 MATLAB自动代码生成工具箱
    • 3.6 SITL/HITL批处理脚本
    • 3.7 PX4 Firmware源码
    • 3.8 Win10WSL子系统
    • 3.9 Simulink集群控制接口
    • 3.10 RflySim配套资料文件
    • 3.11 配套硬件系统
  • 4.RflySim 平台主要功能介绍
    • 4.1 飞控底层开发功能
    • 4.2 无人载具系统统一建模框架
    • 4.3 无人系统仿真场景开发功能
    • 4.4 无人系统视觉控制开发功能
    • 4.5 无人系统集群控制开发功能
    • 4.6 无人协同控制决策算法设计功能
    • 4.7 分布式网络通讯模块
  • 5.RflySim 平台未来功能预览
    • 5.1 兼容ROS的顶层视觉/决策算法开发
    • 5.2 无人系统故障建模与注入开发
    • 5.3 无人系统安全、健康评估系统开发
    • 5.4 基于FPGA实时仿真系统开发
    • 5.5 RflySim Cloud产品简介

1.RflySim 平台背景

​ 智能无人系统是一个复杂系统,涉及机械、控制、计算机、通信和材料等多个领域技术,而 AI 无疑是开发 IUS 所需的关键技术之一。

​ 目前,智能无人系统主要包括自动驾驶汽车、无人机、面向服务的机器人、智能工业机器人、太空机器人、航海机器人以及无人车间/智能工厂。

​ 智能无人系统开发和测试通常分为基于实验基于仿真。基于实验的开发和测试虽然很直接,但是存在安全、空间、时间和成本等诸多痛点,以上痛点对于集群飞行测试更“痛”。基于仿真的开发和测试

需要建立无人系统的数学模型,围绕模型进行开发和测试,最终回到真实的无人系统。对于基于仿真的开发和测试,痛点在于如何建立合理的模型。这导致传统仿真不真,而真的又太贵。

image-20240702214822950

image-20240702214829642

​ 典型的无人智能体集群协同控制仿真到实验全流程、全模块的系统架构为:

  1. 无人智能体系统的设计与搭建
  2. 通讯系统的设计与搭建
  3. 定位系统的搭建与设计
  4. 导航与运动控制系统的搭建与设计
  5. 载荷系统的搭建与设计
  6. 任务规划系统的搭建与设计
  7. 地面站综合控制系统的搭建与设计等

image-20240702215007391

目前大多数高校和科研院所在开展多智能体协同控制相关研究领域时,往往存在以下困难:

  1. 整个平台设计工具链复杂庞大,从零开始搭建费时费力
  2. 缺乏系统性的平台搭建力量,研究初期,人员精力被消耗在非核心研究职责方向上;
  3. 现有各分散的软硬件存在使用标准、软件接口、通讯协议不统一,相关源码不开放,学习掌握和二次开发难度较大。
  4. 部分开源平台,服务支撑能力不足,无法满足本土科研需求。

2.RflySim 平台特点

  1. 北航可靠飞行控制组发布的生态系统或工具链
  2. 全权教授指导,戴训华博士主导开发
  3. 卓翼智能旗下的飞思实验室接管和推动高级功能的开发
  4. 专为无人平台控制系统开发、大规模集群协同、人工智能视觉等前沿研究领域研发的一套高可信度的无人控制系统开发、测试与评估平台
  5. 基于模型(MBD)的设计理念
  6. 基于 Pixhawk/PX4、MATLAB/Simulink 和 ROS 等以及货架智能硬件等,可开展:
    1. 无人智能体控制的仿真与实飞/运动
    2. 无人智能体集群的仿真与实飞/运动
    3. 基于无人智能体视觉的仿真与实飞/运动
  7. 针对上述问题得研究时,可开展:
    1. 无人系统建模
    2. 控制器设计
    3. 软件在环仿真(Software-In-the-Loop,SIL)
    4. 硬件在环仿真(Hardware-In-the-Loop,HIL)
    5. MATLAB/Simulink 的自动代码生成技术

image-20240702215548757

根据各仿真平台特性如上表所示,将各平台对比如主要有以下特点:

  1. 无人机物理特性仿真还原度高。
  2. 完全分布式构架。
    1. 所有应用软件都可以在同一台或多台电脑上多开,
    2. 并且各个应用之间可以通过 UDP 网络相互收发消息,
    3. 这种分布式的构架非常适合于大规模带视觉的无人机集群仿真测试
  3. 支持多种机型仿真。
  4. 支持无人机集群仿真。
    1. 在同一局域网下,开发者可以使用 CopterSim 连接多个 Pixhawk 进行硬件或软件在环仿真。
    2. 同时,还可以使用 Simulink 或者 C++程序控制飞行器,
    3. 控制指令会由 Mavlink 协议经过串口(数传)或者网络(WIFI)发送给 Pixhawk;
  5. 提供高逼真的 3D 视景。
  6. 支持基于视觉的控制。
  7. 支持多种故障注入。

3.RflySim 平台核心组件介绍

image-20240702222133846

​ RflySim 平台包含了众多在进行无人系统建模、仿真、算法验证等开发过程中所涉及到的软件,其中,核心组件有:

  1. CopterSim
  2. QGroundControl
  3. RflySim3D/RflySimUE5
  4. Python38Env
  5. Win10WSL 子系统
  6. SITL/HITLRun 一键运行脚本
  7. MATLAB 自动代码生成工具箱
  8. Simulink 集群控制接口
  9. PX4 Firmware 源码
  10. RflySim 配套资料文件以及配套硬件系统

3.1 CopterSim

image-20240702222421159

​ CopterSim 是 RflySim 平台核心软件之一,它是针对 Pixhawk/PX4 自驾仪平台开发的一款硬件在环仿真软件,可以在软件中配置多旋翼的模型,通过 USB 串口与 Pixhawk 自驾仪连接来实现硬件在环仿真,达到室内模拟室外飞行测试的效果。

[!NOTE]

是不是主要通过配置上述硬件内容,来获得一个用于仿真的模型参数?

​ 主要由两大部分组成—模型通信:

模型:

  1. 模型是指可根据所设置的模型参数,进行计算后直接就可进行仿真;
  2. 支持运行动态模型(DLL),并连同其他软件构成软/硬件在环仿真

通信:

  1. CopterSim 是所有数据通信的中心
  2. 飞控与 CopterSim 通过**串口(硬件在环 HITL)网络 TCP/UDP(软件在环 SITL)**进行连接
  3. 使用 MAVLink 进行数据传输,实现控制闭环,模拟室外飞行情形;

image-20240702222915272

​ CopterSim 发送飞机位姿、电机数据三维引擎,实现可视化展示;转发 MAVLink 消息到 Python 视觉或 QGC 地面站,传输飞机实时状态,实现顶层规划控制;等等。

​ 同时,CopterSim 软件对 MAVLink 数据进行压缩后以 UDP 结构体形式发给集群控制软件,达到通信精简目的(大规模集群需求)。

3.2 RflySim3D/RflySimUE5

UE引擎:

  1. Unreal Engine 具有强大的图形引擎,支持高品质的3D图形和视觉效果
  2. 蓝图可视化脚本系统可以使用图形化的方式来创建复杂的逻辑和交互行为,而无需编写代码
  3. 拥有庞大的社区支持和资源库,包括模型、纹理、音效、插件等等,
  4. 支持多个平台,包括 PC、主机、移动设备和虚拟现实设备等等
  5. 以根据自己的需求来自定义和扩展引擎的功能和工具

RflySim3D/RflySimUE5

  1. RflySim3D/RflySimUE5 是基于 Unreal Engine 引擎开发的无人系统高逼真仿真软件,继承了 Unreal Engine 引擎的各种优势。
  2. 通过 UDP 的形式与平台其他软件进行通信,实现高逼真的无人系统仿真,
  3. 同时,可通过屏幕抓取、共享内存等方式将视觉图像数据传输到QGroundControl、MATLAB、Python 等软件,实现无人系统的视觉算法验证仿真,如图 12 所示。

​ 同时,针对电脑配置较低的用户,RflySim 平台提供另两种三维仿真软件,分别为:FlightGear3DDisplay

FlightGear 的开发团队来自世界各地,包括程序员、飞行员、物理学家和飞机制造商等领域的专家,提供了多种不同类型的飞机模型和场景,包括各种民用和军用飞机模型,以及多种不同的场景和环境模拟。它是一款非常受欢迎的开源飞行模拟器软件,可以通过 UDP 接收 Simulink 发送的飞行状态,方便地观测 Simulink 仿真时飞机的飞行状态。

3DDisplay 是由北航可靠飞行控制研究组开发的虚拟飞行模拟器软件,提供了三维模型和虚拟环境,支持多种飞机模型和场景。用户可根据个人电脑的配置情况,自由切换 RflySim3D/RflySimUE5、FlightGear、3DDisplay 三款仿真软件。

3.3 QGroundControl地面站

​ 无人机地面站是无人机应用控制系统的关键组成部分,操作员可以通过鼠标、触摸屏、遥控手柄操作地面站以达到控制无人机的目的,并且通过在地面站上设定航点信息以及规划航线,可以使无人机按照预设的路径飞行,并在飞行途中完成航点任务,包括拍照,飞机动作,录像等。

​ 主流开源地面站为 QGroundControl 和 MissionPlanner

​ QGroundControl 是专为 PX 4 软件最新架构的开源地面站,其使用 QT 编辑器 C++语言编写其核心代码,其支持源代码修改和功能二次开发,即适合无人机地面站研究实验也适合无人机地面站功能的定制及修改。

​ 相比来说 QGroundControl 的优势有:

  1. 开源性:
    1. QGroundControl 是一个完全开源的软件,这意味着用户可以根据需要自由修改和定制它。
  2. 易用性:
    1. 用户界面非常清晰、现代化和易于使用,使用户可以快速进行任务规划和飞行计划。
  3. 多平台支持:
    1. QGroundControl 可在多种操作系统上运行,如 Windows、Linux 和 MacOS 等。
  4. 模块化架构:
    1. QGroundControl 的模块化架构使得开发人员可以轻松地添加和扩展新功能,而不会影响到现有的功能和性能。

​ 总体而言,QGroundControl 是一个现代化、易于使用、开源且高度可定制的地面站软件,它在多平台支持、多语言支持、模块化架构等方面具有明显的优势。

3.4 Python38Env

​ Python38Env 是一个 Python 3.8 的编程语言的虚拟环境,包含了 numpy、pymavlink、OpenCV、pyulog 等库,可快速进行无人系统的相关算法开发,无需用户部署 python 运行环境和各种功能库

3.5 MATLAB自动代码生成工具箱

​ MATLAB 自动代码生成工具箱是一个 MATLAB 的扩展工具包,用于从 Simulink 模型中生成 C 代码、可执行文件、静态库和动态库等各种形式的可执行文件。

​ 这些可执行文件可以直接在嵌入式平台上运行,而不需要进行手动编写和调试。支持多种嵌入式平台,包括 ARM Cortex-M 和 A 系列处理器、NXP MPC55xx 和 MPC56xx 系列、Pixhawk 系列等。

​ 该模块库中包含 GPS 数据模块电池数据模块uORB 模块等众多模块。

​ 基于 RflySim 和 Pixhawk Support Package 平台,用户可实现:

​ ① 在 Simulink 中设计和模拟控制算法

​ ② 从 Simulink 模型自动生成 C 代码和 PX4 固件,并将其直接烧录到 Pixhawk 板上;

​ ③ 使用 MATLAB 脚本和函数配置和校准 Pixhawk 板及其外围设备

​ ④ 实时读写与 Pixhawk 板的数据

3.6 SITL/HITL批处理脚本

​ 批处理技术是指计算机可分组处理收集到的若干任务,整个过程完全自动化,无需人工干预,这也可以称为工作负载自动化 (WLA)作业调度。它具有速度和成本节约、准确性、操作简单等优点。

​ RflySim 基于批处理技术开发了众多批处理脚本,让用户可以快速一键启动部署多架、多种、多样无人系统组合式仿真。提高了无人系统开发和仿真速度。平台较常用的批处理脚本

  1. ① SITLRun.bat:
    1. 开启多机软件在环仿真的批处理文件
    2. 其本质上是通过脚本方式启动并配置 RflySim 平台的部分软件和选项
  2. ② HITLRun.bat:
    1. 开启多机硬件在环仿真的批处理文件
    2. 根据提示输入想要参与仿真的 Pixhawk 串口号
    3. 开启多机的硬件在环仿真
  3. ③ 除此之外 RflySim 平台还提供众多批处理脚本文件:
    1. SITLRunPos.bat
    2. SITLRunLowGPU.bat
    3. SITLRunMAVLink.bat
    4. HITLRunPos.bat
    5. HITLPosSysID.bat
    6. HITLPosStr.bat

​ 用户可通过编辑器打开这些文件,根据个人需求修改其中的参数,实现自定义开发,快速开始仿真或算法的验证。

3.7 PX4 Firmware源码

​ PX4 由瑞士苏黎世联邦理工学院(ETH)计算机视觉与几何实验室的一个软硬件项目 PIXHAWK 演变而来,该飞控完全开源,为全球各地的飞控爱好者和研究团队提供一款低成本高性能的高端自驾仪。

​ RflySim 平台支持一键部署 PX4 编译环境,可自定义选择不同的 PX4 固件编译命令和固件版本

平台会将选定的 PX4 Firmware 源代码部署在设定的安装路径上,如果固件存在,会删除旧的固件文件夹,并进行全新部署,极大的提高了PX4 环境部署的效率。

3.8 Win10WSL子系统

Win10WSL 子系统是一种 Windows 操作系统上的子系统:

  1. 用户可在 Windows 系统中运行 Linux 应用程序
  2. 使用 Linux 命令行界面(CLI)并安装 Linux 发行版
  3. RflySim 平台一键安装的 Linux 系统为 Ubuntu18.04.5,主要是用于 PX4 源代码的编译

本平台还提供另两套编译环境来实现 Windows 平台下对 Linux 编译环境的模拟:

  1. 基于 Msys2 的 Msys2Toolchain 编译环境
  2. 基于 Cygwin 的 CygwinToolchain 编译器

用户可根据自己的 PX4 版本选择不同的编译环境,且在一键部署安装界面不同的选择即可完成不同编译环境的切换。

3.9 Simulink集群控制接口

image-20240703085114885

​ RflySim 平台基于 Simulink S 函数开发了集群控制接口,如上图所示,该接口是通过 Simulink S 函数通过 C++混编实现,配合 Simulink 自带的 UDP 模块优点,具有效率高、运算小、延迟低、更可靠、扩展性强等优点。

​ 用户可通过复制粘贴的方式,将该模块加载到自己的控制系统中,帮助用户快速实现无人系统集群控制开发。

3.10 RflySim配套资料文件

​ RflySim 平台提供非常完善的学习资料及例程文件,通过 PPT 课件资料和 RflySimAPIs 例程文件,使用户循序通过渐进、层层递进的学习方式,从无人系统底层控制算法→中层决策算法→顶层学习算法的开发与验证,一站式搭建、开发出自己所需的无人系统。

3.11 配套硬件系统

​ RflySim 平台提供了一套完整的配套硬件系统,包括四旋翼无人机、飞控、遥控器等组件。组件均能与平台完美兼容,可以在 RflySim 平台中是实现软、硬件在环仿真实验,基于生成的固件实现无人机在真实环境下的飞行

​ 目前支持的飞机有:

  1. 飞思 X150
    1. 飞思 X150 为室内集群控制科研全新设计的微型四旋翼无人机
    2. 支持的飞控有Pixhawk 系列、卓翼 racer、卓翼 H7、MindPX、MindRacer 等
    3. Pixhawk 系列支持 Pixhawk1、Pixhawk 4、Pixhawk 6X 等飞控
    4. 支持的遥控器有乐迪 AT9S Pro、天地飞 ET07、福斯 i6s、Futuba T14SG 等等。
  2. 飞思 X200
  3. 飞思 X450

4.RflySim 平台主要功能介绍

4.1 飞控底层开发功能

image-20240703090808186

  1. RflySim 采用基于模型设计(Model-Based Design,MBD)的思想,
  2. 通过以下五个阶段
    1. 建模阶段
    2. 控制器设计阶段
    3. 软件在环仿真阶段(Software-In-the-Loop,SIL)
    4. 硬件在环仿真阶段(Hardware-In-the-Loop,HIL)
    5. 实飞测试阶段
  3. 通过 MATLAB/Simulink 的自动代码生成技术,控制器能够被方便地自动下载到硬件中,用于 HIL 仿真和实际飞行测试。
  4. 在 MATLAB/Simulink 中提供了多旋翼控制器设计的相关接口,用户(初学者、学生或者工程师)可以利用自己所学知识快速进行控制器的设计与验证
  5. 控制器设计完成后,先转为C/C++代码,然后编译进PX4固件中,自动下载到PX4自驾仪中
  6. 通过CopterSim进行模型仿真+PX4自驾仪进行控制硬件在环仿真+UE4等仿真环境

4.2 无人载具系统统一建模框架

image-20240703091146475

无人载具系统统一建模框架将整个无人载具系统分解为如下两个部分,并且机身系统控制系统之间进行着传感器数据与控制信号

  1. 机身系统
    1. 机体子系统
      1. 包含了机身、运行环境、力与力矩等内部子系统模块
      2. 对机体在环境的运动、能耗和故障特性的整体描述
    2. 执行器子系统
      1. 包含了飞行器与外界环境的相互作用
      2. 接收来自控制系统的控制信号,然后产生的力与力矩来驱动机身运动
    3. 三维环境子系统
      1. 描述无人飞行的三维视景环境(包括树木、障碍物、公路等)
      2. 用于为自主控制系统提供视觉数据的模拟。
    4. 传感器子系统
      1. 用于描述控制软件之外的所有电子硬件模型
      2. 包含传感器数据、通信协议、连接接口等特性;
  2. 控制系统

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

image-20240703093050325

​ 上述建模框架可以在 Simulink 等可视化建模与仿真软件中快速实现,仿真模型搭建完毕后,可以利用自动代码生成的方法生成不同实时仿真计算机环境下的仿真软件,通过替代其中特定的子系统模块可以快速扩展得到不同类型的载具模型。

  1. RflySim 提供 Simulink 无人动力学建模模版,支持多种旋翼类型,便于模型开发与扩展
  2. 提供标准输入输出接口,可在 Simulink 中自行搭建任意构型无人模型
  3. 支持 Simulink 自动代码生成为 DLL 文件的形式导入到硬件在环仿真器中
  4. 动力系统组件数据库覆盖市面上 2000 款以上组件产品,支持从数据库中选择合适的电机、螺旋桨等组件组装不同构型多旋翼(三、四、六、八旋翼)并估算性能(悬停时间、最大拉力等)与模型参数(质量、转动惯量、螺旋桨拉力系数等),用于多旋翼动力学仿真。

4.3 无人系统仿真场景开发功能

​ RflySim 基于 Unreal Engine 实时三维渲染引擎开发了面向无人的实时视景软RflySim3D和RflySimUE5,它可以接收局域网内的所有飞机数据并集中实时显示在场景中,同时支持单独配置并获取到特定飞机的特定机载摄像头

  1. 支持自行设计并导入三维场景和飞机模型

  2. 支持直接使用 UE4 场景库中的海量三维场景和飞机模型

  3. 支持用 3Ds Max 和 AutoCAD 等软件自行制作三维场景和飞机模型并导入 UE4

  4. 通过典型场景搭建设计模块,能够自定义场景类型,提供典型场景模块设计SDK,对场景内的环境、设施及行人进行自定义。

  5. 支持通过 UDP/ROS 动态改变场景地图、改变飞机三维样式、动态创建障碍物(其他飞机、跟踪靶标、人物、标定板、桌椅等)、动态改变飞机视角(位置、方向、焦距等)、改变三维引擎输

    出图像分辨率等。

​ 下图分别展示了平台目前自带的四旋翼室内飞行、小车街区行驶、六旋翼森林穿梭和固定翼山脉巡航的三维场景。

image-20240703094040239

image-20240703094157040

4.4 无人系统视觉控制开发功能

​ 无人系统视觉控制:

image-20240703094827458

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

image-20240703095108369

RflySim 平台支持外部传感器接入,我们将这些传感器数据分为两类:

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

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

image-20240703095622942image-20240703095626958

​ 基于 RflySim3D 的三维视景平台支持视角切换功能,可以获取方便地获取到多个视角的图像数据。

支持通过共享内存或窗口图像抓取的方式在 Simulink、Python、C/C++ 等代码平台中实时获取到图像数据并进行处理,处理得到的视觉数据可以通过 UDP 再返回给 CopterSim 或者 Simulink 控制,形成带有视觉的硬件在环仿真闭环

  1. 支持采用 Python/C/Simulink 接口直接读取 RflySim3D 的窗口图像
    1. 720P 多窗口图像读取消耗用时间在 5ms 以内(200Hz 以上)
    2. 且不会干扰 RflySim3D 三维仿真程序的运行
  2. 支持开启任意个 RflySim3D 窗口,每个窗口可以独立配置显示视角。
    1. 模拟机载相机或者地面观察视角等
  3. 支持键盘快捷键调整,也支持通过 UDP 发送指令来控制 RflySim3D 的视角/机载相机显示参数
  4. 提供的控制接口底层直接收发 Mavlink 数据,由于使用跨平台的 Python 语言,直接拷贝机载计算机就能使用。

4.5 无人系统集群控制开发功能

​ RflySim支持一键启动多机集群仿真功能,支持MATLAB/Simulink、Python端集群仿真开发,支持多架软件在环、硬件在环及软、硬件相结合的虚实集群仿真,支持局域网内多台电脑的分布式集群仿真

​ 随着飞机增加,网络通信负载也会越来越大,此时需要对通信进行优化,目前主要的两种通信使用的数据协议为:

  1. MAVLink数据
  2. UDP压缩结构体

​ 基于上述两种数据协议,Rflysim提出了5中压缩的数据协议,实现了上百架的无人机集群仿真

image-20240703101040229image-20240703101042877

​ 该系统借助大规模集群分布式控制仿真系统平台,可实现大规模无人机集群仿真、分布式无人机集群控制研究、分布式无人机集群视觉感知算法验证、无人机飞行控制及通信算法验证等功能。

image-20240703101202493

4.6 无人协同控制决策算法设计功能

RflySim 的无人协同控制决策算法设计模块,具有:

  1. 顶层集群规划指挥层
  2. 组网通讯节点层
  3. 集群决策层
  4. 底层控制层

大规模无人机集群控制系统主要有以下特3:

  1. 支持集中式的无人集群控制策略,在指挥中心可获取所有无人数据并统一进行轨迹规划与安全防护
  2. 支持分布式的无人集群控制策略,每个飞机可获取临近无人的信息,并进行自主决策;
  3. 支持集中式控制算法的软/硬件在环仿真验证
  4. 支持局域网内多台电脑上的多个软/硬件在环仿真系统组网,形成整体的集群仿真系统,并实现集中显示与控制
  5. 支持集群控制算法快速移植到真机飞行平台中,进行试飞测试;

4.7 分布式网络通讯模块

​ RflySim 采用分布式组网架构,不同的仿真模型可以运行在同一台电脑或者不同的电脑上。

​ 打开多个模型仿真器并连接多个 Pixhawk/PX4 自驾仪硬件就可以形成多无人集群的仿真环境。由于单台电脑的性能是有限的,可以通过局域网内多台电脑间进行相互通信的形式进一步扩展整体飞机数量。

image-20240703103707393

5.RflySim 平台未来功能预览

5.1 兼容ROS的顶层视觉/决策算法开发

​ RflySim 平台可在本地电脑下开发和测试单一的视觉功能,整个开发过程均在 Windows 下进行,具有易用性强、效率高、入门门槛低、成本低等特点。

image-20240703103910104

​ 在完成本地电脑的纯软件在环仿真后,可将 Python/C 视觉感知与控制程序直接部署到机载计算机中的 Linux/ROS 中,使用飞控固件替换软件在环仿真模式,实现算法迁移。

image-20240703103924121

​ 进一步直接将 Pixhawk/PX4 飞控的 PWM 输出口插在机架动力系统上,图像获取接口连接相机,即可完成真机迁移。

5.2 无人系统故障建模与注入开发

​ RflySim 故障注入架构如下图所示。其由实物模块仿真模块评估模块组成。

​ 实物模块由飞控硬件组成,负责与仿真计算机连接,接收来自外部的控制指令并作出姿态响应,组成半物理仿真闭环,可通过飞控进行硬件在环的实时故障注入。

​ 仿真模块由 CopterSim、RflySim3D、QGC 组成,负责整机的故障消息发送三维故障注入,进行实时的故障模拟。

​ 评估模块负责输出故障注入之后的安全状况。

image-20240703104147281

故障用例包含三大类型故障:

​ 模型故障:故障模型在 Simulink 中开发,通过生成动态 DLL 模型嵌入 CopterSim 的模型接口进行仿真。提供 Simulink 模型和外部触发接口,可自行加入任意类型故障。

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

​ 环境故障:通过在 UE 中创建三维障碍物并导入 RflySim3D,在飞机执行任务中注入三维障碍物故障。

5.3 无人系统安全、健康评估系统开发

​ 抽象来说,安全是指不因人、机、媒介的相互作用而导致系统损失、人员伤害、任务受影响或造成的损失,泛指没有危险、不出事故的状态。而无人机处于安全或不安全的状态,其实是一个二值逻辑。

5.4 基于FPGA实时仿真系统开发

​ 基于 RflySim 平台在软件层面的可信硬件平台、基于 MATLAB 的可信软件平台以及可信仿真模型组成了基于 FPGA 实时仿真系统。

image-20240703104400510

5.5 RflySim Cloud产品简介

​ 随着大规模集群仿真智能强化学习平台、一键部署/无需部署功能、硬件在环虚实结合仿真等需求越来越多,RflySim Cloud 云端化产品也将在未来发布。

image-20240703104437855

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1893210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【已解决】: fatal error: cuda_runtime_api.h: No such file or directory

既然他找不到,我们就把路径给他写清楚! 检查自己是不是有这个文件: 去路径/usr/local下,使用命令查询是否拥有该文件: find . -name cuda_runtime_api.h结果: 因为我要使用的是cuda-11.3,因…

Linux 摄像头编号固化

一、前言 在工业领域,一台设备会有很多个摄像头,可以使用命令:ll /dev/video* 进行查看; 在代码中,如果需要使用摄像头,那么都是需要具体到哪个摄像头编号的,例如 open("/dev/video4"…

Redis 五大数据类型底层原理

0、前言 本文涉及的主题: redis 对象存储 底层数据结构:int、embstr、raw、ziplist、listpack、quicklist、skiplist、intset、hashtable redis 数据类型:string、list、set、zset、hash 1、对象存储、底层编码、数据类型 1.1 对象存储…

SpringBoot实现多数据源切换快速入门

1. 概述 随着项目规模的扩大和业务需求的复杂化,单一数据源已经不能满足实际开发中的需求。在许多情况下,我们需要同时操作多个数据库,或者需要将不同类型的数据存储在不同的数据库中。这时,多数据源场景成为必不可少的解决方案。…

C#的多线程UI窗体控件显示方案 - 开源研究系列文章

上次编写了《LUAgent服务器端工具》这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程里控件信息的方法,于是就有了此博文。此文记…

录屏怎么打开?这3招请收好

在数字化飞速发展的今天,录屏功能已经不仅仅是一个简单的工具,而是成为了我们工作、学习和娱乐中的得力助手。但是,不同设备或系统打开录屏功能的方式可能有所不同,打开录屏功能的方式也在不断更新和演变,今天我们就来…

【前端项目笔记】8 订单管理

订单管理 效果展示: 在开发功能之前先创建分支order cls 清屏 git branch 查看所有分支(*代表当前分支) git checkout -b order 新建分支order git push -u origin order 将本地的当前分支提交到云端仓库origin中命名为order 通过路由方式…

“工控机”是什么?和普通电脑有区别嘛!

在现代工业生产中,有一种特殊的计算机,它不像普通电脑那样被放置于明亮的办公室内,而是常常藏身于机器轰鸣、环境恶劣的工厂车间里,这就是工控机——工业控制计算机的简称。作为工业自动化领域不可或缺的核心设备,工控机不仅承载着监控与数据采集(SCADA)、过程控制、数据…

LLM大模型安全概述

引言 2022年底以来,以ChatGPT为代表的大模型飞速发展,正在成为#驱动新质生产力发展#​的新动能、人类探索未知的新工具. 在显著提升人工智能(artificial intelligence, AI)模型通用理解和生成能力的同时,也带来了前所未有的安全风险. 大模型…

plugin:vite:import-analysis]No known conditions for“./lib/locale/lang/zh-cn“

将原有引入: import zhCn from element-plus/lib/locale/lang/zh-cn 改成: import zhCn from element-plus/es/locale/lang/zh-cn; 原因版本升级,引入路径改变(原先的包在node_modules\element-plus\lib找不到) 新…

数据预处理:统计关联性分析/数据清洗/数据增强/特征工程实例

专栏介绍 1.专栏面向零基础或基础较差的机器学习入门的读者朋友,旨在利用实际代码案例和通俗化文字说明,使读者朋友快速上手机器学习及其相关知识体系。 2.专栏内容上包括数据采集、数据读写、数据预处理、分类\回归\聚类算法、可视化等技术。 3.需要强调的是,专栏仅介绍主…

科技赋能智慧应急:“数字孪生+无人机”在防汛救灾中的应用

近期,全国多地暴雨持续,“麻辣王子工厂停工”“水上派出所成水上的派出所了”等相关词条冲上热搜,让人们看到了全国各地城市内涝、洪涝带来的严重灾情。暴雨带来的影响可见一斑,潜在的洪水、泥石流、山体滑坡等地质灾害更应提高警…

UartAssist 串口助手,存储文件 打开是乱码

问题描述 使用UartAssist 对采集的串口数据进行存储,存储为日志格式的文件,但打开的文件有些可正常显示,大部分打开是乱码; (串口输出无中文) 若打开的文本为 UTF-16,则为乱码,若是ANSI格式,则可…

【MySQL】库的操作【创建和操纵】

文章目录 1.创建数据库1.1字符集和校验规则1.查看系统默认字符集以及校验规则2.查看数据库支持的字符集以及校验规则 1.2校验规则对数据库的影响1.创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]2.创建一个数据库,校验规则使用utf8_ bin[区…

HTML内容爬取:使用Objective-C进行网页数据提取

网页爬取简介 网页爬取,通常被称为网络爬虫或爬虫,是一种自动浏览网页并提取所需数据的技术。这些数据可以是文本、图片、链接或任何网页上的元素。爬虫通常遵循一定的规则,访问网页,解析页面内容,并存储所需信息。 …

继电器测试的价格和性价比如何?

继电器是广泛应用于各种电气控制系统中的开关元件,其主要功能是在输入信号的控制下,实现电路的断开和闭合。继电器的性能和质量直接影响到整个电气系统的稳定性和可靠性,因此对继电器进行严格的测试是非常必要的。那么,继电器测试…

软考-系统架构设计师[九年]上岸感想

2016年就开始参系统架构设计师的考试了,经历七次考试终于成功上岸,分享下自己这么多次考试失败的经验,希望大家可以少踩坑,一次通过考试 重点 如果你不想继续读下去,看完这段就行。 1.一定要知道最新的考试范围&…

VTK- 面绘制体绘制

在VTK中,面绘制(Surface Rendering)和体绘制(Volume Rendering)是两种常见的三维数据可视化方法。面绘制和体绘制是计算机图形学中用于三维数据可视化的重要技术,尤其在医学成像、科学可视化和计算机辅助设…

03.C1W2.Sentiment Analysis with Naïve Bayes

目录 Probability and Bayes’ RuleIntroductionProbabilitiesProbability of the intersection Bayes’ RuleConditional ProbabilitiesBayes’ RuleQuiz: Bayes’ Rule Applied Nave Bayes IntroductionNave Bayes for Sentiment Analysis P ( w i ∣ c l a s s ) P(w_i|clas…

OWASP ZAP安全扫描工具,扫描网站

OWASP ZAP (Zed Attack Proxy) 是一个功能强大的开源 web 应用程序安全扫描工具,用于发现和利用 web 应用程序中的漏洞。以下是如何安装和使用 OWASP ZAP 的步骤。 安装 OWASP ZAP 使用 Snap 安装: 在 Ubuntu 22.04 上可以通过 Snap 安装 OWASP ZAP&…