-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Isaac Lab version: 2.2.X
Isaac Sim version: 5.0
Docs ref: https://isaac-sim.github.io/IsaacLab/main/source/how-to/cloudxr_teleoperation.html
I am implementing a CloudXR teleoperation project similar to the documentation above.
I have a furniture object (a drawer) which is composed of 3 separate USDs as drawer box, bottom drawer and top drawer. Goal is to assemble these parts with robot hands (the teleoperated hands).
When the robot hand grabs these furniture USDs, the fingers pass through / tunnel through the furniture objects. They don’t collide robustly.
I experimented with collider type = convex decomposition but colliders do not align well with the visual geometry giving an offset like a “bulge” around mesh.
With collider type = SDF Mesh approximation, it visually aligns well but collision is still not good as hands tunnel.
I would like to keep the collider shape close to the actual mesh, so SDF Mesh is the preferred option but collision stability is the problem.
CCD is enabled for the drawer parts and the finger tips. The furniture USDs have both a visual material and a physics material applied.
- Is there any recommended Isaac Lab / PhysX setting for stable grasping when using SDF Mesh collider approximations?
- Are there any specific params to be fine tuned in USD.
I have attached one of the USD files and a video clip showing the issue.
Tunneling.issue.mov
Code snippet for asset scene definition.
drawer_box = RigidObjectCfg(
prim_path="{ENV_REGEX_NS}/DrawerBox",
init_state=RigidObjectCfg.InitialStateCfg(pos=[-0.02, 0.44, 1.08], rot=[0.0, 0.0, -0.7071, 0.7071]),
spawn=UsdFileCfg(usd_path="/workspace/isaaclab/source/isaaclab_assets/isaaclab_assets/assembly/drawer/drawer_box/drawer_box.usd",
scale=(2.0, 2.0, 2.0),
rigid_props=sim_utils.RigidBodyPropertiesCfg(),
articulation_props=sim_utils.ArticulationRootPropertiesCfg(articulation_enabled=False),
mass_props=sim_utils.MassPropertiesCfg(mass=10),
),
)
Code snippet for Visual and Physics materials.
visual_cfg = PreviewSurfaceCfg(
diffuse_color=(0.6, 0.8, 0.1),
emissive_color=(0.0, 0.0, 0.0),
)
physics_cfg = RigidBodyMaterialCfg(
static_friction=2.0,
dynamic_friction=2.0,
friction_combine_mode="multiply",
)
Any guidance is much appreciated.