Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
EncoderStateCalculator Class Reference

#include <EncoderStateCalculator.h>

Inheritance diagram for EncoderStateCalculator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 EncoderStateCalculator (const double &jointGearRatio, const double &pwmFrequency, const double &pwmDeadTime, const double &busVoltage, const double &motorCurrentLimit, const double &phaseResistance, const double &backEmfConstant, const double &jointKinematicDirection, const double &encoderMountingDirection, const double &encoderGlitchScalar, const double &encoderVelocityBlendStop, const double &encoderVelocityBlendStart)
double getPosition (const double &encoderPositionReference, const int32_t &incrementalEncoderReference, const int32_t &incrementalEncoderNow)
 Calculates joint position.
double getVelocity (int32_t timer, const int32_t &timeout, const int32_t &encoderAccumulation, const double &measuredControlRateHz)
 Calculates motor velocity. User must divide by joint gear ratio to get joint velocity.
virtual ~EncoderStateCalculator ()

Public Attributes

double busVoltageRatio
int32_t encoderAccumulationPrevious
double encoderCountsPerMotorRevolution
 Values from calculations.
double encoderCountsToJointRadians
double encoderPosition
double encoderRadiansPerCount
double encoderVelocityBlended
double encoderVelocityHighFrequency
double encoderVelocityLowFrequency
double encoderVelocityLowFrequencyPrevious
double gammaBlend
double gammaBlendDenominator
double maxEncoderVelocity

Private Member Functions

double applyLimits (const double &value, const double &lowerLimit, const double &upperLimit)

Private Attributes

double backEmfConstant
double backEmfConstantMinimum
 motor controller rate
double busVoltage
double clockFrequency
 constant from motor controller
double encoderGlitchScalar
double encoderMountingDirection
double encoderTickTimeout
 Values that are constant.
double encoderVelocityBlendStart
double encoderVelocityBlendStop
double jointGearRatio
 Values from coefficient files.
double jointKinematicDirection
 cannot be les than 1e-4
double motorCurrentLimit
 might be changed to brainstem value
double phaseResistance
double pwmDeadTime
double pwmFrequency

Detailed Description

Definition at line 10 of file EncoderStateCalculator.h.


Constructor & Destructor Documentation

EncoderStateCalculator::EncoderStateCalculator ( const double &  jointGearRatio,
const double &  pwmFrequency,
const double &  pwmDeadTime,
const double &  busVoltage,
const double &  motorCurrentLimit,
const double &  phaseResistance,
const double &  backEmfConstant,
const double &  jointKinematicDirection,
const double &  encoderMountingDirection,
const double &  encoderGlitchScalar,
const double &  encoderVelocityBlendStop,
const double &  encoderVelocityBlendStart 
)

To prevent enormous max velocity, ensure backEmfConstant is large enough.

check to make sure start and stop are input correctly

Definition at line 3 of file EncoderStateCalculator.cpp.

Definition at line 52 of file EncoderStateCalculator.cpp.


Member Function Documentation

double EncoderStateCalculator::applyLimits ( const double &  value,
const double &  lowerLimit,
const double &  upperLimit 
) [private]

Definition at line 131 of file EncoderStateCalculator.cpp.

double EncoderStateCalculator::getPosition ( const double &  encoderPositionReference,
const int32_t &  incrementalEncoderReference,
const int32_t &  incrementalEncoderNow 
)

Calculates joint position.

Definition at line 59 of file EncoderStateCalculator.cpp.

double EncoderStateCalculator::getVelocity ( int32_t  timer,
const int32_t &  timeout,
const int32_t &  encoderAccumulation,
const double &  measuredControlRateHz 
)

Calculates motor velocity. User must divide by joint gear ratio to get joint velocity.

buff timer to timeout using 'signed magnitude'

Avoid divide by 0

If no ticks occur before encoderTickTimeout, velocity must be 0.

Use previous value if a glitch occurs

Definition at line 69 of file EncoderStateCalculator.cpp.


Member Data Documentation

Definition at line 46 of file EncoderStateCalculator.h.

motor controller rate

Definition at line 56 of file EncoderStateCalculator.h.

Definition at line 43 of file EncoderStateCalculator.h.

Definition at line 25 of file EncoderStateCalculator.h.

constant from motor controller

Definition at line 55 of file EncoderStateCalculator.h.

Definition at line 32 of file EncoderStateCalculator.h.

Values from calculations.

Definition at line 22 of file EncoderStateCalculator.h.

Definition at line 24 of file EncoderStateCalculator.h.

Definition at line 49 of file EncoderStateCalculator.h.

Definition at line 48 of file EncoderStateCalculator.h.

Definition at line 31 of file EncoderStateCalculator.h.

Definition at line 23 of file EncoderStateCalculator.h.

Values that are constant.

Definition at line 54 of file EncoderStateCalculator.h.

Definition at line 30 of file EncoderStateCalculator.h.

Definition at line 51 of file EncoderStateCalculator.h.

Definition at line 50 of file EncoderStateCalculator.h.

Definition at line 29 of file EncoderStateCalculator.h.

Definition at line 27 of file EncoderStateCalculator.h.

Definition at line 28 of file EncoderStateCalculator.h.

Definition at line 33 of file EncoderStateCalculator.h.

Definition at line 34 of file EncoderStateCalculator.h.

Values from coefficient files.

Definition at line 40 of file EncoderStateCalculator.h.

cannot be les than 1e-4

Definition at line 47 of file EncoderStateCalculator.h.

Definition at line 26 of file EncoderStateCalculator.h.

might be changed to brainstem value

Definition at line 44 of file EncoderStateCalculator.h.

Definition at line 45 of file EncoderStateCalculator.h.

Definition at line 42 of file EncoderStateCalculator.h.

Definition at line 41 of file EncoderStateCalculator.h.


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


robodyn_utilities
Author(s):
autogenerated on Thu Jun 6 2019 18:56:08