This issue captures design intent for Descartes support of sparse trajectories.
A sparse trajectory is defined as a series of joint/cartesian moves between joint/cartesian (all combinations) points. This is different from a standard Descartes trajectory in that a Descartes trajectory doesn't specify the motion between points. It assumes, for relatively dense paths, this motion is "good enough" Dense paths are not easily user editable or defined. As such a "sparse trajectory" is proposed that can be easily generated by a person. Such trajectories are planned to be used by Descartes in the following manner:
Below are high level plan details for implementation:
New packages
descartes_task_parser (partial implementation) - This package is envisioned as a file format to fully define and arbitrary robot task. This can be pretty complex for various tasks, but for now it will only include support for generalized motions paths. The initial implementation will be based on the approach taken here. An example of the task format can be found here. The package will include methods for loading the XML representation into an internal representation (see descartes_task below)
descartes_task (partial implemenation) - This package will contain internal data structures for representing a robot "task"
Modified packages
descartes_trajectory - Add functions for linear and joint interpolated motion between cart_trajectory_pt and joint_trajectory_pt types (all combinations)
Open Issues:
Naming confusion between "sparse trajectory" and "sparse planner".
@Jmeyer1292 - this is my plan moving forward. I'm sure things will change, but please feel free to give your opinion. If you like/agree with my approach I'd be happy to push this back.
This issue captures design intent for Descartes support of sparse trajectories.
A sparse trajectory is defined as a series of joint/cartesian moves between joint/cartesian (all combinations) points. This is different from a standard Descartes trajectory in that a Descartes trajectory doesn't specify the motion between points. It assumes, for relatively dense paths, this motion is "good enough" Dense paths are not easily user editable or defined. As such a "sparse trajectory" is proposed that can be easily generated by a person. Such trajectories are planned to be used by Descartes in the following manner:
sparse_trajectory ->(interpolation)->dense_trajectory->descartes_planner->joint_path->joint_trajectory(ROS)
Below are high level plan details for implementation:
cart_trajectory_pt
andjoint_trajectory_pt
types (all combinations)Open Issues: