SimKit 提供完整的数据生成能力,支持多种传感器数据类型和标注格式。
5. 支持的数据类型¶
5.1. RGB/深度/语义分割图像¶
多相机视角渲染
高分辨率输出
实时渲染支持
RGB 渲染输出
边界框标注
5.2. 3D 边界框标注¶
自动生成 2D/3D 边界框
实例分割掩码
深度图对齐
5.3. 点云数据¶
高精度深度图转点云
支持多帧融合
法线估计
5.4. 批量场景变体生成¶
物体位置随机化
纹理和材质随机化
光照条件变化
6. 使用示例¶
from simkit import HssdSceneEnv, ManiSkillRenderPacketBuilder
# 创建环境
env = HssdSceneEnv(
scene="102343992",
dataset_root="/path/to/hssd",
obs_mode="state_dict",
render_mode="rgb_array",
robot_uid="r1pro"
)
# 重置环境
obs, info = env.reset(seed=0)
# 获取渲染数据包
packet = env.get_render_packet()
# 获取 RGB 图像
rgb = env.render()
# 使用数据包构建器
builder = ManiSkillRenderPacketBuilder()
built_packet = builder.build(packet)
# 访问数据
print(f"RGB shape: {rgb.shape}")
print(f"2D BBoxes: {built_packet.bboxes_2d}")
print(f"3D BBoxes: {built_packet.bboxes_3d}")
7. 输出格式¶
7.1. RGB 图像¶
格式:
numpy.ndarray形状:
(H, W, 3)数据类型:
uint8值范围:
0-255
7.2. 深度图¶
格式:
numpy.ndarray形状:
(H, W)数据类型:
float32单位:米
7.3. 语义分割¶
格式:
numpy.ndarray形状:
(H, W)数据类型:
uint32值:实例 ID
7.4. 2D 边界框¶
格式:
list[dict]字段:
x_min,y_min,x_max,y_max,label,instance_id
7.5. 3D 边界框¶
格式:
list[dict]字段:
position,size,rotation,label,instance_id
8. 批量生成¶
from simkit.data import BatchDataGenerator
# 创建批量生成器
generator = BatchDataGenerator(
scene_templates=["scene_001.yaml", "scene_002.yaml"],
num_variants=100,
output_dir="datasets/generated"
)
# 配置域随机化
generator.set_domain_randomization(
object_positions=True,
textures=True,
lighting=True
)
# 生成数据
generator.generate()
9. 数据导出¶
9.1. COCO 格式¶
from simkit.data.export import export_to_coco
export_to_coco(
dataset_path="datasets/generated",
output_path="datasets/coco_format",
include_masks=True,
include_keypoints=False
)
9.2. YOLO 格式¶
from simkit.data.export import export_to_yolo
export_to_yolo(
dataset_path="datasets/generated",
output_path="datasets/yolo_format",
classes=["object_1", "object_2", "object_3"]
)
10. 性能指标¶
配置 |
单 GPU |
多 GPU (8) |
|---|---|---|
RGB (512x512) |
60 FPS |
480 FPS |
深度图 |
60 FPS |
480 FPS |
语义分割 |
45 FPS |
360 FPS |
3D 边界框 |
60 FPS |
480 FPS |
11. 🔍 验证项¶
11.1. 0. HSSD 机器人放置位置生成¶
目标: 在 HSSD 场景中自动找到合适的 R1 Pro 机器人放置位置
验证内容:
[ ] 场景文件解析 (HSSD JSON 格式)
[ ] 桌子/工作台检测
[ ] 机器人基座位置计算
[ ] 8 个候选位置生成 (围绕桌子)
[ ] 碰撞检测
[ ] 可达性验证
[ ] 工作空间覆盖验证
[ ] 稳定性评分计算
[ ] 批量场景处理
实现文件:
simkit/simulators/maniskill/hssd_robot_placer.pytest/simulators/maniskill/test_hssd_robot_placer.py
使用示例:
from simkit import HSSDRobotPlacer
# 创建放置器
placer = HSSDRobotPlacer(robot_uid="r1pro")
# 在场景中放置机器人
report = placer.place_robot_in_scene("102343992")
# 访问报告
print(f"位置:{report.placement.position}")
print(f"距离桌子:{report.placement.distance_to_table}m")
print(f"工作空间覆盖:{report.workspace_coverage}")
print(f"稳定性评分:{report.stability_score}")
预期输出:
8 个候选位置 (围绕桌子 0.8m)
碰撞检测报告
可达性验证结果
稳定性评分 (0-1)
状态: [完成]
11.2. 1. R1 Pro 相机图像生成¶
目标: 直接从 R1 Pro 机器人的相机中生成图像数据
验证内容:
[ ] R1 Pro 相机内参正确配置
[ ] 多相机视角同步渲染
[ ] 图像分辨率可配置 (224x224, 512x512, 1024x1024)
[ ] RGB/深度/语义分割图像对齐
[ ] 相机位姿与机器人关节状态同步
实现文件:
simkit/simulators/maniskill/r1pro_camera_renderer.pytest/simulators/maniskill/test_r1pro_camera.py
使用示例:
from simkit import R1ProCameraRenderer
# 创建 R1 Pro 相机渲染器
renderer = R1ProCameraRenderer(
robot_uid="r1pro",
scene="102343992",
cameras=["head_camera", "left_wrist", "right_wrist"]
)
# 渲染所有相机图像
images = renderer.render_all_cameras()
# 访问图像
head_rgb = images["head_camera"]["rgb"]
head_depth = images["head_camera"]["depth"]
left_wrist_rgb = images["left_wrist"]["rgb"]
状态: [计划]
11.3. 2. ReplicaCAD 房间场景测试¶
目标: 验证 ManiSkill 自带的 ReplicaCAD 房间场景支持
验证内容:
[ ] 统计支持的 ReplicaCAD 房间数量
[ ] 每个房间的场景加载测试
[ ] 房间布局验证 (家具、物体位置)
[ ] 房间尺寸统计 (面积、高度)
[ ] 生成房间场景清单文档
实现文件:
simkit/simulators/maniskill/replicacad_catalog.pytest/simulators/maniskill/test_replicacad_rooms.pydocs/maniskill/replicacad_rooms_catalog.md
使用示例:
from simkit import ReplicaCADManager
# 创建 ReplicaCAD 管理器
manager = ReplicaCADManager()
# 获取所有支持的房间
rooms = manager.get_all_rooms()
print(f"支持的房间数量:{len(rooms)}")
# 获取房间详情
room_info = manager.get_room_info("102343992")
print(f"房间面积:{room_info.area} m²")
print(f"家具数量:{len(room_info.furniture)}")
# 生成房间清单
manager.generate_catalog("docs/maniskill/replicacad_rooms_catalog.md")
预期输出:
房间总数统计
房间类型分布 (卧室、客厅、厨房、浴室等)
房间面积分布
家具配置统计
状态: [计划]
12. 相关文档¶
文档生成时间: 2026-04-21
SimKit 版本: 0.1.0