2023:Programming: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(Updated Programming Wiki 1/28/23)
Tag: visualeditor
(Updated Programming Wiki)
Tag: visualeditor
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
1511's Github
1511's Github


https://github.com/topics/1511  
[https://github.com/topics/1511 https://github.com/frc1511]


Programming Documentation
Programming Documentation
Line 29: Line 29:
<u>Dashboard:</u>  Peter
<u>Dashboard:</u>  Peter


=== <u>1/19 Meeting</u> ===
=== 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
* Latest Github commit link: https://github.com/frc1511/thunderbot2023/tree/d2d57bb50398749847bc3c69b60615edf778c1e6


=== <u>1/21 Meeting</u> ===
=== 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
* Latest Github commit link: https://github.com/frc1511/thunderbot2023/tree/65452405f20814a9797c464aff74084e44fc2489<br />


=== 1/24 Meeting ===
=== 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 Meeting ===
=== 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 53: Line 51:
* After game piece acquisition, set the lift to travel preset
* After game piece acquisition, set the lift to travel preset


=== 1/28 Meeting ===
=== 1/28 ===


* Added feedback for drive, lift, grabber, and game piece mechanisms
* Added feedback for drive, lift, grabber, and game piece mechanisms
* Added encoders for the lift mechanism
* 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!
=== 2/22 ===
* More testing with the robot
* Removed intake sensor, implemented detection by checking motor current
=== 2/23 ===
* More work on making the lift behave properly
* Started created scoring presets on field
* Switched lift extension and pivoting to ProfiledPIDController
=== 2/24 ===
* Finished initial lift presets
* Prevented lift collisions by keeping lift retracted when pivoting
* Initial auto testing
=== 2/25 ===
* Finished making auto modes to score preloaded cone and cube
* Added LEDs to the robot, wrote simple code to control them
=== 2/26 ===
* Rally!!
* Fixed control issues as they arose during testing on field
* Moved UltraBrickMode toggle to driver controller instead of switch panel
=== 2/27 ===
* Automated lift movement after GamePiece acquisition and scoring
** Automatically moves down after scoring
** Automatically pivots up after acquisition


== Programming Archives ==
== Programming Archives ==

Latest revision as of 13:34, 28 February 2023

Resources:

Robot code Github

https://github.com/frc1511/thunderbot2023

1511's Github

https://github.com/frc1511

Programming Documentation

https://frc1511.github.io/

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!

2/22

  • More testing with the robot
  • Removed intake sensor, implemented detection by checking motor current

2/23

  • More work on making the lift behave properly
  • Started created scoring presets on field
  • Switched lift extension and pivoting to ProfiledPIDController

2/24

  • Finished initial lift presets
  • Prevented lift collisions by keeping lift retracted when pivoting
  • Initial auto testing

2/25

  • Finished making auto modes to score preloaded cone and cube
  • Added LEDs to the robot, wrote simple code to control them

2/26

  • Rally!!
  • Fixed control issues as they arose during testing on field
  • Moved UltraBrickMode toggle to driver controller instead of switch panel

2/27

  • Automated lift movement after GamePiece acquisition and scoring
    • Automatically moves down after scoring
    • Automatically pivots up after acquisition

Programming Archives