libmove3d-planners
|
Natural Motion and Arm Confort. More...
#include <HRICS_Natural.hpp>
Public Member Functions | |
Natural (Robot *R) | |
void | initGeneral () |
Initilize the parameters for the Natural Cost space. | |
void | initNaturalJustin () |
void | initNaturalAchile () |
void | initNaturalHerakles () |
void | initNaturalOldDude () |
void | initHumanBaseGrid (std::vector< double > box) |
void | printBodyPos () |
void | setRobotToConfortPosture () |
double | getConfigCost () |
Get the cost of the current configuration. More... | |
double | getCost (const Eigen::Vector3d &WSPoint, bool useLeftvsRightArm, bool withEffect=false) |
Computes the cost for a Workspace point. More... | |
double | getWorkspaceCost (const Eigen::Vector3d &WSPoint) |
Get the cost of a point in the grid. More... | |
bool | getWorkspaceIsReachable (const Eigen::Vector3d &WSPoint) |
Is point reachable in workspace. | |
double | getJointDisplacement () |
Get the 3 component of natural cost space. More... | |
double | getEnergy () |
Energy : This function evaluates the joint displacement from the VRS project at Iwoa. | |
double | getDiscomfort () |
Discomfort : This function evaluates the joint displacement from the VRS project at Iwoa. | |
double | basicNaturalArmCost (bool useLeftvsRightArm) |
Others. | |
void | setRobotColorFromConfiguration (bool toSet) |
std::vector< double > | getUpperBodyHeigth (bool useReference=true) |
Discomfort : This function evaluates the different in heigth of each body regarding the confort position from the VRS project at Iwoa. | |
double | getCustomDistConfig (Configuration &q) |
Compute the classic square distance between two configurations with weight. More... | |
double | getJointLimits (Configuration &q) |
double | getNumberOfIKCost (const Eigen::Vector3d &WSPoint) |
Simple number of IK Cost. More... | |
bool | computeIsReachableAndMove (const Eigen::Vector3d &WSPoint, bool leftArm) |
Compute if the Workspace Point is Reachable Move the robot. More... | |
bool | computeIsReachableOnly (const Eigen::Vector3d &WSPoint, bool leftArm) |
Compute if the Workspace Point is Reachable Move the robot. | |
Eigen::Affine3d | getGridOriginMatrix () |
Computation on the Grid. | |
NaturalGrid * | computeNaturalGrid () |
compute a NaturalGrid (calling class NaturalGrid) by using Env variable. | |
void | computeAllCellCost () |
void | computeAllReachableCellCost () |
std::vector< Eigen::Vector3d > | getSortedReachableWSPoint () |
Get the sorted cells. | |
std::vector< std::pair< double, Eigen::Vector3d > > | getReachableWSPoint () |
int | getObjectDof () |
Basic accesors. | |
bool | IsHuman () |
Robot * | getRobot () |
NaturalGrid * | getGrid () |
void | setGrid (NaturalGrid *grid) |
Basic setters. | |
Natural Motion and Arm Confort.
bool Natural::computeIsReachableAndMove | ( | const Eigen::Vector3d & | WSPoint, |
bool | leftArm | ||
) |
double Natural::getConfigCost | ( | ) |
Get the cost of the current configuration.
Compute the Natural cost for a configuration with weight.
Wieghted sum
double Natural::getCost | ( | const Eigen::Vector3d & | WSPoint, |
bool | useLeftvsRightArm, | ||
bool | withEffect = false |
||
) |
Computes the cost for a Workspace point.
useLeftvsRightArm | is true for left and false for right |
double Natural::getCustomDistConfig | ( | Configuration & | q | ) |
Compute the classic square distance between two configurations with weight.
Input: The robot, the two configurations
See : p3d_dist_config
double Natural::getJointDisplacement | ( | ) |
Get the 3 component of natural cost space.
Joint-displacement : This function evaluates the joint displacement from the VRS project at Iwoa.
double Natural::getNumberOfIKCost | ( | const Eigen::Vector3d & | WSPoint | ) |
Simple number of IK Cost.
Computes the number of IK.
double Natural::getWorkspaceCost | ( | const Eigen::Vector3d & | WSPoint | ) |
Get the cost of a point in the grid.
Cost of a workspace point.
void Natural::initHumanBaseGrid | ( | std::vector< double > | box | ) |
(q+6) +
(q+6) +
(q+7) +
(q+7) +
(q+8) +
(q+8) +