2023:Programming: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(Updated programming page)
Tag: visualeditor
(Updated Programming Wiki)
Tag: visualeditor
Line 29: Line 29:
<u>Dashboard:</u>  Peter
<u>Dashboard:</u>  Peter


=== 1/19 Meeting ===
=== 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 Meeting ===
=== 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<br />
* Started mapping out controls with the drive team


=== 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 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 Meeting ===
=== 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 Meeting ===
=== 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 Meeting ===
=== 1/31 ===


* More work on wrist mechanism
* More work on wrist mechanism


=== 2/1 Meeting ===
=== 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 Meeting ===
=== 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 Meeting ===
=== 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 Meeting ===
=== 2/7 ===


* Added GamePiece functions for Autonomous control
* Added GamePiece functions for Autonomous control


=== 2/8 Meeting ===
=== 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 Meeting ===
=== 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 Meeting ===
=== 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 Meeting ===
=== 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 09:04, 19 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

Programming Archives