SCRIPT: Spotless Apply

This commit is contained in:
PJ Reiniger
2025-11-07 19:57:21 -05:00
committed by Peter Johnson
parent c89910b7c6
commit c48b722dac
650 changed files with 1529 additions and 1545 deletions

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.controller;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.NumericalJacobian;
import java.util.function.BiFunction;
import java.util.function.Function;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.NumericalJacobian;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
/**
* Constructs a control-affine plant inversion model-based feedforward from given model dynamics.

View File

@@ -6,11 +6,11 @@ package org.wpilib.math.controller;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N2;
import org.wpilib.math.system.LinearSystem;
import org.wpilib.math.util.Nat;
/**
* Filters the provided voltages to limit a differential drive's linear and angular acceleration.

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.controller.proto.DifferentialDriveFeedforwardProto;
import org.wpilib.math.controller.struct.DifferentialDriveFeedforwardStruct;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N2;
import org.wpilib.math.system.LinearSystem;
import org.wpilib.math.system.plant.LinearSystemId;

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.controller;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.LinearSystem;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.util.Num;
/**
* Contains the controller coefficients and logic for an implicit model follower.

View File

@@ -4,21 +4,21 @@
package org.wpilib.math.controller;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.linalg.DARE;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N2;
import org.wpilib.math.numbers.N5;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.LinearSystem;
import org.wpilib.math.trajectory.Trajectory;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.StateSpaceUtil;
/**
* The linear time-varying differential drive controller has a similar form to the LQR, but the

View File

@@ -4,19 +4,19 @@
package org.wpilib.math.controller;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.kinematics.ChassisSpeeds;
import org.wpilib.math.linalg.DARE;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.kinematics.ChassisSpeeds;
import org.wpilib.math.numbers.N2;
import org.wpilib.math.numbers.N3;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.trajectory.Trajectory;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.StateSpaceUtil;
/**
* The linear time-varying unicycle controller has a similar form to the LQR, but the model used to

View File

@@ -4,12 +4,12 @@
package org.wpilib.math.controller;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.LinearSystem;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.util.Num;
/**
* Constructs a plant inversion model-based feedforward from a {@link LinearSystem}.

View File

@@ -4,15 +4,15 @@
package org.wpilib.math.controller;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.DARE;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.LinearSystem;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
/**
* Contains the controller coefficients and logic for a linear-quadratic regulator (LQR). LQRs use

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller;
import org.wpilib.math.trajectory.TrapezoidProfile;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.trajectory.TrapezoidProfile;
import org.wpilib.util.sendable.Sendable;
import org.wpilib.util.sendable.SendableBuilder;
import org.wpilib.util.sendable.SendableRegistry;

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.controller.ArmFeedforward;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class ArmFeedforwardStruct implements Struct<ArmFeedforward> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.controller.DifferentialDriveFeedforward;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public final class DifferentialDriveFeedforwardStruct
implements Struct<DifferentialDriveFeedforward> {

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.controller.DifferentialDriveWheelVoltages;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class DifferentialDriveWheelVoltagesStruct
implements Struct<DifferentialDriveWheelVoltages> {

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.controller.ElevatorFeedforward;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class ElevatorFeedforwardStruct implements Struct<ElevatorFeedforward> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.controller.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.controller.SimpleMotorFeedforward;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public final class SimpleMotorFeedforwardStruct implements Struct<SimpleMotorFeedforward> {
@Override

View File

@@ -4,12 +4,12 @@
package org.wpilib.math.estimator;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import java.util.function.BiFunction;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.util.Num;
/** Angle statistics functions. */
public final class AngleStatistics {

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.kinematics.DifferentialDriveKinematics;
import org.wpilib.math.kinematics.DifferentialDriveOdometry;
import org.wpilib.math.kinematics.DifferentialDriveWheelPositions;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N3;

View File

@@ -4,8 +4,6 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
@@ -15,6 +13,8 @@ import org.wpilib.math.geometry.Translation3d;
import org.wpilib.math.kinematics.DifferentialDriveKinematics;
import org.wpilib.math.kinematics.DifferentialDriveOdometry3d;
import org.wpilib.math.kinematics.DifferentialDriveWheelPositions;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N4;

View File

@@ -4,16 +4,16 @@
package org.wpilib.math.estimator;
import java.util.function.BiFunction;
import org.wpilib.math.linalg.DARE;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.NumericalIntegration;
import org.wpilib.math.system.NumericalJacobian;
import java.util.function.BiFunction;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
/**
* A Kalman filter combines predictions from a model and measurements to give an estimate of the

View File

@@ -6,12 +6,12 @@ package org.wpilib.math.estimator;
import org.wpilib.math.linalg.DARE;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.LinearSystem;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
/**
* A Kalman filter combines predictions from a model and measurements to give an estimate of the

View File

@@ -4,14 +4,14 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
/**
* This class incorporates time-delayed measurements into a Kalman filter's state estimate.

View File

@@ -5,8 +5,8 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Num;
/**
* Interface for Kalman filters for use with KalmanFilterLatencyCompensator.

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.kinematics.MecanumDriveKinematics;
import org.wpilib.math.kinematics.MecanumDriveOdometry;
import org.wpilib.math.kinematics.MecanumDriveWheelPositions;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N3;

View File

@@ -4,8 +4,6 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
@@ -15,6 +13,8 @@ import org.wpilib.math.geometry.Translation3d;
import org.wpilib.math.kinematics.MecanumDriveKinematics;
import org.wpilib.math.kinematics.MecanumDriveOdometry3d;
import org.wpilib.math.kinematics.MecanumDriveWheelPositions;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N4;

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.estimator;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.ejml.simple.SimpleMatrix;
/**
* Generates sigma points and weights according to Van der Merwe's 2004 dissertation[1] for the

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.estimator;
import java.util.function.BiFunction;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import java.util.function.BiFunction;
/**
* An Unscented Kalman Filter using sigma points and weights from Van der Merwe's 2004 dissertation.

View File

@@ -4,10 +4,9 @@
package org.wpilib.math.estimator;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.linalg.VecBuilder;
import java.util.NavigableMap;
import java.util.Optional;
import java.util.TreeMap;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Translation2d;
@@ -15,11 +14,12 @@ import org.wpilib.math.geometry.Twist2d;
import org.wpilib.math.interpolation.TimeInterpolatableBuffer;
import org.wpilib.math.kinematics.Kinematics;
import org.wpilib.math.kinematics.Odometry;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N3;
import java.util.NavigableMap;
import java.util.Optional;
import java.util.TreeMap;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.util.Nat;
/**
* This class wraps {@link Odometry} to fuse latency-compensated vision measurements with encoder

View File

@@ -4,10 +4,9 @@
package org.wpilib.math.estimator;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.linalg.VecBuilder;
import java.util.NavigableMap;
import java.util.Optional;
import java.util.TreeMap;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
@@ -18,12 +17,13 @@ import org.wpilib.math.geometry.Twist3d;
import org.wpilib.math.interpolation.TimeInterpolatableBuffer;
import org.wpilib.math.kinematics.Kinematics;
import org.wpilib.math.kinematics.Odometry3d;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N4;
import org.wpilib.math.numbers.N6;
import java.util.NavigableMap;
import java.util.Optional;
import java.util.TreeMap;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.util.Nat;
/**
* This class wraps {@link Odometry3d} to fuse latency-compensated vision measurements with encoder
@@ -254,9 +254,8 @@ public class PoseEstimator3d<T> {
* your own time source by calling {@link
* PoseEstimator3d#updateWithTime(double,Rotation3d,Object)} then you must use a timestamp
* with an epoch since FPGA startup (i.e., the epoch of this timestamp is the same epoch as
* {@link org.wpilib.system.Timer#getFPGATimestamp()}.) This means that you should use
* {@link org.wpilib.system.Timer#getFPGATimestamp()} as your time source or sync the
* epochs.
* {@link org.wpilib.system.Timer#getFPGATimestamp()}.) This means that you should use {@link
* org.wpilib.system.Timer#getFPGATimestamp()} as your time source or sync the epochs.
*/
public void addVisionMeasurement(Pose3d visionRobotPose, double timestamp) {
// Step 0: If this measurement is old enough to be outside the pose buffer's timespan, skip.

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.estimator;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.ejml.simple.SimpleMatrix;
/**
* Generates sigma points and weights according to Papakonstantinou's paper[1] for the

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.estimator;
import java.util.function.BiFunction;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import java.util.function.BiFunction;
/**
* An Unscented Kalman Filter using sigma points and weights from Papakonstantinou's paper. This is

View File

@@ -5,8 +5,8 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Num;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Num;
/**
* A sigma points generator for the UnscentedKalmanFilter class.

View File

@@ -6,12 +6,12 @@ package org.wpilib.math.estimator;
import org.wpilib.math.linalg.DARE;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.LinearSystem;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.StateSpaceUtil;
/**
* A Kalman filter combines predictions from a model and measurements to give an estimate of the

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.kinematics.SwerveDriveKinematics;
import org.wpilib.math.kinematics.SwerveDriveOdometry;
import org.wpilib.math.kinematics.SwerveModulePosition;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N3;

View File

@@ -4,8 +4,6 @@
package org.wpilib.math.estimator;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
@@ -15,6 +13,8 @@ import org.wpilib.math.geometry.Translation3d;
import org.wpilib.math.kinematics.SwerveDriveKinematics;
import org.wpilib.math.kinematics.SwerveDriveOdometry3d;
import org.wpilib.math.kinematics.SwerveModulePosition;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N4;

View File

@@ -4,18 +4,18 @@
package org.wpilib.math.estimator;
import java.util.function.BiFunction;
import org.ejml.dense.row.decomposition.qr.QRDecompositionHouseholder_DDRM;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.Pair;
import org.wpilib.math.util.StateSpaceUtil;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.system.Discretization;
import org.wpilib.math.system.NumericalIntegration;
import org.wpilib.math.system.NumericalJacobian;
import java.util.function.BiFunction;
import org.ejml.dense.row.decomposition.qr.QRDecompositionHouseholder_DDRM;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.util.Pair;
import org.wpilib.math.util.StateSpaceUtil;
/**
* A Kalman filter combines predictions from a model and measurements to give an estimate of the

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.filter;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.util.container.DoubleCircularBuffer;
import java.util.Arrays;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.util.container.DoubleCircularBuffer;
/**
* This class implements a linear, digital filter. All types of FIR and IIR filters are supported.

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.filter;
import org.wpilib.util.container.DoubleCircularBuffer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.wpilib.util.container.DoubleCircularBuffer;
/**
* A class that implements a moving-window median filter. Useful for reducing measurement noise,

View File

@@ -6,14 +6,14 @@ package org.wpilib.math.geometry;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.Pair;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Ellipse2dProto;
import org.wpilib.math.geometry.struct.Ellipse2dStruct;
import org.wpilib.math.jni.Ellipse2dJNI;
import org.wpilib.math.util.Pair;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents a 2d ellipse space containing translational, rotational, and scaling components. */
public class Ellipse2d implements ProtobufSerializable, StructSerializable {

View File

@@ -10,20 +10,20 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.geometry.proto.Pose2dProto;
import org.wpilib.math.geometry.struct.Pose2dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.numbers.N3;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Pose2dProto;
import org.wpilib.math.geometry.struct.Pose2dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N3;
import org.wpilib.math.util.Nat;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
/** Represents a 2D pose containing translational and rotational elements. */
@JsonIgnoreProperties(ignoreUnknown = true)

View File

@@ -10,20 +10,20 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.geometry.proto.Pose3dProto;
import org.wpilib.math.geometry.struct.Pose3dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.numbers.N4;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Pose3dProto;
import org.wpilib.math.geometry.struct.Pose3dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N4;
import org.wpilib.math.util.Nat;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
/** Represents a 3D pose containing translational and rotational elements. */
@JsonIgnoreProperties(ignoreUnknown = true)

View File

@@ -8,14 +8,14 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import java.util.Objects;
import org.wpilib.math.geometry.proto.QuaternionProto;
import org.wpilib.math.geometry.struct.QuaternionStruct;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.numbers.N3;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents a quaternion. */
@JsonIgnoreProperties(ignoreUnknown = true)

View File

@@ -6,12 +6,12 @@ package org.wpilib.math.geometry;
import static org.wpilib.units.Units.Meters;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Rectangle2dProto;
import org.wpilib.math.geometry.struct.Rectangle2dStruct;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/**
* Represents a 2d rectangular space containing translational, rotational, and scaling components.

View File

@@ -10,19 +10,19 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Rotation2dProto;
import org.wpilib.math.geometry.struct.Rotation2dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N2;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Units;
import org.wpilib.units.measure.Angle;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/**
* A rotation in a 2D coordinate frame represented by a point on the unit circle (cosine and sine).

View File

@@ -10,20 +10,20 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Rotation3dProto;
import org.wpilib.math.geometry.struct.Rotation3dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.numbers.N3;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.util.Nat;
import org.wpilib.units.measure.Angle;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** A rotation in a 3D coordinate frame represented by a quaternion. */
@JsonIgnoreProperties(ignoreUnknown = true)

View File

@@ -6,16 +6,16 @@ package org.wpilib.math.geometry;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Transform2dProto;
import org.wpilib.math.geometry.struct.Transform2dStruct;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N3;
import org.wpilib.math.util.Nat;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents a transformation for a Pose2d in the pose's frame. */
public class Transform2d implements ProtobufSerializable, StructSerializable {

View File

@@ -6,17 +6,17 @@ package org.wpilib.math.geometry;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Transform3dProto;
import org.wpilib.math.geometry.struct.Transform3dStruct;
import org.wpilib.math.jni.Transform3dJNI;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.numbers.N4;
import org.wpilib.math.util.Nat;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents a transformation for a Pose3d in the pose's frame. */
public class Transform3d implements ProtobufSerializable, StructSerializable {

View File

@@ -10,20 +10,20 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.geometry.proto.Translation2dProto;
import org.wpilib.math.geometry.struct.Translation2dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.numbers.N2;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Translation2dProto;
import org.wpilib.math.geometry.struct.Translation2dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.numbers.N2;
import org.wpilib.math.util.MathUtil;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
/**
* Represents a translation in 2D space. This object can be used to represent a point or a vector.

View File

@@ -10,20 +10,20 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.wpilib.math.util.MathUtil;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.geometry.proto.Translation3dProto;
import org.wpilib.math.geometry.struct.Translation3dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.numbers.N3;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Translation3dProto;
import org.wpilib.math.geometry.struct.Translation3dStruct;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.linalg.VecBuilder;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.numbers.N3;
import org.wpilib.math.util.MathUtil;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
/**
* Represents a translation in 3D space. This object can be used to represent a point or a vector.

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.geometry;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Twist2dProto;
import org.wpilib.math.geometry.struct.Twist2dStruct;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/**
* A change in distance along a 2D arc since the last pose update. We can use ideas from

View File

@@ -4,12 +4,12 @@
package org.wpilib.math.geometry;
import java.util.Objects;
import org.wpilib.math.geometry.proto.Twist3dProto;
import org.wpilib.math.geometry.struct.Twist3dStruct;
import org.wpilib.math.jni.Twist3dJNI;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/**
* A change in distance along a 3D arc since the last pose update. We can use ideas from

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Ellipse2d;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Ellipse2dStruct implements Struct<Ellipse2d> {
@Override

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Pose2dStruct implements Struct<Pose2d> {
@Override

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation3d;
import org.wpilib.math.geometry.Translation3d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Pose3dStruct implements Struct<Pose3d> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Quaternion;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class QuaternionStruct implements Struct<Quaternion> {
@Override

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rectangle2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Rectangle2dStruct implements Struct<Rectangle2d> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Rotation2dStruct implements Struct<Rotation2d> {
@Override

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Quaternion;
import org.wpilib.math.geometry.Rotation3d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Rotation3dStruct implements Struct<Rotation3d> {
@Override

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Transform2d;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Transform2dStruct implements Struct<Transform2d> {
@Override

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Rotation3d;
import org.wpilib.math.geometry.Transform3d;
import org.wpilib.math.geometry.Translation3d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Transform3dStruct implements Struct<Transform3d> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Translation2dStruct implements Struct<Translation2d> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Translation3d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Translation3dStruct implements Struct<Translation3d> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Twist2d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Twist2dStruct implements Struct<Twist2d> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.geometry.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Twist3d;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class Twist3dStruct implements Struct<Twist3d> {
@Override

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.interpolation;
import org.wpilib.math.util.MathUtil;
import java.util.NavigableMap;
import java.util.Optional;
import java.util.TreeMap;
import org.wpilib.math.util.MathUtil;
/**
* The TimeInterpolatableBuffer provides an easy way to estimate past measurements. One application

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.jni;
import org.wpilib.util.runtime.RuntimeLoader;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
import org.wpilib.util.runtime.RuntimeLoader;
/** Base class for all WPIMath JNI wrappers. */
public class WPIMathJNI {

View File

@@ -7,6 +7,7 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.MetersPerSecond;
import static org.wpilib.units.Units.RadiansPerSecond;
import java.util.Objects;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Transform2d;
import org.wpilib.math.geometry.Translation2d;
@@ -17,7 +18,6 @@ import org.wpilib.units.measure.AngularVelocity;
import org.wpilib.units.measure.LinearVelocity;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/**
* Represents the speed of a robot chassis. Although this class contains similar members compared to

View File

@@ -6,10 +6,10 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Twist2d;
import org.wpilib.math.kinematics.proto.DifferentialDriveKinematicsProto;
import org.wpilib.math.kinematics.struct.DifferentialDriveKinematicsStruct;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;

View File

@@ -6,9 +6,9 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.units.measure.Distance;
/**

View File

@@ -6,13 +6,13 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Rotation3d;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.geometry.Translation3d;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.units.measure.Distance;
/**

View File

@@ -6,14 +6,14 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.MathUtil;
import java.util.Objects;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.kinematics.proto.DifferentialDriveWheelPositionsProto;
import org.wpilib.math.kinematics.struct.DifferentialDriveWheelPositionsStruct;
import org.wpilib.math.util.MathUtil;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents the wheel positions for a differential drive drivetrain. */
public class DifferentialDriveWheelPositions

View File

@@ -4,14 +4,14 @@
package org.wpilib.math.kinematics;
import org.wpilib.math.util.MathSharedStore;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.geometry.Twist2d;
import org.wpilib.math.kinematics.proto.MecanumDriveKinematicsProto;
import org.wpilib.math.kinematics.struct.MecanumDriveKinematicsStruct;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import org.ejml.simple.SimpleMatrix;
/**
* Helper class that converts a chassis velocity (dx, dy, and dtheta components) into individual

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.util.MathSharedStore;
/**
* Class for mecanum drive odometry. Odometry allows you to track the robot's position on the field

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.kinematics;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Rotation3d;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.geometry.Translation3d;
import org.wpilib.math.util.MathSharedStore;
/**
* Class for mecanum drive odometry. Odometry allows you to track the robot's position on the field

View File

@@ -6,14 +6,14 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.MathUtil;
import java.util.Objects;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.kinematics.proto.MecanumDriveWheelPositionsProto;
import org.wpilib.math.kinematics.struct.MecanumDriveWheelPositionsStruct;
import org.wpilib.math.util.MathUtil;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents the wheel positions for a mecanum drive drivetrain. */
public class MecanumDriveWheelPositions

View File

@@ -7,19 +7,19 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.MetersPerSecond;
import static org.wpilib.units.Units.RadiansPerSecond;
import org.wpilib.math.util.MathSharedStore;
import java.util.Arrays;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.geometry.Twist2d;
import org.wpilib.math.kinematics.proto.SwerveDriveKinematicsProto;
import org.wpilib.math.kinematics.struct.SwerveDriveKinematicsStruct;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.units.measure.AngularVelocity;
import org.wpilib.units.measure.LinearVelocity;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.Struct;
import org.wpilib.util.struct.StructSerializable;
import java.util.Arrays;
import org.ejml.simple.SimpleMatrix;
/**
* Helper class that converts a chassis velocity (dx, dy, and dtheta components) into individual

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.util.MathSharedStore;
/**
* Class for swerve drive odometry. Odometry allows you to track the robot's position on the field

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.kinematics;
import org.wpilib.math.util.MathSharedStore;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Pose3d;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.geometry.Rotation3d;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.geometry.Translation3d;
import org.wpilib.math.util.MathSharedStore;
/**
* Class for swerve drive odometry. Odometry allows you to track the robot's position on the field

View File

@@ -6,15 +6,15 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.Meters;
import org.wpilib.math.util.MathUtil;
import java.util.Objects;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.interpolation.Interpolatable;
import org.wpilib.math.kinematics.proto.SwerveModulePositionProto;
import org.wpilib.math.kinematics.struct.SwerveModulePositionStruct;
import org.wpilib.math.util.MathUtil;
import org.wpilib.units.measure.Distance;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents the state of one swerve module. */
public class SwerveModulePosition

View File

@@ -6,13 +6,13 @@ package org.wpilib.math.kinematics;
import static org.wpilib.units.Units.MetersPerSecond;
import java.util.Objects;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.kinematics.proto.SwerveModuleStateProto;
import org.wpilib.math.kinematics.struct.SwerveModuleStateStruct;
import org.wpilib.units.measure.LinearVelocity;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
/** Represents the state of one swerve module. */
public class SwerveModuleState

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.kinematics.ChassisSpeeds;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class ChassisSpeedsStruct implements Struct<ChassisSpeeds> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.kinematics.DifferentialDriveKinematics;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class DifferentialDriveKinematicsStruct implements Struct<DifferentialDriveKinematics> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.kinematics.DifferentialDriveWheelPositions;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class DifferentialDriveWheelPositionsStruct
implements Struct<DifferentialDriveWheelPositions> {

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.kinematics.DifferentialDriveWheelSpeeds;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class DifferentialDriveWheelSpeedsStruct implements Struct<DifferentialDriveWheelSpeeds> {
@Override

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.kinematics.MecanumDriveKinematics;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class MecanumDriveKinematicsStruct implements Struct<MecanumDriveKinematics> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.kinematics.MecanumDriveWheelPositions;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class MecanumDriveWheelPositionsStruct implements Struct<MecanumDriveWheelPositions> {
@Override

View File

@@ -4,9 +4,9 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.kinematics.MecanumDriveWheelSpeeds;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class MecanumDriveWheelSpeedsStruct implements Struct<MecanumDriveWheelSpeeds> {
@Override

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Translation2d;
import org.wpilib.math.kinematics.SwerveDriveKinematics;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public final class SwerveDriveKinematicsStruct implements Struct<SwerveDriveKinematics> {
private final int m_numModules;

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.kinematics.SwerveModulePosition;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class SwerveModulePositionStruct implements Struct<SwerveModulePosition> {
@Override

View File

@@ -4,10 +4,10 @@
package org.wpilib.math.kinematics.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.geometry.Rotation2d;
import org.wpilib.math.kinematics.SwerveModuleState;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public class SwerveModuleStateStruct implements Struct<SwerveModuleState> {
@Override

View File

@@ -4,8 +4,8 @@
package org.wpilib.math.linalg;
import org.wpilib.math.jni.DAREJNI;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.jni.DAREJNI;
import org.wpilib.math.util.Num;
/** DARE solver utility functions. */

View File

@@ -4,16 +4,6 @@
package org.wpilib.math.linalg;
import org.wpilib.math.jni.EigenJNI;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.linalg.proto.MatrixProto;
import org.wpilib.math.linalg.struct.MatrixStruct;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.util.protobuf.Protobuf;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.Struct;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
import org.ejml.MatrixDimensionException;
import org.ejml.data.DMatrixRMaj;
@@ -23,6 +13,16 @@ import org.ejml.dense.row.NormOps_DDRM;
import org.ejml.dense.row.factory.DecompositionFactory_DDRM;
import org.ejml.interfaces.decomposition.CholeskyDecomposition_F64;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.jni.EigenJNI;
import org.wpilib.math.linalg.proto.MatrixProto;
import org.wpilib.math.linalg.struct.MatrixStruct;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.util.protobuf.Protobuf;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.Struct;
import org.wpilib.util.struct.StructSerializable;
/**
* A shape-safe wrapper over Efficient Java Matrix Library (EJML) matrices.

View File

@@ -4,6 +4,8 @@
package org.wpilib.math.linalg;
import java.util.Objects;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N10;
import org.wpilib.math.numbers.N2;
@@ -16,8 +18,6 @@ import org.wpilib.math.numbers.N8;
import org.wpilib.math.numbers.N9;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import java.util.Objects;
import org.ejml.simple.SimpleMatrix;
/** A class for constructing vectors (Nx1 matrices). */
public final class VecBuilder {

View File

@@ -4,18 +4,18 @@
package org.wpilib.math.linalg;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N3;
import java.util.Objects;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.proto.VectorProto;
import org.wpilib.math.linalg.struct.VectorStruct;
import org.wpilib.math.numbers.N1;
import org.wpilib.math.numbers.N3;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.util.protobuf.Protobuf;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.Struct;
import org.wpilib.util.struct.StructSerializable;
import java.util.Objects;
import org.ejml.simple.SimpleMatrix;
/**
* A shape-safe wrapper over Efficient Java Matrix Library (EJML) matrices.

View File

@@ -6,9 +6,9 @@ package org.wpilib.math.linalg.proto;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.proto.Wpimath.ProtobufMatrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.proto.Wpimath.ProtobufMatrix;
import org.wpilib.util.protobuf.Protobuf;
import us.hebi.quickbuf.Descriptors.Descriptor;

View File

@@ -4,12 +4,12 @@
package org.wpilib.math.linalg.proto;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.proto.Wpimath.ProtobufVector;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.util.protobuf.Protobuf;
import org.ejml.simple.SimpleMatrix;
import us.hebi.quickbuf.Descriptors.Descriptor;
public final class VectorProto<R extends Num> implements Protobuf<Vector<R>, ProtobufVector> {

View File

@@ -4,12 +4,12 @@
package org.wpilib.math.linalg.struct;
import java.nio.ByteBuffer;
import org.wpilib.math.linalg.MatBuilder;
import org.wpilib.math.linalg.Matrix;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
public final class MatrixStruct<R extends Num, C extends Num> implements Struct<Matrix<R, C>> {
private final Nat<R> m_rows;

View File

@@ -4,12 +4,12 @@
package org.wpilib.math.linalg.struct;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.math.linalg.Vector;
import org.wpilib.util.struct.Struct;
import java.nio.ByteBuffer;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.util.Nat;
import org.wpilib.math.util.Num;
import org.wpilib.util.struct.Struct;
public final class VectorStruct<R extends Num> implements Struct<Vector<R>> {
private final int m_rows;

View File

@@ -4,13 +4,13 @@
package org.wpilib.math.path;
import org.wpilib.math.util.Num;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.optimization.SimulatedAnnealing;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.ToDoubleBiFunction;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.linalg.Vector;
import org.wpilib.math.optimization.SimulatedAnnealing;
import org.wpilib.math.util.Num;
/**
* Given a list of poses, this class finds the shortest possible route that visits each pose exactly

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.spline;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.spline.proto.CubicHermiteSplineProto;
import org.wpilib.math.spline.struct.CubicHermiteSplineStruct;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import org.ejml.simple.SimpleMatrix;
/** Represents a hermite spline of degree 3. */
public class CubicHermiteSpline extends Spline implements ProtobufSerializable, StructSerializable {

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.spline;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.spline.proto.QuinticHermiteSplineProto;
import org.wpilib.math.spline.struct.QuinticHermiteSplineStruct;
import org.wpilib.util.protobuf.ProtobufSerializable;
import org.wpilib.util.struct.StructSerializable;
import org.ejml.simple.SimpleMatrix;
/** Represents a hermite spline of degree 5. */
public class QuinticHermiteSpline extends Spline

View File

@@ -4,11 +4,11 @@
package org.wpilib.math.spline;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
import java.util.Arrays;
import java.util.Optional;
import org.ejml.simple.SimpleMatrix;
import org.wpilib.math.geometry.Pose2d;
import org.wpilib.math.geometry.Rotation2d;
/** Represents a two-dimensional parametric spline that interpolates between two points. */
public abstract class Spline {

Some files were not shown because too many files have changed in this diff Show More