Mecanum wheels not moving as expected

Hi I am working on a mecanuum wheeled robot, I went through many docs and topics and made it move, but now I a small problem, and that is the mecanum wheels are not moving as expected. Like, for example when I say linear x =1.0, then all wheels should turn in forward direction but only two wheels turn and other two just slides

Isaac Sim Version

5.0.0

Operating System

Windows 11

GPU Information

  • Model: nvidia
  • Driver Version: 4080

Screenshots or Videos

Can you change your initial position of your robot to on the ground instead of dropping it?


I have kept the robot on the ground and tried but still not working fine. I guess the issue is with mecanum angles!
I get confused with it, can you check once plz.

Hi, On a correctly configured mecanum base, a pure forward command (linear x > 0, y = 0, z = 0) does not make “all wheels spin the same way”; two wheels must spin opposite to the other two because of the roller orientation and kinematics, so what you see is usually a sign of a kinematic or wheel-orientation mismatch rather than a physics bug.

Check wheel orientation and pairing

From top view, the rollers must form an X pattern: front-left and rear-right one “handedness”, front-right and rear-left the opposite.
If you duplicated a single wheel mesh/joint four times without flipping the right/left versions, the controller’s forward command will cause two wheels to drive correctly while the others generate sideways forces and appear to “slide”.

Steps to verify quickly:

  • Look from above and trace the roller axes; the diagonals created by the roller angles should visually form an X, not a V or a / / pattern.
  • Ensure each side of the chassis has one left and one right wheel, not two identical wheels per side.

Verify kinematic mapping and wheel signs

The mecanum drive controller (Isaac or ROS2 mecanum_drive_controller) computes four different wheel velocities from v_x, v_y, w_z; they are not all equal for a given Twist.
If you wired your joints such that"forward" means the same sign on all four joints, but the controller assumes a specific front-left/front-right/rear-left/rear-right layout and sign convention, two joints will be commanded with the wrong sign and will fight the motion, looking like they just skid.

Practical checks:

  • Confirm joint names/order used in your controller parameters really match the physical layout (front_left, front_right, rear_left, rear_right).
  • For a pure v_x>0 command, log or print the four commanded wheel speeds; expect a pattern where right and left sides have opposite signs.

Inspect physics and collision setup

Sliding can be amplified if rollers or wheels are colliding incorrectly or friction is mis-set.
However, the fact that “only two wheels turn and other two just slide” in response to a forward command almost always points first to incorrect roller handedness and/or wrong sign mapping rather than only friction.

Key parameters to confirm:

  • Each wheel (or roller colliders if you model them) has reasonable friction and mass so they can generate traction instead of freely skidding.
  • There are no unintended self-collisions among rollers or between wheels and chassis that block rotation on two of the joints.