Class TrajectoryBlenderTransitionWindow

Inheritance Relationships

Base Type

Class Documentation

class TrajectoryBlenderTransitionWindow : public pilz_industrial_motion_planner::TrajectoryBlender

Trajectory blender implementing transition window algorithm.

See doc/MotionBlendAlgorithmDescription.pdf for a mathematical description of the algorithm.

Public Functions

inline TrajectoryBlenderTransitionWindow(const LimitsContainer &planner_limits)
inline ~TrajectoryBlenderTransitionWindow() override
virtual bool blend(const planning_scene::PlanningSceneConstPtr &planning_scene, const pilz_industrial_motion_planner::TrajectoryBlendRequest &req, pilz_industrial_motion_planner::TrajectoryBlendResponse &res) override

Blend two trajectories using transition window. The trajectories have to be equally and uniformly discretized.

Parameters:
  • planning_scene – The scene planning is occurring in.

  • req – following fields need to be filled for a valid request:

    • group_name : name of the planning group

    • link_name : name of the target link

    • first_trajectory: Joint trajectory stops at end point. The last point must be the same as the first point of the second trajectory.

    • second trajectory: Joint trajectory stops at end point. The first point must be the same as the last point of the first trajectory.

    • blend_radius: The blend radius determines a sphere with the intersection point of the two trajectories as the center. Trajectory blending happens inside of this sphere.

  • res – following fields are returned as response by the blend algorithm

    • group_name : name of the planning group

    • first_trajectory: Part of the first original trajectory which is outside of the blend sphere.

    • blend_trajectory: Joint trajectory connecting the first and second trajectories without stop. The first waypoint has non-zero time from start.

    • second trajectory: Part of the second original trajectory which is outside of the blend sphere. The first waypoint has non-zero time from start. error_code: information of failed blend

Returns:

true if succeed