{"id":"robot-goal-plan-action","name":"Goals, plans and actions are different objects","shortName":"Goals, plans and actions are different objects","role":"Goal constraints, collision-aware planning, timed execution, feedback and cancellation.","description":"A goal states a desired outcome or constraint. A plan describes a route or trajectory intended to reach it. An action executes over time and returns progress or a terminal outcome. These objects can fail at different boundaries: a goal may be unreachable, a path may collide, an initially valid path may become stale, or execution may fail to follow it. ROS 2 actions provide a long-running goal/feedback/cancellation interface, while a planning scene supplies robot and environment state for collision and constraint checks. Neither an accepted goal nor a successful planning call proves physical completion. The worked path bound below is deliberately simple. No motion planner or robot actuator runs in this lesson, and the bound is not a safety certificate.","mechanism":["The goal names a target and its acceptable tolerance in a declared frame.","Planning uses the current scene to find a path satisfying geometric and kinematic constraints.","Execution follows a timed command and reports observed progress, not merely the planned coordinates.","A changed obstacle or cancellation request is handled as a new event; completion is checked against actual state."],"learningObjective":"Distinguish accepted goals, feasible plans, executed motion and observed completion under explicit geometric and timing limits.","engineeringExample":"A cart’s collision-free path is 2 m long and its speed is bounded by 0.5 m/s. Even with instantaneous acceleration and no pauses, traversal needs at least 4 s. A new obstacle forces a 2.5 m detour, raising that lower bound to 5 s. A plan computed before the obstacle appeared cannot be treated as currently collision-free. If cancellation is requested after motion begins, a later stopped state must be observed; the request itself does not prove zero velocity or erase the distance already traveled.","misconception":"Planning success or action acceptance is not evidence that a robot reached the goal.","check":{"question":"A 2.5 m path has a 0.5 m/s speed limit. What is its ideal minimum traversal time?","options":["1.25 s","5 s","No time is needed once the goal is accepted"],"answer":1,"explanation":"Distance divided by the maximum speed gives a lower bound; acceleration and delays can only add time under these assumptions."},"checks":[],"prerequisites":["robot-observation-frame","human-review-cancellation"],"related":["tool-loop","evaluation"],"specs":[{"label":"Mechanism boundary","value":"Why can an accepted plan still fail to reach its goal?","context":"A kinematic lower bound with no acceleration or stop-time model. It assumes the named path is feasible; it does not certify collision avoidance or physical safety."},{"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":"The goal names a target and its acceptable tolerance in a declared frame."},{"name":"Checked outcome","direction":"out","signal":"Distinguish accepted goals, feasible plans, executed motion and observed completion under explicit geometric and timing limits."}],"tradeoff":"Replanning can restore feasibility after scene changes but costs time and depends on sufficiently current observations.","whyAI":"Language or learned policies need a distinct planning and action boundary before their goals become motion.","sourceIds":["automation-ros-actions","automation-moveit-scene"],"sources":[{"title":"ROS 2 Jazzy: Understanding actions","url":"https://raw.githubusercontent.com/ros2/ros2_documentation/jazzy/source/Concepts/Basic/About-Actions.rst"},{"title":"MoveIt Planning Scene","url":"https://moveit.picknik.ai/main/doc/examples/planning_scene/planning_scene_tutorial.html"}],"science":[{"title":"Goals, plans and actions are different objects · explicit relationship","equation":"Traversal time is at least path length divided by the maximum permitted speed.","explanation":"A cart’s collision-free path is 2 m long and its speed is bounded by 0.5 m/s. Even with instantaneous acceleration and no pauses, traversal needs at least 4 s. A new obstacle forces a 2.5 m detour, raising that lower bound to 5 s. A plan computed before the obstacle appeared cannot be treated as currently collision-free. If cancellation is requested after motion begins, a later stopped state must be observed; the request itself does not prove zero velocity or erase the distance already traveled.","assumptions":"A kinematic lower bound with no acceleration or stop-time model. It assumes the named path is feasible; it does not certify collision avoidance or physical safety."}],"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. A kinematic lower bound with no acceleration or stop-time model. It assumes the named path is feasible; it does not certify collision avoidance or physical safety.","level":"model","branch":"Observations become physical actions","subbranch":"Goals, plans and actions are different objects","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":{"pathM":2,"detourM":2.5,"speedMS":0.5,"minimumS":4,"detourMinimumS":5}}