mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
[wpilib] Add X and Y component getters to Pose2d and Transform2d (#2563)
pose.Translation().X() and pose.Translation.Y() are common operations, so shortening them to pose.X() and pose.Y() would be convenient. Java uses the getX() convention so that is used instead of X() for Java.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
||||
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
@@ -63,9 +63,9 @@ class RamseteControllerTest {
|
||||
// must be final or effectively final.
|
||||
final var finalRobotPose = robotPose;
|
||||
assertAll(
|
||||
() -> assertEquals(endPose.getTranslation().getX(), finalRobotPose.getTranslation().getX(),
|
||||
() -> assertEquals(endPose.getX(), finalRobotPose.getX(),
|
||||
kTolerance),
|
||||
() -> assertEquals(endPose.getTranslation().getY(), finalRobotPose.getTranslation().getY(),
|
||||
() -> assertEquals(endPose.getY(), finalRobotPose.getY(),
|
||||
kTolerance),
|
||||
() -> assertEquals(0.0,
|
||||
boundRadians(endPose.getRotation().getRadians()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
||||
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
@@ -25,8 +25,8 @@ class Pose2dTest {
|
||||
var transformed = initial.plus(transformation);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(transformed.getTranslation().getX(), 1 + 5.0 / Math.sqrt(2.0), kEpsilon),
|
||||
() -> assertEquals(transformed.getTranslation().getY(), 2 + 5.0 / Math.sqrt(2.0), kEpsilon),
|
||||
() -> assertEquals(transformed.getX(), 1 + 5.0 / Math.sqrt(2.0), kEpsilon),
|
||||
() -> assertEquals(transformed.getY(), 2 + 5.0 / Math.sqrt(2.0), kEpsilon),
|
||||
() -> assertEquals(transformed.getRotation().getDegrees(), 50.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
@@ -39,9 +39,9 @@ class Pose2dTest {
|
||||
var finalRelativeToInitial = last.relativeTo(initial);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(finalRelativeToInitial.getTranslation().getX(), 5.0 * Math.sqrt(2.0),
|
||||
() -> assertEquals(finalRelativeToInitial.getX(), 5.0 * Math.sqrt(2.0),
|
||||
kEpsilon),
|
||||
() -> assertEquals(finalRelativeToInitial.getTranslation().getY(), 0.0, kEpsilon),
|
||||
() -> assertEquals(finalRelativeToInitial.getY(), 0.0, kEpsilon),
|
||||
() -> assertEquals(finalRelativeToInitial.getRotation().getDegrees(), 0.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
@@ -67,8 +67,8 @@ class Pose2dTest {
|
||||
final var transform = last.minus(initial);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(transform.getTranslation().getX(), 5.0 * Math.sqrt(2.0), kEpsilon),
|
||||
() -> assertEquals(transform.getTranslation().getY(), 0.0, kEpsilon),
|
||||
() -> assertEquals(transform.getX(), 5.0 * Math.sqrt(2.0), kEpsilon),
|
||||
() -> assertEquals(transform.getY(), 0.0, kEpsilon),
|
||||
() -> assertEquals(transform.getRotation().getDegrees(), 0.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ class Transform2dTest {
|
||||
var untransformed = transformed.plus(transformation.inverse());
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(initial.getTranslation().getX(), untransformed.getTranslation().getX(),
|
||||
() -> assertEquals(initial.getX(), untransformed.getX(),
|
||||
kEpsilon),
|
||||
() -> assertEquals(initial.getTranslation().getY(), untransformed.getTranslation().getY(),
|
||||
() -> assertEquals(initial.getY(), untransformed.getY(),
|
||||
kEpsilon),
|
||||
() -> assertEquals(initial.getRotation().getDegrees(),
|
||||
untransformed.getRotation().getDegrees(), kEpsilon)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
||||
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
@@ -22,8 +22,8 @@ class Twist2dTest {
|
||||
var straightPose = new Pose2d().exp(straight);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(straightPose.getTranslation().getX(), 5.0, kEpsilon),
|
||||
() -> assertEquals(straightPose.getTranslation().getY(), 0.0, kEpsilon),
|
||||
() -> assertEquals(straightPose.getX(), 5.0, kEpsilon),
|
||||
() -> assertEquals(straightPose.getY(), 0.0, kEpsilon),
|
||||
() -> assertEquals(straightPose.getRotation().getRadians(), 0.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
@@ -34,8 +34,8 @@ class Twist2dTest {
|
||||
var quarterCirclePose = new Pose2d().exp(quarterCircle);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(quarterCirclePose.getTranslation().getX(), 5.0, kEpsilon),
|
||||
() -> assertEquals(quarterCirclePose.getTranslation().getY(), 5.0, kEpsilon),
|
||||
() -> assertEquals(quarterCirclePose.getX(), 5.0, kEpsilon),
|
||||
() -> assertEquals(quarterCirclePose.getY(), 5.0, kEpsilon),
|
||||
() -> assertEquals(quarterCirclePose.getRotation().getDegrees(), 90.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
@@ -46,8 +46,8 @@ class Twist2dTest {
|
||||
var diagonalPose = new Pose2d().exp(diagonal);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(diagonalPose.getTranslation().getX(), 2.0, kEpsilon),
|
||||
() -> assertEquals(diagonalPose.getTranslation().getY(), 2.0, kEpsilon),
|
||||
() -> assertEquals(diagonalPose.getX(), 2.0, kEpsilon),
|
||||
() -> assertEquals(diagonalPose.getY(), 2.0, kEpsilon),
|
||||
() -> assertEquals(diagonalPose.getRotation().getDegrees(), 0.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
||||
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
@@ -26,8 +26,8 @@ class DifferentialDriveOdometryTest {
|
||||
var pose = m_odometry.update(Rotation2d.fromDegrees(135.0), 0.0, 5 * Math.PI);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(pose.getTranslation().getX(), 5.0, kEpsilon),
|
||||
() -> assertEquals(pose.getTranslation().getY(), 5.0, kEpsilon),
|
||||
() -> assertEquals(pose.getX(), 5.0, kEpsilon),
|
||||
() -> assertEquals(pose.getY(), 5.0, kEpsilon),
|
||||
() -> assertEquals(pose.getRotation().getDegrees(), 90.0, kEpsilon)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
||||
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
@@ -37,8 +37,8 @@ class MecanumDriveOdometryTest {
|
||||
var secondPose = m_odometry.updateWithTime(0.0, new Rotation2d(), wheelSpeeds);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(secondPose.getTranslation().getX(), 0.0, 0.01),
|
||||
() -> assertEquals(secondPose.getTranslation().getY(), 0.0, 0.01),
|
||||
() -> assertEquals(secondPose.getX(), 0.0, 0.01),
|
||||
() -> assertEquals(secondPose.getY(), 0.0, 0.01),
|
||||
() -> assertEquals(secondPose.getRotation().getDegrees(), 0.0, 0.01)
|
||||
);
|
||||
}
|
||||
@@ -52,8 +52,8 @@ class MecanumDriveOdometryTest {
|
||||
var pose = m_odometry.updateWithTime(0.10, new Rotation2d(), wheelSpeeds);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(5.0 / 10.0, pose.getTranslation().getX(), 0.01),
|
||||
() -> assertEquals(0, pose.getTranslation().getY(), 0.01),
|
||||
() -> assertEquals(5.0 / 10.0, pose.getX(), 0.01),
|
||||
() -> assertEquals(0, pose.getY(), 0.01),
|
||||
() -> assertEquals(0.0, pose.getRotation().getDegrees(), 0.01)
|
||||
);
|
||||
}
|
||||
@@ -68,8 +68,8 @@ class MecanumDriveOdometryTest {
|
||||
final var pose = m_odometry.updateWithTime(1.0, Rotation2d.fromDegrees(90.0), wheelSpeeds);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(12.0, pose.getTranslation().getX(), 0.01),
|
||||
() -> assertEquals(12.0, pose.getTranslation().getY(), 0.01),
|
||||
() -> assertEquals(12.0, pose.getX(), 0.01),
|
||||
() -> assertEquals(12.0, pose.getY(), 0.01),
|
||||
() -> assertEquals(90.0, pose.getRotation().getDegrees(), 0.01)
|
||||
);
|
||||
}
|
||||
@@ -85,8 +85,8 @@ class MecanumDriveOdometryTest {
|
||||
var pose = m_odometry.updateWithTime(1.0, gyro, speeds);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(5.0, pose.getTranslation().getX(), 0.1),
|
||||
() -> assertEquals(0.00, pose.getTranslation().getY(), 0.1),
|
||||
() -> assertEquals(5.0, pose.getX(), 0.1),
|
||||
() -> assertEquals(0.00, pose.getY(), 0.1),
|
||||
() -> assertEquals(0.00, pose.getRotation().getRadians(), 0.1)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
|
||||
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
@@ -44,8 +44,8 @@ class SwerveDriveOdometryTest {
|
||||
var pose = m_odometry.updateWithTime(0.10, new Rotation2d(), wheelSpeeds);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(5.0 / 10.0, pose.getTranslation().getX(), 0.01),
|
||||
() -> assertEquals(0, pose.getTranslation().getY(), 0.01),
|
||||
() -> assertEquals(5.0 / 10.0, pose.getX(), 0.01),
|
||||
() -> assertEquals(0, pose.getY(), 0.01),
|
||||
() -> assertEquals(0.0, pose.getRotation().getDegrees(), 0.01)
|
||||
);
|
||||
}
|
||||
@@ -70,8 +70,8 @@ class SwerveDriveOdometryTest {
|
||||
final var pose = m_odometry.updateWithTime(1.0, Rotation2d.fromDegrees(90.0), wheelSpeeds);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(12.0, pose.getTranslation().getX(), 0.01),
|
||||
() -> assertEquals(12.0, pose.getTranslation().getY(), 0.01),
|
||||
() -> assertEquals(12.0, pose.getX(), 0.01),
|
||||
() -> assertEquals(12.0, pose.getY(), 0.01),
|
||||
() -> assertEquals(90.0, pose.getRotation().getDegrees(), 0.01)
|
||||
);
|
||||
}
|
||||
@@ -87,8 +87,8 @@ class SwerveDriveOdometryTest {
|
||||
var pose = m_odometry.updateWithTime(1.0, gyro, state, state, state, state);
|
||||
|
||||
assertAll(
|
||||
() -> assertEquals(1.0, pose.getTranslation().getX(), 0.1),
|
||||
() -> assertEquals(0.00, pose.getTranslation().getY(), 0.1),
|
||||
() -> assertEquals(1.0, pose.getX(), 0.1),
|
||||
() -> assertEquals(0.00, pose.getY(), 0.1),
|
||||
() -> assertEquals(0.00, pose.getRotation().getRadians(), 0.1)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -71,10 +71,10 @@ class CubicHermiteSplineTest {
|
||||
|
||||
// Check first point
|
||||
assertAll(
|
||||
() -> assertEquals(a.getTranslation().getX(),
|
||||
poses.get(0).poseMeters.getTranslation().getX(), 1E-9),
|
||||
() -> assertEquals(a.getTranslation().getY(),
|
||||
poses.get(0).poseMeters.getTranslation().getY(), 1E-9),
|
||||
() -> assertEquals(a.getX(),
|
||||
poses.get(0).poseMeters.getX(), 1E-9),
|
||||
() -> assertEquals(a.getY(),
|
||||
poses.get(0).poseMeters.getY(), 1E-9),
|
||||
() -> assertEquals(a.getRotation().getRadians(),
|
||||
poses.get(0).poseMeters.getRotation().getRadians(), 1E-9)
|
||||
);
|
||||
@@ -95,10 +95,10 @@ class CubicHermiteSplineTest {
|
||||
|
||||
// Check last point
|
||||
assertAll(
|
||||
() -> assertEquals(b.getTranslation().getX(),
|
||||
poses.get(poses.size() - 1).poseMeters.getTranslation().getX(), 1E-9),
|
||||
() -> assertEquals(b.getTranslation().getY(),
|
||||
poses.get(poses.size() - 1).poseMeters.getTranslation().getY(), 1E-9),
|
||||
() -> assertEquals(b.getX(),
|
||||
poses.get(poses.size() - 1).poseMeters.getX(), 1E-9),
|
||||
() -> assertEquals(b.getY(),
|
||||
poses.get(poses.size() - 1).poseMeters.getY(), 1E-9),
|
||||
() -> assertEquals(b.getRotation().getRadians(),
|
||||
poses.get(poses.size() - 1).poseMeters.getRotation().getRadians(), 1E-9)
|
||||
);
|
||||
|
||||
@@ -57,19 +57,19 @@ class QuinticHermiteSplineTest {
|
||||
// Check first point
|
||||
assertAll(
|
||||
() -> assertEquals(
|
||||
a.getTranslation().getX(), poses.get(0).poseMeters.getTranslation().getX(), 1E-9),
|
||||
a.getX(), poses.get(0).poseMeters.getX(), 1E-9),
|
||||
() -> assertEquals(
|
||||
a.getTranslation().getY(), poses.get(0).poseMeters.getTranslation().getY(), 1E-9),
|
||||
a.getY(), poses.get(0).poseMeters.getY(), 1E-9),
|
||||
() -> assertEquals(
|
||||
a.getRotation().getRadians(), poses.get(0).poseMeters.getRotation().getRadians(),
|
||||
1E-9));
|
||||
|
||||
// Check last point
|
||||
assertAll(
|
||||
() -> assertEquals(b.getTranslation().getX(), poses.get(poses.size() - 1)
|
||||
.poseMeters.getTranslation().getX(), 1E-9),
|
||||
() -> assertEquals(b.getTranslation().getY(), poses.get(poses.size() - 1)
|
||||
.poseMeters.getTranslation().getY(), 1E-9),
|
||||
() -> assertEquals(b.getX(), poses.get(poses.size() - 1)
|
||||
.poseMeters.getX(), 1E-9),
|
||||
() -> assertEquals(b.getY(), poses.get(poses.size() - 1)
|
||||
.poseMeters.getY(), 1E-9),
|
||||
() -> assertEquals(b.getRotation().getRadians(),
|
||||
poses.get(poses.size() - 1).poseMeters.getRotation().getRadians(), 1E-9));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user