跳转至

第2章 实验平台配置

"工欲善其事,必先利其器"——针对无人系统开发流程从底层飞控到上层 AI 的复杂性,本章将全面介绍 RflySim 工具链的核心组件架构与跨平台使用方法;指导用户完成从工具链环境一键安装、验证测试直至基本案例运行的完整流程,确立后续进阶使用的必要软件生态基础。


2.1 背景与理论

RflySim 工具链作为一款专业、全矩阵开放的无人系统开发仿真平台,具备跨生态、基于模型设计(MBD)、闭环 Sim2Real 的三大本质特征;无论是仅需 PC 即可验证控制理论与上层路径规划逻辑的软件在环(SITL)模式,还是能够验证嵌入式实时响应并高度保证真机代码无缝迁移的硬件在环(HITL)模式,RflySim 皆提供了完全自洽的自动化构建工具。为了支撑这种高保真度和代码自动生成功效,其体系内交叉依赖了 Windows(作为主机与三维仿真引擎寄宿平台)、Ubuntu(作为算法开发主要承载系统及 ROS 通信层)、WSL 及 Docker(用于敏捷跨平台系统桥接)。在控制与协议层,核心基于主流的 PX4 自驾仪生态与 MAVLink 通信链接,极大地降低了前沿科研在多语言(C++ / Python)、多中间件(ROS1 / ROS2)之间切换的门槛。

alt text


2.2 框架与接口

搭建一整套稳定的智能无人系统测试开发线往往需要极高的硬件配置与时间投入。RflySim 在架构上提供了“一键环境部署”能力及丰富的接口体系。

2.2.1 核心组件预览

工具链整体涵盖了三大系统:在后端运行物理引擎解算载具动态响应的 CopterSim、负责高还原度光影与传感器信息透出的 RflySim3D(基于 UE),以及全局监控遥感数据的地面站平台 QGroundControl。此外更有专用于快速开启仿真实验及预设置参数的轻量级工具 SimCreateVisCreate 作为辅助框架支撑。

alt text

2.2.2 安装与验证流程

为了保证上述多模块平稳运行,推荐使用大于 16GB 内存及具备 RTX 2060 以上独显的计算机。获取完整的 .iso 挂载系统镜像后,开发环境支持静默式极速部署。

  1. 基础设施配置:优先运行 UbuntuWSL/EnableWSL.bat 开启 Windows 下 Linux 子系统权限体系。
  2. 核心包安装:根据是否进行底层飞控开发决定是否需要依赖 MATLAB(运行 OnekeyScript.p)或直接执行 OnekeyScript.exe 进行独立绿色模式安装。
  3. 闭环环境验证:等待双端编译工具集、Cygwin 及 Python 配置就位后(自动生成桌面 RflyTools),执行 SITLRun 指令集调用无人机一键拉起测试,若界面正常进入 3DFixed 起飞环节则认定安装大功告成。

alt text

2.2.3 典型开发流程与教具

在接口层面,RflySim 的典型开发范式衍生出两条线路。底层开发者通过 Simulink 工具箱(PX4PSP) 实现 自建模型->自动代码->PX4固件编译->在环演练 的传统控制闭环。而上层 AI 研究者通过调用 Python RflySimSDK 及 ROS 接口簇,即可高频调用外部 Offboard 模式开展机器视觉与智能多机对抗,此链路可直接适配推荐的配套教具(例如 Pixhawk 系列飞控及 Jetson Orin NX 机载计算机)。

alt text

alt text


2.3 精彩案例展示


2.4 课程配套视频

本章节公开课回放

2.5 本章实验案例

本章相关验证实验与引导案例存放在 [安装目录]\RflySimAPIs\2.RflySimUsage 文件夹中。

2.5.1 接口学习实验

存放在 2.RflySimUsage\0.ApiExps 文件夹中,涵盖平台基础接口导学及各工具通识入门。

实验 1:RflySim平台组件介绍

📝 实验简介: 介绍RflySim仿真平台各组件软件的功能和使用方法,包括3DDisplay、CopterSim、驱动、PSP工具箱、固件、Python API、QGroundControl等模块的基本功能说明

实验 2:固定翼无人机航迹飞行仿真实验

📝 实验简介: 通过QGC地面站规划固定翼无人机航迹,实现起飞后按预定航线飞行。掌握固定翼无人机Pixhawk机架配置、RflySim仿真平台协同工作及QGC任务规划操作。

实验 3:ReqCopterSim接口库使用

📝 实验简介: 学习使用Python的ReqCopterSim.py接口库设置CopterSim仿真初始化参数,包括联机模式、位置姿态、仿真模式、DLL模型和三维场景等

实验 4:VM_Ware虚拟机安装与基本使用

📝 实验简介: 讲解VM_Ware虚拟机软件的安装方法、虚拟机镜像加载、网络配置及RflySimSDK环境配置等基本使用方法,能够正确进行虚拟机的安装与基本使用

实验 5:Ubuntu系统安装与配置

📝 实验简介: 本实验介绍Ubuntu系统的安装与配置方法,包括虚拟机安装、双系统部署、软件源更换和开发环境搭建,帮助用户掌握Ubuntu系统的基本使用

实验 6:PX4环境部署与固件编译

📝 实验简介: 讲解PX4开发环境部署、官方源码克隆、固件编译及上传飞控的方法,学习判断环境安装是否正确

实验 7:Apm飞控环境部署与固件编译

📝 实验简介: 讲解如何部署Apm飞控环境,配置编译器依赖,克隆源码并使用WAF工具完成固件下载编译,学习APM核心架构和飞行模式切换原理

实验 8:ROS 1环境部署安装测试

📝 实验简介: 主要讲解ROS 1环境的安装与配置方法,包括在Ubuntu系统下安装ROS 1、配置环境变量,并通过roscore命令和经典海龟控制demo测试环境是否安装正确。

实验 9:ROS 2环境部署及安装测试

📝 实验简介: 讲解ROS 2环境的安装与配置方法,学习如何判断ROS 2环境是否安装正确,掌握ROS 2环境测试的基本操作。

实验 10:MAVROS无人机控制

📝 实验简介: 学习MAVROS环境安装配置、ROS/ROS 2与PX4飞控通信机制,实现无人机离板控制模式设置与自主飞行

实验 11:Docker安装与GPU支持配置

📝 实验简介: 在Windows(WSL 2 + Docker Desktop)和Ubuntu环境快速完成Docker安装、GPU容器支持配置、国内镜像加速以及buildx多架构构建环境的实验教程。

实验 12:PX4与ROS2通信配置

📝 实验简介: 掌握PX4与ROS2的基本通信配置方法,学会使用MicroXRCEAgent实现UDP通信,熟悉ROS2话题的发布与订阅操作。

实验 13:Gazebo与PX4联合仿真

📝 实验简介: 掌握在RflySim平台上使用Gazebo直接连通PX4进行仿真的通用流程,了解不同PX4固件版本对应的Gazebo环境配置与运行机制

实验 14:MAVROS安装部署

📝 实验简介: 本实验旨在通过在Ubuntu虚拟机环境中安装部署MAVROS 1和MAVROS 2软件包,掌握在ROS 1(Noetic)和ROS 2(Foxy)环境中安装MAVROS的完整流程,了解MAVROS作为MAVLink消息通信中间件的作用和原理,并配置多无人机系统连接支持。

实验 15:跨平台分布式传感器数据采集与ROS发布

📝 实验简介: 构建分布式机器仿真传感器数据处理系统,通过Python接口请求RflySim 3D发送多模态传感器数据(RGB、深度、激光雷达),使用C++实现跨ROS1和ROS2的高性能接收处理与实时可视化

实验 16:MAVROS离板控制实验

📝 实验简介: 通过MAVROS接口实现PX4无人机离板控制,学习ROS节点与PX4飞控通信,掌握离板模式设置、无人机自主起飞流程及MAVROS在自动化控制中的作用。

实验 17:Python跨ROS版本传感器数据订阅

📝 实验简介: 构建基于Python的传感器数据订阅处理系统,实现从RflySim 3D获取多种传感器数据并发布到ROS话题,支持ROS 1和ROS 2统一接口,处理RGB图像、深度图像、激光雷达点云等多模态数据,实现实时可视化与数据格式转换。

实验 18:MAVROS2离板控制

📝 实验简介: 通过MAVROS 2框架实现无人机离板(offboard)控制,验证ROS 2与PX4飞控的通信机制,学习MAVROS 2基本用法及无人机姿态控制和飞行操作。

实验 19:3DDisplay无人机3D显示

📝 实验简介: 3DDisplay是低性能版RflySim 3D显示工具,以3D图形方式展示多旋翼飞行状态,包含小地图和轨迹显示功能,用于降低电脑性能需求下的无人机仿真可视化

实验 20:CopterSim硬件在环仿真软件使用

📝 实验简介: CopterSim是RflySim平台核心的硬件在环仿真软件,支持Pixhawk/PX4自驾仪通过串口或网络连接进行仿真,可配置多旋翼模型参数并实现数据通信。

实验 21:PX4软件系统架构

📝 实验简介: 介绍PX4飞控系统的软件架构、中间件、飞行控制栈、模块间通信机制及RflySim平台固件部署方法

实验 22:FlightGear 2016.1.2飞行模拟器手册

📝 实验简介: FlightGear开源飞行模拟器2016.1.2版本官方手册,涵盖软件安装、系统配置、飞行操作及高级功能使用说明

实验 23:Python38虚拟环境配置与使用

📝 实验简介: 介绍RflySim平台集成的Python 3.8虚拟环境(Python38Env),包含pymavlink、OpenCV、numpy等无人系统算法开发常用库的配置与基础使用方法。

实验 24:QGroundControl地面站使用教程

📝 实验简介: 介绍QGroundControl无人机地面站的界面布局、图标功能、软硬件环境配置,以及起飞降落、航线规划等核心操作方法。

实验 25:RflySim3D可视化软件

📝 实验简介: 基于UE4.27开发的三维可视化软件,用于实时显示无人机状态,支持UDP通信和多种快捷操作

实验 26:RflySimUE5可视化仿真软件使用说明

📝 实验简介: 基于UE5.3的无人机可视化仿真软件,介绍其硬件配置要求、安装步骤及操作界面快捷键使用方法

实验 27:WinWSL开发环境配置

📝 实验简介: 介绍在Windows上配置WSL2 Linux开发环境,包含ROS、Gazebo仿真、无人机MAVLink支持及AI工具链

实验 28:RflySim无人机驱动安装

📝 实验简介: 介绍RflySim平台自动安装的无人机驱动文件,包括Arduino、ChibiOS、Cube、Holybro、MindPX、NXP、PX4等飞控硬件的驱动程序安装与配置方法。

实验 29:Pixhawk硬件配置与Simulink开发环境搭建

📝 实验简介: 学习配置Pixhawk飞控硬件环境,掌握Windows/Linux系统下的MATLAB/Simulink开发工具链,完成固件编译和应用程序部署

实验 30:VisCreate视觉传感器参数配置工具

📝 实验简介: 学习使用VisCreate工具配置无人机视觉传感器载荷,掌握RGB相机、深度相机、激光雷达等多种传感器的参数设置与RflySim 3D实时联动功能

2.5.2 基础使用实验

存放在 2.RflySimUsage\1.BasicExps 文件夹中,面向初学者提供全套配套补充教材库。

实验 1:CopterSim模型设计与硬件在环仿真

📝 实验简介: 熟悉CopterSim主界面模型配置区使用方法,通过配置整机质量1.5KG、轴距450mm、海拔0m的条件,计算三旋翼至八旋翼等不同构型的悬停时间和油门百分比,并掌握六旋翼硬件在环仿真配置流程。

实验 2:DLL模型导入CopterSim仿真

📝 实验简介: 学习将自定义载具运动学DLL模型导入CopterSim进行软件/硬件在环仿真,掌握手动和自动两种DLL加载方式,包含多旋翼和固定翼模型的导入配置实验。

实验 3:RflySim 3D快捷指令

📝 实验简介: 学习RflySim 3D软件的快捷键操作和外部指令切换功能,掌握通过键盘快捷键和CopterSim软件控制三维场景视角、物体移动及场景切换的方法,提高仿真实验操作效率。

实验 4:Python38Env读取飞控日志

📝 实验简介: 使用Python 3.8环境读取飞控.ulg日志文件,学习ulog2csv工具将日志转换为CSV格式进行数据分析

实验 5:手动软件在环仿真

📝 实验简介: 熟悉软件在环仿真流程,学习使用CopterSim配置PX4_SITL模式、通过WSL编译PX4固件,并使用QGroundControl地面站控制无人机起飞的基本操作。

实验 6:BAT脚本一键启动仿真软件

📝 实验简介: 通过BAT批处理脚本实现一键启动QGroundControl、RflySim 3D、CopterSim三款仿真软件,并学习配置SITLRun.bat参数进行仿真环境配置

实验 7:MATLAB代码生成飞控固件

📝 实验简介: 基于RflySim平台,使用MATLAB/Simulink自动代码生成技术,将搭建的控制模型一键生成PX4飞控固件并下载到飞控中运行的实验。

实验 8:Simulink集群控制接口实验

📝 实验简介: 通过Simulink S-函数模块进行集群控制接口实验,实现四旋翼无人机启动并进入盘旋模式,掌握通信结构体和无人机控制模型的搭建方法。

实验 9:PX4固件编译

📝 实验简介: 基于WinWSL子系统完成PX4固件的编译,学习使用make命令针对不同飞控硬件平台生成对应的固件文件

实验 10:固件烧录

📝 实验简介: 介绍RflySim平台针对生成的飞控固件,讲解Simulink和QGC两种固件烧录方式,学习不同飞控型号的固件编译命令与环境配置。

实验 11:PX4板载应用开发

📝 实验简介: 学习在PX4源码中创建APP应用程序,包括模版例程编写、CMake配置、SITL软件在环仿真调试、以及设置开机自启动的完整开发流程。

实验 12:Log数据获取

📝 实验简介: 学习使用CopterSim在仿真过程中记录载具运动数据,包括位置、速度、电机转速等,并生成CSV文件用于后续数据分析

实验 13:RflySim 3D场景加载

📝 实验简介: 学习RflySim 3D场景切换与控制方式,掌握使用Unreal Engine 4进行三维场景开发并导入RflySim 3D平台的流程

实验 14:飞控硬件编译命令识别

📝 实验简介: 通过QGroundControl连接飞控硬件,识别不同Pixhawk系列飞控的编译命令,学习QGroundControl固件识别功能及PX4固件版本兼容性,适合底层飞控算法开发用户。

实验 15:航线规划与HITL仿真

📝 实验简介: 学习使用QGroundControl航线规划功能,通过设置航点高度、悬停时间、航向角等参数,实现Pixhawk飞控在硬件在环仿真下的自主飞行

实验 16:USB遥控器软件在环仿真

📝 实验简介: 学习通过USB连接天地飞ET10遥控器,在QGC中配置游戏手柄模式和CH5-CH8通道覆盖,实现无人机软件在环仿真飞行控制

实验 17:PX4版本与编译命令切换

📝 实验简介: 学习在RflySim工具链中切换PX4固件版本和编译命令,掌握不同版本固件对飞控编译环境的配置方法。

实验 18:VisCreate传感器配置工具使用

📝 实验简介: 学习使用VisCreate图形化工具配置RGB相机、深度相机、激光雷达等传感器,掌握视场角、分辨率、刷新率等参数配置,实现与RflySim 3D仿真环境的集成和数据传输协议配置

实验 19:CopterSim JSON外部通信配置

📝 实验简介: 通过Config.json配置CopterSim与PX4/QGC/UE的多主机UDP/TCP网络通信,掌握多端通信拓扑和IP绑定策略

2.5.3 进阶开发实验

存放在 2.RflySimUsage\2.AdvExps 文件夹中,进一步熟悉部分底层固件生态配置。

实验 1:QGC共享内存图像显示实验

📝 实验简介: 实现QGC通过共享内存显示RflySim 3D模拟传感器的图像数据,并可配置相机参数(像素、绑定飞机ID、类型、视场角、位置角度等),掌握共享内存和UDP协议的数据传输方法

实验 2:RflySimSDK接口使用

📝 实验简介: 学习RflySim工具链的Python和Simulink标准接口调用方法,熟悉SDK文档检索和二次开发

实验 3:QGC地面站二次开发环境部署

📝 实验简介: 学习配置QGroundControl开发环境(Visual Studio+Qt),掌握源码克隆、编译及定制化修改(名称和Logo),实现QGC地面站的二次开发部署流程

实验 4:MissionPlanner地面站二次开发环境部署

📝 实验简介: 本实验主要介绍Mission Planner地面站的二次开发环境搭建,包括源码克隆、Visual Studio 2022安装、源码编译和定制化LOGO修改等步骤,帮助用户快速建立Mission Planner二次开发环境。

2.5.4 高阶开发实验

暂无实验案例