libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
HRICS::Natural Class Reference

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.
 
NaturalGridcomputeNaturalGrid ()
 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 ()
 
RobotgetRobot ()
 
NaturalGridgetGrid ()
 
void setGrid (NaturalGrid *grid)
 Basic setters.
 

Detailed Description

Natural Motion and Arm Confort.

Member Function Documentation

bool Natural::computeIsReachableAndMove ( const Eigen::Vector3d &  WSPoint,
bool  leftArm 
)

Compute if the Workspace Point is Reachable Move the robot.

Compute Wether a point is reachable for a human.

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.

Parameters
useLeftvsRightArmis 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) +


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