Ray Healy
f1588acd3e
trajectory/ballistics/calculators/BCResultTest: Added unit test
2026-03-14 12:12:59 -04:00
Ray Healy
93aa5b7430
trajectory/ballistics/calculators: Docs + reorganization
...
- BCResult: Define a static no solution record
- Refactor evalSingleCandidate into BallisticCalculator
- getCandidatePenalty() made private
2026-03-14 12:08:27 -04:00
Ray Healy
138dfc5d7f
trajectory/ballistics/calculators/BCResult: Make into a record class
2026-03-14 09:53:06 -04:00
Ray Healy
800940c2d7
trajectory/ballistics/models: Update documentation
2026-03-14 09:37:23 -04:00
Ray Healy
ef977386d9
trajectory/ballistics/constraints: Update documentation
2026-03-14 09:37:23 -04:00
Ray Healy
df022beb0e
trajectory/Velocity3d: Update documentation
2026-03-14 09:37:23 -04:00
Ray Healy
6d0a935ee5
Util: Update documentation
2026-03-03 20:27:02 -05:00
Ray Healy
00342a98fd
trajectory/ballistics/constraints/
...
HeightAtPositionBC: Added unit test module
Also, manually invoke the ReversableRadialBM
handler if type check passes
2026-02-28 08:44:20 -05:00
Ray Healy
afdfed6fd5
trajectory/ballistics/models/ConstantBM: Save args
2026-02-28 08:43:04 -05:00
Ray Healy
7b01f013e7
trajectory/ballistics/models/SimpleBM: Define
...
simple, non-reversable BM
2026-02-26 20:00:32 -05:00
Ray Healy
b4e178ac7c
trajectory/ballistics/constraints/
...
RobotLauncherVelBC: Added testing for
RobotLauncherVelBC
Also, use getSpeed() instead of
getSphericalVelocity()
2026-02-26 18:39:50 -05:00
Ray Healy
22768bbddd
trajectory/ballistics/constraints/BallisticConstraintTest: Base testing module for ballistic constraints
2026-02-21 16:53:27 -05:00
Ray Healy
f0835e88d5
trajectory/Velocity3d: Remove caching of
...
cylindrical and spherical coordinates from
non-cartesian constructors
Effectively bounds azimuth to (-180, 180) and
elevation to (-90, 90) due to order of operations and the definition of atan2.
2026-02-21 16:31:40 -05:00
Ray Healy
dfefcd4c1a
trajectory/ballistics/models/ConstantBM: Define
...
a default constructor (from (0, 0, 0) to (0, 0, 0))
2026-02-21 15:29:20 -05:00
Ray Healy
3f60a91184
trajectory/ballistics/constraints/BCEvalParams:
...
Define generators for candidate shooter velocity
(field and robot relative)
2026-02-21 15:28:20 -05:00
Ray Healy
5617a3a91b
trajectory/Velocity3d: New (tested) features
...
- Define plus() transform function
- rename getSphericalVelocity() to getSpeed()
- Define genSpherical() generator (mapper to
spherical constructor from doubles).
- Define toStringSpherical() (Outputs Velocity3d
string w/ spherical coordinates)
2026-02-21 15:09:12 -05:00
Ray Healy
41d878dab8
trajectory/ballistics/constraints/BCEvalParams:
...
Define toString and HashCode
2026-02-21 09:57:53 -05:00
Ray Healy
c6d6b5ac0b
trajectory/ballistics/models: Defined
...
ConstantBM
Spits out constant responses to values
2026-02-14 16:38:06 -05:00
Ray Healy
6ee69238fe
trajectory/ballistics/constraints: Add tests for
...
computed vectors
2026-02-14 16:37:37 -05:00
Ray Healy
cc7f85a60f
trajectory: Define Velocity3d.zero as static 0
...
vector
2026-02-14 16:36:52 -05:00
Ray Healy
d4db802700
UtilTest: Added unit tests for Util.java
2026-02-14 15:11:09 -05:00
Ray Healy
a0eb653afd
trajectory/ballistics/constraints: Added
...
HeightAtPositionBC
Checks that z value is above a given minimum at
a given X, Y, or target radial position
2026-02-14 15:04:00 -05:00
Ray Healy
21f4a1100e
trajectory/ballistics/models: Added launch and
...
field relative ReversableRadialBM for
getTimeAt[XY]
2026-02-14 15:02:27 -05:00
Ray Healy
e171339c5c
trajectory/ballistics/constraints: Added
...
RobotLauncherVelBC
Constrains robot-relative spherical velocity
components
2026-02-14 14:01:17 -05:00
Ray Healy
66150eea99
trajectory/ballistics/models: Reorganize getters
...
Moved targetPosRelative and
relativeHorazontalDistance calc and getters into
BallisticModel.java
2026-02-14 13:58:31 -05:00
Ray Healy
ef6a02cffc
lib/RoboLib/ballistics/constraints:
...
BallisticConstraint.evaluate() may throw
BallisticException
2026-02-14 13:57:02 -05:00
Ray Healy
126a8dd83b
lib/RoboLib/Util: Define a utility abstract class
...
Holds utility functions
2026-02-14 13:52:57 -05:00
Ray Healy
9d8d9dd8f6
lib/RoboLib/ballistics/models: Added unit test
...
for ParabolicTimeOfFlightBM
- Added getters for internal state
- Fixed ReversableRadialBM.getTimeAt[XY]() (was
missing correction for launch position)
- Fixed
ParabolicTimeOfFlightBM.getCandidateVelocity()
(was adding gravity factor instead of subtracting)
2026-02-14 11:24:38 -05:00
Ray Healy
e7a314c0eb
lib/RoboLib: Removed LibraryTest
2026-02-14 11:20:40 -05:00
Ray Healy
aaaef29027
src/robolib/ballistics/ParabolictimeOfFlightBM: Renamed from SimpleTOFBM
2026-02-14 09:32:22 -05:00
Ray Healy
d755b3b411
lib/build.gradle: Add additional wpilib deps
2026-02-14 09:31:44 -05:00
Ray Healy
6dfea76969
src/robolib/trajectory/Velocity3dTest: Defined unit
...
tests for Velocity3d
Also, implement fixes for bugs found in test bringup
2026-02-14 08:36:57 -05:00
Ray Healy
b7ee757181
src/robolib/trajectory/ballistics: Added
...
HillDescentBallisticCalculator class
Uses a hill descent algorithm
2026-02-10 20:39:27 -05:00
Ray Healy
f6aed3036b
src/robolib/trajectory/ballistics: Use
...
paramComputedReset() in
GreedyBallisticCalculator
2026-02-10 20:38:56 -05:00
Ray Healy
3ddd3a5ff6
src/robolib/trajectory/ballistics: Defined seen
...
param tracking for BallisticModel.
Implemented for SimpleTOFBM
2026-02-10 20:38:21 -05:00
Ray Healy
80a7626c00
src/robolib/trajectory/ballistics: Added function to
...
get total travel time for ReversableRadialBM
Feeds posTarget.getMeasureX() into
this.getTimeAtX()
2026-02-10 20:37:14 -05:00
Ray Healy
f49d8434aa
src/robolib/trajectory/ballistics: Define GreedyballisticCalculator
...
Takes the first valid solution (if any)
2026-02-10 19:45:26 -05:00
Ray Healy
f8cfd19747
src/robolib/trajectory/ballistics: BCResult Combines Penalty and BCEvalParams
2026-02-10 19:39:18 -05:00
Ray Healy
7c7b44d3e4
src/robolib/trajectory/ballistics: BCEvalParams
...
updated nomenclature
Also, getCandidateShooterVelocityRelative() uses
Velocity3d.rotate()
2026-02-10 19:38:30 -05:00
Ray Healy
2056de0a1a
src/robolib/trajectory/ballistics/models:
...
Implemented a simple parabolic ballistic model
with ToF as a param
Also require a function that provides an initial
param in BallisticModel
2026-02-10 19:36:51 -05:00
Ray Healy
167fa8dfd6
src/robolib/trajectory/Velocity3d.java: Updates
...
- Rename getV[XYZ]() to get[XYZ]Velocity()
- Added a rotation transform
2026-02-10 19:34:36 -05:00
Ray Healy
f1c80233f0
src/robolib/trajectory/ballistics: Basic impl of calculator base class
...
- BallisticCalculator.java: The base class for
calculating solutions
- BCResult.java: Holds computed solution and
related values
- BCEvalParams.java: Stores and computes values
used in candidate evaluation
- BallisticConstraint.java: evaluate() takes
BCEvalParams
2026-02-10 17:06:11 -05:00
Ray Healy
d43b337f1e
src/robolib/trajectory/Velocity3d.java: Tweaks
...
- getSquareMagnitude() returns double in
m^2s^-2 (no pre-defined unit)
- define getVeritcalVelocity() as an alias of getVZ()
2026-02-10 17:02:07 -05:00
Ray Healy
3bd243f689
src/robolib/trajectory/ballistics/constraints: Define base class for constraints
2026-02-10 16:00:39 -05:00
Ray Healy
28baddac58
src/robolib/trajectory/ballistics/exceptions: Define base class for exceptions
2026-02-10 16:00:19 -05:00
Ray Healy
b789882d41
src/robolib/trajectory/ballistics/models: Define base classes for ballistic models
2026-02-10 15:59:39 -05:00
Ray Healy
25e291091e
src/robolib/trajectory/Velocity3d.java: Add cached getter for squared velocity magnitude
2026-02-10 15:59:00 -05:00
Ray Healy
e9e111f1c4
src/robolib/trajectory/Velocity3d.java: hashCode(), toString(), and equals()
2026-02-10 11:48:09 -05:00
Ray Healy
959023b2df
src/robolib/trajectory/Velocity3d.java: Defined a 3d velocity vector
...
- Allow allocation in and conversion to cartesian, cylindrical, and spherical coordinates
2026-02-10 11:47:58 -05:00
Tyler Wilcox
f90e2ac04d
Fix Javadoc errors
2026-02-01 17:49:29 -05:00