Unexpected Robot Movement After Grasping Cube in Isaac Sim

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

Topic Description

I’m currently working on a cube-grasping task using the SO-ARM100 robot in Isaac Sim. I imported the robot’s URDF following the guide below:

I’m controlling the robot using keyboard input. However, after successfully grasping the cube, the robot starts moving on its own, without receiving any additional commands.

I’ve already tried adjusting damping and stiffness parameters, but the issue remains unresolved.

If there are any other parameters or settings I should check to prevent this unexpected behavior?

Hi @hsieh-w, thanks for posting your issue. To get more info on the issue would you be able to turn on collider mesh visualization and record the video again? Also, what are the Drive gains you are using for the gripper? You may want to make the stiffness lower if it is too high. Can you send a screenshot of the Joint Drive settings?

Michael

@michalin
Hi Michael, thank you for checking the post.
My ultimate goal is to build a cube stacking task using imitation learning in IsaacLab with the SO-100 arm. Here’s what I have done so far:
1. I imported the SO-100 URDF and saved it as a USD file.

  1. Modified the “Isaac-Stack-Cube-Franka-IK-Rel-v0” environment in IsaacLab for SO-100 and imported the SO-100 USD that allowing me to control the robot using the keyboard.
  2. Changed the ImplicitActuatorCfg setting as below
TEST_CFG = ArticulationCfg(
    spawn=sim_utils.UsdFileCfg(
        usd_path="so100.usd",
        #usd_path="/home/nvidia/Documents/convex_robot_root.usd",
        activate_contact_sensors=False,
        rigid_props=sim_utils.RigidBodyPropertiesCfg(
            disable_gravity=False,
            max_depenetration_velocity=5.0,
        ),
        articulation_props=sim_utils.ArticulationRootPropertiesCfg(
            enabled_self_collisions=True, 
            solver_position_iteration_count=8, 
            solver_velocity_iteration_count=0
        ),
        # collision_props=sim_utils.CollisionPropertiesCfg(contact_offset=0.005, rest_offset=0.0),
    ),
    init_state=ArticulationCfg.InitialStateCfg(
        pos=(0.1, 0.1, 0.0),
        rot=quat_from_euler_rpy(0, 0, 90,True),
        joint_pos={
            "Rotation": 0.0,
            "Pitch": 0.0,
            "Elbow": 0.0,
            "Wrist_Pitch": 0.0,
            "Wrist_Roll": 0.0,
            "Jaw": 0.0,
        },
    ),
    actuators={
        "shoulder_rotation": ImplicitActuatorCfg(
            joint_names_expr=["Rotation"],
            effort_limit=1.9,
            velocity_limit_sim=1.5,
            stiffness=200.0,    
            damping=80.0,
        ),
        "shoulder_pitch": ImplicitActuatorCfg(
            joint_names_expr=["Pitch"],
            effort_limit=1.9,
            velocity_limit_sim=1.5,
            stiffness=170.0,    
            damping=65.0,
        ),
        "elbow": ImplicitActuatorCfg(
            joint_names_expr=["Elbow"],
            effort_limit=1.9,
            velocity_limit_sim=1.5,
            stiffness=120.0,    
            damping=45.0,
        ),
        "wrist_pitch": ImplicitActuatorCfg(
            joint_names_expr=["Wrist_Pitch"],
            effort_limit=1.9,
            velocity_limit_sim=1.5,
            stiffness=80.0,    
            damping=30.0,
        ),
        "wrist_roll": ImplicitActuatorCfg(
            joint_names_expr=["Wrist_Roll"],
            effort_limit=1.9,
            velocity_limit_sim=1.5,
            stiffness=50.0,     
            damping=20.0,
        ),
        "gripper": ImplicitActuatorCfg(
            joint_names_expr=["Jaw"],
            effort_limit=2.5,    
            velocity_limit_sim=1.5,
            stiffness=60.0,     
            damping=20.0,      
        ),
    },
    soft_joint_pos_limit_factor=1.0,
)
TEST_HIGH_PD_CFG = TEST_CFG.copy()
TEST_HIGH_PD_CFG.spawn.rigid_props.disable_gravity = True

I tried setting stiffness=10.0, damping=0.7, but it acted the same. I assume it is caused by IK related setting? Could you advise on what might be going wrong or which settings I should check?

Hi @hsieh-w, sorry for the slow reply. I don’t see any issues with your setup, so this behavior is very strange to me. What are your actions terms?
Is there any chance you can share your setup for me to reproduce and help dig deeper into the issue?

Hello!

We noticed that this topic hasn’t received any recent responses, so we are closing it for now to help keep the forum organized.

If you’re still experiencing this issue or have additional questions, please feel free to create a new topic with updated details. When doing so, we recommend mentioning or linking to this original topic in your new post—this helps provide context and makes it easier for others to assist you.

Thank you for being part of the NVIDIA Isaac Sim community.

Best regards,
The NVIDIA Isaac Sim Forum Team