{"id":"robot-observation-frame","name":"Robot observations have coordinates and age","shortName":"Robot observations have coordinates and age","role":"Frame transforms, timestamps, measurement uncertainty and stale-state consequences.","description":"An observation has a coordinate frame and a time as well as numeric values. A point measured by a camera cannot be used as a world position without the transform that relates those frames. Rotation changes orientation and translation changes origin; the order and frame convention matter. Measurements also become stale while the robot or environment moves. A controller using a correct coordinate transform from the wrong time can still act on an incorrect estimate. The worked planar transform is a small special case of the rigid-body transformations described in Modern Robotics. It is actual coordinate arithmetic, but it is not a camera calibration, localization system or live robot observation. Observation uncertainty and dynamic transforms require further model and evidence assumptions.","mechanism":["Each measurement names its source frame, units and acquisition time.","The declared rotation and translation map the point into the frame used for planning or control.","Observation age is computed from compatible timestamps rather than inferred from message arrival order.","Planning retains uncertainty and motion assumptions instead of treating a stale transformed point as current truth."],"learningObjective":"Transform a planar observation with explicit frames and quantify a stated motion bound from its age.","engineeringExample":"A point is at (1,0) m in a camera frame. The camera frame is rotated +90 degrees relative to the world and its origin is at (2,3) m in world coordinates. Multiplying by [[0,−1],[1,0]] and then adding (2,3) gives world point (2,4) m. Using (1,0) directly would place the point in the wrong frame. If the observation is 0.15 s old and relative speed is bounded by 0.2 m/s, motion alone can change separation by up to 0.03 m over that age; measurement and calibration error are additional.","misconception":"Coordinate values have no unambiguous spatial meaning without their frame and time.","check":{"question":"Where is camera point (1,0) m after the stated +90-degree rotation and translation (2,3) m?","options":["(3,3) m","(2,4) m","(1,0) m"],"answer":1,"explanation":"The rotated point is (0,1); adding the world-frame translation gives (2,4)."},"checks":[],"prerequisites":["evaluation"],"related":["tool-loop","evaluation"],"specs":[{"label":"Mechanism boundary","value":"Where and when was the obstacle observed?","context":"Planar rigid transform, stated +90-degree convention, and constant speed bound over the age interval. No calibration, acceleration, sensor noise or live localization is solved."},{"label":"Evidence type","value":"Authored worked example","context":"Worked explanation with a bounded numeric or state example. This lesson does not claim an executing implementation of an external model or platform."}],"interfaces":[{"name":"Declared input and state","direction":"in","signal":"Each measurement names its source frame, units and acquisition time."},{"name":"Checked outcome","direction":"out","signal":"Transform a planar observation with explicit frames and quantify a stated motion bound from its age."}],"tradeoff":"More accurate transforms reduce coordinate error but do not remove observation delay or unmodeled motion.","whyAI":"Robotic AI must connect learned observations to the geometry and timing used by real actions.","sourceIds":["automation-robot-frames","automation-moveit-scene"],"sources":[{"title":"Lynch and Park · Modern Robotics 3.3.1","url":"https://modernrobotics.northwestern.edu/nu-gm-book-resource/3-3-1-homogeneous-transformation-matrices/"},{"title":"MoveIt Planning Scene","url":"https://moveit.picknik.ai/main/doc/examples/planning_scene/planning_scene_tutorial.html"}],"science":[{"title":"Robot observations have coordinates and age · explicit relationship","equation":"Rotate a camera-frame point and add the camera origin in world coordinates; a stated speed bound limits motion over the observation age.","explanation":"A point is at (1,0) m in a camera frame. The camera frame is rotated +90 degrees relative to the world and its origin is at (2,3) m in world coordinates. Multiplying by [[0,−1],[1,0]] and then adding (2,3) gives world point (2,4) m. Using (1,0) directly would place the point in the wrong frame. If the observation is 0.15 s old and relative speed is bounded by 0.2 m/s, motion alone can change separation by up to 0.03 m over that age; measurement and calibration error are additional.","assumptions":"Planar rigid transform, stated +90-degree convention, and constant speed bound over the age interval. No calibration, acceleration, sensor noise or live localization is solved."}],"evidenceNotes":"This is a worked explanation, not an executing external platform, model or robot. The quantities and fixtures are authored. Source scope is recorded in the automation learning review manifest; no source benchmark or private system behavior is claimed. Planar rigid transform, stated +90-degree convention, and constant speed bound over the age interval. No calibration, acceleration, sensor noise or live localization is solved.","level":"model","branch":"Observations become physical actions","subbranch":"Robot observations have coordinates and age","scale":"Logical state, task evidence and declared units; no physical assembly scale","kind":"system","workstream":"W11","visualFamily":"software-flow","labId":"library","labScope":"The worked example explains this mechanism. General numerical labs are a reference; they do not execute this lesson’s full mechanism.","history":[],"workedTrace":{"pointCamera":[1,0],"rotation":[[0,-1],[1,0]],"translation":[2,3],"pointWorld":[2,4],"ageS":0.15,"maxRelativeSpeedMS":0.2,"motionBoundM":0.03}}