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

#include <rmb/motorcontrol/AngularPositionController.h>

Inheritance diagram for rmb::AngularPositionController:
rmb::ServoPositionController rmb::SparkMaxPositionController rmb::TalonFXPositionController

Public Types

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

Public Member Functions

virtual void setPosition (units::radian_t position)=0
 
virtual units::radian_t getTargetPosition () const =0
 
virtual void setPower (double power)=0
 
virtual double getPower () const =0
 
virtual units::radian_t getMinPosition () const =0
 
virtual units::radian_t getMaxPosition () 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::radian_t getTolerance () const =0
 
virtual units::radian_t getError () const
 
virtual bool atTarget () const
 

Detailed Description

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

Member Typedef Documentation

◆ ConversionUnit

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

Member Function Documentation

◆ atTarget()

virtual bool rmb::AngularPositionController::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::AngularPositionController::disable ( )
pure virtual

Common interface for disabling a mechanism.

Implemented in rmb::ServoPositionController, rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getError()

virtual units::radian_t rmb::AngularPositionController::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.

◆ getMaxPosition()

virtual units::radian_t rmb::AngularPositionController::getMaxPosition ( ) const
pure virtual

Common interface for getting the maximum angular position.

Returns
The maximum angular position in radians.

Implemented in rmb::ServoPositionController, rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getMinPosition()

virtual units::radian_t rmb::AngularPositionController::getMinPosition ( ) const
pure virtual

Common interface for getting the minimum angular position.

Returns
The minimum angular position in radians.

Implemented in rmb::ServoPositionController, rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getPosition()

virtual units::radian_t rmb::AngularPositionController::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::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getPower()

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

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

Implemented in rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getTargetPosition()

virtual units::radian_t rmb::AngularPositionController::getTargetPosition ( ) const
pure virtual

Common interface for getting the target angular position.

Returns
The target angular position in radians.

Implemented in rmb::ServoPositionController, rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getTolerance()

virtual units::radian_t rmb::AngularPositionController::getTolerance ( ) const
pure virtual

Common interface for getting a controllers tolerance

Implemented in rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ getVelocity()

virtual units::radians_per_second_t rmb::AngularPositionController::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::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ setEncoderPosition()

virtual void rmb::AngularPositionController::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::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ setPosition()

virtual void rmb::AngularPositionController::setPosition ( units::radian_t position)
pure virtual

Common interface for setting the target angular position.

Parameters
positionThe target angular position in radians.

Implemented in rmb::ServoPositionController, rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ setPower()

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

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

Implemented in rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.

◆ stop()

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

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

Implemented in rmb::ServoPositionController, rmb::SparkMaxPositionController, and rmb::TalonFXPositionController.


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