Context
Manipulation planning currently treats GeneratedPlan as selected global joint waypoints, while execution later converts that timeless path into per-robot JointTrajectory objects through JointTrajectoryGenerator.generate(...) inside ManipulationModule.execute_plan().
Actual issue
Time-parameterization is not formalized as an explicit planning pipeline stage. The boundary between geometric planning and time-parameterized trajectory generation is implicit and currently lives in module execution/preview code. This makes preview timing, execution timing, and planner outputs easy to drift apart.
Proposed direction
- Add an explicit time-parameterization stage to the manipulation planning pipeline.
- Make that stage part of
PlanningSpec / planning stack responsibility, not ad hoc ManipulationModule responsibility.
- Define the data model boundary clearly:
- geometric selected-joint path /
GeneratedPlan before time-parameterization
- time-parameterized trajectory artifact after time-parameterization
- Ensure preview and execution consume the same time-parameterized artifact or the same formal time-parameterization service.
- Preserve planner-provided timestamps when available, but handle untimed geometric planners like current RRT through the formal time-parameterization stage.
Acceptance criteria
- Planning stack exposes an explicit time-parameterization responsibility/API through
PlanningSpec or an adjacent planning-stage spec.
ManipulationModule no longer owns ad hoc path-to-trajectory timing logic.
- Preview and execution use the same formal time-parameterized representation/path.
- Data model and tests distinguish geometric paths from time-parameterized trajectories.
- Untimed planner outputs and planner-provided timestamps are both covered by tests.
Synced from DIM-1027 by che
Context
Manipulation planning currently treats
GeneratedPlanas selected global joint waypoints, while execution later converts that timeless path into per-robotJointTrajectoryobjects throughJointTrajectoryGenerator.generate(...)insideManipulationModule.execute_plan().Actual issue
Time-parameterization is not formalized as an explicit planning pipeline stage. The boundary between geometric planning and time-parameterized trajectory generation is implicit and currently lives in module execution/preview code. This makes preview timing, execution timing, and planner outputs easy to drift apart.
Proposed direction
PlanningSpec/ planning stack responsibility, not ad hocManipulationModuleresponsibility.GeneratedPlanbefore time-parameterizationAcceptance criteria
PlanningSpecor an adjacent planning-stage spec.ManipulationModuleno longer owns ad hoc path-to-trajectory timing logic.Synced from DIM-1027 by che