2023:Programming
From 1511Wookiee
Jump to navigationJump to search
Resources:
Robot code Github
https://github.com/frc1511/thunderbot2023
1511's Github
Programming Documentation
Old Robot Code
http://www.svn.penfieldrobotics.com/
Plans for Student Assignments
Lift: Calla / Mustafa / Yaqoub
Grabber: Calla / Charlie
Controls: Will!!!
Auto: Peter
Vision: Peter
Dashboard: Peter
1/19
- Pseudo code for lift, grabber, and gamepiece mechanism controller functions
- Implemented empty controller functions in code
1/21
- More pseudo code for lift, grabber, and gamepiece mechanisms
- Implemented functions for lift, grabber, and gamepiece mechanisms
- Started mapping out controls with the drive team
1/24
- Drew out map of driver, aux, and manual aux controller button layouts
- Implemented aux and manual aux controls code
1/26
- Implemented pivot and extension motor configuration functions for lift and grabber mechanisms
- Added travel preset to lift
- After game piece acquisition, set the lift to travel preset
1/28
- Added feedback for drive, lift, grabber, and game piece mechanisms
- Added encoders for the lift mechanism
- Worked on Autonomous configuration page in Dashboard
1/29
- Started implementing wrist mechanism
- Blocked out Autonomous paths in ThunderAuto
- Worked on making feedback more consistent between mechanisms
1/31
- More work on wrist mechanism
2/1
- Added drive align to grid command
- Played with controlling PS5 controller adaptive triggers, led colors, and rumble
2/2
- Added basic support to Dashboard to control PS5 controller features (rumble, led colors, adaptive triggers) over Network Tables
2/3
- Added pivot-only control option for lift
- Fixed GamePiece logic problems
- Clamped lift position
2/4
- Tested code on Test Board!
- Added TalonSRX motor controller API wrappers for testing
- Fixed wrist logic in combination with lift to prevent it from hitting the ground
2/7
- Added GamePiece functions for Autonomous control
2/8
- Decided to start working on sending PS5 controller input from Dashboard instead of Driver Station to prevent possible issues with two programs talking to them at the same time
- Decided to send PS5 controller input using TCP sockets instead of Network Tables to increase speed and reduce failure points
2/9
- Continued working on TCP networking for sending PS5 controller input / output
2/11
- Got TCP networking working for sending PS5 controller input to robot from Dashboard and output to Dashboard from robot
- Tested Bluetooth control - don't worry Jeff, its just for testing and demos
2/12
- Updated PS5 controller networking to use only one port for both controllers instead of one for the driver and one for aux
- Started re-implementing RollingRaspberry communication to use TCP sockets instead of Network Tables
2/13
- Finished re-implementing RollingRaspberry networking
- Worked on resolving pose ambiguities and pose validation from vision results
2/14
- Deliberated over physics problems
- Ramped extension speed of lift
2/15
- Fixed PS5 controller Joystick problems
- Re-wrote ADIS16470 IMU driver to access all three gyro angles, velocities, and accelerations
- Created WhooshWhoosh class
2/16
- Got the robot driving!
2/17
- Fixed a few drive issues
- Implemented WhooshWhoosh class for auto-balancing on the Charge Station
2/18
- Added UltraBrickMode class for 'Parking Brake' robot mechanism
- Tested Pneumatics on robot, got compressor working
- Added serial communication code to Dashboard for communicating with Arduino on operator controls
- Sending the alliance color and remaining match time to control the LEDs
- Also added 'Service' base class and re-structured parts of the Dashboard
2/19
- Added Controller Reference page to dashboard
- Added Grabber page to dashboard
- Presents the current GamePiece or the type of GamePiece that the robot is preparing to acquire
2/20
- Updated Dashboard robot position page to 2023 field
- Started working on Lift Dashboard page
2/21
- Finished Lift Dashboard page
- Finished electrical, started testing Grabber and Lift code on real robot!