3061 Lib v2023.1.0
This release is a back port of Huskie Robotics' code for the 2023 season. The changes are categorized by topic in rough order of significance.
Vision
- add support for multiple cameras
- add support for transforming coordinate system based on alliance color
- add support for disabling vision subsystem
- calculate standard deviation based on distance to target when adding vision measurement to pose estimator
- add support to check if pose estimator has converged to vision-determined pose
- add support to only add vision measurement to pose estimator if within distance threshold to tag
- use getTimestampSeconds method instead of getLatencyMillis method to timestamp results per recommendation
- add support to reset pose estimator based on pose derived from visible tag
Drivetrain
- add slow-mode feature (robot velocities are scaled down when enabled)
- add pitch and roll to gyro io inputs
- add support to enable coast mode only after disabled for specified period of time
- change default to field-relative mode
- add accessors for yaw, pitch, and roll from gryo
- add support to force field-relative driving
- add accessor for average swerve module drive current
Move to Pose
- add move-to-pose command to generate autonomous paths on-the-fly
- add Field2d and Region2d classes to model field as a collection of regions with transition points between regions
- add support for generating a path between two poses using Field2d
Commands
- add drive-to-pose command (closed loop straight-line motion to pose)
- add rotate-to-angle command (closed loop rotational setpoint with optional driver-controlled translational motion)
- add configurable acceleration limiting to TeleopSwerve command
Swerve
- add accessor for drive motor current
Subsystem
- add generic subsystem as an example
Autonomous
- add support for transforming paths based on alliance color
- add "auto" path for empirically determining wheel diameter
- add "auto" path for setting initial pose to facilitate testing
- add "auto" path for tuning auto PID controllers
Operator Interface
- add operator interface consisting of 2 joysticks, xBox controller, and custom operator button panel
SparkMAXFactory
- initial release
TalonFXFactory
- add support to configure forward and backward peak output
- add support to configure brushless current status frame period
- add support to configure remote sensors
- add support to configure motion magic and motion profiling
Robot
- add support to check alliance color and trigger updates
Misc
- improve and add Javadoc comments
- incorporate 6328's field constants
- remove 2022 robot; add 2023 robot
- add words to spelling dictionary
- update to latest wpilib and vendor dependencies
- remove 2022 AprilTag field layout
- remove CANDeviceFinder and associated classes (incompatible with CANivore)