Ten-Ton-Robotics / 6364-Crescendo

Other
0 stars 0 forks source link

:sparkles: Exponential Drive Curves #17

Open SizzinSeal opened 8 months ago

SizzinSeal commented 8 months ago

Overview

Exponential drive curves to allow for finer control of the robot

Motivation

Driving a robot is hard. The more the operator needs to focus on controlling the robot, the less situational awareness they have. Therefore, the robot should be programmed to be as easy as possible to drive. Exponential drive curves will assist in this. It allows for fine control of the robot for low-speed adjustments, but still maintain the top speed.

Implementation

Command Xbox Controller will be extended, and the get joystick functions will be overridden. The drive curve itself will be a manually-tuned curve, much like tuning a fan curve. This can be done using an array of 2-dimensional values, and will be interpolated as necessary.

Additional Information

Exponential drive curves are common in FRC and VRC, and I have first-hand experience of this.