librmb 1.0
Rambunction 4330 Utility Library
Loading...
Searching...
No Matches
rmb::AngularVelocityController Class Referenceabstract

#include <rmb/motorcontrol/AngularVelocityController.h>

Inheritance diagram for rmb::AngularVelocityController:
rmb::AngularFeedforwardontroller rmb::SparkMaxVelocityController rmb::TalonFXVelocityController

Public Types

using ConversionUnit
 
using ConversionUnit_t = units::unit_t<ConversionUnit>
 

Public Member Functions

virtual void setVelocity (units::radians_per_second_t velocity)=0
 
virtual units::radians_per_second_t getTargetVelocity () const =0
 
virtual void setPower (double power)=0
 
virtual double getPower () const =0
 
virtual void disable ()=0
 
virtual void stop ()=0
 
virtual units::radians_per_second_t getVelocity () const =0
 
virtual units::radian_t getPosition () const =0
 
virtual void setEncoderPosition (units::radian_t position=0_rad)=0
 
virtual units::radians_per_second_t getTolerance () const =0
 
virtual units::radians_per_second_t getError () const
 
virtual bool atTarget () const
 

Detailed Description

Interface for controlling a mechanism's angular velocity used by wrappers of device specific APIs.

Member Typedef Documentation

◆ ConversionUnit

using rmb::AngularVelocityController::ConversionUnit
Initial value:
units::compound_unit<units::meters, units::inverse<units::radians>>

Member Function Documentation

◆ atTarget()

virtual bool rmb::AngularVelocityController::atTarget ( ) const
inlinevirtual

Common interface for getting whether the mechanism has achived it's target velocity.

Returns
true is the controller has achived the target velocity.

◆ disable()

virtual void rmb::AngularVelocityController::disable ( )
pure virtual

Common interface for disabling a mechanism.

Implemented in rmb::AngularFeedforwardontroller, rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ getError()

virtual units::radians_per_second_t rmb::AngularVelocityController::getError ( ) const
inlinevirtual

Common interface for getting the error between the velocities controllers target velocity and the actual velocity measured by the encoder.

Returns
position error in radians per second.

◆ getPosition()

virtual units::radian_t rmb::AngularVelocityController::getPosition ( ) const
pure virtual

Common interface for returning the angular position of an encoder.

Returns
The position of the encoder in radians.

Implemented in rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ getPower()

virtual double rmb::AngularVelocityController::getPower ( ) const
pure virtual

Retrieve the percentage [-1.0, 1.0] output of the motor

Implemented in rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ getTargetVelocity()

virtual units::radians_per_second_t rmb::AngularVelocityController::getTargetVelocity ( ) const
pure virtual

Common interface for getting the target angular velocity.

Returns
The target angular velocity in radians per second.

Implemented in rmb::AngularFeedforwardontroller, rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ getTolerance()

virtual units::radians_per_second_t rmb::AngularVelocityController::getTolerance ( ) const
pure virtual

Common interface for getting a controllers tolerance

Implemented in rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ getVelocity()

virtual units::radians_per_second_t rmb::AngularVelocityController::getVelocity ( ) const
pure virtual

Common interface for returning the angular velocity of an encoder.

Returns
The velocity of the encoder in radians per second.

Implemented in rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ setEncoderPosition()

virtual void rmb::AngularVelocityController::setEncoderPosition ( units::radian_t position = 0_rad)
pure virtual

Common interface for setting the position the encoder reports

Parameters
positionthe position the encoder should report

Implemented in rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ setPower()

virtual void rmb::AngularVelocityController::setPower ( double power)
pure virtual

Common interface for setting a mechanism's raw power output.

Implemented in rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ setVelocity()

virtual void rmb::AngularVelocityController::setVelocity ( units::radians_per_second_t velocity)
pure virtual

Common interface for setting the target angular velocity.

Parameters
velocityThe target angular velocity in radians per second.

Implemented in rmb::AngularFeedforwardontroller, rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.

◆ stop()

virtual void rmb::AngularVelocityController::stop ( )
pure virtual

Common interface to stop the mechanism until setPosition is called again.

Implemented in rmb::AngularFeedforwardontroller, rmb::SparkMaxVelocityController, and rmb::TalonFXVelocityController.


The documentation for this class was generated from the following file: