Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
UndercarriageCtrlGeom Class Reference

#include <UndercarriageCtrlGeom.h>

Classes

struct  ParamType
 

Public Member Functions

void GetActualPltfVelocity (double &dDeltaLongMM, double &dDeltaLatMM, double &dDeltaRotRobRad, double &dDeltaRotVelRad, double &dVelLongMMS, double &dVelLatMMS, double &dRotRobRadS, double &dRotVelRadS)
 
void GetNewCtrlStateSteerDriveSetValues (std::vector< double > &vdVelGearDriveRadS, std::vector< double > &vdVelGearSteerRadS, std::vector< double > &vdAngGearSteerRad, double &dVelLongMMS, double &dVelLatMMS, double &dRotRobRadS, double &dRotVelRadS)
 
void GetSteerDriveSetValues (std::vector< double > &vdVelGearDriveRadS, std::vector< double > &vdAngGearSteerRad)
 
void InitUndercarriageCtrl (void)
 
void operator= (const UndercarriageCtrlGeom &GeomCtrl)
 
void SetActualWheelValues (std::vector< double > vdVelGearDriveRadS, std::vector< double > vdVelGearSteerRadS, std::vector< double > vdDltAngGearDriveRad, std::vector< double > vdAngGearSteerRad)
 
void SetDesiredPltfVelocity (double dCmdVelLongMMS, double dCmdVelLatMMS, double dCmdRotRobRadS, double dCmdRotVelRadS)
 
void setEMStopActive (bool bEMStopActive)
 
 UndercarriageCtrlGeom (std::string sIniDirectory)
 
 ~UndercarriageCtrlGeom (void)
 

Private Member Functions

void CalcControlStep (void)
 
void CalcDirect (void)
 
void CalcExWheelPos (void)
 
void CalcInverse (void)
 

Private Attributes

bool m_bEMStopActive
 
double m_dCmdRotRobRadS
 
double m_dCmdRotVelRadS
 
double m_dCmdVelLatMMS
 
double m_dCmdVelLongMMS
 
double m_dDamp
 
double m_dDDPhiMax
 
double m_dDPhiMax
 
double m_dRotRobRadS
 
double m_dRotVelRadS
 
double m_dSpring
 
double m_dVelLatMMS
 
double m_dVelLongMMS
 
double m_dVirtM
 
int m_iNumberOfDrives
 
std::string m_sIniDirectory
 
ParamType m_UnderCarriagePrms
 
std::vector< double > m_vdAngGearSteerCmdRad
 
std::vector< double > m_vdAngGearSteerRad
 
std::vector< double > m_vdAngGearSteerTarget1Rad
 
std::vector< double > m_vdAngGearSteerTarget2Rad
 
std::vector< double > m_vdAngGearSteerTargetRad
 
std::vector< std::vector< double > > m_vdCtrlVal
 
std::vector< double > m_vdDltAngGearDriveRad
 
std::vector< double > m_vdExWheelAngRad
 
std::vector< double > m_vdExWheelDistMM
 
std::vector< double > m_vdExWheelXPosMM
 
std::vector< double > m_vdExWheelYPosMM
 
std::vector< double > m_vdVelGearDriveCmdRadS
 
std::vector< double > m_vdVelGearDriveRadS
 
std::vector< double > m_vdVelGearDriveTarget1RadS
 
std::vector< double > m_vdVelGearDriveTarget2RadS
 
std::vector< double > m_vdVelGearDriveTargetRadS
 
std::vector< double > m_vdVelGearSteerCmdRadS
 
std::vector< double > m_vdVelGearSteerRadS
 
std::vector< double > m_vdWheelAngRad
 
std::vector< double > m_vdWheelDistMM
 
std::vector< double > m_vdWheelXPosMM
 
std::vector< double > m_vdWheelYPosMM
 

Detailed Description

Definition at line 27 of file UndercarriageCtrlGeom.h.

Constructor & Destructor Documentation

UndercarriageCtrlGeom::UndercarriageCtrlGeom ( std::string  sIniDirectory)

Definition at line 21 of file UndercarriageCtrlGeom.cpp.

UndercarriageCtrlGeom::~UndercarriageCtrlGeom ( void  )

Definition at line 103 of file UndercarriageCtrlGeom.cpp.

Member Function Documentation

void UndercarriageCtrlGeom::CalcControlStep ( void  )
private

Definition at line 517 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::CalcDirect ( void  )
private

Definition at line 421 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::CalcExWheelPos ( void  )
private

Definition at line 499 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::CalcInverse ( void  )
private

Definition at line 376 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::GetActualPltfVelocity ( double &  dDeltaLongMM,
double &  dDeltaLatMM,
double &  dDeltaRotRobRad,
double &  dDeltaRotVelRad,
double &  dVelLongMMS,
double &  dVelLatMMS,
double &  dRotRobRadS,
double &  dRotVelRadS 
)

Definition at line 358 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::GetNewCtrlStateSteerDriveSetValues ( std::vector< double > &  vdVelGearDriveRadS,
std::vector< double > &  vdVelGearSteerRadS,
std::vector< double > &  vdAngGearSteerRad,
double &  dVelLongMMS,
double &  dVelLatMMS,
double &  dRotRobRadS,
double &  dRotVelRadS 
)

Definition at line 328 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::GetSteerDriveSetValues ( std::vector< double > &  vdVelGearDriveRadS,
std::vector< double > &  vdAngGearSteerRad 
)

Definition at line 317 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::InitUndercarriageCtrl ( void  )

Definition at line 120 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::operator= ( const UndercarriageCtrlGeom GeomCtrl)

Definition at line 614 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::SetActualWheelValues ( std::vector< double >  vdVelGearDriveRadS,
std::vector< double >  vdVelGearSteerRadS,
std::vector< double >  vdDltAngGearDriveRad,
std::vector< double >  vdAngGearSteerRad 
)

Definition at line 300 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::SetDesiredPltfVelocity ( double  dCmdVelLongMMS,
double  dCmdVelLatMMS,
double  dCmdRotRobRadS,
double  dCmdRotVelRadS 
)

Definition at line 195 of file UndercarriageCtrlGeom.cpp.

void UndercarriageCtrlGeom::setEMStopActive ( bool  bEMStopActive)

Definition at line 674 of file UndercarriageCtrlGeom.cpp.

Member Data Documentation

bool UndercarriageCtrlGeom::m_bEMStopActive
private

Definition at line 31 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dCmdRotRobRadS
private

Definition at line 63 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dCmdRotVelRadS
private

Definition at line 64 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dCmdVelLatMMS
private

Definition at line 62 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dCmdVelLongMMS
private

Definition at line 61 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dDamp
private

Definition at line 138 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dDDPhiMax
private

Definition at line 138 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dDPhiMax
private

Definition at line 138 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dRotRobRadS
private

Definition at line 51 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dRotVelRadS
private

Definition at line 52 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dSpring
private

----— Position Controller Steer Wheels ----— Impedance-Ctrlr Prms -> model Stiffness via Spring-Damper-Modell -> only oriented at impedance-ctrl (no forces commanded) m_dSpring Spring-constant (elasticity) m_dDamp Damping coefficient (also prop. for Velocity Feedforward) m_dVirtM Virtual Mass of Spring-Damper System m_dDPhiMax maximum angular velocity (cut-off) m_dDDPhiMax maximum angular acceleration (cut-off)

Definition at line 138 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dVelLatMMS
private

Definition at line 50 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dVelLongMMS
private

Definition at line 49 of file UndercarriageCtrlGeom.h.

double UndercarriageCtrlGeom::m_dVirtM
private

Definition at line 138 of file UndercarriageCtrlGeom.h.

int UndercarriageCtrlGeom::m_iNumberOfDrives
private

Definition at line 33 of file UndercarriageCtrlGeom.h.

std::string UndercarriageCtrlGeom::m_sIniDirectory
private

Definition at line 35 of file UndercarriageCtrlGeom.h.

ParamType UndercarriageCtrlGeom::m_UnderCarriagePrms
private

Definition at line 126 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdAngGearSteerCmdRad
private

Definition at line 78 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdAngGearSteerRad
private

Definition at line 58 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdAngGearSteerTarget1Rad
private

Definition at line 82 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdAngGearSteerTarget2Rad
private

Definition at line 84 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdAngGearSteerTargetRad
private

Definition at line 86 of file UndercarriageCtrlGeom.h.

std::vector< std::vector<double> > UndercarriageCtrlGeom::m_vdCtrlVal
private

storage for internal controller states m_vdCtrlVal is Vector with stored Controller-values of all wheels m_vdCtrlVal[iWheelNr][iVariableNr] iWheelNr: Index of Wheel Number (0..3) iVariableNr: 0: previous Commanded deltaPhi e(k-1) 1: pre-previous Commanded deltaPhi e(k-2) 2: previous Commanded Velocity u(k-1)

Definition at line 147 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdDltAngGearDriveRad
private

Definition at line 57 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdExWheelAngRad
private

Definition at line 105 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdExWheelDistMM
private

Definition at line 104 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdExWheelXPosMM
private

Exact Position of the Wheels' itself in cartesian (X/Y) and polar (Dist/Ang) coordinates relative to robot coordinate System

Definition at line 102 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdExWheelYPosMM
private

Definition at line 103 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearDriveCmdRadS
private

Definition at line 76 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearDriveRadS
private

Definition at line 55 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearDriveTarget1RadS
private

Definition at line 83 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearDriveTarget2RadS
private

Definition at line 85 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearDriveTargetRadS
private

Definition at line 87 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearSteerCmdRadS
private

Definition at line 77 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdVelGearSteerRadS
private

Definition at line 56 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdWheelAngRad
private

Definition at line 96 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdWheelDistMM
private

Definition at line 95 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdWheelXPosMM
private

Position of the Wheels' Steering Axis' in cartesian (X/Y) and polar (Dist/Ang) coordinates relative to robot coordinate System

Definition at line 93 of file UndercarriageCtrlGeom.h.

std::vector<double> UndercarriageCtrlGeom::m_vdWheelYPosMM
private

Definition at line 94 of file UndercarriageCtrlGeom.h.


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


cob_undercarriage_ctrl
Author(s): Christian Connette
autogenerated on Wed Apr 7 2021 02:11:56