rs_opw_kinematics

Module kinematic_traits

Source
Expand description

Defines traits for direct and inverse kinematics.

Enums§

Singularity
Defines kinematic singularity. A is a singularity when J5 = 0 (this is possible with any robot). The structure is reserved for other possible singularies but these require b = 0 and a1 = a2 so not possible with most of the robots. Joints are counted from 1 to 6 in this comment.

Constants§

CONSTRAINT_CENTERED
Special value that can be used with inverse_continuing, indicating that there are not previous joint value, but returned joints must be sorted to be as close as possible to the centers of the constraints. If no constraitns are set, zeroes are assumed.
ENV_START_IDX
Starting index for collision_environment entries in collision pairs
J1
J2
J3
J4
J5
J6
JOINTS_AT_ZERO
For providing singularity - proof solution when the previous value is not known. Joints that take arbitrary angles will take angles as close to 0 as possible: let solutions = kinematics.inverse_continuing(&pose, &JOINTS_AT_ZERO);
J_BASE
The robot base joint
J_TOOL
The number for the robot tool in collision report

Traits§

Kinematics
Defines agreed functionality of direct and inverse kinematics and singularity detection.

Type Aliases§

Joints
Six rotary joints of the robot with angles in radians.
Pose
Pose is used a pose of the robot tcp. It contains both Cartesian position and rotation quaternion
Solutions
For providing solutions. As invalid solutions are discarded, this is a variable length vector (may be empty if robot cannot reach the given point).