跳到主要内容

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 采集)
测试性能 / 单元测试 ActorSDGNavPerfTestActor / 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、字段与脚本用法会随版本演进——有需求请联系作者。 :::

文档导航​

:::tip 授权 SDGToolSet 为商业授权插件,需先完成激活。详见安装与激活。 :::