Compute the joints updates for a hierarchy of simultaneous tasks. More...
#include <hpp/gik/core/solver.hh>
Public Member Functions | |
ChppGikSolver (CjrlDynamicRobot &inRobot) | |
Constructor. | |
void | rootJoint (CjrlJoint &inRootJoint) |
Select the root joint. | |
bool | weights (const vectorN &inWeights) |
Set weights on the degrees of freedom. | |
void | prepare (std::vector< CjrlGikStateConstraint * > &inTasks) |
Deprecated. | |
void | solve (std::vector< CjrlGikStateConstraint * > &inTasks, double lambda, const std::vector< double > &inSRcoefs) |
Compute a solution to the input vector of linear systems. | |
void | solve (std::vector< CjrlGikStateConstraint * > &inTasks, double lambda) |
Compute a solution to the input vector of linear systems. | |
~ChppGikSolver () | |
Destructor. | |
Retrieving the solution | |
const vectorN & | solution () |
Get the full solution configuration including the root configuration. | |
const vectorN & | solutionJointConfiguration () |
Get the new joint configuration excluding the root joint. | |
const std::pair< vector3d, vector3d > & | solutionRootConfiguration () |
Get the new pose of the root as a 6d vector: X Y Z ROLL PITCH YAW. | |
const matrix4d & | solutionRootPose () |
Get the new pose of the root as a homogenous matrix. |
Compute the joints updates for a hierarchy of simultaneous tasks.
ChppGikSolver::ChppGikSolver | ( | CjrlDynamicRobot & | inRobot | ) |
Constructor.
inRobot | robot |
ChppGikSolver::~ChppGikSolver | ( | ) |
Destructor.
void ChppGikSolver::prepare | ( | std::vector< CjrlGikStateConstraint * > & | inTasks | ) |
Deprecated.
Does nothing.
void ChppGikSolver::rootJoint | ( | CjrlJoint & | inRootJoint | ) |
Select the root joint.
const vectorN& ChppGikSolver::solution | ( | ) |
Get the full solution configuration including the root configuration.
const vectorN& ChppGikSolver::solutionJointConfiguration | ( | ) |
Get the new joint configuration excluding the root joint.
Get the new pose of the root as a 6d vector: X Y Z ROLL PITCH YAW.
const matrix4d& ChppGikSolver::solutionRootPose | ( | ) |
Get the new pose of the root as a homogenous matrix.
void ChppGikSolver::solve | ( | std::vector< CjrlGikStateConstraint * > & | inTasks, |
double | lambda, | ||
const std::vector< double > & | inSRcoefs | ||
) |
Compute a solution to the input vector of linear systems.
inTasks | Vector of tasks in decreasing order of priority, |
lambda | Coefficient applied to solution to update configuration, |
inSRcoefs | vector of damping coefficient. The linear systems(CjrlGikStateConstraint objects) should already be computed. The order in the vector of tasks follows decreasing priority. |
void ChppGikSolver::solve | ( | std::vector< CjrlGikStateConstraint * > & | inTasks, |
double | lambda | ||
) |
Compute a solution to the input vector of linear systems.
inTasks | Vector of tasks in decreasing order of priority, |
lambda | Coefficient applied to solution to update configuration, The linear systems(CjrlGikStateConstraint objects) should already be computed. The order in the vector of tasks follows decreasing priority. Calls the other method ChppGikSolver::solve. |
bool ChppGikSolver::weights | ( | const vectorN & | inWeights | ) |
Set weights on the degrees of freedom.