OK So what is the coordinate system used for Mecanum.driveCartesian?
This documentation https://github.wpilib.org/allwpilib/docs/release/java/edu/wpi/first/wpilibj/drive/MecanumDrive.html says it’s using NWU so the second parameter is positive to the left. However, this document https://docs.wpilib.org/en/stable/docs/software/hardware-apis/motors/wpi-drive-classes.html shows positive to the right and positive down.
The example mecanum project shows the first coordinate system (positive forward, left, up) with :
m_robotDrive.driveCartesian(-m_joystick.getY(), -m_joystick.getX(), -m_joystick.getZ());
But the lateral and rotation are both backward, so to get the system to drive correctly we have to use:
m_robotDrive.driveCartesian(-m_joystick.getY(), m_joystick.getX(), m_joystick.getZ());
Which is positive forward/right/down.