#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 |
Definition at line 27 of file UndercarriageCtrlGeom.h.
UndercarriageCtrlGeom::UndercarriageCtrlGeom | ( | std::string | sIniDirectory | ) |
Definition at line 21 of file UndercarriageCtrlGeom.cpp.
Definition at line 103 of file UndercarriageCtrlGeom.cpp.
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.
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.
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.