Team 581's offseason bot 1 code for the FRC 2023 Charged Up game.
team581 / offseason-2023-bot-1 Goto Github PK
View Code? Open in Web Editor NEWTeam 581's offseason bot 1 code for the 2023 offseason
License: Other
Team 581's offseason bot 1 code for the 2023 offseason
License: Other
Team 581's offseason bot 1 code for the FRC 2023 Charged Up game.
Blocked by:
We should add in some logging to the shoulder subsystem in robotPeriodic()
, which records a few values to help debug & tune via AdvantageKit.
The values we probably want to record are:
Blocked by #8
In preparation for robot bringup, we should make sure all the PID values for motors are set to 0, so there are no dangerous movements when we first start tuning. Swerve is the exception here, since we know the values for that are tuned properly. Everything else (shoulder, wrist, etc.) should have the PID values set to 0, if they're not already.
We can only score mid and high from a single side on the robot. We always intake from the side opposite of that.
Because scoring low doesn't require much extension of the superstructure, we can score low from the front or back of the robot.
We should make code that automatically scores on whichever side of the robot is facing toward the grids when scoring low.
So, if you're facing forward and you try scoring low, it should score on the front of the robot.
And if you're facing backwards when you try scoring low, it should score on the back of the robot.
This means that the driver won't need to worry about turning around when doing low node cycles.
Update the wrist to use Rotation2d
s instead of double
s to ensure there are no bugs from mismatched units.
Blocked by #4
We should add in some logging to the wrist subsystem in robotPeriodic()
, which records a few values to help debug & tune via AdvantageKit.
The values we probably want to record are:
Blocked by #5
Add swerve modules and swerve subsystem to Robot.java
Now that #3 is finished, we can start implementing some of the more complicated behavior.
For this feature, we want to use the intake motor's velocity to detect when game pieces enter/exit the intake, to help with automation.
Most likely we want to implement this by reading in the motor's velocity, passing it through a linear filter, and then checking if it is below/above a threshold.
We wrote very similar code to this on Spike which used the motor's current, but that was less reliable than using the sensor velocity.
Blocked by #20
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Warning
Renovate failed to look up the following dependencies: Failed to look up maven package org.junit.jupiter:junit-jupiter-api
, Failed to look up maven package org.junit.jupiter:junit-jupiter-params
, Failed to look up maven package org.junit.jupiter:junit-jupiter-engine
, Failed to look up maven package org.littletonrobotics.akit.junction:junction-autolog
.
Files affected: build.gradle
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/ci.yml
actions/checkout v4
actions/setup-java v3
gradle/wrapper-validation-action v1
actions/checkout v4
actions/setup-java v3
gradle/wrapper-validation-action v1
settings.gradle
build.gradle
edu.wpi.first.GradleRIO 2023.4.3
com.peterabeles.gversion 1.10.2
com.diffplug.spotless 6.22.0
org.junit.jupiter:junit-jupiter-api 5.8.2
org.junit.jupiter:junit-jupiter-params 5.8.2
org.junit.jupiter:junit-jupiter-engine 5.8.2
org.littletonrobotics.akit.junction:junction-autolog 2.0.0
gradle/wrapper/gradle-wrapper.properties
gradle 8.4
Instead of using the swerve we've DIY'd, use the new Phoenix 2024 API, which has a premade swerve subsystem and additional tooling for working with swerve.
https://pro.docs.ctr-electronics.com/en/latest/docs/yearly-changes/yearly-changelog.html#swerve-api
Use this spreadsheet as a reference for the CAN IDs to use on the offseason bot.
Game piece detection doesn't' work at all, it never detects the game pieces
Add current limits to the wrist motor.
We want to use a supply current limit of 35A
Blocked by:
We should add in some logging to the intake subsystem in robotPeriodic()
, which records a few values to help debug & tune via AdvantageKit.
The values we probably want to record are:
IntakeState
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.