Turtlebot joint velocities don't match the desire target velocity

Hi everyone,
I have some issues on using turtlebot robot in isaac sim and it would be appreciated if you can provide any comments. I noticed that the turtlebot joint velocities don’t match the desire target velocities in velocity control mode. To reproduce I followed:
1- used this tutorial to import the turtlebot urdf and create a usd file.
2- used this tutorial and used the turtlebot usd instead of Jetbot for reinforcement learning example (robot is imported as wheelrobot class).
3- set the velocity using “apply_wheel_actions(ArticulationAction(joint_velocities))” function.
4- check the velocity using “get_joint_velocitie” function.

Thanks

I had the same paroblem, when I applied velocity 10.0 to a joint in multiple consecutive time step, but I 9.xxx vel after the first step with get_joint_velocitie(), then got 5.xxx vel in subsequent time steps.
Did you solve the problem?

Hi - Apologies for the late response. Are you still having any issues with the latest Isaac Sim 2022.2.1 release?

Yes, I still encountered this problem. I gave the car a speed of 0.2m/s, but I used Inspect Physics and saw that the speed was around 0.14m/s. I tried to change some physical parameters, such as damping and mass, but nothing changed

Hi- The discrepancy between the applied joint velocity and the actual joint velocity you’re observing could be due to several factors:

  1. Physics Simulation: The physics simulation in Isaac Sim takes into account factors like friction, inertia, and damping, which could cause the actual joint velocity to be less than the applied velocity.
  2. Joint Limits: If the applied velocity exceeds the maximum velocity defined for the joint in the URDF file, the actual velocity will be clamped to this maximum value.
  3. Time Step Size: The physics simulation in Isaac Sim is discrete, meaning it advances in fixed time steps. If the time step size is large, the joint might not have enough time to reach the applied velocity within a single time step.
  4. Control Mode: If the robot is in position control mode, the applied velocity might be interpreted as a position command rather than a velocity command, leading to unexpected behavior.
  5. Collision or Constraints: If there’s a collision or constraint that’s preventing the joint from moving at the applied velocity, this could cause the actual velocity to be less than the applied velocity.

If all of these factors are checked and no issues found then let me know and I will connect you with the right dev to look into it.