Skip to content

Rebuilt - #37

Open
pkatzfey wants to merge 659 commits into
mainfrom
Rebuilt
Open

Rebuilt#37
pkatzfey wants to merge 659 commits into
mainfrom
Rebuilt

Conversation

@pkatzfey

@pkatzfey pkatzfey commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Setting up a new computer

5010TigerDynasty and others added 30 commits March 16, 2026 19:52
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>
Columbus integration - Back to Rebuilt
Only run intake down when needed and timeout indexer
Rguo1234 and others added 30 commits April 30, 2026 09:54
… into TheGrandFinale

Co-authored-by: Copilot <copilot@github.com>
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).
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.