arctos6135 / frc-2023 Goto Github PK
View Code? Open in Web Editor NEWRobot code for the 2023 FRC season Charged Up.
License: Other
Robot code for the 2023 FRC season Charged Up.
License: Other
The elevator should be able to extend to given positions automatically. The elevator subsystem should operate in two modes: position mode and raw input mode.
Shuffleboard is very resource-heavy for no good reason. Switching to smartdashboard will make programming a lot less annoying, doing quick fixes at comp faster, and hopefully lead to less stress.
Doing the switch will require going through all the uses of shuffleboard in code and replacing them with smartdashboard.
Specifically for the soft stops
Write code to rotate the arm to a specific angle. The arm subsystem should operate in two modes, PID driven to an angle (should be used all the time), and raw input driven by motor speed (if PID/the encoder breaks for whatever reason).
We should reorganize files and code as well as remove any files that are not required so that there isn't unnecessary clutter. Adding documentation is also quite important for new members so everyone is on the same page (@rynky pls do that for us ;) )
Many constants have been misplaced in incorrect files and are difficult to find when testing and fine-tuning things. We must clean up and organize all the constants into their appropriate constant files and refactor the import statements.
This is not an urgent issue, we can worry about this if we have extra time. However, fixing this can help speed up debugging and eliminate unnecessary frustration.
To minimize the operator fooling around with the controls, the operator controller should have a number buttons that move the arm to preset positions for scoring and intaking. Since we're only going to be scoring cubes, there's not many positions!
Each command should be run when the operator holds down the appropriate button; if they release it, the command should be canceled.
There should be commands for double substation and ground intake. Both commands should make sure the elevator is completely retracted (position mode), then rotate to the correct angle (PID mode) and run the intake continuously.
There should be commands for scoring a cube in mid and low. Both commands should lift the arm to the appropriate angle using PID mode, then (slowly) extend the elevator to the correct position (position mode). The claw shouldn't outtake until a separate button is pressed, as there's a decent chance the driver will need to manoeuvre the robot to get into ideal scoring position.
Our mobility auto (just driving out of the community) is very important. If we are playing with a team who is very good at balancing, it is very possible that our best auto would be to score a game piece and then do mobility. Unfortunately, right now it sucks.
The "balance a cube on the back of the robot and ram it into the grid to score" technique worked surprisingly well at Mac, the main issue was exiting the community. There is a big bump in the field on the outside of the charge station, and hitting it at speed jerks the robot and changes it's angle. At Mac this led to us crashing sideways into the charge station, stopping our teammate from balancing.
The mobility auto needs to be rewritten so the robot doesn't jerk so much while going over the bump. Since we normally have a lot of time left after mobility auto, it might be enough to fix this issue just by driving really slowly.
If driving slowly doesn't work, the robot will need to constantly steer to maintain a consistent gyro heading in order to correct changes in route.
Using the limelight for vision tracking will massively help our performance at Stemly and allow us to get experience working with the limelight at competition: it's definitely a good idea.
We can use the limelight in a couple of different ways: intaking from the ground and intaking from the double substation. Of the two, intaking from the ground will probably require less finicky calibration than from the double substation, and it's still very valuable.
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.