Skip to content

Commit

Permalink
build season backport (#36)
Browse files Browse the repository at this point in the history
## 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


## Swerve ##
* add accessor for drive motor current


## 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


## 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


## 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)
  • Loading branch information
gcschmit authored Jun 3, 2023
1 parent 2e8fe61 commit fa0fe19
Show file tree
Hide file tree
Showing 53 changed files with 4,321 additions and 1,220 deletions.
15 changes: 14 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,15 @@
"cSpell.words": [
"APRILTAG",
"algs",
"brushless",
"Cancoder",
"canbus",
"CANID",
"CANIDs",
"chargedup",
"closedloop",
"CTRE",
"curr",
"DEADBAND",
"Feedforward",
"gamepad",
Expand All @@ -46,19 +51,27 @@
"Huskie",
"jama",
"javac",
"leds",
"Nivore",
"odometry",
"openloop",
"photonvision",
"PIDF",
"rapidreact",
"REVPHJNI",
"rezero",
"scurve",
"Sedgewick",
"setpoint",
"SIMBOT",
"Teleop",
"teleoperated",
"TRACKWIDTH",
"tunables",
"Vandermonde",
"Xstance"
"VBAT",
"WPILOG",
"Xstance",
"YUYV"
]
}
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id "java"
id "edu.wpi.first.GradleRIO" version "2023.2.1"
id "edu.wpi.first.GradleRIO" version "2023.4.3"
id 'com.diffplug.spotless' version '6.11.0'
id "com.peterabeles.gversion" version "1.10"
}
Expand Down Expand Up @@ -71,7 +71,8 @@ dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'

annotationProcessor "org.littletonrobotics.akit.junction:junction-autolog:2.0.0"
def akitJson = new groovy.json.JsonSlurper().parseText(new File(projectDir.getAbsolutePath() + "/vendordeps/AdvantageKit.json").text)
annotationProcessor "org.littletonrobotics.akit.junction:junction-autolog:$akitJson.version"

implementation "gov.nist.math:jama:1.0.3"
}
Expand Down
Loading

0 comments on commit fa0fe19

Please sign in to comment.