42 std::unique_ptr<Filter> iderivativeFilter = std::make_unique<PassthroughFilter>(),
59 const std::shared_ptr<OffsetableControllerInput> &iinput,
67 std::unique_ptr<Filter> iderivativeFilter = std::make_unique<PassthroughFilter>(),
AsyncPosPIDController(const std::shared_ptr< ControllerInput< double > > &iinput, const std::shared_ptr< ControllerOutput< double > > &ioutput, const TimeUtil &itimeUtil, double ikP, double ikI, double ikD, double ikBias=0, double iratio=1, std::unique_ptr< Filter > iderivativeFilter=std::make_unique< PassthroughFilter >(), const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
An async position PID controller.
std::shared_ptr< IterativePosPIDController > internalController
void tarePosition() override
Sets the "absolute" zero position of the controller to its current position.
void setMaxVelocity(std::int32_t imaxVelocity) override
This implementation does not respect the maximum velocity.
AsyncPosPIDController(const std::shared_ptr< OffsetableControllerInput > &iinput, const std::shared_ptr< ControllerOutput< double > > &ioutput, const TimeUtil &itimeUtil, double ikP, double ikI, double ikD, double ikBias=0, double iratio=1, std::unique_ptr< Filter > iderivativeFilter=std::make_unique< PassthroughFilter >(), const std::shared_ptr< Logger > &ilogger=Logger::getDefaultLogger())
An async position PID controller.
std::shared_ptr< OffsetableControllerInput > offsettableInput
IterativePosPIDController::Gains getGains() const
Gets the current gains.
void setGains(const IterativePosPIDController::Gains &igains)
Set controller gains.
static std::shared_ptr< Logger > getDefaultLogger()
Utility class for holding an AbstractTimer, AbstractRate, and SettledUtil together in one class since...