Lesson 7 of 2250 minutes

Position, Orientation, and Coordinate Frames

Start with the lesson question, connect the representations, and test the model with evidence.

posepositionorientationcoordinate framestransformstf2quaternions

Learning objectives

  • Represent position and orientation in named coordinate frames.
  • Relate velocity, acceleration, degrees of freedom, and constraints.
  • Apply simple forward and inverse kinematics.
Lesson flowHook, model, explanationShow guidance

Inspect the opening phenomenon

Predict what changes, then name the evidence.

Apply in the lab

Name the evidence before reading the answer.

Read only what helps

Then use the lab and recall check.

More when needed

Transcript and resources stay available below.

Course progress

AI & Robotics Foundations · Motion, Frames, and Kinematics · Lesson 7

Position, Orientation, and Coordinate Frames

In progress

Decision challenge

Observe the phenomenon. Then connect the representations.

Use the opening example to make a prediction, identify evidence, and explain which model supports it.

Can One Point Have Two Correct Coordinates?

Predict how one physical point can have two correct coordinate tuples.

Before

Predict how one physical point can have two correct coordinate tuples.

During

Track the rotation, translation, frame names, and time.

After

Name the four facts needed before comparing poses.

Reference drawerTranscript, source notes, scripts, and package status stay tucked away until you need them.7 files

Lesson reading

live

50 min

Video script

draft

Transcript fallback

available

courses/ai-robotics/modules/03-motion-frames-and-kinematics/lessons/01-position-orientation-and-coordinate-frames/video-transcript.md

Transform the Same Point Between Frames

draft

25 min

Mastery check

live

6 questions / 10 min

Book section:courses/ai-robotics/modules/03-motion-frames-and-kinematics/lessons/01-position-orientation-and-coordinate-frames/book-section.md
Transcript for accessibility and fallback

# Video Transcript Can the same physical point have two correct coordinates? Yes—if the coordinates use different frames. A robot pose needs position, orientation, a named frame, and time. Without those, the numbers are incomplete. The robot base is at map two, one, turned ninety degrees. A point one metre forward is base one, zero. Rotate, then translate: in the map, it is two, two. Robots connect map, odom, base link, sensor, and tool frames. Tf2 tracks those transforms over time. Quick check: before comparing two points, what four facts do you need? Position, orientation, frame, and time. Learn the full lesson free on EduQuest.

Reading lab

Core explanation

Connect the lesson's words, diagrams, graphs, evidence, and equations.

Opening challenge: Can the same physical point have two different—but equally correct—coordinates?

The Four-Part Pose Contract

A coordinate tuple is incomplete until you know its reference frame. For moving robots, time matters too. A decision-ready pose answers four questions:

  1. Where? Position (x,y,z)(x,y,z).
  2. Which way? Orientation, often represented by a quaternion.
  3. Relative to what? A named coordinate frame.
  4. When? The timestamp at which the relationship was valid.

A mobile robot shown in map, base_link, and sensor frames with one point expressed in two frames

ROS standard conventions use right-handed frames. For a body frame, the common convention is xx forward, yy left, and zz up. A point at (1, 0, 0) in base_link is therefore one metre ahead of the robot—not one metre east in the map.

Position Is Not Pose

Position locates a point. Orientation describes how axes are rotated. Together they form a pose. ROS geometry_msgs/Pose contains a Point position and Quaternion orientation; stamped variants add a frame identifier and time through a header.

Roll, pitch, and yaw are intuitive, but rotation order and axis convention must be stated. Euler-angle representations can become singular. Unit quaternions compose and interpolate rotations without that singularity, but their four components are not four angles, they must be normalized, and qq and q-q encode the same rotation.

Transform a Point: Rotate, Then Translate

Suppose the robot base is at map position (2,1)(2,1) with yaw +90+90^\circ. A target is one metre forward in base_link, so:

pbase=(1,0)p_{base} = (1,0)

Rotate it by 9090^\circ:

Rpbase=(0,1)R p_{base} = (0,1)

Then add the base translation:

pmap=(2,1)+(0,1)=(2,2)p_{map} = (2,1) + (0,1) = (2,2)

The physical point did not move. Only its description changed. Reversing the operation requires the inverse transform; merely subtracting coordinates from different frames is invalid.

Frames Form a Time-Varying Tree

ROS tf2 tracks relationships among frames over time and transforms stamped data between them. A mobile robot commonly uses a chain such as:

map → odom → base_link → sensor or tool

REP 105 distinguishes a globally stable map frame from a locally continuous odom frame, while base_link stays rigidly attached to the robot body. Sensors and tools have their own calibrated frames. The transform requested must match the data timestamp; “latest” can be wrong for a moving platform.

Five Checks Before Combining Geometry

  • Are source and target frames named?
  • Are units and axis conventions compatible?
  • Is the transform direction correct?
  • Is the transform valid at the measurement time?
  • Was rotation applied before translation, or was the correct homogeneous transform used?

Retrieval Pause

  1. What four facts make a pose decision-ready?
  2. Why can one point have two correct coordinate tuples?
  3. A point is (1, 0) in base_link; the base is at map (2, 1) with yaw +90°. What is the map coordinate?

Sources and Further Reading

These sources are linked and paraphrased; no third-party media is reproduced.

Practice labTransform the Same Point Between FramesOpen this when you are ready to apply the model, collect evidence, and check your explanation.25 min

Lab: Transform the Same Point Between Frames

Objective

Compute and verify 2D point transforms while explicitly tracking position, orientation, source frame, target frame, and time.

Setup

Use paper, a spreadsheet, or any basic calculator. No robot hardware is required.

Materials

  • grid paper or spreadsheet cells;
  • pencil or keyboard;
  • calculator;
  • the lesson frame visual.

Steps

  1. Draw a map frame with x right and y up.
  2. Place base_link at map (2, 1) with yaw +90°.
  3. Mark point P at (1, 0) in base_link.
  4. Rotate P by +90° using x' = -y, y' = x.
  5. Translate the rotated result by (2, 1).
  6. Record P as both base_link:(1,0) and map:(2,2).
  7. Repeat for points (0,1), (-1,0), and (1,1).
  8. Reverse one result using the inverse transform and confirm the original point.
  9. Add timestamps t0 and t1; explain why a transform at t1 may be invalid for data captured at t0.

Expected Result

For P=(1,0) in base_link, rotation yields (0,1) and translation yields (2,2) in map. The inverse returns (1,0).

Troubleshooting

  • If you get (3,1), you translated without rotating.
  • If you get (-2,-2), check transform direction and signs.
  • If inverse conversion fails, reverse translation first, then reverse rotation.
  • Label every row with its frame; unlabeled coordinates cannot be audited.

Reflection Questions

  1. Why are both coordinate tuples correct?
  2. What error arises from using a transform with the wrong timestamp?
  3. Why is position alone insufficient for a robot body or tool?

Extension Challenge

Write a spreadsheet formula for arbitrary yaw using cos(θ) and sin(θ), then test , 90°, 180°, and -90°.

Accessibility and Safety Fallback

This is a simulation-first activity with no moving hardware. A screen-reader-friendly table may replace the drawing: columns should be point ID, source x/y, rotation, translation, target x/y, source frame, target frame, and timestamp. Learners who cannot draw may dictate or verbally explain each transform step.