SDGToolSet
3D 导航路径规划与采集工具集(Unreal Engine 5.8)。 提供基于体素网格的 3D 导航路径生成、多项式样条重建、自动路径跟随与 Orbit 轨迹能力,适用于合成数据采集、无人机路径规划与场景巡航。可与 IADataSDG 配合,沿生成的飞行路径采集数据。
当前版本:1.0 | 引擎:UE 5.8 | 依赖:
CableComponent(引擎自带)、IADataSDG(可选)
功能清单
| 模块 | 功能 | 说明 |
|---|---|---|
| 体素网格 | 3D 占据栅格构建 | 基于碰撞检测的并行体素化,支持自定义碰撞通道 |
| 体素网格 | 阻挡体积 | SDGNavBlockVolume 标记禁行区域 |
| 体素网格 | 分层体素构建 | SDGVoxelGridAPI 分块 + 内存预算控制 |
| 寻路 | A* 图搜索 | 6 / 18 / 26 邻接,路径简化 |
| 寻路 | 随机路径采样 | 蓝噪声分布,可控平均距离与方差 |
| 寻路 | 多路径批量生成 | 指定条数或总距离,自动分配 |
| 样条 | 多项式拟合 | 2~6 阶,正则化可调,离散 A* → 平滑样条 |
| 样条 | USplineComponent 输出 | 直接驱动 UE 样条组件 |
| 运动 | 沿样条自动移动 | SDGPathMovementRunner 距离推进,支持循环 |
| 运动 | 多路径串联 | SDGPathManagerComponent 自动切换样条 |
| 运动 | Orbit 轨迹 | 球面环绕,可绑定注视目标,碰撞规避 |
| 运动 | LOS 视线约束 | 路径点到目标的视线遮挡检测 |
| 配置 | JSON 全局配置 | sdg_nav_config.json 控制所有导航默认参数 |
| 工具 | 占据检测组件 | SDGDetectionComponent 物体检测 |
| 工具 | 表面采样组件 | SDGSurfaceSamplerComponent 表面点采样 |
| 工具 | 蓝图函数库 | SDGBlueprintLib 通用工具函数 |
| VLN(实验性) | 视觉语言导航数据生成 | 连通性图 / R2R / VLN-CE,逐帧图像-动作-语言对齐(消费 IADataSDG 采集) |
| 测试 | 性能 / 单元测试 Actor | SDGNavPerfTestActor / SDGNavGraphUTActor |
系统架构
SDG Nav Path Volume (场景 Actor, 体素/路径参数)
↓ BeginPlay 时被 PathManager 扫描
SDGPathManagerComponent (Actor 组件, 运动控制)
↓ RebuildPaths()
├→ 体素化 (USDGNav3DGrid)
├→ 图构建 + A* (sdg::nav::NavGraph)
├→ 多项式拟合 (USDGNavPathGenerator)
├→ USplineComponent 样条输出
↓ Tick: MoveInsideNavVolume()
SDGPathMovementRunner (沿样条距离推进)
↓
Actor::SetActorLocationAndRotation()
VLN(视觉语言导航)数据生成
:::caution 实验性功能 VLN 数据生成目前为实验性能力,接口与输出格式仍在迭代。如需用于正式训练或有特定数据格式需求,建议联系作者定制输出。 :::
SDGToolSet 在导航能力之上提供 VLN(Vision-and-Language Navigation)数据生成:把生成的导航轨迹与 IADataSDG 的逐帧采集结合,产出可训练的「图像-动作-语言」导航数据。它消费 IADataSDG 已有的视觉/语义底座(逐帧 RGB / Depth、语义与实例分割、3D 检测、逐帧外参内参),而非重新实现。
| 能力 | 说明 |
|---|---|
| 连通性图 / 场景拓扑 | 由体素网格 → NavGraph 导出(Matterport3D 风格连通性) |
| Episode 与轨迹 | 生成导航 episode,逐动作步与实拍帧严格对齐(帧号 / 位姿双向可校验) |
| 视觉接地指令 | 指令引用轨迹上真实可见物体(来自分割反查),而非纯几何 |
| 语义目标(object-goal) | REVERIE 式,goal 锚定到末端真实可见物体 |
| 导出格式 | 连通性 / R2R / VLN-CE JSON、RLDS(含图像观测);LeRobot v3.0 规划中 |
VLN 流程通过控制台命令驱动(生成轨迹 + 采集)配合 Python 后处理脚本(提取可见物体、生成接地指令、导出 RLDS)完成。
:::note 定位说明 当前定位为 VLN(导航)数据生成器;操作类(manipulation)动作不在范围内。具体 schema、字段与脚本用法会随版本演进——有需求请联系作者。 :::
文档导航
- 3D 导航:傻瓜式上手:新手从这里开始 — 放体积、指定 Actor 或 Pawn 跟随,逐步点到能跑(反映当前行为)
- 快速开始:5 步配置场景
- 配置与标签:JSON 全局配置、标签约定、控制台命令、常见问题
:::tip 授权 SDGToolSet 为商业授权插件,需先完成激活。详见安装与激活。 :::