Helper class to encapsulate the merge and blend process of trajectories.
More...
#include <plan_components_builder.h>
|
void | append (const robot_trajectory::RobotTrajectoryPtr &other, const double blend_radius) |
| Appends the specified trajectory to the trajectory container under construction. More...
|
|
std::vector< robot_trajectory::RobotTrajectoryPtr > | build () const |
|
void | reset () |
| Clears the trajectory container under construction. More...
|
|
void | setBlender (std::unique_ptr< pilz::TrajectoryBlender > blender) |
| Sets the blender used to blend two trajectories. More...
|
|
void | setModel (const moveit::core::RobotModelConstPtr &model) |
| Sets the robot model needed to create new trajectory elements. More...
|
|
|
void | blend (const robot_trajectory::RobotTrajectoryPtr &other, const double blend_radius) |
|
Helper class to encapsulate the merge and blend process of trajectories.
Definition at line 47 of file plan_components_builder.h.
void pilz_trajectory_generation::PlanComponentsBuilder::append |
( |
const robot_trajectory::RobotTrajectoryPtr & |
other, |
|
|
const double |
blend_radius |
|
) |
| |
Appends the specified trajectory to the trajectory container under construction.
The appending complies to the following rules:
- A trajectory is simply added/attached to the previous trajectory:
- if they are from the same group and
- if the specified blend_radius is zero.
- A trajectory is blended together with the previous trajectory:
- if they are from the same group and
- if the specified blend_radius is GREATER than zero.
- A new trajectory element is created and the given trajectory is appended/attached to the newly created empty trajectory:
- if the given and previous trajectory are from different groups.
- Parameters
-
other | Trajectories which has to be added to the trajectory container under construction. |
blend_radius | The blending radius between the previous and the specified trajectory. |
Definition at line 85 of file plan_components_builder.cpp.
Appends a trajectory to a result trajectory leaving out the first point, if it matches the last point of the result trajectory.
- Note
- Controllers, so far at least the ros_controllers::JointTrajectoryController require a timewise strictly increasing trajectory. If through appending the last point of the original trajectory gets repeated, it is removed here.
Definition at line 38 of file plan_components_builder.cpp.
void pilz_trajectory_generation::PlanComponentsBuilder::blend |
( |
const robot_trajectory::RobotTrajectoryPtr & |
other, |
|
|
const double |
blend_radius |
|
) |
| |
|
private |
std::vector< robot_trajectory::RobotTrajectoryPtr > pilz_trajectory_generation::PlanComponentsBuilder::build |
( |
| ) |
const |
void pilz_trajectory_generation::PlanComponentsBuilder::reset |
( |
void |
| ) |
|
|
inline |
void pilz_trajectory_generation::PlanComponentsBuilder::setBlender |
( |
std::unique_ptr< pilz::TrajectoryBlender > |
blender | ) |
|
|
inline |
void pilz_trajectory_generation::PlanComponentsBuilder::setModel |
( |
const moveit::core::RobotModelConstPtr & |
model | ) |
|
|
inline |
moveit::core::RobotModelConstPtr pilz_trajectory_generation::PlanComponentsBuilder::model_ |
|
private |
constexpr double pilz_trajectory_generation::PlanComponentsBuilder::ROBOT_STATE_EQUALITY_EPSILON = 1e-4 |
|
staticprivate |
std::vector<robot_trajectory::RobotTrajectoryPtr> pilz_trajectory_generation::PlanComponentsBuilder::traj_cont_ |
|
private |
robot_trajectory::RobotTrajectoryPtr pilz_trajectory_generation::PlanComponentsBuilder::traj_tail_ |
|
private |
The documentation for this class was generated from the following files: