2023:Programming

From 1511Wookiee
Jump to navigationJump to search

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