Technical communities · SINGAPORE
Singapore ROS 2 workshops: distinguish source and target frames
Bind a point to its source frame, state the desired target frame and time, then compare the question with tf2 lookup order before interpreting the coordinates.
By Boardzip · Published
Boardzip uses AI-assisted guide research, writing and review. Read how we research guides and check sources →
Start with these checks
- ROS distribution and supplied practice context identified
- Source frame, target frame and lookup time can be examined
- Participant exercise exposes frame roles rather than only a moving robot
The problem
A robotics learner preparing for a Singapore ROS 2 session has coordinate values but may interpret them in the display frame or reverse the transform without establishing which frame the data begins in.
Name the frame the data starts in and the frame you need
Before interpreting a coordinate, state its source frame and the target frame in which you want to express the same point. Then identify the time the question concerns. Receiving three numbers does not establish those roles. The official ROS 2 Jazzy tf2 explanation describes relationships between coordinate frames over time and transforming points and vectors between frames. Its Python listener tutorial gives lookup_transform arguments in target-frame, source-frame, time order. Prepare that direction for a Singapore ROS 2 workshop using a permitted written or simulator example. This is a coordinate-meaning question after an input is available; node discovery, communication policy and actual message delivery need their own evidence. Jazzy is the pinned documentation version, identified as older but still supported at the source check.
- ROS 2 Jazzy: tf2 concepts and frame direction ↗ · Source checked
- ROS 2 Jazzy: Writing a listener in Python ↗ · Source checked
Read argument roles rather than trusting a variable name
Write a sentence before inspecting a call: 'Express this source-frame point in this target frame at this time.' Compare those roles with the documented API order. The listener tutorial uses variables named to_frame_rel and from_frame_rel in that order. Its separate variable named target_frame supplies from_frame_rel in the example. That label therefore does not establish the target-frame argument of the lookup. Record the actual value and role instead of selecting direction from a familiar word. For a different distribution or API, consult its applicable documentation rather than copying the example's names. The tutorial's earlier broadcaster exercises are prerequisites for its implementation; this guide supplies no claim that your workshop environment is already prepared.
- ROS 2 Jazzy: Writing a listener in Python ↗ · Source checked
Make one frame-direction card for the question
Keep these entries together: data item and unit; source frame attached to the data; observation timestamp if established; desired target frame; requested time or explicit latest-available question; documented lookup roles; and transform or converted result actually supplied. Add the exercise version and origin of the material. Mark missing frame or time information unknown. A receiving display's name does not fill a missing source frame, and a topic name does not supply the coordinate relationship. If the exercise supplies only a proposed call, record it as proposed rather than an obtained transform. The card helps a facilitator inspect the direction without needing a private robot log or access to physical equipment.
Express one fictional point in two fixed frames
This is a paper example, not a ROS execution or measured installation. Stipulate one-dimensional room and sensor frames using metres, with aligned positive axes and fixed origins. The room origin is zero; the sensor origin is at room coordinate two. A point has sensor coordinate one, so it is one metre beyond that sensor origin and has room coordinate three. The question starts with a sensor-frame point and asks for its room-frame expression: source sensor, target room. Under the documented lookup roles, the target slot concerns room and the source slot sensor. The fictional relationship already supplies the arithmetic; no transform was retrieved, no sensor was calibrated and no robot moved. The same unit and aligned axes deliberately isolate the origin-and-direction question from unit conversion and rotation.
Reverse the question without changing the point
Now start with that same point expressed as room coordinate three and ask for its sensor-frame coordinate. The source is room, the target is sensor, and the stipulated result is one. Reversing the question requires the input to carry the new source-frame meaning. Treating the original numeric one as a room coordinate would describe a different point: in this toy it would have sensor coordinate minus one. The arithmetic follows from the explicitly invented origins and common unit. The ROS conceptual source separately warns that transforming data represented in a frame and transforming the frame itself are inverse formulations. Do not copy a published frame transform as a data-conversion rule without understanding which direction it represents; use the appropriate tf2 interface and actual exercise guidance.
- ROS 2 Jazzy: tf2 concepts and frame direction ↗ · Source checked
Keep latest available separate from the observation time
The listener tutorial says rclpy.time.Time() requests the latest available transform. That does not establish the transform at an independently specified sample timestamp. In the paper example the origins are stipulated fixed; a moving-frame exercise needs its actual time question and applicable transform evidence. Record which one you asked for, what time information the exercise supplies and any unavailable transform or exception. Do not silently replace an unavailable sample-time result with a latest-available result and call them equivalent. This page does not prescribe a retry, buffer duration or timing repair. Use the session's supported tf2 time exercise and relevant documentation when timing is the unresolved condition.
- ROS 2 Jazzy: Writing a listener in Python ↗ · Source checked
Choose a workshop that exposes the frame interpretation
Read what participants actually inspect. A demonstration of a robot moving may leave the source frame, target frame and time hidden. A supplied simulation or written exercise can teach the direction when it makes those inputs and expected interpretation explicit. You could ask: 'Does the exercise let participants identify a point's source frame and explain a target/source/time lookup, including reversing the question with correctly labelled input?' Confirm the distribution, prerequisites, supplied setup and accepted material. Keep an outside prototype's disclosure and equipment arrangement with the original integration guide. If your input is not being delivered at all, use the discovery and QoS companions for those separate conditions rather than assuming frame direction explains the symptom.
Retain the interpreted point and the evidence still missing
After an actual permitted exercise, save the labelled input, direction and time question, transform evidence obtained, converted output if observed, and remaining uncertainty. In the fictional fixed-frame case, room three and sensor one express the same stipulated point; that establishes no accuracy of a real transform tree, calibration, delivered message or operating task. A correct paper direction can be useful preparation while implementation remains untested. Use Boardzip's free ROS 2 search for candidates and verify whether their actual programme offers this exercise. Search supplies no current place, personal troubleshooting or equipment permission. If the available event teaches another task, keep the frame-direction card for an appropriate opportunity rather than reporting the question solved through attendance.
Questions and answers
What is the order of lookup_transform arguments in the cited tutorial?
The Jazzy Python listener explanation lists target frame, source frame and time. Bind those roles to the data question before reading variable labels. A variable named target_frame in the tutorial supplies its from_frame_rel value, so the name alone can mislead.
Can I reverse the lookup and keep the same numeric input?
Establish the input's source-frame meaning first. In the fictional case, the same point is sensor one and room three. Reversing the question starts with room three. A room-frame value of one describes another point under the stipulated origins.
Does latest available mean the transform at my sample timestamp?
The cited tutorial says rclpy.time.Time() requests the latest available transform. That is a different question from a specified observation time. Keep the requested time and actual transform evidence visible; no equivalence is established by the default-looking expression.
Does a delivered coordinate message prove its frame is correct?
Delivery and coordinate interpretation are different observations. Retain the source frame, target frame, unit, time and actual transformation evidence. Neither a topic name nor successful delivery establishes a calibrated or correct frame relationship.
Is this the same as converting WGS84 and SVY21 coordinates?
That mapping question concerns documented earth coordinate systems and the receiving format. This exercise stipulates local robot frames with a common unit and aligned axes to isolate source-to-target direction. Use the mapping companion for its specific geospatial conversion task.
Sources and further reading
These references provide the guide’s source context and further reading. They do not confirm a current event, admission or an available place; check each listing’s organiser terms for those conditions.
- ROS 2 Jazzy: tf2 concepts and frame direction ↗Source checked
- ROS 2 Jazzy: Writing a listener in Python ↗Source checked
Each date belongs to the linked source check. These references provide source context; a recorded date does not by itself establish a completed independent review. Current event admission is checked separately in each listing. How to read the source dates →
Current listings to check
Topic matches from the verified Singapore feed. A matching topic does not confirm audience suitability, accessibility or available places; read the organiser’s terms.
No current verified listings match this guide’s search terms. Try a broader search or suggest an organiser we should check.
Browse the broader event category →Suggest a relevant organiser →