NimbRo ROS Soccer Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gait::AbstractLegPose Struct Reference

Data struct that encompasses the abstract representation of a leg pose. More...

#include <gait_abstract_pose.h>

Public Member Functions

 AbstractLegPose (bool left=true)
 Default constructor.
 
void reset (bool left=true)
 Reset function.
 
void setPose (double ext, double angX, double angY, double angZ)
 Set the abstract pose (directly set the abstract pose parameters)
 
void setPoseMirrored (double ext, double angX, double angY, double angZ)
 Set the abstract pose in mirror mode (directly set the abstract pose parameters if this is the left leg, or mirror the pose if this is the right leg)
 
void setFootPose (double footAngX, double footAngY)
 Set the abstract foot pose (directly set the abstract foot pose parameters)
 
void setFootPoseMirrored (double footAngX, double footAngY)
 Set the abstract foot pose in mirror mode (directly set the abstract foot pose parameters if this is the left leg, or mirror the pose if this is the right leg)
 
void setLinkLength (double length)
 Set the link length used for pose conversions.
 
void setFromJointPose (const JointLegPose &pose)
 Set the abstract leg pose to a given joint leg pose.
 
void setFromInversePose (const InverseLegPose &pose)
 Set the abstract leg pose to a given inverse leg pose.
 
void fromJointAngles (double hipYaw, double hipRoll, double hipPitch, double kneePitch, double anklePitch, double ankleRoll)
 Set the pose of the leg to the pose defined by the given joint angles.
 
void getJointAngles (double &hipYaw, double &hipRoll, double &hipPitch, double &kneePitch, double &anklePitch, double &ankleRoll) const
 Calculate the joint angles corresponding to the current abstract leg pose.
 

Public Attributes

CommonLegData cld
 Data that is shared by all leg pose representations.
 
double extension
 Extension of the leg (in the range [0,1], 0 = Fully extended, 1 = Fully contracted)
 
double angleX
 Orientation angle of the leg axis about the positive x axis (2nd ZXY Euler angle)
 
double angleY
 Orientation angle of the leg axis about the positive y axis (3rd ZXY Euler angle)
 
double angleZ
 Orientation angle of the leg axis about the positive z axis (1st ZXY Euler angle)
 
double footAngleX
 Global orientation angle of the foot about the positive x axis (more precisely, if all non-roll servo positions are zeroed then footAngleX is the pure roll rotation from the global frame to the foot frame)
 
double footAngleY
 Global orientation angle of the foot about the positive y axis (more precisely, if all non-pitch servo positions are zeroed then footAngleY is the pure pitch rotation from the global frame to the foot frame)
 

Detailed Description

Data struct that encompasses the abstract representation of a leg pose.

The assumed joint order is hip yawhip rollhip pitchknee pitchankle pitchankle roll. The upper and lower leg links are assumed to be of the same length. The correct value of the link length must be set only if setFromInversePose() is used.


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