Robot Arm Cannot Pick Up Heavy Objects in Isaac Sim

Important: Isaac Sim support

Please provide all relevant details below before submitting your post. This will help the community provide more accurate and timely assistance. After submitting, you can check the appropriate boxes. Remember, you can always edit your post later to include additional information if needed.

6.0.0
5.1.0
5.0.0
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 24.04
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: NVIDIA RTX PRO 5000 Black
  • Driver Version: 580.159.04

Topic Description

Robot Arm Cannot Pick Up Heavy Objects in Isaac Sim

Detailed Description

Hi everyone,

I am working with a robot arm in Isaac Sim and I am having issues picking up heavier objects.

The robot can successfully grasp and lift light objects (the weight is less than 10g), but when the object weight increases, the object either slips from the gripper or cannot be lifted at all.

I have already verified:

  • The grasp pose is correct.

  • The gripper closes properly.

  • Collision meshes appear correct.

  • The robot can lift lighter objects without issues.

Could anyone advise which parameters I should investigate? For example:

  • Joint effort/torque limits

  • Gripper force settings

  • Friction coefficients

  • Mass and inertia settings

  • Physics solver parameters

Any suggestions would be appreciated.

Steps to Reproduce

  1. Download the layout file here: https://drive.google.com/file/d/1UJM61mtmbL5-SoRQN9XXrp9NYsucHIxL/view?usp=sharing

  2. Open demo.usa with Isaac Sim 5.1.0

  3. Run command to control robot arm to pickup the cube:

  4. ros2 topic pub --once /joint_command sensor_msgs/msg/JointState \
    “{name: [‘joint1’,‘joint2’,‘joint3’,‘joint4’,‘joint5’,‘r_joint’], \
    position: [0.0, 1.4, 0.9, 0.8, 0.0, 1.5]}” && \
    sleep 3 && \
    ros2 topic pub --once /joint_command sensor_msgs/msg/JointState \
    “{name: [‘joint1’,‘joint2’,‘joint3’,‘joint4’,‘joint5’,‘r_joint’], \
    position: [0.0, 1.4, 0.9, 0.8, 0.0, 0.2]}” && \
    sleep 2 && \
    ros2 topic pub --once /joint_command sensor_msgs/msg/JointState \
    “{name: [‘joint1’,‘joint2’,‘joint3’,‘joint4’,‘joint5’,‘r_joint’], \
    position: [0.0, -0.2, 2.0, 0.8, 0.0, 0.2]}”

(Add more steps as needed)

Error Messages

(If applicable, copy and paste any error messages you received)

Screenshots or Videos

(If applicable, add screenshots or links to videos that demonstrate the issue)

Additional Information

What I’ve Tried

(Describe any troubleshooting steps you’ve already taken)

Related Issues

(If you’re aware of any related issues or forum posts, please link them here)

Additional Context

(Add any other context about the problem here)

Since light objects work and heavier ones slip, focus on these two:

1. Joint drive force / effort limits. In position mode the gripper “closes,” but the contact force it can apply is capped by the drive’s max force — too low and a heavier object just slides out. Select the gripper finger joint in the stage, and in the Property panel → Drive section raise the Max Force (drive:*:physics:maxForce); also check the arm joints’ Max Joint Effort (physxJoint:maxJointVelocity / the joint’s effort limit) so the arm can hold the extra payload torque. Increase the gripper drive stiffness too if it isn’t holding position under load. Background and units are in Physics Simulation Fundamentals, and there’s a walkthrough in Tuning Joint Drive Gains. Tip: hover any field in the Property panel to see its exact schema:attribute name.

2. Friction. Default material friction is often too low to hold mass. Create a high-friction material via Create → Physics → Physics Material → Rigid Body Material, set Static and Dynamic Friction to ~1.0 or higher, then assign it to both the fingertip colliders and the object (drag onto the prim, or set it under the mesh’s Physics → Material binding). Also set the friction Combine Mode to max or multiply so a high fingertip value isn’t averaged down by the object’s. Friction/contact material parameters are documented in Physics Simulation Fundamentals.

Start by raising gripper Max Force and finger friction together — that pair fixes most “lifts light, drops heavy” cases.

You could also look into:
3. Solver / contact stability. Heavier mass needs more solver work to stay stable. On the articulation, raise position and velocity iteration counts (e.g. 32–64), and consider a smaller physics timestep / more substeps. Low iterations let heavy contacts drift and slip.

4. Fingertip collision fit. Convex-hull fingertips can leave gaps that reduce contact area. Use collision meshes that hug the fingertip contour so contact is solid.

The Surface Gripper docs and the existing “Stable grasping in Isaac Sim” thread cover the same tuning.

Hello!

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

If you are still experiencing this issue or have related questions, please create a GitHub Discussion or Issue in the Isaac Sim repository and include a link to this topic along with updated details. Mentioning or linking to this original topic provides helpful 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