21 this->delta_t = delta_t;
22 GMM =
new Gaussians(nStates, nVar, f_mu, f_sigma, f_prio);
28 const vector<double> pri_vec,
29 const vector<double> mu_vec,
30 const vector<double> sig_vec)
32 this->delta_t = delta_t;
33 GMM =
new Gaussians(nStates, nVar, pri_vec, mu_vec, sig_vec);
39 GMM->InitFastGMR(first_inindex, last_inindex, first_outindex, last_outindex);
41 gDim = last_inindex - first_inindex + 1;
42 if (gDim !=
static_cast<unsigned int>(last_outindex - first_outindex + 1))
44 cout <<
"dynamics dimension is not matching" << endl;
64 this->target_t = target_t;
67 this->target = target;
97 this->current_t = current_t;
109 return GMM->Regression(
x);
122 target_t -= (delta_t * lamda);
124 gXi += (
getVelocity(gXi - target) * (delta_t * lamda));
132 unsigned int frame = 0;
134 MathLib::Vector xi(3);
#define REACHING_ITERATION_MAX
#define GMR_ERROR_TOLERANCE
MathLib::Vector getVelocity(MathLib::Vector x)
void setStateTarget(MathLib::Vector state, MathLib::Vector target)
double getCurrentTime(void)
void setTarget(MathLib::Vector target, double target_t=-1.0)
double getReachingTime(double lamda)
void initGMR(int first_inindex, int last_inindex, int first_outindex, int last_outindex)
void setCurrentTime(double current_t)
MathLib::Vector getTarget(void)
MathLib::Vector getState(void)
GMRDynamics(int nStates, int nVar, double delta_t, const char *f_mu, const char *f_sigma, const char *f_prio)
MathLib::Vector getNextState(void)
void setState(MathLib::Vector state)
This file offers overloads of toIce() and fromIce() functions for STL container types.