Conversation
Replace fuzzy isNear(...) checks with direct threshold comparisons for hopper position detection. isRetracted now returns true when angle >= 130° and isDeployed returns true when angle <= 1°, removing the previous ±10° tolerance and using deterministic one-sided thresholds.
* Use threshold checks for intake hopper angle Replace fuzzy isNear(...) checks with direct threshold comparisons for hopper position detection. isRetracted now returns true when angle >= 130° and isDeployed returns true when angle <= 1°, removing the previous ±10° tolerance and using deterministic one-sided thresholds. * Swap Driver Button * Build * Increase angle on isDeployed check by 100% * Added Extra Datapoints in Calibration for Shuttle --------- Co-authored-by: Kyle Heaton <kyle.f.heaton@gmail.com> Co-authored-by: 5010 Tiger Dynasty <roboticsteam.fhs@gmail.com>
…uilt2026 into Columbus-Integration
Columbus integration - Back to Rebuilt
Only run intake down when needed and timeout indexer
… into TheGrandFinale
… into TheGrandFinale Co-authored-by: Copilot <copilot@github.com>
… into TheGrandFinale
… into TheGrandFinale
The grand finale
Several fixes and safety improvements to the launcher subsystem and related commands: - Bump build metadata (GIT_REVISION, SHA, branch, build date/time, DIRTY). - Launcher: store the turret profile Notifier in a field (turretProfileNotifier) and start it at 200Hz to ensure the smart turret profile task is kept alive correctly. - LauncherIO: add a default getFlywheelUpperLimit() fallback (6000 RPM) and implement it in LauncherIOReal to return the configured upper soft limit when available. - Launcher: use io.getFlywheelUpperLimit() in increaseFlywheelSpeedCommand() to respect configured soft limits instead of a hard-coded 300 RPM. - LauncherCommands: add a hammerTime -> IDLE transition and rework indexer idling trigger to only fire when leaving PREP states (prevents races where negated triggers were true in all non-PREP states). - ShotCalculator: avoid commanding the hood to 0 radians when the shot table has no entry; preserve last valid hood angle or expose NaN so callers can detect invalid state and avoid driving the mechanism into its hard stop. - SmartTurretController: inject an explicit acceleration feedforward term (convert rad/s² → rot/s²) and combine it with ks before applying feedforward; use correct velocity accessor and improve feedforward safety handling. - LauncherIOReal: remove unused fields/imports, fix unit conversions for system identification to RadiansPerSecond, minor cleanup. These changes improve safety (preventing bad hood commands and enforcing flywheel soft limits), reduce control races, and improve turret tracking performance by adding acceleration feedforward.
Add a CLI utility and Gradle tasks to analyze AdvantageKit .wpilog files and improve headless replay handling. Changes include: - Add org.frc5010.common.util.LogSummary: reads .wpilog files, prints entries, numeric stats, and anomaly flags (vision, gyro, current, loop overruns). - Add Gradle tasks logSummary and replayValidate to run LogSummary and to find the latest _sim.wpilog in logs/. - Forward the -Plog Gradle property to the JVM as system property 'log' and disable GUI/DriverStation in replay mode. - Update Constants to auto-detect REPLAY mode from the 'log' system property or AKIT_LOG_PATH env var. - Update Robot to prefer the explicit log path (system property/env var) before falling back to LogFileUtil.findReplayLog() to avoid interactive prompts during headless runs. - Add CLAUDE.md with repository guidance and a .mcp.json config file. These changes enable automated replay validation, safer headless replay runs, and a quick summary command for diagnosing swerve/vision-related issues.
Adjust simulation-specific SwerveModuleConstants: import ClosedLoopOutputType and switch both steer and drive closed-loop outputs to Voltage. Disable encoder offsets and motor/encoder inversions for sim, install sim‑tuned Voltage PID/gains for steer (kP=70, kV=1.91) and drive (light Voltage gains + feedforward), and raise friction voltages to better match maple-sim behavior. Expanded Javadoc explains rationale: real robot uses TorqueCurrentFOC (amps) from JSON which is not appropriate for Voltage closed-loop in simulation, so gains and output type are overridden; steer gear ratio is intentionally left to flow from JSON (previous hardcoded override removed).
The grand finale
Brings in launcher safety fixes: turret notifier, flywheel limit, and related safety handling. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ld2MQQtGsEUdASxhCvjsu1
Add log-summary tool and replay support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Setting up a new computer