2023:Programming: Difference between revisions
From 1511Wookiee
Jump to navigationJump to search
Programming (talk | contribs) (Updated programming page) Tag: visualeditor |
Programming (talk | contribs) (Updated Programming Wiki) Tag: visualeditor |
||
Line 29: | Line 29: | ||
<u>Dashboard:</u> Peter | <u>Dashboard:</u> Peter | ||
=== 1/19 | === 1/19 === | ||
* Pseudo code for lift, grabber, and gamepiece mechanism controller functions | * Pseudo code for lift, grabber, and gamepiece mechanism controller functions | ||
* Implemented empty controller functions in code | * Implemented empty controller functions in code | ||
=== 1/21 | === 1/21 === | ||
* More pseudo code for lift, grabber, and gamepiece mechanisms | * More pseudo code for lift, grabber, and gamepiece mechanisms | ||
* Implemented functions for lift, grabber, and gamepiece mechanisms | * Implemented functions for lift, grabber, and gamepiece mechanisms | ||
* Started mapping out controls with the drive team | * Started mapping out controls with the drive team | ||
=== 1/24 | === 1/24 === | ||
* Drew out map of driver, aux, and manual aux controller button layouts | * Drew out map of driver, aux, and manual aux controller button layouts | ||
* Implemented aux and manual aux controls code | * Implemented aux and manual aux controls code | ||
=== 1/26 | === 1/26 === | ||
* Implemented pivot and extension motor configuration functions for lift and grabber mechanisms | * Implemented pivot and extension motor configuration functions for lift and grabber mechanisms | ||
Line 51: | Line 51: | ||
* After game piece acquisition, set the lift to travel preset | * After game piece acquisition, set the lift to travel preset | ||
=== 1/28 | === 1/28 === | ||
* Added feedback for drive, lift, grabber, and game piece mechanisms | * Added feedback for drive, lift, grabber, and game piece mechanisms | ||
Line 57: | Line 57: | ||
* Worked on Autonomous configuration page in Dashboard | * Worked on Autonomous configuration page in Dashboard | ||
=== 1/29 | === 1/29 === | ||
* Started implementing wrist mechanism | * Started implementing wrist mechanism | ||
Line 63: | Line 63: | ||
* Worked on making feedback more consistent between mechanisms | * Worked on making feedback more consistent between mechanisms | ||
=== 1/31 | === 1/31 === | ||
* More work on wrist mechanism | * More work on wrist mechanism | ||
=== 2/1 | === 2/1 === | ||
* Added drive align to grid command | * Added drive align to grid command | ||
* Played with controlling PS5 controller adaptive triggers, led colors, and rumble | * Played with controlling PS5 controller adaptive triggers, led colors, and rumble | ||
=== 2/2 | === 2/2 === | ||
* Added basic support to Dashboard to control PS5 controller features (rumble, led colors, adaptive triggers) over Network Tables | * Added basic support to Dashboard to control PS5 controller features (rumble, led colors, adaptive triggers) over Network Tables | ||
Line 82: | Line 82: | ||
* Clamped lift position | * Clamped lift position | ||
=== 2/4 | === 2/4 === | ||
* Tested code on Test Board! | * Tested code on Test Board! | ||
Line 88: | Line 88: | ||
* Fixed wrist logic in combination with lift to prevent it from hitting the ground | * Fixed wrist logic in combination with lift to prevent it from hitting the ground | ||
=== 2/7 | === 2/7 === | ||
* Added GamePiece functions for Autonomous control | * Added GamePiece functions for Autonomous control | ||
=== 2/8 | === 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 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 | * Decided to send PS5 controller input using TCP sockets instead of Network Tables to increase speed and reduce failure points | ||
=== 2/9 | === 2/9 === | ||
* Continued working on TCP networking for sending PS5 controller input / output | * Continued working on TCP networking for sending PS5 controller input / output | ||
=== 2/11 | === 2/11 === | ||
* Got TCP networking working for sending PS5 controller input to robot from Dashboard and output to Dashboard from robot | * 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 | * Tested Bluetooth control - don't worry Jeff, its just for testing and demos | ||
=== 2/12 | === 2/12 === | ||
* Updated PS5 controller networking to use only one port for both controllers instead of one for the driver and one for aux | * 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 | * 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 | |||
== Programming Archives == | == Programming Archives == |
Revision as of 08:04, 19 February 2023
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