Here are our at home challenge videos: 2021 FRC604 Infinite Recharge at Home - YouTube
You can see our whole autonomous stack (from ball detection to trajectory tracking) in our autonomous video: FIRST Team 604 - 2021 At Home Autonomous Award Video - YouTube
As we did not have access to our build space at school and had limited in-person meetings, we focused a lot on the software of this year’s robot.
We created a ball detection system that allowed us to accurately determine “field relative” locations of the power cells using PhotonVision.
We also developed a time-optimal trajectory planner that we call Quikplan.
Quikplan runs on the driver station (to take advantage of its compute resources) and optimizes an initial path to take the least amount of time while obeying a kinodynamic model of our robot and obstacle constraints. It is analogous to a racecar driver finding the optimal racing line on a race track.
Here are some gifs showing it in action.
This gif shows Quikplan optimizing the bounce path from an initial non-optimal path that was drawn by hand.
Here is a gif of Quikplan simulaing an optimized path for the slalom challenge with our 2020-2021 robot (39" x 34" including bumpers). The wide turns Quikplan makes here are optimal in order to preserve as much velocity as possible, but the turn radius is limited by traction. This trajectory takes 7.373s.
Here is another simulated path but with a greater wheel coefficient of friction. The greater mu allows Quikplan to make the turns less wide as the robot has more traction. This results in a faster time of 6.379s.
Here we are telling Quikplan that the motors have a lower maximum RPM than they really do. This makes the turns less wide because the robot is no longer trying to maintain as high of a speed around the turn, so we are no longer traction limited. Of course, this also results in a slower time of 8.885s even though the path distance is shorter.
And finally we can also make the robot really small (20” x 20”) which allows Quikplan to take the turns tighter and pass through the gaps straighter, significantly reducing the path’s total time. This path is 5.990s.