Wrapper for a jrlHumanoidDynamicRobot, support polygon and related information. More...
#include <hpp/gik/robot/standing-robot.hh>
Public Member Functions | |
ChppGikStandingRobot (CjrlHumanoidDynamicRobot &inRobot) | |
The robot should be in half-sitting configuration. More... | |
CjrlHumanoidDynamicRobot * | robot () const |
Get the jrl robot. More... | |
ChppGikSupportPolygon * | supportPolygon () |
Get the current support polygon. More... | |
bool | rightFootAhead () |
Test position of right foot against left. More... | |
bool | leftFootAhead () |
Test position of left foot against right. More... | |
const vector3d & | leftFootLocalForwardVector () |
return the root's unitary X vector expressed in the local left ankle frame More... | |
const vector3d & | rightFootLocalForwardVector () |
return the root's unitary X vector expressed in the local right ankle frame More... | |
const vector3d & | leftFootLocalSideVector () |
return the root's unitary Y vector expressed in the local left ankle frame More... | |
const vector3d & | rightFootLocalSideVector () |
return the root's unitary Y vector expressed in the local right ankle frame More... | |
const vector3d & | leftFootLocalUpVector () |
return the root's unitary Z vector expressed in the local left ankle frame More... | |
const vector3d & | rightFootLocalUpVector () |
return the root's unitary Z vector expressed in the local right ankle frame More... | |
const ChppGik2DShape & | leftFootShape () const |
get the 2DShape representing the robot's left foot seen from above. More... | |
const ChppGik2DShape & | rightFootShape () const |
get the 2DShape representing the robot's right foot seen from above. More... | |
ChppGikMaskFactory * | maskFactory () |
Get the associated mask factory. More... | |
vectorN | computeConfigurationWrtFreeFlyer (CjrlJoint *inJoint, matrix4d &inFreeFlyerInWorld) |
compute the transformation of the root body based on the desired transformation of a body in the world and return the corresponding robot configuration. More... | |
const ChppGik2DShape & | supportPolygonShape () |
bool | isPointInsideSupportPolygon (double inX, double inY, double safetyMargin=0.01) |
void | computeFeet2DConvexHull (std::vector< const ChppGikLinkedVertex *> &outVertices) |
~ChppGikStandingRobot () | |
Destructor. More... | |
HalfSitting configuration related | |
{@ | |
vector3d & | halfsittingRelativeCOM () |
Get (dx, dy, dz) defined by (dy = YCOM - Yrfoot) and (dx = RfootR'(XCOM - Xrfoot)) in right foot frame when the robot is in half sitting stance. More... | |
vectorN & | halfsittingConfiguration () |
Get the halfsitting configuration. More... | |
const vector3d & | halfsittingLocalWaistVertical () |
return a unitary vector expressed in the waist joint's local frame, coinciding with the reference frame (world) Z axis More... | |
double | halfsittingFeetDistance () |
Get the distance separating the feet in halfsitting stance. More... | |
double | halfsittingWaistHeight () |
Get the haight of the waist in halfsitting stance. More... | |
void | staticHalfsitting () |
apply the static half sitting configuration to the robot More... | |
Robot State Update | |
bool | staticState (const vectorN &inConfig) |
Apply a static configuration on the robot. More... | |
void | updateRobot (const matrix4d &inRootPose, const vectorN &inJoints, double inTimeStep) |
Update robot kinematics. More... | |
Wrapper for a jrlHumanoidDynamicRobot, support polygon and related information.
ChppGikStandingRobot::ChppGikStandingRobot | ( | CjrlHumanoidDynamicRobot & | inRobot | ) |
The robot should be in half-sitting configuration.
ChppGikStandingRobot::~ChppGikStandingRobot | ( | ) |
Destructor.
vectorN ChppGikStandingRobot::computeConfigurationWrtFreeFlyer | ( | CjrlJoint * | inJoint, |
matrix4d & | inFreeFlyerInWorld | ||
) |
compute the transformation of the root body based on the desired transformation of a body in the world and return the corresponding robot configuration.
void ChppGikStandingRobot::computeFeet2DConvexHull | ( | std::vector< const ChppGikLinkedVertex *> & | outVertices | ) |
vectorN& ChppGikStandingRobot::halfsittingConfiguration | ( | ) |
Get the halfsitting configuration.
double ChppGikStandingRobot::halfsittingFeetDistance | ( | ) |
Get the distance separating the feet in halfsitting stance.
const vector3d& ChppGikStandingRobot::halfsittingLocalWaistVertical | ( | ) |
return a unitary vector expressed in the waist joint's local frame, coinciding with the reference frame (world) Z axis
vector3d& ChppGikStandingRobot::halfsittingRelativeCOM | ( | ) |
Get (dx, dy, dz) defined by (dy = YCOM - Yrfoot) and (dx = RfootR'(XCOM - Xrfoot)) in right foot frame when the robot is in half sitting stance.
double ChppGikStandingRobot::halfsittingWaistHeight | ( | ) |
Get the haight of the waist in halfsitting stance.
bool ChppGikStandingRobot::isPointInsideSupportPolygon | ( | double | inX, |
double | inY, | ||
double | safetyMargin = 0.01 |
||
) |
bool ChppGikStandingRobot::leftFootAhead | ( | ) |
Test position of left foot against right.
const vector3d& ChppGikStandingRobot::leftFootLocalForwardVector | ( | ) |
return the root's unitary X vector expressed in the local left ankle frame
const vector3d& ChppGikStandingRobot::leftFootLocalSideVector | ( | ) |
return the root's unitary Y vector expressed in the local left ankle frame
const vector3d& ChppGikStandingRobot::leftFootLocalUpVector | ( | ) |
return the root's unitary Z vector expressed in the local left ankle frame
const ChppGik2DShape& ChppGikStandingRobot::leftFootShape | ( | ) | const |
get the 2DShape representing the robot's left foot seen from above.
HRP2 feet dimensions hard coded
ChppGikMaskFactory* ChppGikStandingRobot::maskFactory | ( | ) |
Get the associated mask factory.
bool ChppGikStandingRobot::rightFootAhead | ( | ) |
Test position of right foot against left.
const vector3d& ChppGikStandingRobot::rightFootLocalForwardVector | ( | ) |
return the root's unitary X vector expressed in the local right ankle frame
const vector3d& ChppGikStandingRobot::rightFootLocalSideVector | ( | ) |
return the root's unitary Y vector expressed in the local right ankle frame
const vector3d& ChppGikStandingRobot::rightFootLocalUpVector | ( | ) |
return the root's unitary Z vector expressed in the local right ankle frame
const ChppGik2DShape& ChppGikStandingRobot::rightFootShape | ( | ) | const |
get the 2DShape representing the robot's right foot seen from above.
HRP2 feet dimensions hard coded
CjrlHumanoidDynamicRobot* ChppGikStandingRobot::robot | ( | ) | const |
Get the jrl robot.
Referenced by ChppGikLocomotionElement::ChppGikLocomotionElement().
void ChppGikStandingRobot::staticHalfsitting | ( | ) |
apply the static half sitting configuration to the robot
bool ChppGikStandingRobot::staticState | ( | const vectorN & | inConfig | ) |
Apply a static configuration on the robot.
ChppGikSupportPolygon* ChppGikStandingRobot::supportPolygon | ( | ) |
Get the current support polygon.
Return NULL if the feet are not on the ground at elevation 0.
const ChppGik2DShape& ChppGikStandingRobot::supportPolygonShape | ( | ) |