This is an old revision of the document!
Table of Contents
Autonomous Routines
Goals and Tooling
One of the goals we set during the offseason was to upgrade our current autonomous pathing through the use of motion profiling. We had tried this in 2020, but had great difficulty in getting off the ground. This year, we did more research and we were able to get ahead of the curve before we started development. We used the WPILib toolsuite for designing and running autonomous paths with trajectories using Ramsete controllers, odometry, and the Pathweaver drawing app. We tested the pipeline of characterization (to determine necessary controllers and constants), generating and compiling a drawn path, and executing the path on Romis. This allowed us to gain experience with the process in creating and tuning robust autonomous paths. We were able to put this to the test on our robot, giving us the ability to create many different paths and adapt to unpredictable situations.
Fig 4.6: One of our three-ball autonomous routines. We designed this path with high velocities and high angle turns which was made possible by our highly refined PID loops. This was to make
Computer Vision Integration
Given the modularity of the Command Based architecture, we were able to simply add the necessary commands as we saw fit with respect to the path. This was done by adding intaking, alignment, and shooting in either sequence or parallel to the trajectories. Although our autonomous routines proved to be very consistent, we endeavored to improve the accuracy and speed further. This was primarily done using the computer vision and shooter alignment previously mentioned. With this additional improvement, we were able to compensate for any errors from the path follower and achieve extremely reliable results.

