kinematics-dynamics
|
Collection of static methods to perform geometric transformations.
Enumerations | |
enum class | coordinate_system { CARTESIAN , CYLINDRICAL , SPHERICAL , NONE } |
Lists available translational representations. More... | |
enum class | orientation_system { AXIS_ANGLE , AXIS_ANGLE_SCALED , RPY , EULER_YZ , EULER_ZYZ , POLAR_AZIMUTH , NONE } |
Lists available rotational representations. More... | |
enum class | angular_units { DEGREES , RADIANS } |
Lists recognized angular units. More... | |
Functions | |
bool | encodePose (const std::vector< double > &x_in, std::vector< double > &x_out, coordinate_system coord, orientation_system orient, angular_units angle=angular_units::RADIANS) |
Converts the translation and rotation values of a specific pose to coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. More... | |
bool | decodePose (const std::vector< double > &x_in, std::vector< double > &x_out, coordinate_system coord, orientation_system orient, angular_units angle=angular_units::RADIANS) |
Converts the translation and rotation values of a specific pose to the chosen representation systems. More... | |
bool | encodeVelocity (const std::vector< double > &x_in, const std::vector< double > &xdot_in, std::vector< double > &xdot_out, coordinate_system coord, orientation_system orient, angular_units angle=angular_units::RADIANS) |
Converts the translation and rotation values of a specific velocity to coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. More... | |
bool | decodeVelocity (const std::vector< double > &x_in, const std::vector< double > &xdot_in, std::vector< double > &xdot_out, coordinate_system coord, orientation_system orient, angular_units angle=angular_units::RADIANS) |
Converts the translation and rotation values of a specific velocity to the chosen representation systems. More... | |
bool | encodeAcceleration (const std::vector< double > &x_in, const std::vector< double > &xdot_in, const std::vector< double > &xdotdot_in, std::vector< double > &xdotdot_out, coordinate_system coord, orientation_system orient, angular_units angle=angular_units::RADIANS) |
Converts the translation and rotation values of a specific acceleration to coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. More... | |
bool | decodeAcceleration (const std::vector< double > &x_in, const std::vector< double > &xdot_in, const std::vector< double > &xdotdot_in, std::vector< double > &xdotdot_out, coordinate_system coord, orientation_system orient, angular_units angle=angular_units::RADIANS) |
Converts the translation and rotation values of a specific acceleration to the chosen representation systems. More... | |
double | degToRad (double deg) |
Converts degrees to radians. More... | |
double | radToDeg (double rad) |
Converts radians to degrees. More... | |
bool | parseEnumerator (const std::string &str, coordinate_system *coord, coordinate_system fallback=coordinate_system::CARTESIAN) |
Parses input string, returns matching enumerator value. More... | |
bool | parseEnumerator (const std::string &str, orientation_system *orient, orientation_system fallback=orientation_system::AXIS_ANGLE_SCALED) |
Parses input string, returns matching enumerator value. More... | |
bool | parseEnumerator (const std::string &str, angular_units *units, angular_units fallback=angular_units::RADIANS) |
Parses input string, returns matching enumerator value. More... | |
|
strong |
bool roboticslab::KinRepresentation::decodeAcceleration | ( | const std::vector< double > & | x_in, |
const std::vector< double > & | xdot_in, | ||
const std::vector< double > & | xdotdot_in, | ||
std::vector< double > & | xdotdot_out, | ||
coordinate_system | coord, | ||
orientation_system | orient, | ||
angular_units | angle = angular_units::RADIANS |
||
) |
Supports in-place transformation.
x_in | Input vector describing a three-dimensional pose in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
xdot_in | Input vector describing a three-dimensional velocity in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
xdotdot_in | Input vector describing a three-dimensional acceleration in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
xdotdot_out | Output vector describing the same acceleration in the chosen representation system. |
coord | Coordinate system for the translational part. |
orient | Orientation system for the rotational part. |
angle | Units in which angular values are expressed. |
bool roboticslab::KinRepresentation::decodePose | ( | const std::vector< double > & | x_in, |
std::vector< double > & | x_out, | ||
coordinate_system | coord, | ||
orientation_system | orient, | ||
angular_units | angle = angular_units::RADIANS |
||
) |
Supports in-place transformation.
x_in | Input vector describing a three-dimensional pose in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
x_out | Output vector describing the same pose in the chosen representation system. |
coord | Coordinate system for the translational part. |
orient | Orientation system for the rotational part. |
angle | Units in which angular values are expressed. |
bool roboticslab::KinRepresentation::decodeVelocity | ( | const std::vector< double > & | x_in, |
const std::vector< double > & | xdot_in, | ||
std::vector< double > & | xdot_out, | ||
coordinate_system | coord, | ||
orientation_system | orient, | ||
angular_units | angle = angular_units::RADIANS |
||
) |
Supports in-place transformation.
x_in | Input vector describing a three-dimensional pose in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
xdot_in | Input vector describing a three-dimensional velocity in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
xdot_out | Output vector describing the same velocity in the chosen representation system. |
coord | Coordinate system for the translational part. |
orient | Orientation system for the rotational part. |
angle | Units in which angular values are expressed. |
double roboticslab::KinRepresentation::degToRad | ( | double | deg | ) |
deg | Angle value expressed in degrees. |
bool roboticslab::KinRepresentation::encodeAcceleration | ( | const std::vector< double > & | x_in, |
const std::vector< double > & | xdot_in, | ||
const std::vector< double > & | xdotdot_in, | ||
std::vector< double > & | xdotdot_out, | ||
coordinate_system | coord, | ||
orientation_system | orient, | ||
angular_units | angle = angular_units::RADIANS |
||
) |
Supports in-place transformation.
x_in | Input vector describing a three-dimensional pose (translation + rotation). |
xdot_in | Input vector describing a three-dimensional velocity (translation + rotation). |
xdotdot_in | Input vector describing a three-dimensional acceleration (translation + rotation). |
xdotdot_out | Output vector describing the same acceleration in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
coord | Coordinate system for the translational part. |
orient | Orientation system for the rotational part. |
angle | Units in which angular values are expressed. |
bool roboticslab::KinRepresentation::encodePose | ( | const std::vector< double > & | x_in, |
std::vector< double > & | x_out, | ||
coordinate_system | coord, | ||
orientation_system | orient, | ||
angular_units | angle = angular_units::RADIANS |
||
) |
Supports in-place transformation.
x_in | Input vector describing a three-dimensional pose (translation + rotation). |
x_out | Output vector describing the same pose in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED notation. |
coord | Coordinate system for the translational part. |
orient | Orientation system for the rotational part. |
angle | Units in which angular values are expressed. |
bool roboticslab::KinRepresentation::encodeVelocity | ( | const std::vector< double > & | x_in, |
const std::vector< double > & | xdot_in, | ||
std::vector< double > & | xdot_out, | ||
coordinate_system | coord, | ||
orientation_system | orient, | ||
angular_units | angle = angular_units::RADIANS |
||
) |
Supports in-place transformation.
x_in | Input vector describing a three-dimensional pose (translation + rotation). |
xdot_in | Input vector describing a three-dimensional velocity (translation + rotation). |
xdot_out | Output vector describing the same velocity in coordinate_system::CARTESIAN and orientation_system::AXIS_ANGLE_SCALED systems. |
coord | Coordinate system for the translational part. |
orient | Orientation system for the rotational part. |
angle | Units in which angular values are expressed. |
bool roboticslab::KinRepresentation::parseEnumerator | ( | const std::string & | str, |
angular_units * | units, | ||
angular_units | fallback = angular_units::RADIANS |
||
) |
Input string | Enum value |
---|---|
degrees | angular_units::DEGREES |
radians | angular_units::RADIANS |
str | Input string. |
units | See angular_units. |
fallback | Default value if no match found. |
bool roboticslab::KinRepresentation::parseEnumerator | ( | const std::string & | str, |
coordinate_system * | coord, | ||
coordinate_system | fallback = coordinate_system::CARTESIAN |
||
) |
Input string | Enum value |
---|---|
cartesian | coordinate_system::CARTESIAN |
cylindrical | coordinate_system::CYLINDRICAL |
spherical | coordinate_system::SPHERICAL |
none | coordinate_system::NONE |
str | Input string. |
coord | See coordinate_system. |
fallback | Default value if no match found. |
bool roboticslab::KinRepresentation::parseEnumerator | ( | const std::string & | str, |
orientation_system * | orient, | ||
orientation_system | fallback = orientation_system::AXIS_ANGLE_SCALED |
||
) |
Input string | Enum value |
---|---|
axisAngle | orientation_system::AXIS_ANGLE |
axisAngleScaled | orientation_system::AXIS_ANGLE_SCALED |
RPY | orientation_system::RPY |
eulerYZ | orientation_system::EULER_YZ |
eulerZYZ | orientation_system::EULER_ZYZ |
polarAzimuth | orientation_system::POLAR_AZIMUTH |
none | orientation_system::NONE |
str | Input string. |
orient | See orientation_system. |
fallback | Default value if no match found. |
double roboticslab::KinRepresentation::radToDeg | ( | double | rad | ) |
rad | Angle value expressed in radians. |