Hello,
I am writing a locomotion controller for a robot after training a model in IsaacLab.
I’ve setted the Stiffness & Damping of the motor, the simulation steps per seconds, published the ROS2 clock thanks to the action graph yet, my robot is very shaky like someone trying to stand on ice.
When I visualize it through isaaclab. It’s fine and smooth but when I use it through IsaacSIM here’s the results :
It feels like I have an issue with the IMU being too noisy ? Or the loop control is corrupted ?
Please ask if you need more informations.
Kindly,
Robin
Hi, the shakiness you’re experiencing with your robot in Isaac Sim after training in Isaac Lab is likely caused by insufficient joint gain tuning. Here are the most common causes and solutions:
- Joint Gains Too Low
- Your stiffness and damping values may not be high enough for the robot’s actual mass and inertia
- Try increasing both stiffness and damping proportionally
- For position control: Start with damping = stiffness/10, then tune both
- Solver Settings Need Adjustment
- Increase Solver Position Iteration Count to 64 (from default)
- Increase Solver Velocity Iteration Count to 4
- Lower Sleep Threshold to 0.00005
- Lower Stabilization Threshold to 0.00001
- Physics Timestep Issues
- Your simulation steps per second may not match what the model was trained with
- If training used a different physics timestep, the controller gains won’t transfer correctly
- Try increasing the physics substeps
- Max Force/Velocity Limits
- Check if max force is too high (causing instability) or too low (preventing proper control)
- Verify max joint velocity is set appropriately for your controller commands