2025:Programming
1/7/25
- Discussed future programming activities
- Talked about vision and what to do with potential libraries to prevent unnecessary work year after year
- Planned out tomorrow activities with Limelight, Swerve building, and organizing groups for different parts of the program
1/8/25
- Updated a Limelight on the TestBoard
- Able to detect all 22 Apriltags using our 4 Limelights
- Found potential for object detection for Auto
- Reviewed vision
- Trajectory needs to be reviewed
- Reviewed Strategy Mind Map requirements (however couldn't find the Mind Map)
- Discussed automating elements of game play such as aligning to branches and possibly automated driving during Teleop
- Current top objective for vision is to align to the target and drive towards it; see here
- Discussed need for interviews and intervening with different mechanical groups to make sure they align with Strategies goals and are achievable
- Split into different groups for different mechanisms to interview/intervene what the design does and if it is reasonable
- Eleanor/Gracie- Elevator
- Ben- Game Piece
- Mason- Drive
- Yaqoub- Hang
- Team- LED/Robot Control (dashboard)
- Team- Auto
- Discussed reusing coding and making things less about the year and more about the abstraction for future years
- Vision- Changes every year
- Game Piece- Changes each year
- Submodule where things are distinct from the rest of the robot code- Reusable every year
1/9/25
Today we talked about swerve drive and the code to make it work. We didn't talk about trajectory nor any of the specific code required for pose estimation and field-centric driving. We took note that the swerve module class will need to be updated and modified to work with kracken x60s, as they use a TalonFx and should work with the CTRE libraries. Later in the night we began to implement the Drive class but did not get far, only starting the h file. When programming the drive class we discussed the functions from 2024:manualControlRelRotation
and manualControlAbsRotation.
We discovered that these functions did different things and had discussed what the Abs rotation accomplished. It was concluded that Abs rotation accomplishes matching the robots angle with the angle that the rotation joystick is making while the rel rotation will continue rotating in the direction that the joystick is pointing. In the 2025 we plan to combine these 2 functions into one and use the flags argument to mark this functionality.
1/11/25
- Interviewed different prototype groups to confirm they align with Strategy's goals and are possible
- GamePiece: Two main prototypes
- 1st: Two metal bars with wheels on each. Intakes coral vertically. Requires two motors and potentially have each motor at different speeds for intakes/outtakes.
- 2nd: A lot of wheels that funneled down with the coral intaking vertically. Outer wheels with capability to intake algae. Requires two motors.
- Hang: 1 prototype being worked on
- Lifter that that drives down to hang the robot. Based on a robot from three days. Requires two motors.
- Finished first iteration of drive code. Didn't test the drive code due to CANchain complications.
- CANchain was fixed.
- Assigned CAN IDs to everything.
- Drive Turn CAN (ALPHA BOT) (may not be up to date):
ID 1 front left drive ID 2 front left turn ID 3 front left CAN ID 4 front right drive ID 5 front right turn ID 6 front right CAN ID 7 back right drive ID 8 back right turn ID 9 back right CAN ID 10 back left drive ID 11 back left turn ID 12 back left CAN ID 1 PDP ID 14 Pigeon
1/12/25
Programming suffered through fixing swerve today. We validated the swerve drives through phoenix tuner. Also, you can adjust hardcoded CANcoder offsets through phoenix tuner. The More You Know, I guess
Put new radio on AlphaBot
AlphaBot drive is okay, turn is not okay :(
1/14/25
Outlined a codebase for this year, not complete yet.
Fixed and debugged swerve drive relatively works.
1/15/25
implemented field centric driving and brick mode.
Pigeon needed to be inverted (*-1).
1/18/25
Update odometry and position on field with limelight (on alpha bot) works.
1/19/25
Worked on Gamepiece code. Fixed drive/trajectories. EDIT: Later we got gamepiece functional code-wise on the testboard. Started elevator code, did not test.
1/21/25
Tested swerve drive and auto on the ground, found a bunch of problems. Tele op drive is good.
1/25/25
Reviewed IOmap and updated assignments
Reviewed elevator code and changed it to use PID and added more cool stuff
Review of the integration updates
Review of game piece code
Fixed swerve and trajectory code, couldn't finish some things because of ThunderAuto bug
Programming got a lot done today! :D
1/26/25
Implemented Limelight/April tag integration with drive code
1/28/25
Started Wrist (for Gamepiece) code.
Started testing with latest Thunderauto Update.
Fleshed out Elevator code more.
1/30/25
Worked on PID on drive and elevator.
Decided elevator is going to use P.
Worked on and commit elevator code.
2/1/25
programming saved the day and did a bunch of mechanical stuff (evil laugh). Additionally, we wrote some autos, worked a little on elevator, and started work on actions in auto.
2/2/25
programming worked on limelight code and elevator code today.
elevator code now does:
- when enabled, goes down until reaches lower limit switch then 0's itself and stops moving (waits until further instructions)
- has a manual control option (can go up and down, doesn't move to presets)
- ready for real robot testing (probably safe).
Additionally, updated wpilib versions on all (I think) laptops.
2/4/25
Wrote code for hang
Reviewed all the code and tuned it to be better
2/5/25
Switched Gamepiece to PWM and cleaned up a bit
Made a limelight4 mount in CAD
2/6/25
Added a Gamepiece class for general Gamepiece control, made small fixes
2/8/25
Worked on some github issues, mainly gamepiece. I think Yaqoub worked on hang. Initial LL4 testing. Started elevator formula, permalink (hopefully) here.https://www.desmos.com/calculator/ck22fodlsf
2/9/25
Implemented NEURALIZE (blinking white 3 times to signal to coral station) with LEDs, tested on test board. Learned how to do alerts in elastic. Chipped away at drive slowdown based on elevator.
2/11/25
Evaluated Hang code and implemented elevator led pattern, lost Coder Cat :(
2/13/25
Added alerts and improved the LED code, and merged Hang into Gamepiece
2/15/25
Made sure CAN chain for Fishteen Eleven Rowing Thunder is okay, updated firmware. Found Coder Cat! :)