6 #ifndef GAIT_ABSTRACT_POSE_H
7 #define GAIT_ABSTRACT_POSE_H
10 #include <gait/util/gait_common_pose.h>
23 class AbstractLegPose;
24 class AbstractArmPose;
45 inline void reset(
bool left =
true)
57 inline void setPose(
double ext,
double angX,
double angY,
double angZ)
105 void fromJointAngles(
double hipYaw,
double hipRoll,
double hipPitch,
double kneePitch,
double anklePitch,
double ankleRoll);
108 void getJointAngles(
double& hipYaw,
double& hipRoll,
double& hipPitch,
double& kneePitch,
double& anklePitch,
double& ankleRoll)
const;
157 inline void setPose(
double ext,
double angX,
double angY)
189 void fromJointAngles(
double shoulderPitch,
double shoulderRoll,
double elbowPitch);
192 void getJointAngles(
double& shoulderPitch,
double& shoulderRoll,
double& elbowPitch)
const;
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.
Definition: gait_abstract_pose.cpp:49
void setLinkLength(double length)
Set the link length used for pose conversions.
Definition: gait_common_pose.h:178
void reset(bool left=true)
Reset function.
Definition: gait_common_pose.h:135
void setArmsFromJointPose(const JointArmPose &left, const JointArmPose &right)
Set the abstract arm poses to given joint poses.
Definition: gait_abstract_pose.h:270
AbstractLegPose leftLeg
Abstract pose of the left leg.
Definition: gait_abstract_pose.h:288
CommonLegData cld
Data that is shared by all leg pose representations.
Definition: gait_abstract_pose.h:115
void setLegsFromInversePose(const InverseLegPose &left, const InverseLegPose &right)
Set the abstract leg poses to given inverse poses.
Definition: gait_abstract_pose.h:263
Data struct that contains the information pertaining to an arm pose that should be common amongst all...
Definition: gait_common_pose.h:125
AbstractArmPose(bool left=true)
Default constructor.
Definition: gait_abstract_pose.h:143
void setFromInversePose(const InversePose &pose)
Set the abstract pose to a given inverse pose.
Definition: gait_abstract_pose.cpp:112
Data struct that encompasses the joint representation of a robot pose.
Definition: gait_joint_pose.h:242
void reset()
Reset function.
Definition: gait_abstract_pose.h:224
void setLinkLength(double length)
Set the link length used for pose conversions.
Definition: gait_abstract_pose.h:173
double angleX
Orientation angle of the leg axis about the positive x axis (2nd ZXY Euler angle) ...
Definition: gait_abstract_pose.h:119
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.
Definition: gait_abstract_pose.cpp:37
void setFromInversePose(const InverseArmPose &pose)
Set the abstract arm pose to a given inverse arm pose.
Definition: gait_abstract_pose.cpp:72
void setLinkLength(double length)
Set the link length used for pose conversions.
Definition: gait_abstract_pose.h:89
void setLegsFromJointPose(const JointLegPose &left, const JointLegPose &right)
Set the abstract leg poses to given joint poses.
Definition: gait_abstract_pose.h:256
Data struct that encompasses the abstract representation of an arm pose.
Definition: gait_abstract_pose.h:136
void fromJointAngles(double shoulderPitch, double shoulderRoll, double elbowPitch)
Set the pose of the arm to the pose defined by the given joint angles.
Definition: gait_abstract_pose.cpp:81
AbstractArmPose rightArm
Abstract pose of the right arm.
Definition: gait_abstract_pose.h:291
void reset(bool left=true)
Reset function.
Definition: gait_common_pose.h:30
double angleX
Orientation angle of the arm axis about the positive x axis (3rd ZYX Euler angle, angleZ is zero) ...
Definition: gait_abstract_pose.h:203
void setFromJointPose(const JointArmPose &pose)
Set the abstract arm pose to a given joint arm pose.
Definition: gait_abstract_pose.cpp:65
void setFootPoseMirrored(double footAngX, double footAngY)
Set the abstract foot pose in mirror mode (directly set the abstract foot pose parameters if this is ...
Definition: gait_abstract_pose.h:82
double footAngleX
Global orientation angle of the foot about the positive x axis (more precisely, if all non-roll servo...
Definition: gait_abstract_pose.h:124
double linkLength
The assumed (equal) length of the upper and lower leg links (used for joint pose conversions) ...
Definition: gait_common_pose.h:114
double linkLength
The assumed (equal) length of the upper and lower arm links (used for joint pose conversions) ...
Definition: gait_common_pose.h:197
CommonArmData cad
Data that is shared by all arm pose representations.
Definition: gait_abstract_pose.h:199
void setFromInversePose(const InverseLegPose &pose)
Set the abstract leg pose to a given inverse leg pose.
Definition: gait_abstract_pose.cpp:28
void setLinkLengths(double legLinkLength, double armLinkLength)
Set the arm and leg link lengths used for pose conversions.
Definition: gait_abstract_pose.h:237
Data struct that encompasses the inverse representation of an arm pose.
Definition: gait_inverse_pose.h:118
AbstractLegPose rightLeg
Abstract pose of the right leg.
Definition: gait_abstract_pose.h:289
double extension
Extension of the arm (in the range [0,1], 0 = Fully extended, 1 = Fully contracted) ...
Definition: gait_abstract_pose.h:202
Data struct that encompasses the joint representation of an arm pose.
Definition: gait_joint_pose.h:147
void getJointAngles(double &shoulderPitch, double &shoulderRoll, double &elbowPitch) const
Calculate the joint angles corresponding to the current abstract arm pose.
Definition: gait_abstract_pose.cpp:90
double angleY
Orientation angle of the arm axis about the positive y axis (2nd ZYX Euler angle, angleZ is zero) ...
Definition: gait_abstract_pose.h:204
void setPoseMirrored(double ext, double angX, double angY)
Set the abstract pose in mirror mode (directly set the abstract pose parameters if this is the left a...
Definition: gait_abstract_pose.h:165
void setFromJointPose(const JointPose &pose)
Set the abstract pose to a given joint pose.
Definition: gait_abstract_pose.cpp:103
void reset(bool left=true)
Reset function.
Definition: gait_abstract_pose.h:45
void setFootPose(double footAngX, double footAngY)
Set the abstract foot pose (directly set the abstract foot pose parameters)
Definition: gait_abstract_pose.h:75
double footAngleY
Global orientation angle of the foot about the positive y axis (more precisely, if all non-pitch serv...
Definition: gait_abstract_pose.h:125
double angleY
Orientation angle of the leg axis about the positive y axis (3rd ZXY Euler angle) ...
Definition: gait_abstract_pose.h:120
Data struct that encompasses the inverse representation of a robot pose.
Definition: gait_inverse_pose.h:188
void setPose(double ext, double angX, double angY)
Set the abstract pose (directly set the abstract pose parameters)
Definition: gait_abstract_pose.h:157
void setFromJointPose(const JointLegPose &pose)
Set the abstract leg pose to a given joint leg pose.
Definition: gait_abstract_pose.cpp:21
Data struct that encompasses the abstract representation of a robot pose.
Definition: gait_abstract_pose.h:214
AbstractArmPose leftArm
Abstract pose of the left arm.
Definition: gait_abstract_pose.h:290
bool isLeft
Boolean flag that is true if this is a left leg and false if this is a right leg. ...
Definition: gait_common_pose.h:110
bool isLeft
Boolean flag that is true if this is a left arm and false if this is a right arm. ...
Definition: gait_common_pose.h:193
Data struct that encompasses the abstract representation of a leg pose.
Definition: gait_abstract_pose.h:35
AbstractPose()
Default constructor.
Definition: gait_abstract_pose.h:221
Data struct that encompasses the joint representation of a leg pose.
Definition: gait_joint_pose.h:36
Data struct that encompasses the inverse representation of a leg pose.
Definition: gait_inverse_pose.h:36
double angleZ
Orientation angle of the leg axis about the positive z axis (1st ZXY Euler angle) ...
Definition: gait_abstract_pose.h:121
double extension
Extension of the leg (in the range [0,1], 0 = Fully extended, 1 = Fully contracted) ...
Definition: gait_abstract_pose.h:118
void reset(bool left=true)
Reset function.
Definition: gait_abstract_pose.h:146
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 l...
Definition: gait_abstract_pose.h:66
void setPose(double ext, double angX, double angY, double angZ)
Set the abstract pose (directly set the abstract pose parameters)
Definition: gait_abstract_pose.h:57
Data struct that contains the information pertaining to a leg pose that should be common amongst all ...
Definition: gait_common_pose.h:20
AbstractLegPose(bool left=true)
Default constructor.
Definition: gait_abstract_pose.h:42
void setArmsFromInversePose(const InverseArmPose &left, const InverseArmPose &right)
Set the abstract arm poses to given inverse poses.
Definition: gait_abstract_pose.h:277
void setLinkLength(double length)
Set the link length used for pose conversions.
Definition: gait_common_pose.h:89