1 #ifndef CONFIGURATION_HPP
2 #define CONFIGURATION_HPP
7 #define EIGEN_USE_NEW_STDVECTOR
8 #include <Eigen/Geometry>
9 #include <Eigen/StdVector>
65 double&
at(
const int &i) {
return _Configuration[i]; }
70 double&
operator [] (
const int &i )
const {
return _Configuration[i]; }
75 double&
operator () (
const int &i )
const {
return _Configuration[i]; }
232 std::tr1::shared_ptr<Configuration>
copy();
267 Eigen::Vector3d getTaskPos();
298 Configuration& operator*(
double coeff) {
return this->mult(coeff); }
304 Eigen::VectorXd
getEigenVector(
const int& startIndex,
const int& endIndex);
310 void setFromEigenVector(
const Eigen::VectorXd& conf,
const int& startIndex,
const int& endIndex);
315 void print(
bool withPassive =
false);
324 bool _flagInitQuaternions;
328 bool _CollisionTested;
335 double* _Configuration;
382 bool isConnectible();
386 Eigen::Vector3d position;
389 double orientation[3];
392 double dihedralAngles[3];
395 Eigen::Vector3d CM[3];
398 Eigen::Vector3d A[3];
401 bool assignedQuadAnchors;
404 double maximalTensions[6];
407 double minimalTensions[6];
410 double quadForces[3];
413 typedef std::tr1::shared_ptr<Configuration> confPtr_t;
std::tr1::shared_ptr< Configuration > operator+(Configuration &Conf)
Adds tow configurations.
Definition: configuration.hpp:278
void initializeFlyCraneConfiguration()
Initialize the FlyCrane attributes.
Definition: configuration.cpp:787
Eigen::Vector3d getPosition() const
Get the position (in translation) of the reference point of the platform.
Definition: configuration.hpp:347
void convertToRadian()
indique si le vecteur de Quaternions est initialisé
Definition: configuration.cpp:130
double distEnv()
Compute the min distance to a CSpace obstacle.
Definition: configuration.cpp:412
~Configuration()
Destructeur de la classe.
Definition: configuration.cpp:116
void copyPassive(Configuration &C)
copie les joints passifs de la Configuration courante dans la Configuration entrée ...
Definition: configuration.cpp:525
double & operator()(const int &i) const
Acces the configuration.
Definition: configuration.hpp:75
void setQuadAnchors(Eigen::Vector3d *anchors)
Set the coordinates of the anchor points of the quadrotors (expressed in the global reference frame)...
Definition: configuration.cpp:818
double * getConfigStructCopy()
obtient le pointeur sur la ConfigPt
Definition: configuration.cpp:157
double getActiveDoF(unsigned int ith)
Get the Ith Active Dof.
Definition: configuration.cpp:441
void setAsNotTested()
Set the configuration as not tested.
Definition: configuration.cpp:407
double & at(const int &i)
Acces the configuration.
Definition: configuration.hpp:65
double * getQuadForces()
Get the norms of the forces exerted by the quadrotors.
Definition: configuration.hpp:371
Eigen::VectorXd getEigenVector()
Get the Eigen Vector of the configuration.
Definition: configuration.cpp:579
double distance(Configuration *q)
Compute the distance between this configuration and the given one.
Definition: configuration.cpp:348
bool operator!=(Configuration &Conf)
Compare tow configurations.
Definition: configuration.hpp:226
double * getMinimalTensions()
Get the lower bounds on the estimations of the tensions exerted on the cables.
Definition: configuration.hpp:368
double * getOrientation()
Get the position (in rotation) of the reference point of the platform.
Definition: configuration.hpp:350
std::tr1::shared_ptr< Configuration > copy()
copie une Configuration
Definition: configuration.cpp:520
void setCentersOfMass(Eigen::Vector3d *centersOfMass)
Set the coordinates of the center of mass of each quadrotor (in the global reference frame)...
Definition: configuration.cpp:808
bool setConstraintsWithSideEffect()
Sets the configuration to respect robot constraints Leaves the robot in the last configuration.
Definition: configuration.cpp:630
void setActiveDoF(unsigned int ith, double value)
Set the ith active DoF.
Definition: configuration.cpp:469
Robot * getRobot()
obtient le Robot pour lequel la Configuration est créée
Definition: configuration.cpp:147
double & operator[](const int &i) const
Acces the configuration.
Definition: configuration.hpp:70
Eigen::Vector3d * getQuadCMs()
Get the coordinates of the center of mass of each quadrotor (expressed in the global reference frame)...
Definition: configuration.hpp:356
This class holds a the robot represented by a kinematic chain.
Definition: robot.hpp:42
bool equal(Configuration &Conf, bool print=false)
compare à une autre Configuration
Definition: configuration.cpp:497
std::tr1::shared_ptr< Configuration > operator-(Configuration &Conf)
Adds tow configurations.
Definition: configuration.hpp:288
void Clear()
détruie la configPt stockée
Definition: configuration.cpp:121
void setConfiguration(double *C)
modifie la structure configPt stockée
Eigen::Vector3d * getQuadAnchors()
Get the coordinates of the anchor point of each quadrotor (expressed in the global reference frame)...
Definition: configuration.hpp:359
void setQuaternionsToEuler()
Sets EulersAngles.
double * getDihedralAngles()
Get the orientations of the pairs of ropes with respect to the platform.
Definition: configuration.hpp:353
bool isOutOfBounds(bool print=false)
True is the configuration respects DoFs bounds.
Definition: configuration.cpp:392
void adaptCircularJointsLimits()
True is the configuration respects DoFs bounds.
Definition: configuration.cpp:397
Configuration(Robot *R)
Constructeur de la classe.
Definition: configuration.cpp:33
double squareDistance(Configuration *q)
Compute the square of the distance between this configuration and the given one.
Definition: configuration.cpp:356
bool getAssignedQuadAnchors() const
Have the coordinates of the anchor points on the quadrotors been assigned?
Definition: configuration.hpp:362
void printCompare(Configuration *conf, bool withPassive=false)
print a comparison between the 2 confs
Definition: configuration.cpp:746
void setTensionsAndForces(double maxTensions[], double minTensions[], double forces[])
Set the tension bounds and force norms.
Definition: configuration.cpp:829
Eigen::Quaterniond getQuaternion()
Gets the quaternion.
double cost()
obtient le cout de la Configuration suivant l'espace des fonctions de cout
Definition: configuration.cpp:681
void setFromEigenVector(const Eigen::VectorXd &conf)
set the Eigen Vector of the configuration
Definition: configuration.cpp:612
bool setConstraints()
Sets the configuration to respect robot constraints.
Definition: configuration.cpp:645
Classe représentant une Configuration d'un Robot.
Definition: configuration.hpp:25
double * getMaximalTensions()
Get the upper bounds on the estimations of the tensions exerted on the cables.
Definition: configuration.hpp:365
Configuration & operator=(const Configuration &other)
Asignation.
Definition: configuration.cpp:95
double dist(Configuration &Conf, bool print=false)
calcule la distance à une Configuration
Definition: configuration.cpp:260
double * getConfigStruct()
obtient le pointeur sur la ConfigPt
Definition: configuration.cpp:152
void setCostAsNotTested()
Set the configuration as not tested.
Definition: configuration.cpp:694
bool isInCollision()
indique si la Configuration est en collision
Definition: configuration.cpp:361
std::tr1::shared_ptr< Configuration > getConfigInDegree()
Get Config in degrees.
Definition: configuration.cpp:138
bool operator==(Configuration &Conf)
Compare tow configurations.
Definition: configuration.hpp:221