WPILibC++ 2023.4.3-108-ge5452e3
|
A subsystem that uses a ProfiledPIDController to control an output. More...
#include <frc2/command/ProfiledPIDSubsystem.h>
Public Member Functions | |
ProfiledPIDSubsystem (frc::ProfiledPIDController< Distance > controller, Distance_t initialPosition=Distance_t{0}) | |
Creates a new ProfiledPIDSubsystem. More... | |
void | Periodic () override |
This method is called periodically by the CommandScheduler. More... | |
void | SetGoal (State goal) |
Sets the goal state for the subsystem. More... | |
void | SetGoal (Distance_t goal) |
Sets the goal state for the subsystem. More... | |
virtual void | Enable () |
Enables the PID control. More... | |
virtual void | Disable () |
Disables the PID control. More... | |
bool | IsEnabled () |
Returns whether the controller is enabled. More... | |
frc::ProfiledPIDController< Distance > & | GetController () |
Returns the ProfiledPIDController. More... | |
Public Member Functions inherited from frc2::SubsystemBase | |
void | InitSendable (wpi::SendableBuilder &builder) override |
Initializes this Sendable object. More... | |
std::string | GetName () const |
Gets the name of this Subsystem. More... | |
void | SetName (std::string_view name) |
Sets the name of this Subsystem. More... | |
std::string | GetSubsystem () const |
Gets the subsystem name of this Subsystem. More... | |
void | SetSubsystem (std::string_view name) |
Sets the subsystem name of this Subsystem. More... | |
void | AddChild (std::string name, wpi::Sendable *child) |
Associate a Sendable with this Subsystem. More... | |
Public Member Functions inherited from frc2::Subsystem | |
virtual | ~Subsystem () |
virtual void | Periodic () |
This method is called periodically by the CommandScheduler. More... | |
virtual void | SimulationPeriodic () |
This method is called periodically by the CommandScheduler. More... | |
template<std::derived_from< Command > T> | |
void | SetDefaultCommand (T &&defaultCommand) |
Sets the default Command of the subsystem. More... | |
void | SetDefaultCommand (CommandPtr &&defaultCommand) |
Sets the default Command of the subsystem. More... | |
void | RemoveDefaultCommand () |
Removes the default command for the subsystem. More... | |
Command * | GetDefaultCommand () const |
Gets the default command for this subsystem. More... | |
Command * | GetCurrentCommand () const |
Returns the command currently running on this subsystem. More... | |
void | Register () |
Registers this subsystem with the CommandScheduler, allowing its Periodic() method to be called when the scheduler runs. More... | |
CommandPtr | RunOnce (std::function< void()> action) |
Constructs a command that runs an action once and finishes. More... | |
CommandPtr | Run (std::function< void()> action) |
Constructs a command that runs an action every iteration until interrupted. More... | |
CommandPtr | StartEnd (std::function< void()> start, std::function< void()> end) |
Constructs a command that runs an action once and another action when the command is interrupted. More... | |
CommandPtr | RunEnd (std::function< void()> run, std::function< void()> end) |
Constructs a command that runs an action every iteration until interrupted, and then runs a second action. More... | |
Public Member Functions inherited from wpi::Sendable | |
virtual | ~Sendable ()=default |
virtual void | InitSendable (SendableBuilder &builder)=0 |
Initializes this Sendable object. More... | |
Public Member Functions inherited from wpi::SendableHelper< SubsystemBase > | |
SendableHelper (const SendableHelper &rhs)=default | |
SendableHelper (SendableHelper &&rhs) | |
SendableHelper & | operator= (const SendableHelper &rhs)=default |
SendableHelper & | operator= (SendableHelper &&rhs) |
Protected Member Functions | |
virtual Distance_t | GetMeasurement ()=0 |
Returns the measurement of the process variable used by the ProfiledPIDController. More... | |
virtual void | UseOutput (double output, State setpoint)=0 |
Uses the output from the ProfiledPIDController. More... | |
Protected Member Functions inherited from frc2::SubsystemBase | |
SubsystemBase () | |
Protected Member Functions inherited from wpi::SendableHelper< SubsystemBase > | |
SendableHelper ()=default | |
~SendableHelper () | |
Protected Attributes | |
frc::ProfiledPIDController< Distance > | m_controller |
bool | m_enabled {false} |
A subsystem that uses a ProfiledPIDController to control an output.
The controller is run synchronously from the subsystem's periodic() method.
This class is provided by the NewCommands VendorDep
|
inlineexplicit |
Creates a new ProfiledPIDSubsystem.
controller | the ProfiledPIDController to use |
initialPosition | the initial goal position of the subsystem |
|
inlinevirtual |
Disables the PID control.
Sets output to zero.
|
inlinevirtual |
Enables the PID control.
Resets the controller.
|
inline |
Returns the ProfiledPIDController.
|
protectedpure virtual |
Returns the measurement of the process variable used by the ProfiledPIDController.
|
inline |
Returns whether the controller is enabled.
|
inlineoverridevirtual |
This method is called periodically by the CommandScheduler.
Useful for updating subsystem-specific state that you don't want to offload to a Command. Teams should try to be consistent within their own codebases about which responsibilities will be handled by Commands, and which will be handled here.
Reimplemented from frc2::Subsystem.
|
inline |
Sets the goal state for the subsystem.
Goal velocity assumed to be zero.
goal | The goal position for the subsystem's motion profile. |
|
inline |
Sets the goal state for the subsystem.
goal | The goal state for the subsystem's motion profile. |
|
protectedpure virtual |
Uses the output from the ProfiledPIDController.
output | the output of the ProfiledPIDController |
setpoint | the setpoint state of the ProfiledPIDController, for feedforward |
|
protected |
|
protected |