From 08f4c9acd3bcf6a4f8fa1f85fb5870edb6f7eba9 Mon Sep 17 00:00:00 2001 From: T Grinch <10247070+thenetworkgrinch@users.noreply.github.com> Date: Mon, 29 Jul 2024 10:05:57 -0500 Subject: [PATCH] Added auto-centering feature. Signed-off-by: thenetworkgrinch --- src/main/java/swervelib/SwerveDrive.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/swervelib/SwerveDrive.java b/src/main/java/swervelib/SwerveDrive.java index 9f45b916..dfbb82c2 100644 --- a/src/main/java/swervelib/SwerveDrive.java +++ b/src/main/java/swervelib/SwerveDrive.java @@ -1159,6 +1159,21 @@ public void restoreInternalOffset() } } + /** + * Enable auto-centering module wheels. This has a side effect of causing some jitter to the robot when a PID is not + * tuned perfectly. This function is a wrapper for {@link SwerveModule#setAntiJitter(boolean)} to perform + * auto-centering. + * + * @param enabled Enable auto-centering (disable antiJitter) + */ + public void setAutoCenteringModules(boolean enabled) + { + for (SwerveModule module : swerveModules) + { + module.setAntiJitter(!enabled); + } + } + /** * Enable or disable the {@link swervelib.parser.SwerveModuleConfiguration#useCosineCompensator} for all * {@link SwerveModule}'s in the swerve drive. The cosine compensator will slow down or speed up modules that are