lib/RoboLib/ballistics/constraints:
BallisticConstraint.evaluate() may throw BallisticException
This commit is contained in:
parent
126a8dd83b
commit
ef6a02cffc
|
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
|||
import org.fairportrobotics.frc.robolib.trajectory.Velocity3d;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.constraints.BCEvalParams;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.constraints.BallisticConstraint;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.exceptions.BallisticException;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.models.BallisticModel;
|
||||
|
||||
import edu.wpi.first.units.measure.Angle;
|
||||
|
|
@ -53,7 +54,7 @@ public abstract class BallisticCalculator {
|
|||
Velocity3d robotVelocity,
|
||||
Angle robotAngle,
|
||||
Velocity3d shooterVelocity
|
||||
) {
|
||||
) throws BallisticException {
|
||||
return this.computeSolution(
|
||||
model, model.getInitParam(), robotVelocity, robotAngle, shooterVelocity
|
||||
);
|
||||
|
|
@ -78,7 +79,7 @@ public abstract class BallisticCalculator {
|
|||
Velocity3d robotVelocity,
|
||||
Angle robotAngle,
|
||||
Velocity3d shooterVelocity
|
||||
);
|
||||
) throws BallisticException;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -93,7 +94,7 @@ public abstract class BallisticCalculator {
|
|||
*/
|
||||
protected <M extends BallisticModel<P>, P> Double evaluateCandidate(
|
||||
M model, BCEvalParams evalParams
|
||||
) {
|
||||
) throws BallisticException {
|
||||
// Get the weight component for velocity difference
|
||||
Velocity3d velShooterDiff =
|
||||
evalParams.getCandidateShooterVelocity().minus(evalParams.getCurrentShooterVelocity());
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import java.util.LinkedList;
|
|||
|
||||
import org.fairportrobotics.frc.robolib.trajectory.Velocity3d;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.constraints.BCEvalParams;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.exceptions.BallisticException;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.models.BallisticModel;
|
||||
|
||||
import edu.wpi.first.units.measure.Angle;
|
||||
|
|
@ -21,7 +22,7 @@ public class GreedyBallisticCalculator extends BallisticCalculator {
|
|||
Velocity3d robotVelocity,
|
||||
Angle robotAngle,
|
||||
Velocity3d shooterVelocity
|
||||
) {
|
||||
) throws BallisticException {
|
||||
model.paramComputedReset();
|
||||
|
||||
LinkedList<P> candidate_params = new LinkedList<>();
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package org.fairportrobotics.frc.robolib.trajectory.ballistics.calculators;
|
|||
|
||||
import org.fairportrobotics.frc.robolib.trajectory.Velocity3d;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.constraints.BCEvalParams;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.exceptions.BallisticException;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.models.BallisticModel;
|
||||
|
||||
import edu.wpi.first.units.measure.Angle;
|
||||
|
|
@ -18,7 +19,7 @@ public class HillDescentBallisticCalculator extends BallisticCalculator {
|
|||
Velocity3d robotVelocity,
|
||||
Angle robotAngle,
|
||||
Velocity3d shooterVelocity
|
||||
) {
|
||||
) throws BallisticException {
|
||||
Velocity3d candidateVelocity = model.getCandidateVelocity(modelParam);
|
||||
BCEvalParams evalParams = new BCEvalParams(robotVelocity, robotAngle, shooterVelocity, candidateVelocity);
|
||||
return new BCResult(this.evaluateCandidate(model, evalParams), evalParams);
|
||||
|
|
@ -30,7 +31,7 @@ public class HillDescentBallisticCalculator extends BallisticCalculator {
|
|||
Velocity3d robotVelocity,
|
||||
Angle robotAngle,
|
||||
Velocity3d shooterVelocity
|
||||
) {
|
||||
) throws BallisticException {
|
||||
model.paramComputedReset();
|
||||
|
||||
P bestParam = initParam;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package org.fairportrobotics.frc.robolib.trajectory.ballistics.constraints;
|
||||
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.exceptions.BallisticException;
|
||||
import org.fairportrobotics.frc.robolib.trajectory.ballistics.models.BallisticModel;
|
||||
|
||||
|
||||
public abstract class BallisticConstraint {
|
||||
protected double weight;
|
||||
|
||||
|
|
@ -51,5 +51,5 @@ public abstract class BallisticConstraint {
|
|||
*/
|
||||
public abstract <M extends BallisticModel<P>, P> Double evaluate(
|
||||
M model, BCEvalParams evalParams
|
||||
);
|
||||
) throws BallisticException;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue