The class Pose
contains the 6 coordinates of a cartesian position : 3 translations X, Y, Z in millimeters and 3 rotation RX, RY, RZ in radians. It also contains 3 rotations properties that exposes the 3 rotations in degrees, but it's not a storage, only a conversion of RX, RY and RZ.
The methods FromRotationVectorToRPY()
and FromRPYToRotationVector()
transform the position in a new position with same translations X, Y, Z but different rotations.
A Pose
instance can be returned in a XML-RPC answer. It will be interpreted as a robot pose.
public class Pose : CartesianCoordinates {public Pose()public Pose(double x, double y, double z)public Pose(double x, double y, double z, double rx, double ry, double rz)// Converts a quaternion to UR rotation vectorpublic static Pose FromQuaternionToRotationVector(double x, double y, double z, double w)// Converts a rotation vector to quaternionpublic void FromRotationVectorToQuaternion(out double x, out double y, out double z, out double w)// Consider this pose as a Rotation Vector And convert it to a new RPY positionpublic Pose FromRotationVectorToRPY()// Consider this pose as RPY And convert it to a new Rotation Vectorpublic Pose FromRPYToRotationVector()// RX rotation in degrees or °/spublic double RxDegrees { get; set; }// RY rotation in degrees or °/spublic double RyDegrees { get; set; }// RZ rotation in degrees or °/spublic double RzDegrees { get; set; }// Returns 6 comma separated coordinated with G1 formatpublic override string ToString()// Pase a pose from its string representationpublic static bool TryParse(string value, out Pose pose)}