diff --git a/wpimath/src/main/java/edu/wpi/first/wpilibj/util/Units.java b/wpimath/src/main/java/edu/wpi/first/wpilibj/util/Units.java index 8da25a4bc0..28774efa36 100644 --- a/wpimath/src/main/java/edu/wpi/first/wpilibj/util/Units.java +++ b/wpimath/src/main/java/edu/wpi/first/wpilibj/util/Units.java @@ -9,6 +9,7 @@ public final class Units { private static final double kInchesPerFoot = 12.0; private static final double kMetersPerInch = 0.0254; private static final double kSecondsPerMinute = 60; + private static final double kKilogramsPerLb = 0.453592; /** Utility class, so constructor is private. */ private Units() { @@ -94,4 +95,24 @@ public final class Units { public static double radiansPerSecondToRotationsPerMinute(double radiansPerSecond) { return radiansPerSecond * (kSecondsPerMinute / 2) / Math.PI; } + + /** + * Converts kilograms into lbs (pound-mass). + * + * @param kilograms The kilograms to convert to lbs (pound-mass). + * @return Lbs (pound-mass) converted from kilograms. + */ + public static double kilogramsToLbs(double kilograms) { + return kilograms / kKilogramsPerLb; + } + + /** + * Converts lbs (pound-mass) into kilograms. + * + * @param lbs The lbs (pound-mass) to convert to kilograms. + * @return Kilograms converted from lbs (pound-mass). + */ + public static double lbsToKilograms(double lbs) { + return lbs * kKilogramsPerLb; + } } diff --git a/wpimath/src/test/java/edu/wpi/first/wpilibj/util/UnitsTest.java b/wpimath/src/test/java/edu/wpi/first/wpilibj/util/UnitsTest.java index bb417f9302..788aa1015a 100644 --- a/wpimath/src/test/java/edu/wpi/first/wpilibj/util/UnitsTest.java +++ b/wpimath/src/test/java/edu/wpi/first/wpilibj/util/UnitsTest.java @@ -53,4 +53,14 @@ class UnitsTest extends UtilityClassTest { void radiansPerSecondToRotationsPerMinute() { assertEquals(76.39, Units.radiansPerSecondToRotationsPerMinute(8), 1e-2); } + + @Test + void kilogramsToLbsTest() { + assertEquals(2.20462, Units.kilogramsToLbs(1), 1e-2); + } + + @Test + void lbsToKilogramsTest() { + assertEquals(0.453592, Units.lbsToKilograms(1), 1e-2); + } }