Code Release for FRC Team 1939

The code for FRC Team 1939’s robot BOYD can be found here: https://github.com/FIRST1939/Steamworks2017

Highlights:
We used position and angle PID loops in our autonomous to accurately drive to the peg and place the gear.

I also wanted to highlight the new drivetrain we used this past year called Sidewinder. It essentially allows us to strafe while also maintaining traction when we do not want to strafe. It does this by pneumatically actuating a module in the back of our robot with two omni wheels that are perpendicular to the other six wheels on our drivetrain. When this module is actuated down, the back four traction wheels lift up, leaving only the two front omni wheels as well as the two omnis in the sidewinder module on the ground, allowing us to strafe by driving the motor in the module. When the module lifts back up, we regain traction with the back four wheels. While programming it was fairly simple (we just used a turn PID loop to attempt to keep the robot strafing straight), I wanted to mention it since it was one of the coolest things on our robot this past year.

If you go back to this commit, we had an implementation combining Jaci’s Pathfinder with the built-in motion profile following of Talon SRXs. We eventually removed the code, but the problem was just that we didn’t have the time or skills properly tune the controllers. However, we did successfully generate paths and stream them to the Talons and roughly follow the paths. Without proper tuning, we couldn’t get it to be repeatable or accurate.

I also hacked together a solution to display the paths generated by Jaci’s algorithm over a picture of the field with the visualization module of SmoothPathPlanner.