跳转至

VisCreate


VisCreate 是 RflySim 工具链中的视觉传感器配置前端,用来为 RflySim3D / RflySimUE5 生成和管理 Config.json。它本身不负责动力学仿真,也不负责三维渲染,而是把“传感器方案设计”从手写 JSON 变成可视化、可预览、可复用的流程。

VisCreate界面与视觉传感器功能预览


软件定位

如果把 RflySim3D 看成虚拟世界和虚拟传感器所在的平台,那么 VisCreate 的角色就是这个平台的“传感器布设工具”。

它主要解决三类问题:

  • 传感器装在哪里
  • 传感器看向哪里
  • 传感器以什么格式、什么频率把数据发给上层程序

因此,VisCreate 的核心价值不是单独运行,而是服务于 RflySim3D 的视觉链路。


在工具链中的角色

典型协同关系如下:

VisCreate
    -> 生成 Config.json
    -> RflySim3D / RflySimUE5 加载传感器方案
    -> VisionCaptureApi / ROS / 外部程序获取数据
    -> 上层算法进行感知、定位、避障、控制

在实际项目里,VisCreate 让视觉实验从“改参数文件”变成“配置-预览-导出-运行”的闭环。


典型工作流程

1. 选择载具和场景

在界面中选择当前实验要挂载传感器的载具和对应场景。这里的选择不是装饰性的,它决定了后续预览时的传感器姿态参考和场景可见内容。

2. 添加传感器

按照任务需求添加一个或多个传感器,例如:

  • 前视 RGB
  • 下视深度
  • LiDAR
  • 分割相机
  • 红外传感器

3. 调整安装参数

重点通常集中在:

  • 分辨率
  • 频率
  • 视场角
  • 安装位置
  • 安装角度
  • 传输方式

4. 预览效果

预览阶段的意义是确认“算法最终实际会拿到什么”。这一步往往比单纯看配置表更重要,尤其在多传感器方案、吊舱视角、下视相机和 SLAM 相机布局中。

5. 导出配置

最终生成 Config.json,交给 RflySim3DVisionCaptureApi 使用。


支持的传感器类型

VisCreate 面向的不是某一种单独相机,而是一整类虚拟传感器方案。常见类型包括:

类型 典型用途
RGB 目标检测、视觉跟踪、导航识别
深度图 距离估计、避障、三维重建
灰度图 光流、轻量视觉任务
分割图 语义感知、标注数据生成
LiDAR 点云 SLAM、建图、环境建模
红外图像 夜间或特殊场景感知
吊舱/特殊视角相机 任务载荷、巡检与侦察

对 RflySim 来说,VisCreate 的价值并不只是“支持很多传感器”,而是让这些传感器能以统一方式被编排到一套实验里。


Config.json 的关键配置项

VisCreate 最终的输出是 Config.json。真正需要掌握的不是 JSON 语法,而是这些字段在仿真链路中的含义。

核心字段

字段 作用
SeqID 传感器实例编号
TypeID 传感器类型编号
TargetCopter 绑定到哪一架载具
TargetMountType 安装模式,决定是否跟随机体或固定在世界坐标系
DataWidth / DataHeight 输出分辨率
DataCheckFreq 输出频率
CameraFOV 视场角
SensorPosXYZ 安装位置
SensorAngEular / SensorAngQuat 安装角度
SendProtocol 传输方式

真正需要关注的三件事

  1. 传感器“挂在哪” 也就是 TargetCopter + TargetMountType
  2. 传感器“怎么朝向” 也就是安装位姿
  3. 传感器“怎么发出来” 也就是共享内存、UDP 或视频流

如果这三件事配置清楚了,大多数视觉实验都能跑通。


与 RflySim3D 的协同关系

它不替代引擎

VisCreate 不是视觉仿真器。真正生成图像、深度和点云的是 RflySim3D / RflySimUE5

它服务于引擎

VisCreate 负责把用户对传感器的需求转换成标准化配置,再由引擎去加载并生成数据。

它降低了视觉实验的门槛

对没有长期维护 Config.json 经验的用户来说,很多问题并不是算法本身,而是:

  • 相机装反了
  • 下视角度不对
  • 频率太高导致链路过载
  • 共享内存和 UDP 配错了

VisCreate 的作用,就是尽量在进入算法前把这类问题前移解决。


Python 与 ROS 使用路径

Python

最常见的链路是:

  1. VisCreate 生成 Config.json
  2. Python 侧通过 VisionCaptureApi 加载配置
  3. 请求并接收图像或点云
  4. 使用 OpenCV、Open3D、PyTorch 等做后续处理

ROS

在 ROS 场景中,常见做法是:

  1. RflySim3D 输出多模态感知数据
  2. Python 或 C++ 桥接程序将其转成 ROS 消息
  3. 发布到 sensor_msgs/Imagesensor_msgs/PointCloud2 等话题
  4. 上层节点完成定位、建图、识别和控制

对 ROS 用户而言,VisCreate 的价值在于快速组织多传感器实验,而不是手工维护一套不断变化的配置文件。


典型应用场景

视觉识别

前视 RGB 相机是最常见的起点,适合目标检测、跟踪和识别类实验。

深度与避障

深度相机和 LiDAR 常用于距离感知、障碍物检测和路径规划。

SLAM 与定位

双目、深度、LiDAR 或 RGB-D 组合,可以用于室内外定位与建图。

多模态感知

RGB、深度、分割、红外联合时,VisCreate 的配置优势会更明显,因为多传感器方案用手写方式更容易出错。


使用建议与常见错误

推荐做法

  • 先用单传感器跑通,再扩展到多传感器
  • 先在本机共享内存模式下验证,再扩展到 UDP 分布式
  • 先确认视角和数据频率合理,再接入算法

常见错误

问题 更可能的原因 处理思路
有配置但看不到数据 Config.json 没被正确加载 先核对生成路径和运行路径
图像方向不对 安装角度设置错误 回到预览界面重新调整
多传感器串乱 SeqID 或目标绑定关系不清 统一整理编号和挂载关系
算法延迟很高 分辨率或频率过高 先降参数再定位瓶颈
跨机拿不到数据 发送协议不匹配 核对共享内存和 UDP 配置

相关例程