常见问题
Q1: 深度图值范围?
A: uint8 (0-255)
0= 远距离(无接触)255= 近距离(最大压入)
接触检测阈值:4-10
示例:
depth = sensor.get_camera_depth(0)
if depth.max() > 4:
print("检测到接触!")
Q2: 如何禁用调试窗口?
A: 在YAML配置中设置:
# 方法1:禁用所有传感器窗口
debug_vis:
show_sensor_windows: false
# 方法2:禁用特定传感器
tactile_sensors:
left:
sensor:
debug_vis: false
Q3: 如何添加新对象?
A: 在configs/uipc_scene.yaml的objects部分添加:
添加刚体
objects:
my_object:
type: rigid
prim_path: "/World/envs/env_.*/my_object"
init_state:
pos: [0.5, 0, 0.1]
rot: [1, 0, 0, 0]
spawn:
msh_path: "objects/mshes/my_object.msh"
scale: [1, 1, 1]
constitution_cfg:
type: "AffineBody"
m_kappa: 1000000.0
添加可变形体
objects:
soft_ball:
type: deformable
prim_path: "/World/envs/env_.*/soft_ball"
# ...
constitution_cfg:
type: "StableNeoHookean"
youngs_modulus: 0.5
poisson_rate: 0.45
Q4: VitaiScene会自动做什么?
A: VitaiScene初始化时自动执行:
- ✅ 创建所有UIPC对象(从
objects配置) - ✅ 创建所有触觉传感器(从
tactile_sensors配置) - ✅ 调用
uipc_sim.finalize_scene() - ✅ 启用ROS2(如果
enable_ros2=True)
注意:用户无需手动调用finalize_scene()。
Q5: 如何启用ROS2?
A: 创建VitaiScene时设置enable_ros2=True:
vitai_scene = VitaiScene(
configs=configs,
env=self,
robot=self.robot,
scene=self.scene,
enable_ros2=True # 启用ROS2
)
自动发布的话题:
/vitai/left/tactile_rgb/vitai/left/camera_depth/vitai/right/tactile_rgb/vitai/right/camera_depth
Q6: Prim映射错误如何排查?
A: 检查以下三项是否匹配:
| 配置项 | 位置 | 示例 |
|---|---|---|
gelpad.prim_path | YAML配置 | .../gelpad_0 |
constraint_cfg.body_name | YAML配置 | finger_case_0 |
sensor.prim_path | YAML配置 | .../finger_case_0 |
关键点:
- ⚠️
body_name必须与Isaac Sim中的刚体名称完全一致 - ⚠️
sensor.prim_path必须包含正确的body_name - ⚠️ 左右传感器后缀必须匹配(
_0vs_1)
Q7: 如何调整传感器分辨率?
A: 修改YAML配置中的sensor_camera_cfg.resolution:
tactile_sensors:
left:
sensor:
sensor_camera_cfg:
resolution: [640, 640] # 修改分辨率
支持的分辨率:
[480, 480](默认)[640, 640][800, 800]
Q8: 如何修改重力?
A: 修改YAML配置中的uipc_sim.gravity:
uipc_sim:
gravity: [0.0, 0.0, -9.8] # 标准重力
# gravity: [0.0, 0.0, 0.0] # 禁用重力(零重力)
故障排查
问题:传感器窗口不显示
解决方案:
- 检查
debug_vis.show_sensor_windows: true
问题:深度图全黑
解决方案:
- 检查物体是否接触Gelpad
- 调整
clipping_range范围 - 检查相机位置是否正确
问题:UIPC对象未创建
解决方案:
- 检查
prim_path是否与Isaac Sim场景匹配 - 检查
.msh文件路径是否正确 - 查看控制台错误信息