PositionThroughVelocityControllerWithAccelerationRamps Struct Reference

#include <RobotAPI/components/units/RobotUnit/BasicControllers.h>

Classes

struct  Output
 

Public Types

enum class  State {
  Unknown = -1 , IncAccIncJerk , IncAccDecJerk , Keep ,
  DecAccIncJerk , DecAccDecJerk , PCtrl
}
 

Public Member Functions

std::pair< State, Output > calcState () const
 
double calculateProportionalGain () const
 
double estimateTime () const
 
double getTargetPosition () const
 
 PositionThroughVelocityControllerWithAccelerationRamps ()
 
Output run ()
 
void setTargetPosition (double value)
 
bool validParameters () const
 

Public Attributes

double acceleration
 
double accuracy = 0.001
 
double currentAcc
 
double currentPosition
 
double currentV
 
double deceleration
 
double dt
 
double jerk
 
double maxDt
 
double maxV
 
double p
 
double pControlPosErrorLimit = 0.01
 
double pControlVelLimit
 
State state = State::Unknown
 
bool usePIDAtEnd = true
 

Protected Attributes

double targetPosition
 

Member Enumeration Documentation

◆ State

enum class State
strong
Enumerator
Unknown 
IncAccIncJerk 
IncAccDecJerk 
Keep 
DecAccIncJerk 
DecAccDecJerk 
PCtrl 

Constructor & Destructor Documentation

◆ PositionThroughVelocityControllerWithAccelerationRamps()

Member Function Documentation

◆ calcState()

◆ calculateProportionalGain()

double calculateProportionalGain ( ) const

◆ estimateTime()

double estimateTime ( ) const

◆ getTargetPosition()

double getTargetPosition ( ) const

◆ run()

◆ setTargetPosition()

void setTargetPosition ( double value)

◆ validParameters()

bool validParameters ( ) const

Member Data Documentation

◆ acceleration

double acceleration

◆ accuracy

double accuracy = 0.001

◆ currentAcc

double currentAcc

◆ currentPosition

double currentPosition

◆ currentV

double currentV

◆ deceleration

double deceleration

◆ dt

double dt

◆ jerk

double jerk

◆ maxDt

double maxDt

◆ maxV

double maxV

◆ p

double p

◆ pControlPosErrorLimit

double pControlPosErrorLimit = 0.01

◆ pControlVelLimit

double pControlVelLimit
Initial value:
=
0.002

◆ state

State state = State::Unknown
mutable

◆ targetPosition

double targetPosition
protected

◆ usePIDAtEnd

bool usePIDAtEnd = true

The documentation for this struct was generated from the following files: