Unit 3: Robot Coordinate System
I. Orientation
Robot coordinate systems provide a mathematical language for describing where a robot, link, sensor, or gripper is located and how it is oriented. The central principle is that the same physical point has different numerical coordinates when expressed in different reference frames. Transformation matrices convert position and orientation from one coordinate system to another while preserving the physical relationship between the objects.
In this laboratory, the transformation of the gripper pose is verified relative to the world coordinate system using Sierena's Bi-ped Humanoid NINO V2. The verification compares a pose obtained from robot kinematics or the controller with a pose measured or calculated in the laboratory reference frame.
- Reference frame: A coordinate frame consists of an origin and three mutually perpendicular axes, commonly written as (x), (y), and (z).
- World frame ({W}: A fixed reference attached to the laboratory or robot base. It is the frame in which global position is normally reported.
- Gripper frame ({G}: A frame attached to the gripper or hand tool. Its origin is commonly placed at the tool center point (TCP).
- Pose: A pose contains both position and orientation. Position has three components; orientation describes the alignment of the local axes.
- Right-handed convention: The axes satisfy (x \times y = z). Changing to a left-handed convention reverses the interpretation of some rotations.
- Homogeneous transformation: A (4 \times 4) matrix combines rotation and translation in one expression.
- Active convention: A vector may be physically rotated and translated while the frame remains fixed. Frame-transform notation must be used consistently with the robot software.
- Units: Position should be recorded in a stated unit, usually metres or millimetres; orientation may be represented in degrees, radians, roll-pitch-yaw angles, or a quaternion.
- Composition order: Matrix multiplication is order-dependent. In general, (^{W}T{G} \neq {}^{G}T{W}).
II. Verification of transformation (position and orientation) — Mathematical and experimental procedure
A robot transformation is verified when the computed gripper pose agrees with the pose obtained through an independent calculation or measurement within an accepted tolerance. The procedure tests translation and rotation separately, then checks the complete pose.
A. Verification of transformation (position and orientation)
The purpose of this verification is to confirm that the robot's reported gripper pose is correctly related to the selected reference frame.
- Homogeneous pose matrix: The pose of frame ({G}) with respect to frame ({W}) is written as:
[ R_WG p_WG ]
^W T_G = [ 0 0 0 1 ]- (^{W}T_{G}): transformation from gripper coordinates to world coordinates.
- (R_{WG}): (3 \times 3) rotation matrix giving gripper-axis directions in the world frame.
- (p_{WG} = [x\ y\ z]^T): gripper origin position expressed in the world frame.
- The last row enables translation and rotation to be multiplied together.
- Position transformation: A point expressed in the gripper frame is transformed to the world frame by:
^W p = ^W R_G ^G p + ^W p_G- (^{G}p): point coordinates measured from the gripper origin.
- (^{W}p): the same physical point expressed in world coordinates.
- (^{W}p_G): gripper-origin position in the world frame.
- Orientation transformation: The columns of (R_{WG}) are the unit vectors of the gripper axes expressed in world coordinates:
R_WG = [ ^W x_G ^W y_G ^W z_G ]This means the first column gives the direction of the gripper (x)-axis, the second gives its (y)-axis, and the third gives its (z)-axis.
- Rotation validity: A valid rotation matrix must satisfy:
R^T R = I
det(R) = +1Here, (R^T) is the transpose, (I) is the identity matrix, and (\det(R)) is the determinant. The first condition verifies orthonormal axes; the second rejects reflection or an improper coordinate conversion.
- Inverse transformation: To convert a world point back into gripper coordinates, use:
^G p = (^W R_G)^T (^W p - ^W p_G)For a proper rotation, (R^{-1} = R^T). The inverse is useful for checking that a forward transformation followed by an inverse transformation returns the original coordinates.
- Position error: If (p_c) is the calculated position and (p_m) is the measured position, the Euclidean position error is:
e_p = ||p_m - p_c||
= sqrt((x_m-x_c)^2 + (y_m-y_c)^2 + (z_m-z_c)^2)The result has the same unit as position, such as millimetres.
- Orientation error: A relative rotation can be calculated as:
R_err = R_c^T R_m
theta = cos^(-1)((trace(R_err)-1)/2)(R_c) is the calculated orientation, (Rm) is the measured orientation, and (\theta) is the smallest angular difference in radians. Convert to degrees using ( \theta{\text{deg}} = 180\theta/\pi ).
- Worked example: Suppose the calculated gripper position is ([0.400,\ 0.100,\ 0.250]) m and the measured position is ([0.404,\ 0.097,\ 0.252]) m. The error is:
e_p = sqrt(0.004^2 + (-0.003)^2 + 0.002^2)
= 0.00539 m
= 5.39 mmThe value is compared with the laboratory's permitted position tolerance.
B. with respect to gripper and world coordinate system
This comparison establishes which frame supplies the origin and axis directions for every reported quantity.
-
World-frame description: (^{W}TG) answers the question, “Where is the gripper frame located and oriented in the world?” Its translation (p{WG}) is the gripper position relative to the world origin.
-
Gripper-frame description: (^{G}T_W) answers the reverse question, “Where is the world frame when viewed from the gripper?” It is the inverse of (^{W}T_G):
^G T_W = [ R_WG^T -R_WG^T p_WG ]
[ 0 0 0 1 ]-
Frame superscripts and subscripts: In (^{W}T_G), the superscript (W) identifies the expressing or destination frame, while the subscript (G) identifies the attached frame being described. This notation prevents the common error of treating a numerical vector as frame-independent.
-
Translation interpretation: A gripper position ([300,\ 50,\ 400]) mm may mean 300 mm along world (x), 50 mm along world (y), and 400 mm along world (z). It does not necessarily mean the same displacement along the gripper's tilted axes.
-
Orientation interpretation: A gripper rotation is meaningful only when its rotation order and convention are known. For roll-pitch-yaw angles, the sequence may be (R_z(\text{yaw})R_y(\text{pitch})R_x(\text{roll})), but the actual NINO V2 interface must be checked before interpreting returned values.
-
Tool center point: If the controller reports a wrist frame but the experiment observes the fingertips, a fixed tool transformation is required:
^W T_TCP = ^W T_Wrist ^Wrist T_TCPThe second matrix describes the measured offset and orientation between the wrist and the tool center point.
- Axis verification: Move or command the gripper so that one local axis is easy to identify. A point displaced by (d) along the gripper (x)-axis should appear in the world at:
^W p = ^W p_G + d(^W x_G)The observed displacement should be parallel to the first column of (R_{WG}).
-
Origin verification: Place the gripper TCP at a known world location, record the controller pose, and compare (p_{WG}) with the reference coordinates. Repeat at several locations to distinguish a constant frame offset from configuration-dependent kinematic error.
-
Common frame errors: A wrong sign, swapped axis, degree-radian mismatch, or reversed transform direction can produce apparently plausible values while causing large physical errors. Each axis and unit must therefore be verified independently.
C. using Sierena's Bi-ped Humanoid NINO V2
The NINO V2 laboratory setup provides a physical platform on which the coordinate transformation can be checked through commanded motion and recorded pose data.
-
Robot preparation: Power the humanoid, establish communication with the control system, and place it in the prescribed stable laboratory posture. A biped's balance state can affect repeatability, so the support condition must remain consistent during measurements.
-
Frame identification: Record the frame names used by the NINO V2 controller for the world, base, wrist, hand, and gripper or TCP. The experiment must use the actual controller definitions rather than assuming that the wrist origin is the gripper origin.
-
Calibration data: Confirm the robot's zero position, joint offsets, link dimensions, end-effector offset, and world-frame origin. A transformation can be mathematically correct but experimentally wrong if these calibration values are incorrect.
-
Pose acquisition: For each test configuration, record:
- commanded joint angles or target pose;
- actual joint feedback;
- controller-reported gripper position;
- controller-reported orientation representation;
- independently measured reference position and orientation, when available.
-
Forward-kinematic calculation: Use the robot's link transformations to calculate the gripper pose. For serial links, the chain has the form:
^W T_G = ^W T_1 ^1 T_2 ^2 T_3 ... ^(n-1) T_GEach intermediate matrix describes one link relative to the next frame. The final matrix is compared with the NINO V2 pose output.
-
Controlled test motion: Use small, repeatable movements along one world axis and one gripper axis. A world-(x) displacement should change mainly the world (x) coordinate; a gripper-axis displacement should change all relevant world coordinates according to the gripper orientation.
-
Orientation test: Rotate the gripper without intentionally changing its TCP position, if the robot's motion mode permits this. Record the change in (R_{WG}), roll-pitch-yaw values, or quaternion. The position should remain within the specified translational tolerance while the orientation changes.
-
Data table: A suitable observation record contains:
Test | q1...qn | Calculated x,y,z | Reported x,y,z |
| Calculated orientation | Reported orientation |
| Position error | Orientation error(q_1) through (q_n) are the measured joint angles for the tested configuration.
-
Repeatability check: Return the gripper to the same commanded pose several times. The spread of results indicates repeatability, while the difference from the known reference indicates accuracy. These are different properties: a robot may repeat a biased pose accurately from trial to trial.
-
Acceptance decision: The transformation is accepted when position error, orientation error, axis directions, and inverse-transformation checks satisfy the laboratory tolerance. A single matching point is insufficient because it may conceal an axis or rotation-order error.
D. Applications and limitations
The verification results determine whether the robot coordinate model is suitable for manipulation, calibration, and motion planning.
-
Applications: Correct world-to-gripper transformations support object localization, grasp planning, visual servoing, collision avoidance, and placing an object at a specified global position.
-
Position limitation: Errors may arise from joint backlash, encoder resolution, link-flexibility, calibration offsets, and sagging under the gripper's load. These effects can vary with posture.
-
Orientation limitation: Roll-pitch-yaw representations can suffer from singularities such as gimbal lock. Quaternions avoid this representation singularity but require normalization and a consistent component order.
-
Biped limitation: Body sway, foot support changes, and balance corrections can move the practical base frame. Measurements should therefore be taken after the robot settles and under a defined support configuration.
-
Measurement limitation: External measurement tools may have their own resolution and alignment errors. The measurement frame must be calibrated to the world frame before it is used as an independent reference.
-
Reporting requirement: State the frame names, axis convention, units, transformation direction, orientation convention, test posture, measured errors, and tolerance. Without these details, a numerical pose cannot be reproduced or evaluated reliably.
Did this save you a night before the exam?
LPU Notes is free, and it stays free. Ads cover part of the server bill. The rest comes out of a student's own pocket: the domain, the storage, and keeping the site up through the weeks everyone needs it at once.
The payment button didn't load. An ad blocker or a filtered network is the usual reason. to try again.
Nothing here is ever locked, and nothing unlocks. Chip in only if it was worth it. What it pays for →