How do I use Exponential Profiles?

What are exponential profiles?

Exponential profiles are best described by CTRE, however with YAMS they are supported by all motor controllers.

How can I use Exponential Profiles?

All SmartMotorControllers support Exponential Profiles via the ExponentialProfilePIDController closed loop controller. You would just have to use ExponentialProfilePIDController instead of ProfiledPIDController or PIDController.

There are multiple ways to create constraints, like createArmConstraints or createFlyWheelConstraints or even createConstraints.

When should I use Exponential Profiles?

Exponential Profiles are easier to tune than Trapezoidal Profiles (from ProfiledPIDController) and are very good at overcoming mechanical failures to a point. It CANNOT speed up a mechanism that is massively under-powered and slow to move. Trapezoidal Profiles often fail miserably when a mechanism experiences disturbances along its movement, aside from fixing those disturbances an Exponential Profile is probably your best chance at getting it "working" quickly.

Last updated