Is there a benefit to using DifferentialDrive class, besides Trajectories?

We have a tank drive with 3 talon motors on a side. Our motor controlling is very simple, we just use followers, invert the other side, and usually set the speed via ControlMode.PercentOutput. I would love for us to be able to start experimenting with Pathfinding/Trajectories. I’ve been reading through the Trajectories tutorial and see the DifferentialDrive class used there. Is there any benefit to using it, if you’re not doing pathfinding or trajectories? I see that it automatically inverts one side, and groups the controllers.

I kinda doubt at this point that we’ll have time to do the whole Characterization and Trajectories, but I’d still like to write some basic curvy path movements for auton. I’ve played around a bit with just setting the different sides of the tank drive to different percentages for curves, but would the curvatureDrive method do that better?

DifferentialDrive also has helpful features that allow you to adjust how the joystick input is mapped to motor output like: squaring, deadbands, max output, curvature drive and potentially more in the future.

If you are using Talons however you should probably be driving the motors via Closed Loop Velocity (onboard the Talon) when actually following the trajectory, but can use DifferentialDrive for normal teleop.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.