iCub-main
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Solver Class Reference

#include <solver.h>

+ Inheritance diagram for Solver:

Public Member Functions

 Solver (PolyDriver *_drvTorso, PolyDriver *_drvHead, ExchangeData *_commData, EyePinvRefGen *_eyesRefGen, Localizer *_loc, Controller *_ctrl, const unsigned int _period)
 
virtual ~Solver ()
 
double neckTargetRotAngle (const Vector &xd)
 
void bindNeckPitch (const double min_deg, const double max_deg)
 
void bindNeckRoll (const double min_deg, const double max_deg)
 
void bindNeckYaw (const double min_deg, const double max_deg)
 
void getCurNeckPitchRange (double &min_deg, double &max_deg)
 
void getCurNeckRollRange (double &min_deg, double &max_deg)
 
void getCurNeckYawRange (double &min_deg, double &max_deg)
 
void clearNeckPitch ()
 
void clearNeckRoll ()
 
void clearNeckYaw ()
 
double getNeckAngleUserTolerance () const
 
void setNeckAngleUserTolerance (const double angle)
 
bool threadInit () override
 
void threadRelease () override
 
void afterStart (bool s) override
 
void run () override
 
void suspend ()
 
void resume ()
 
 Solver (ResourceFinder &_rf, inPort *_port_q, exchangeData *_commData, unsigned int period)
 
virtual bool threadInit ()
 
virtual void afterStart (bool s)
 
virtual void run ()
 
virtual void threadRelease ()
 
- Public Member Functions inherited from GazeComponent
virtual bool getExtrinsicsMatrix (const string &type, Matrix &M)
 
virtual bool setExtrinsicsMatrix (const string &type, const Matrix &M)
 
virtual void minAllowedVergenceChanged ()
 

Protected Member Functions

void updateAngles ()
 
Vector computeTargetUserTolerance (const Vector &xd)
 

Protected Attributes

iCubHeadCenterneck
 
iCubInertialSensorimu
 
iKinChainchainNeck
 
iKinChainchainEyeL
 
iKinChainchainEyeR
 
GazeIpOptMininvNeck
 
PolyDriver * drvTorso
 
PolyDriver * drvHead
 
ExchangeDatacommData
 
EyePinvRefGeneyesRefGen
 
Localizerloc
 
Controllerctrl
 
mutex mtx
 
unsigned int period
 
int nJointsTorso
 
int nJointsHead
 
double neckAngleUserTolerance
 
double Ts
 
Vector fbTorso
 
Vector fbHead
 
Vector neckPos
 
Vector gazePos
 
AWLinEstimatortorsoVel
 
double neckPitchMin
 
double neckPitchMax
 
double neckRollMin
 
double neckRollMax
 
double neckYawMin
 
double neckYawMax
 
ResourceFinder & rf
 
iKinLimblimb
 
iKinChainchain
 
iKinIpOptMinslv
 
exchangeDatacommData
 
inPortport_q
 
inPort port_xd
 
Port port_qd
 
Vector xd_old
 
- Protected Attributes inherited from GazeComponent
iCubEyeeyeL {nullptr}
 
iCubEyeeyeR {nullptr}
 

Detailed Description

Definition at line 119 of file solver.h.

Constructor & Destructor Documentation

◆ Solver() [1/2]

Solver::Solver ( PolyDriver *  _drvTorso,
PolyDriver *  _drvHead,
ExchangeData _commData,
EyePinvRefGen _eyesRefGen,
Localizer _loc,
Controller _ctrl,
const unsigned int  _period 
)

Definition at line 460 of file solver.cpp.

◆ ~Solver()

Solver::~Solver ( )
virtual

Definition at line 557 of file solver.cpp.

◆ Solver() [2/2]

Solver::Solver ( ResourceFinder &  _rf,
inPort _port_q,
exchangeData _commData,
unsigned int  period 
)
inline

Definition at line 137 of file main.cpp.

Member Function Documentation

◆ afterStart() [1/2]

virtual void Solver::afterStart ( bool  s)
inlinevirtual

Definition at line 196 of file main.cpp.

◆ afterStart() [2/2]

void Solver::afterStart ( bool  s)
override

Definition at line 764 of file solver.cpp.

◆ bindNeckPitch()

void Solver::bindNeckPitch ( const double  min_deg,
const double  max_deg 
)

Definition at line 569 of file solver.cpp.

◆ bindNeckRoll()

void Solver::bindNeckRoll ( const double  min_deg,
const double  max_deg 
)

Definition at line 583 of file solver.cpp.

◆ bindNeckYaw()

void Solver::bindNeckYaw ( const double  min_deg,
const double  max_deg 
)

Definition at line 597 of file solver.cpp.

◆ clearNeckPitch()

void Solver::clearNeckPitch ( )

Definition at line 638 of file solver.cpp.

◆ clearNeckRoll()

void Solver::clearNeckRoll ( )

Definition at line 649 of file solver.cpp.

◆ clearNeckYaw()

void Solver::clearNeckYaw ( )

Definition at line 660 of file solver.cpp.

◆ computeTargetUserTolerance()

Vector Solver::computeTargetUserTolerance ( const Vector &  xd)
protected

Definition at line 708 of file solver.cpp.

◆ getCurNeckPitchRange()

void Solver::getCurNeckPitchRange ( double &  min_deg,
double &  max_deg 
)

Definition at line 611 of file solver.cpp.

◆ getCurNeckRollRange()

void Solver::getCurNeckRollRange ( double &  min_deg,
double &  max_deg 
)

Definition at line 620 of file solver.cpp.

◆ getCurNeckYawRange()

void Solver::getCurNeckYawRange ( double &  min_deg,
double &  max_deg 
)

Definition at line 629 of file solver.cpp.

◆ getNeckAngleUserTolerance()

double Solver::getNeckAngleUserTolerance ( ) const

Definition at line 671 of file solver.cpp.

◆ neckTargetRotAngle()

double Solver::neckTargetRotAngle ( const Vector &  xd)

Definition at line 697 of file solver.cpp.

◆ resume()

void Solver::resume ( )

Definition at line 881 of file solver.cpp.

◆ run() [1/2]

virtual void Solver::run ( void  )
inlinevirtual

Definition at line 205 of file main.cpp.

◆ run() [2/2]

void Solver::run ( void  )
override

Definition at line 774 of file solver.cpp.

◆ setNeckAngleUserTolerance()

void Solver::setNeckAngleUserTolerance ( const double  angle)

Definition at line 678 of file solver.cpp.

◆ suspend()

void Solver::suspend ( )

Definition at line 872 of file solver.cpp.

◆ threadInit() [1/2]

virtual bool Solver::threadInit ( void  )
inlinevirtual

Definition at line 146 of file main.cpp.

◆ threadInit() [2/2]

bool Solver::threadInit ( )
override

Definition at line 731 of file solver.cpp.

◆ threadRelease() [1/2]

virtual void Solver::threadRelease ( void  )
inlinevirtual

Definition at line 240 of file main.cpp.

◆ threadRelease() [2/2]

void Solver::threadRelease ( )
override

Definition at line 757 of file solver.cpp.

◆ updateAngles()

void Solver::updateAngles ( )
protected

Definition at line 685 of file solver.cpp.

Member Data Documentation

◆ chain

iKinChain* Solver::chain
protected

Definition at line 125 of file main.cpp.

◆ chainEyeL

iKinChain * Solver::chainEyeL
protected

Definition at line 124 of file solver.h.

◆ chainEyeR

iKinChain * Solver::chainEyeR
protected

Definition at line 124 of file solver.h.

◆ chainNeck

iKinChain* Solver::chainNeck
protected

Definition at line 124 of file solver.h.

◆ commData [1/2]

ExchangeData* Solver::commData
protected

Definition at line 127 of file solver.h.

◆ commData [2/2]

exchangeData* Solver::commData
protected

Definition at line 127 of file main.cpp.

◆ ctrl

Controller* Solver::ctrl
protected

Definition at line 130 of file solver.h.

◆ drvHead

PolyDriver * Solver::drvHead
protected

Definition at line 126 of file solver.h.

◆ drvTorso

PolyDriver* Solver::drvTorso
protected

Definition at line 126 of file solver.h.

◆ eyesRefGen

EyePinvRefGen* Solver::eyesRefGen
protected

Definition at line 128 of file solver.h.

◆ fbHead

Vector Solver::fbHead
protected

Definition at line 140 of file solver.h.

◆ fbTorso

Vector Solver::fbTorso
protected

Definition at line 139 of file solver.h.

◆ gazePos

Vector Solver::gazePos
protected

Definition at line 142 of file solver.h.

◆ imu

iCubInertialSensor* Solver::imu
protected

Definition at line 123 of file solver.h.

◆ invNeck

GazeIpOptMin* Solver::invNeck
protected

Definition at line 125 of file solver.h.

◆ limb

iKinLimb* Solver::limb
protected

Definition at line 124 of file main.cpp.

◆ loc

Localizer* Solver::loc
protected

Definition at line 129 of file solver.h.

◆ mtx

mutex Solver::mtx
protected

Definition at line 131 of file solver.h.

◆ neck

iCubHeadCenter* Solver::neck
protected

Definition at line 122 of file solver.h.

◆ neckAngleUserTolerance

double Solver::neckAngleUserTolerance
protected

Definition at line 136 of file solver.h.

◆ neckPitchMax

double Solver::neckPitchMax
protected

Definition at line 147 of file solver.h.

◆ neckPitchMin

double Solver::neckPitchMin
protected

Definition at line 146 of file solver.h.

◆ neckPos

Vector Solver::neckPos
protected

Definition at line 141 of file solver.h.

◆ neckRollMax

double Solver::neckRollMax
protected

Definition at line 149 of file solver.h.

◆ neckRollMin

double Solver::neckRollMin
protected

Definition at line 148 of file solver.h.

◆ neckYawMax

double Solver::neckYawMax
protected

Definition at line 151 of file solver.h.

◆ neckYawMin

double Solver::neckYawMin
protected

Definition at line 150 of file solver.h.

◆ nJointsHead

int Solver::nJointsHead
protected

Definition at line 135 of file solver.h.

◆ nJointsTorso

int Solver::nJointsTorso
protected

Definition at line 134 of file solver.h.

◆ period

unsigned int Solver::period
protected

Definition at line 133 of file solver.h.

◆ port_q

inPort* Solver::port_q
protected

Definition at line 129 of file main.cpp.

◆ port_qd

Port Solver::port_qd
protected

Definition at line 131 of file main.cpp.

◆ port_xd

inPort Solver::port_xd
protected

Definition at line 130 of file main.cpp.

◆ rf

ResourceFinder& Solver::rf
protected

Definition at line 123 of file main.cpp.

◆ slv

iKinIpOptMin* Solver::slv
protected

Definition at line 126 of file main.cpp.

◆ torsoVel

AWLinEstimator* Solver::torsoVel
protected

Definition at line 144 of file solver.h.

◆ Ts

double Solver::Ts
protected

Definition at line 137 of file solver.h.

◆ xd_old

Vector Solver::xd_old
protected

Definition at line 133 of file main.cpp.


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