Encoders are very useful.
Common algorithms I’ve implemented with drivetrain encoders:
-Autonomous straight driving with speed control, distance thresholds (each side has a speed controller and stops when distance hits a target)
-Autonomous straight driving with a dual distance controller and distance error controllers - Each side has a distance controller. The steering input is calculated from the integrated distance error (sorta like using the distance delta between the sides as a heading input in an I-controller gyro steering loop).
-Autonomous straight driving with dual distance controller and gyro heading correction - This is my favorite. Each side has a distance controller, plus a single steering controller based on gyro feedback primarily using an I term. When properly implemented and tuned, this is my favorite autonomous driving algorithm.
-Autonomous stop decel controller - We drove fast enough to jump on decel, so we implemented a PI controller to do a controlled decel. We could play with the PI gains until the decel was repeatable.
-Teleoperated speed control - Each side has a controller for speed, allows you to “push through” in situations where you request partial power. You can also straight drive when one side is unable to meet the demand by lowering output power on the other side, which is sometimes also used by trans algorithms.
-Automated Trans control algorithms often rely on encoder speed feedback in addition to driver demands. Some downshifting cases are primarily based on vehicle speed and/or acceleration.
Some of these controllers are more useful than others. I highly recommend playing with some autonomous controls during the off season, since they are often a large factor in autonomous reliability. Simply measuring distance and stopping at the right time can make autonomous significantly more reliable in most games.