Class MecanumDriveWheelSpeeds

    • Constructor Detail

      • MecanumDriveWheelSpeeds

        public MecanumDriveWheelSpeeds()
        Constructs a MecanumDriveWheelSpeeds with zeros for all member fields.
      • MecanumDriveWheelSpeeds

        public MecanumDriveWheelSpeeds​(double frontLeftMetersPerSecond,
                                       double frontRightMetersPerSecond,
                                       double rearLeftMetersPerSecond,
                                       double rearRightMetersPerSecond)
        Constructs a MecanumDriveWheelSpeeds.
        Parameters:
        frontLeftMetersPerSecond - Speed of the front left wheel.
        frontRightMetersPerSecond - Speed of the front right wheel.
        rearLeftMetersPerSecond - Speed of the rear left wheel.
        rearRightMetersPerSecond - Speed of the rear right wheel.
    • Method Detail

      • desaturate

        public void desaturate​(double attainableMaxSpeedMetersPerSecond)
        Renormalizes the wheel speeds if any individual speed is above the specified maximum.

        Sometimes, after inverse kinematics, the requested speed from one or more wheels may be above the max attainable speed for the driving motor on that wheel. To fix this issue, one can reduce all the wheel speeds to make sure that all requested module speeds are at-or-below the absolute threshold, while maintaining the ratio of speeds between wheels.

        Parameters:
        attainableMaxSpeedMetersPerSecond - The absolute max speed that a wheel can reach.