Live Tuning
What is Live Tuning?
SmartMotorControllerConfig lowerFlyWheelConfig = new SmartMotorControllerConfig(this)
.withControlMode(ControlMode.CLOSED_LOOP)
.withIdleMode(MotorMode.COAST)
.withGearing(new MechanismGearing(GearBox.fromReductionStages(3, 4)))
.withMomentOfInertia(Inches.of(4), Pounds.of(2))
.withClosedLoopController(1,
0,
0) // You generally do not want a profile because its not a position controlled loop.
.withFeedforward(new SimpleMotorFeedforward(0, 0, 0)) // Helps track changing RPM goals
.withMotorInverted(false)
.withTelemetry("LowerFlyWheel", SmartMotorControllerConfig.TelemetryVerbosity.HIGH)How do I use Live Tuning?


When should I NOT use Live Tuning?
Tunable Parameters and Their Units
PID Controller Parameters
Parameter
Symbol
Unit
Description
Feedforward Parameters
SimpleMotorFeedforward (Flywheels, Simple Velocity Control)
Parameter
Symbol
Unit
Description
ArmFeedforward (Arms, Pivots)
Parameter
Symbol
Unit
Description
ElevatorFeedforward (Elevators, Linear Lifts)
Parameter
Symbol
Unit
Description
Motion Profile Parameters
Trapezoidal Profile
Parameter
Symbol
Unit
Description
Exponential Profile
Parameter
Symbol
Unit
Description
Soft Limits
Parameter
Unit
Description
Current Limits
Parameter
Unit
Description
Ramp Rates
Parameter
Unit
Description
Temperature
Parameter
Unit
Description
Voltage
Parameter
Unit
Description
Example: Tuning a Flywheel
Example: Tuning an Arm
Last updated