Class to implement humanoid related functions. More...
#include <humanoid_functions.h>
Public Member Functions | |
short unsigned int | Ankle_Flexion_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for ankle flexion. | |
double | Ankle_Flexion_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for ankle flexion. | |
short unsigned int | Ankle_Inversion_Eversion_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for ankle inversion/eversion. | |
double | Ankle_Inversion_Eversion_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for ankle inversion/eversion. | |
void | Calculate_Detached_Leg_3DOF_COG (double theta_1, double theta_2, double theta_3, int SIDE, Eigen::Vector3d *COG) |
void | Calculate_Detached_Leg_3DOF_Jacobian (double theta_1, double theta_2, double theta_3, Eigen::Matrix3d *jacobian) |
void | CalculateArmAlternateJacobian_No_Theta3_Singularity (double theta_1, double theta_2, double theta_3, Eigen::MatrixXd *jacobian) |
Calculates humanoid arm alternate jacobian matrix for no \theta3 positions. | |
void | CalculateArmJacobian (double theta_1, double theta_2, double theta_3, Eigen::Matrix3d *jacobian) |
Calculates humanoid arm jacobian matrix for a given position. | |
void | Dir_Kin_3DOF_Arm (double t1, double t2, double t3, short int SIDE, double *end_pos_n_RPY) |
Calculates humanoid arm end position given joint values. | |
void | Dir_Kin_4DOF_Detached_Leg (double t1, double t2, double t3, double t4, short int SIDE, double *end_pos_n_RPY) |
Calculates humanoid detached leg end position given joint values. | |
short unsigned int | Elbow_Flexion_Extension_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for the left arm elbow flection. | |
double | Elbow_Flexion_Extension_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for the left arm elbow flection. | |
double | GetRobotDimension (int dimension) |
Outputs selected robot dimension length. | |
short unsigned int | Head_Pan_Tilt_Conversion (double joint_angle) |
Converts joint angle for the head. | |
double | Head_Pan_Tilt_ServoValue_Conversion (short unsigned int servo_value) |
Converts servo value for the head. | |
short unsigned int | Hip_Abduction_Hiperabduction_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for the hip abduction. | |
double | Hip_Abduction_Hiperabduction_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for the hip abduction. | |
short unsigned int | Hip_Flexion_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for the hip flexion. | |
double | Hip_Flexion_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for the hip flexion. | |
humanoid (void) | |
Constructor. | |
void | Inv_Kin_3DOF_Arm (double X, double Y, double Z, double *req_angle) |
Calculates humanoid arm joint values given required position. | |
void | Inv_Kin_3DOF_Detached_Leg (double X, double Y, double Z, double *req_angle) |
Calculates humanoid detached leg joint values given required position. | |
short unsigned int | Knee_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for the knee flexion. | |
double | Knee_Flexion_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for the knee flexion. | |
short unsigned int | Shoulder_Abduction_Adduction_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for the shoulder abduction. | |
double | Shoulder_Abduction_Adduction_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for the shoulder abduction. | |
short unsigned int | Shoulder_Flexion_Extension_Conversion (short int SIDE, double joint_angle) |
Converts joint angle for the shoulder flexion. | |
double | Shoulder_Flexion_Extension_ServoValue_Conversion (short int SIDE, short unsigned int servo_value) |
Converts servo value for the shoulder flexion. | |
short unsigned int | Torso_Flexion_Extension_Conversion (double joint_angle) |
Converts joint angle for the torso flexion/extension. | |
double | Torso_Flexion_Extension_ServoValue_Conversion (short unsigned int servo_value) |
Converts servo value for the torso flexion/extension. | |
short unsigned int | Torso_Lateral_Flexion_Extension_Conversion (double joint_angle) |
Converts joint angle for the torso lateral flexion/extension. | |
double | Torso_Lateral_Flexion_Extension_ServoValue_Conversion (short unsigned int servo_value) |
Converts servo value for the torso lateral flexion/extension. | |
short unsigned int | Torso_Rotation_Conversion (double joint_angle) |
Converts joint angle for the torso rotation. | |
double | Torso_Rotation_ServoValue_Conversion (short unsigned int servo_value) |
Converts servo value for the torso rotation. | |
~humanoid (void) | |
De-constructor. | |
Private Attributes | |
double | PI |
definition of PI as a double for calculations | |
struct { | |
double ankle_height | |
robot ankle height (mm) | |
double arm_length | |
robot arm lenght (mm) | |
double foot_length | |
robot foot lenght (mm) | |
double foot_width | |
robot foot lenght (mm) | |
double forearm_length | |
robot forearm lenght (mm) | |
double shin_length | |
robot leg lenght (mm) | |
double thigh_length | |
robot thigh lenght (mm) | |
} | robot_dimensions |
Structure to hold robot dimensional data. | |
struct { | |
double foot_mass | |
foot mass | |
double shin_mass | |
shin mass | |
double thigh_mass | |
thigh mass | |
} | robot_element_mass |
Structure to hold the robot limb/element masses. | |
struct { | |
double ankle_max_flexion | |
ankle flexion maximum angular limits | |
double ankle_max_inversion | |
ankle inversion maximum angular limits | |
double ankle_min_flexion | |
ankle flexion minimum angular limits | |
double ankle_min_inversion | |
ankle inversion minimum angular limits | |
double elbow_max_flexion | |
elbow flexion maximum angular limits | |
double elbow_min_flexion | |
elbow flexion minimum angular limits | |
double head_max_tilt | |
head maximum angular limits | |
double head_min_tilt | |
head minimum angular limits | |
double hip_max_abduction | |
hip abduction maximum angular limits | |
double hip_max_flexion | |
hip inversion maximum angular limits | |
double hip_min_abduction | |
hip abduction minimum angular limits | |
double hip_min_flexion | |
hip inversion minimum angular limits | |
double knee_max_flexion | |
ankle inversion maximum angular limits | |
double knee_min_flexion | |
ankle inversion minimum angular limits | |
double shoulder_max_abduction | |
shoulder abduction maximum angular limits | |
double shoulder_max_flexion | |
shoulder flexion maximum angular limits | |
double shoulder_min_abduction | |
shoulder abduction minimum angular limits | |
double shoulder_min_flexion | |
shoulder flexion minimum angular limits | |
double torso_max_flexion | |
torso flexion maximum angular limits | |
double torso_max_lateral_flexion | |
torso lateral flexion maximum angular limits | |
double torso_max_rotation | |
torso rotation maximum angular limits | |
double torso_min_flexion | |
torso flexion minimum angular limits | |
double torso_min_lateral_flexion | |
torso lateral flexion minimum angular limits | |
double torso_min_rotation | |
torso rotation minimum angular limits | |
} | robot_joint_limits |
Structure to hold current robot joint limits. | |
struct { | |
Eigen::Vector3d foot_COM | |
foot COM | |
Eigen::Vector3d shin_COM | |
shin COM | |
Eigen::Vector3d thigh_COM | |
thigh COM | |
} | robot_relative_COM |
Structure to hold the robot limb centers of mass, in their own frames. | |
struct { | |
double elbow_flexion_servo_offset_left | |
elbow flexion offset left | |
double elbow_flexion_servo_offset_right | |
elbow flexion offset right | |
double head_servo_offset | |
head servo offset | |
double hip_flexion_b_value_left | |
hip flexion adjust curve b value left | |
double hip_flexion_b_value_right | |
hip flexion adjust curve b value right | |
double knee_flexion_b_value_left | |
knee flexion adjust curve b value left | |
double knee_flexion_b_value_right | |
knee flexion adjust curve b value right | |
double shoulder_abduction_servo_offset_left | |
shoulder abduction offset left | |
double shoulder_abduction_servo_offset_right | |
shoulder abduction offset right | |
double shoulder_flexion_servo_offset_left | |
shoulder flexion offset left | |
double shoulder_flexion_servo_offset_right | |
shoulder flexion offset right | |
double torso_flexion_servo_offset | |
torso flexion offset | |
double torso_lateral_flexion_servo_offset | |
torso lateral flexion offset | |
double torso_rotation_servo_offset | |
torso rotation offset | |
} | robot_servo_conversion |
Structure to hold servomotor digital value conversion constants. |
Class to implement humanoid related functions.
This modules contains several functions used to work with kinematics (direct/inverse), convert joint angle to servo values and some other minor functions.
This class stores inside the robot dimensions, accessible thru a dedicated function.
Definition at line 66 of file humanoid_functions.h.
humanoid::humanoid | ( | void | ) |
Constructor.
This functions sets the default values for internal variables.
Definition at line 36 of file humanoid_functions.cpp.
humanoid::~humanoid | ( | void | ) |
De-constructor.
This terminates the class.
Definition at line 100 of file humanoid_functions.cpp.
short unsigned int humanoid::Ankle_Flexion_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for ankle flexion.
This function converts joint angle for the ankle flexion [-40...20] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1093 of file humanoid_functions.cpp.
double humanoid::Ankle_Flexion_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for ankle flexion.
This function converts servomotor values [600...2400] to joint angle for the ankle flexion [-40...20].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1443 of file humanoid_functions.cpp.
short unsigned int humanoid::Ankle_Inversion_Eversion_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for ankle inversion/eversion.
This function converts joint angle for the ankle eversion [-30...45] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT. |
Definition at line 1052 of file humanoid_functions.cpp.
double humanoid::Ankle_Inversion_Eversion_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for ankle inversion/eversion.
This function converts servomotor values [600...2400] to joint angle for the ankle eversion [-30...45].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1401 of file humanoid_functions.cpp.
void humanoid::Calculate_Detached_Leg_3DOF_COG | ( | double | theta_1, | |
double | theta_2, | |||
double | theta_3, | |||
int | SIDE, | |||
Eigen::Vector3d * | COG | |||
) |
Definition at line 807 of file humanoid_functions.cpp.
void humanoid::Calculate_Detached_Leg_3DOF_Jacobian | ( | double | theta_1, | |
double | theta_2, | |||
double | theta_3, | |||
Eigen::Matrix3d * | jacobian | |||
) |
Definition at line 784 of file humanoid_functions.cpp.
void humanoid::CalculateArmAlternateJacobian_No_Theta3_Singularity | ( | double | theta_1, | |
double | theta_2, | |||
double | theta_3, | |||
Eigen::MatrixXd * | jacobian | |||
) |
Calculates humanoid arm alternate jacobian matrix for no \theta3 positions.
This function calculates the humanoid arm alternate jacobian matrix for no deltaZ positions given the joint angles. Tis function is called on the points where the inverse jacobian matrix is impossible.
[in] | theta_1 | value for the shoulder flexion joint. |
[in] | theta_2 | value for the shoulder abduction joint. |
[in] | theta_3 | value for the elbow flexion joint. |
[out] | jacobian | matrix for storing the result. |
Definition at line 604 of file humanoid_functions.cpp.
void humanoid::CalculateArmJacobian | ( | double | theta_1, | |
double | theta_2, | |||
double | theta_3, | |||
Eigen::Matrix3d * | jacobian | |||
) |
Calculates humanoid arm jacobian matrix for a given position.
This function calculates the humanoid arm jacobian matrix given the joint angles.
[in] | theta_1 | value for the shoulder flexion joint. |
[in] | theta_2 | value for the shoulder abduction joint. |
[in] | theta_3 | value for the elbow flexion joint. |
[out] | jacobian | matrix for storing the result. |
Definition at line 566 of file humanoid_functions.cpp.
void humanoid::Dir_Kin_3DOF_Arm | ( | double | t1, | |
double | t2, | |||
double | t3, | |||
short int | SIDE, | |||
double * | end_pos_n_RPY | |||
) |
Calculates humanoid arm end position given joint values.
This function calculates humanoid arm end position and RPY values given joint values in joint space.
[in] | t1 | Shoulder Flexion value in degrees. |
[in] | t2 | Shoulder Abduction value in degrees. |
[in] | t3 | Elbow Flexion value in degrees. |
[in] | SIDE | LEFT or RIGHT. |
[out] | end_pos_n_RPY | 6 element array for storing the result. |
Definition at line 110 of file humanoid_functions.cpp.
void humanoid::Dir_Kin_4DOF_Detached_Leg | ( | double | t1, | |
double | t2, | |||
double | t3, | |||
double | t4, | |||
short int | SIDE, | |||
double * | end_pos_n_RPY | |||
) |
Calculates humanoid detached leg end position given joint values.
This function calculates humanoid detached leg end position and RPY values given joint values in joint space.
[in] | t1 | Ankle inversion value in degrees. |
[in] | t2 | Ankle flexion value in degrees. |
[in] | t3 | Knee flexion value in degrees. |
[in] | t4 | Hip abduction value in degrees. |
[in] | SIDE | LEFT or RIGHT. |
[out] | end_pos_n_RPY | 6 element array for storing the result. |
Definition at line 636 of file humanoid_functions.cpp.
short unsigned int humanoid::Elbow_Flexion_Extension_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for the left arm elbow flection.
This function converts joint angle for the left arm elbow flection/extension [0...180] to servomotor values [2400...600].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 977 of file humanoid_functions.cpp.
double humanoid::Elbow_Flexion_Extension_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for the left arm elbow flection.
This function converts servomotor values [2400...600] to joint angle for the left arm elbow flection/extension [0...180].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1329 of file humanoid_functions.cpp.
double humanoid::GetRobotDimension | ( | int | dimension | ) |
Outputs selected robot dimension length.
This function retrieves the selected robot length specified.
The following defines can be used:
ARM_LENGTH
FOREARM_LENGTH
LEG_LENGTH
THIGH_LENGTH
FOOT_LENGTH
FOOT_WIDTH
ANKLE_HEIGHT
[in] | dimension | specified robot dimension. |
Definition at line 1604 of file humanoid_functions.cpp.
short unsigned int humanoid::Head_Pan_Tilt_Conversion | ( | double | joint_angle | ) |
Converts joint angle for the head.
This function converts joint angle for the head [0...10] to servomotor values [2300...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
Definition at line 892 of file humanoid_functions.cpp.
double humanoid::Head_Pan_Tilt_ServoValue_Conversion | ( | short unsigned int | servo_value | ) |
Converts servo value for the head.
This function converts servomotor values [2300...2400] to joint angle for the head [0...10].
[in] | servo_value | requested servo value. |
Definition at line 1247 of file humanoid_functions.cpp.
short unsigned int humanoid::Hip_Abduction_Hiperabduction_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for the hip abduction.
This function converts joint angle for the hip hiperabduction/abduction [-40...45] to servomotor values [2400...600].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT. |
Definition at line 1170 of file humanoid_functions.cpp.
double humanoid::Hip_Abduction_Hiperabduction_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for the hip abduction.
This function converts servomotor values [2400...600] to joint angle for the hip hiperabduction/abduction [-40...45].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1514 of file humanoid_functions.cpp.
short unsigned int humanoid::Hip_Flexion_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for the hip flexion.
This function converts joint angle for the hip flexion [-30...120] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT. |
Definition at line 1213 of file humanoid_functions.cpp.
double humanoid::Hip_Flexion_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for the hip flexion.
This function converts servomotor values [600...2400] to joint angle for the hip flexion [-30...120].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1564 of file humanoid_functions.cpp.
void humanoid::Inv_Kin_3DOF_Arm | ( | double | X, | |
double | Y, | |||
double | Z, | |||
double * | req_angle | |||
) |
Calculates humanoid arm joint values given required position.
This function calculates humanoid arm joint values given required end position in world space. (NOT TESTED FOR ALL RELEVANT OCTANTS! SEEMS TO BE WORKING FOR THE TIME BEEING...)
[in] | X | [X] required end position. |
[in] | Y | [Y] required end position. |
[in] | Z | [Z] required end position. |
[out] | req_angle | 3 element array for storing the result. |
Definition at line 142 of file humanoid_functions.cpp.
void humanoid::Inv_Kin_3DOF_Detached_Leg | ( | double | X, | |
double | Y, | |||
double | Z, | |||
double * | req_angle | |||
) |
Calculates humanoid detached leg joint values given required position.
This function calculates humanoid detached leg joint values given required end position in world space.
[in] | X | [X] required end position. |
[in] | Y | [Y] required end position. |
[in] | Z | [Z] required end position. |
[out] | req_angle | 3 element array for storing the result. |
Definition at line 669 of file humanoid_functions.cpp.
short unsigned int humanoid::Knee_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for the knee flexion.
This function converts joint angle for the knee flexion [0...130] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1134 of file humanoid_functions.cpp.
double humanoid::Knee_Flexion_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for the knee flexion.
This function converts servomotor values [600...2400] to joint angle for the knee flexion [0...130].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1485 of file humanoid_functions.cpp.
short unsigned int humanoid::Shoulder_Abduction_Adduction_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for the shoulder abduction.
This function converts joint angle for the shoulder abduction/adduction [0...180] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT. |
Definition at line 942 of file humanoid_functions.cpp.
double humanoid::Shoulder_Abduction_Adduction_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for the shoulder abduction.
This function converts servomotor values [600...2400] to joint angle for the shoulder abduction/adduction [0...180].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1296 of file humanoid_functions.cpp.
short unsigned int humanoid::Shoulder_Flexion_Extension_Conversion | ( | short int | SIDE, | |
double | joint_angle | |||
) |
Converts joint angle for the shoulder flexion.
This function converts joint angle for the shoulder flexion/extension [-40...140] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 907 of file humanoid_functions.cpp.
double humanoid::Shoulder_Flexion_Extension_ServoValue_Conversion | ( | short int | SIDE, | |
short unsigned int | servo_value | |||
) |
Converts servo value for the shoulder flexion.
This function converts servomotor values [600...2400] to joint angle for the shoulder flexion/extension [-40...140].
[in] | servo_value | requested servo value. |
[in] | SIDE | LEFT or RIGHT |
Definition at line 1262 of file humanoid_functions.cpp.
short unsigned int humanoid::Torso_Flexion_Extension_Conversion | ( | double | joint_angle | ) |
Converts joint angle for the torso flexion/extension.
This function converts joint angle for the torso flexion [-15...90] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
Definition at line 1025 of file humanoid_functions.cpp.
double humanoid::Torso_Flexion_Extension_ServoValue_Conversion | ( | short unsigned int | servo_value | ) |
Converts servo value for the torso flexion/extension.
This function converts servomotor values [600...2400] to joint angle for the torso flexion [-15...90] .
[in] | servo_value | requested servo value. |
Definition at line 1375 of file humanoid_functions.cpp.
short unsigned int humanoid::Torso_Lateral_Flexion_Extension_Conversion | ( | double | joint_angle | ) |
Converts joint angle for the torso lateral flexion/extension.
This function converts joint angle for the torso lateral flexion [-90...90] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value |
Definition at line 1039 of file humanoid_functions.cpp.
double humanoid::Torso_Lateral_Flexion_Extension_ServoValue_Conversion | ( | short unsigned int | servo_value | ) |
Converts servo value for the torso lateral flexion/extension.
This function converts servomotor values [600...2400] to joint angle for the torso lateral flexion [-90...90].
[in] | servo_value | requested servo value. |
Definition at line 1388 of file humanoid_functions.cpp.
short unsigned int humanoid::Torso_Rotation_Conversion | ( | double | joint_angle | ) |
Converts joint angle for the torso rotation.
This function converts joint angle for the torso rotation [-90...90] to servomotor values [600...2400].
[in] | joint_angle | a double with requested joint angle value in degrees. |
Definition at line 1012 of file humanoid_functions.cpp.
double humanoid::Torso_Rotation_ServoValue_Conversion | ( | short unsigned int | servo_value | ) |
Converts servo value for the torso rotation.
This function converts servomotor values [600...2400] to joint angle for the torso rotation [-90...90].
[in] | servo_value | requested servo value. |
Definition at line 1362 of file humanoid_functions.cpp.
double humanoid::ankle_height |
robot ankle height (mm)
Definition at line 479 of file humanoid_functions.h.
double humanoid::ankle_max_flexion |
ankle flexion maximum angular limits
Definition at line 570 of file humanoid_functions.h.
ankle inversion maximum angular limits
Definition at line 561 of file humanoid_functions.h.
double humanoid::ankle_min_flexion |
ankle flexion minimum angular limits
Definition at line 567 of file humanoid_functions.h.
ankle inversion minimum angular limits
Definition at line 558 of file humanoid_functions.h.
double humanoid::arm_length |
robot arm lenght (mm)
Definition at line 461 of file humanoid_functions.h.
elbow flexion offset left
Definition at line 620 of file humanoid_functions.h.
elbow flexion offset right
Definition at line 623 of file humanoid_functions.h.
double humanoid::elbow_max_flexion |
elbow flexion maximum angular limits
Definition at line 524 of file humanoid_functions.h.
double humanoid::elbow_min_flexion |
elbow flexion minimum angular limits
Definition at line 521 of file humanoid_functions.h.
Eigen::Vector3d humanoid::foot_COM |
foot COM
Definition at line 667 of file humanoid_functions.h.
double humanoid::foot_length |
robot foot lenght (mm)
Definition at line 473 of file humanoid_functions.h.
double humanoid::foot_mass |
foot mass
Definition at line 652 of file humanoid_functions.h.
double humanoid::foot_width |
robot foot lenght (mm)
Definition at line 476 of file humanoid_functions.h.
double humanoid::forearm_length |
robot forearm lenght (mm)
Definition at line 464 of file humanoid_functions.h.
double humanoid::head_max_tilt |
head maximum angular limits
Definition at line 496 of file humanoid_functions.h.
double humanoid::head_min_tilt |
head minimum angular limits
Definition at line 493 of file humanoid_functions.h.
double humanoid::head_servo_offset |
head servo offset
Definition at line 605 of file humanoid_functions.h.
hip flexion adjust curve b value left
Definition at line 641 of file humanoid_functions.h.
hip flexion adjust curve b value right
Definition at line 644 of file humanoid_functions.h.
double humanoid::hip_max_abduction |
hip abduction maximum angular limits
Definition at line 588 of file humanoid_functions.h.
double humanoid::hip_max_flexion |
hip inversion maximum angular limits
Definition at line 597 of file humanoid_functions.h.
double humanoid::hip_min_abduction |
hip abduction minimum angular limits
Definition at line 585 of file humanoid_functions.h.
double humanoid::hip_min_flexion |
hip inversion minimum angular limits
Definition at line 594 of file humanoid_functions.h.
knee flexion adjust curve b value left
Definition at line 635 of file humanoid_functions.h.
knee flexion adjust curve b value right
Definition at line 638 of file humanoid_functions.h.
double humanoid::knee_max_flexion |
ankle inversion maximum angular limits
Definition at line 579 of file humanoid_functions.h.
double humanoid::knee_min_flexion |
ankle inversion minimum angular limits
Definition at line 576 of file humanoid_functions.h.
double humanoid::PI [private] |
definition of PI as a double for calculations
Definition at line 451 of file humanoid_functions.h.
struct { ... } humanoid::robot_dimensions [private] |
Structure to hold robot dimensional data.
struct { ... } humanoid::robot_element_mass [private] |
Structure to hold the robot limb/element masses.
struct { ... } humanoid::robot_joint_limits [private] |
Structure to hold current robot joint limits.
struct { ... } humanoid::robot_relative_COM [private] |
Structure to hold the robot limb centers of mass, in their own frames.
struct { ... } humanoid::robot_servo_conversion [private] |
Structure to hold servomotor digital value conversion constants.
Eigen::Vector3d humanoid::shin_COM |
shin COM
Definition at line 670 of file humanoid_functions.h.
double humanoid::shin_length |
robot leg lenght (mm)
Definition at line 467 of file humanoid_functions.h.
double humanoid::shin_mass |
shin mass
Definition at line 655 of file humanoid_functions.h.
shoulder abduction offset left
Definition at line 614 of file humanoid_functions.h.
shoulder abduction offset right
Definition at line 617 of file humanoid_functions.h.
shoulder flexion offset left
Definition at line 608 of file humanoid_functions.h.
shoulder flexion offset right
Definition at line 611 of file humanoid_functions.h.
shoulder abduction maximum angular limits
Definition at line 515 of file humanoid_functions.h.
shoulder flexion maximum angular limits
Definition at line 506 of file humanoid_functions.h.
shoulder abduction minimum angular limits
Definition at line 512 of file humanoid_functions.h.
shoulder flexion minimum angular limits
Definition at line 503 of file humanoid_functions.h.
Eigen::Vector3d humanoid::thigh_COM |
thigh COM
Definition at line 673 of file humanoid_functions.h.
double humanoid::thigh_length |
robot thigh lenght (mm)
Definition at line 470 of file humanoid_functions.h.
double humanoid::thigh_mass |
thigh mass
Definition at line 658 of file humanoid_functions.h.
torso flexion offset
Definition at line 629 of file humanoid_functions.h.
torso lateral flexion offset
Definition at line 632 of file humanoid_functions.h.
double humanoid::torso_max_flexion |
torso flexion maximum angular limits
Definition at line 543 of file humanoid_functions.h.
torso lateral flexion maximum angular limits
Definition at line 552 of file humanoid_functions.h.
double humanoid::torso_max_rotation |
torso rotation maximum angular limits
Definition at line 534 of file humanoid_functions.h.
double humanoid::torso_min_flexion |
torso flexion minimum angular limits
Definition at line 540 of file humanoid_functions.h.
torso lateral flexion minimum angular limits
Definition at line 549 of file humanoid_functions.h.
double humanoid::torso_min_rotation |
torso rotation minimum angular limits
Definition at line 531 of file humanoid_functions.h.
torso rotation offset
Definition at line 626 of file humanoid_functions.h.