mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
SCRIPT: Spotless Apply
This commit is contained in:
committed by
Peter Johnson
parent
c89910b7c6
commit
c48b722dac
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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> {
|
||||
|
||||
@@ -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> {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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> {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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> {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user