RflySimSDK v3.08
RflySimSDK说明文档
载入中...
搜索中...
未找到
一、自动测试平台文件结构与功能说明

graph TB subgraph RflySimSDK phm["phm/"] AutoMAVDB["AutoMAVDB/"] AutoMAVCmd["AutoMAVCmd/"] AutoMAVCtrl["AutoMAVCtrl/"] PX4MavCtrlV4["PX4MavCtrlV4/"] CameraCtrlApi["CameraCtrlApi/"] VisionCaptureApi["VisionCaptureApi/"] end subgraph src autotest["autotest/"] openSHA["openSHA/"] end subgraph src/model subgraph Quadrotor Q_TC["TestCase_1 … TestCase_n/"] end subgraph Fixedwing F_TC["TestCase_1 … TestCase_n/"] end end subgraph data subgraph SITL subgraph single SITL_sI["sInstance/"] SITL_mI["mInstance/"] end subgraph multi SITL_sI2["sInstance/"] SITL_mI2["mInstance/"] end end subgraph HITL subgraph single HITL_sI["sInstance/"] HITL_mI["mInstance/"] end subgraph multi HITL_sI2["sInstance/"] HITL_mI2["mInstance/"] end end end case["case/"] tools["tools/"] docs["docs/"] RflySimSDK --> phm RflySimSDK --> AutoMAVDB RflySimSDK --> AutoMAVCmd RflySimSDK --> AutoMAVCtrl RflySimSDK --> PX4MavCtrlV4 RflySimSDK --> CameraCtrlApi RflySimSDK --> VisionCaptureApi src --> autotest src --> openSHA src --> src/model src/model --> Quadrotor src/model --> Fixedwing data --> SITL data --> HITL data --> data data --> SITL data --> HITL root["根目录"] root --> RflySimSDK root --> src root --> src/model root --> data root --> case root --> tools root --> docs

文件路径 主要内容组件 功能说明
RflySimSDK AutoMAVDB 测试用例库与数据管理库,支持数据库/文件的自动操作
AutoMAVCmd 测试序列解析,将高层测试序列映射为控制指令(如 MAVLink)驱动无人载具
AutoMAVCtrl 无人载具进程管理,含测试环境配置、任务调度、载具参数等
PX4MavCtrlV4 通信管理模块,封装用户指令为 MAVLink 消息,实现通信初始化与联动控制
CameraCtrlApi / VisionCaptureApi 视觉控制与采集模块,配置视觉参数、捕捉图像帧等操作
src/autotest/ AutoTest 自动化测试主入口,配置并一键运行载具测试任务
src/openSHA/ ProfitsSA/Ass 健康与安全评估算法库(示例:率模可靠性),支持自定义评估模型在线验证
src/model/Quadrotor/ db.json, ModelHITL, ModelSITL 四旋翼模型配置与测试用例绑定,支持 HITL 与 SITL 仿真
src/model/Fixedwing/ 同上结构 固定翼机型模型配置,支持同样的多模式测试
data/SITL/data/HITL/ single/sInstance, multi/mInstance自动收集 SITL/HITL 仿真数据,支持单/多机型、单/多实例四种结构
case/ 数据库文件(如 case.db) 储存无人机测试用例数据库,亦可通过 tools 文件夹工具可视化编辑
tools/ Navicat for SQLite可视化数据库配置工具,简化测试用例管理
docs/ Readme, Platform handbook平台说明文档,介绍使用方法、原理结构、模块接口等

好的,以下是补充后的教材内容小节,围绕你提供的图示、控制协议与 JSON 配置文件说明,已以结构化方式整理为:


二、标准化控制序列与测试用例配置说明

为了实现高效、批量化的无人系统自动测试,RflySim 自动化测试平台基于**控制指令序列标准化协议**,采用结构清晰的数字字符串方式表达控制逻辑,并通过 JSON 配置文件 db.json 进行集中管理与解析。

控制序列协议结构

每一条控制指令以逗号分隔、以分号结尾,表示一个标准化动作;其结构如下:

字段序列 说明
X(第一位) 操控类别(时间/控制)
Y(第二位) 类内功能编号
后续参数 函数的输入参数,按顺序排列

控制类别与功能号说明

操控类别 功能编号 功能说明 示例
1 时间类 1 等待时间:Wait(times) 1,1,5 → 等待5s
2 等待复位:WaitReset(pos) 1,2,0
2 控制类 1 解锁:Arm() 2,1
2 上锁:Disarm() 2,2
3 位置控制:FlyPos(x,y,z) 2,3,0,0,-20
4 速度控制:FlyVel(vx,vy,vz) 2,4,1,0,0
5 降落:Land() 2,5
6 故障注入:FaultInject(params) 2,6,ID,...

示例解析

控制序列如下所示:

2,1;1,1,5;2,3,0,0,-20;1,1,15;2,6,123450,123450,0.6,0.8,1,1;1,1,10

解析如下:

步骤 指令 含义描述
2,1 解锁(Arm)
1,1,5 等待 5 秒
2,3,0,0,-20 飞至位置 [0,0,-20]
1,1,15 等待 15 秒
2,6,... 故障注入(如电机故障,附带多个参数)
1,1,10 等待 10 秒

测试用例 JSON 配置文件结构

{
"FAULT_CASE": [
{
"CaseID": 1,
"Subsystem": "Power",
"Component": "Motor",
"FaultID": "123450",
"FaultType": "Motor Fault",
"FaultMode": "Decreased efficiency of motor execution",
"FaultParams": "0",
"ControlSequence": "2,1;1,1,5;2,3,0,0,-15;1,1,10;2,6,123450,123450,1,1,1,1;1,1,10",
"TestStatus": "Finished"
},
...
],
"TEST_CASE": "1,2",
"VISION": "off"
}

各字段含义说明

【1】FAULT_CASE:核心测试用例配置项,含以下字段:

字段 含义
CaseID 测试用例唯一编号(主键)
Subsystem 故障所属子系统(如 Power, Sensor)
Component 故障部件(如 Motor, Magnetometer)
FaultID 故障编号
FaultType 故障类型说明
FaultMode 故障模式描述
FaultParams 故障注入参数
ControlSequence 控制流程字符串(按上述协议格式)
TestStatus 当前测试状态(例:Finished)

【2】TEST_CASE:用于自动测试执行顺序管理

  • **单机模式**: 格式为 "1,2"(用英文逗号分隔)表示依次执行第1、2号用例
    • 测试所有用例:设为 "All"
  • **多机模式**: 格式为 "1,2;1,3",表示
    • 第一轮:第1架飞机执行用例1、第2架执行用例2
    • 第二轮:第1架执行用例1、第2架执行用例3
    • 用英文分号分隔不同轮次,逗号区分各载具

【3】VISION:视觉模块开关(用于图像采集接口)

  • "on":开启摄像头图像发布
  • "off":关闭视觉采集功能

是否需要我进一步为“控制协议格式”绘制结构图、状态流图或生成教材中的 LaTeX 代码格式?