Commit Graph

86 Commits

Author SHA1 Message Date
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
Tyler Wilcox 9ce8f2fb34 Documentation 2026-02-01 17:39:37 -05:00
Tyler Wilcox 61fcb90730 It's working 2026-01-31 14:03:26 -05:00
Tyler Wilcox 817515901c Reorganization 2026-01-30 22:25:01 -05:00
Tyler Wilcox 8defb590f4 Possible Fix for swerve drive 2026-01-30 20:09:38 -05:00
Tyler Wilcox 51cd3df642 Fix warnings 2026-01-29 21:54:53 -05:00
Tyler Wilcox b269ce00bd organizational changes 2026-01-29 21:46:14 -05:00
Tyler Wilcox f9c7df64ba Working but offsets are busted 2026-01-29 20:53:53 -05:00
Tyler Wilcox bb59c528b7 Hopeful fixes from the second round of testing 2026-01-27 22:17:09 -05:00
Tyler Wilcox ae742134fe Working logically 2026-01-27 20:46:13 -05:00
Tyler Wilcox bc53ef3b38 Hopeful fixes from the first round of tests 2026-01-26 22:26:21 -05:00
Tyler Wilcox 604e9e7cc5 Not working... 2026-01-24 16:31:14 -05:00
Tyler Wilcox 6f233e586f Swerve Builder updates 2025-12-12 22:52:25 -05:00
Tyler Wilcox 9b7572f22e Improved Swerve Builder 2025-12-06 10:46:42 -05:00
Tyler Wilcox 5270012b74 Swerve Builder 2025-11-17 20:29:00 -05:00
Tyler Wilcox aa40781105 Initial Swerve 2025-04-02 19:04:13 -04:00
Tyler Wilcox 12bef1b6a0 Structure for sub-module 2025-03-30 11:23:49 -04:00
Tyler Wilcox dd7ac46534 Upgraded to 2025 libs 2025-01-01 18:40:54 -05:00
Tyler Wilcox df5c2de42e
Bump package version 2024-08-23 15:16:59 -04:00
Tyler Wilcox 5e5469d66a
Update build.gradle for new PhotonVision tag 2024-08-23 15:10:12 -04:00
Tyler Wilcox 2714f9f074 New versioning scheme 2024-01-10 16:28:58 -05:00
Tyler Wilcox 4283995146 Upgraded dependencies to 2024 2024-01-09 21:08:25 -05:00