Skip to main content

常见问题


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.yamlobjects部分添加:

添加刚体

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初始化时自动执行:

  1. ✅ 创建所有UIPC对象(从objects配置)
  2. ✅ 创建所有触觉传感器(从tactile_sensors配置)
  3. ✅ 调用uipc_sim.finalize_scene()
  4. ✅ 启用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_pathYAML配置.../gelpad_0
constraint_cfg.body_nameYAML配置finger_case_0
sensor.prim_pathYAML配置.../finger_case_0

关键点

  • ⚠️ body_name必须与Isaac Sim中的刚体名称完全一致
  • ⚠️ sensor.prim_path必须包含正确的body_name
  • ⚠️ 左右传感器后缀必须匹配(_0 vs _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] # 禁用重力(零重力)

故障排查

问题:传感器窗口不显示

解决方案

  1. 检查debug_vis.show_sensor_windows: true

问题:深度图全黑

解决方案

  1. 检查物体是否接触Gelpad
  2. 调整clipping_range范围
  3. 检查相机位置是否正确

问题:UIPC对象未创建

解决方案

  1. 检查prim_path是否与Isaac Sim场景匹配
  2. 检查.msh文件路径是否正确
  3. 查看控制台错误信息