45   std::vector<robot_trajectory::RobotTrajectoryPtr> res_vec{ traj_cont_ };
 
   48     assert(!res_vec.empty());
 
   49     appendWithStrictTimeIncrease(*(res_vec.back()), *traj_tail_);
 
   59     result.
append(source, 0.0);
 
   75 void PlanComponentsBuilder::blend(
const planning_scene::PlanningSceneConstPtr& 
planning_scene,
 
   76                                   const robot_trajectory::RobotTrajectoryPtr& other, 
const double blend_radius)
 
   80     throw NoBlenderSetException(
"No blender set");
 
   83   assert(other->getGroupName() == traj_tail_->getGroupName());
 
   90   blend_request.
group_name = traj_tail_->getGroupName();
 
   91   blend_request.
link_name = getSolverTipFrame(model_->getJointModelGroup(blend_request.
group_name));
 
   94   if (!blender_->blend(
planning_scene, blend_request, blend_response))
 
   96     throw BlendingFailedException(
"Blending failed");
 
  100   appendWithStrictTimeIncrease(*(traj_cont_.back()), *blend_response.
first_trajectory);
 
  101   appendWithStrictTimeIncrease(*(traj_cont_.back()), *blend_response.
blend_trajectory);
 
  108                                    const robot_trajectory::RobotTrajectoryPtr& other, 
const double blend_radius)
 
  112     throw NoRobotModelSetException(
"No robot model set");
 
  119     traj_cont_.emplace_back(std::make_shared<robot_trajectory::RobotTrajectory>(model_, other->getGroupName()));
 
  124   if (other->getGroupName() != traj_tail_->getGroupName())
 
  126     appendWithStrictTimeIncrease(*(traj_cont_.back()), *traj_tail_);
 
  129     traj_cont_.emplace_back(std::make_shared<robot_trajectory::RobotTrajectory>(model_, other->getGroupName()));
 
  134   if (blend_radius <= 0.0)
 
  136     appendWithStrictTimeIncrease(*(traj_cont_.back()), *traj_tail_);
 
std::vector< robot_trajectory::RobotTrajectoryPtr > build() const
 
void append(const planning_scene::PlanningSceneConstPtr &planning_scene, const robot_trajectory::RobotTrajectoryPtr &other, const double blend_radius)
Appends the specified trajectory to the trajectory container under construction.
 
Maintain a sequence of waypoints and the time durations between these waypoints.
 
const std::string & getGroupName() const
 
double getWayPointDurationFromStart(std::size_t index) const
Returns the duration after start that a waypoint will be reached.
 
RobotTrajectory & addSuffixWayPoint(const moveit::core::RobotState &state, double dt)
Add a point to the trajectory.
 
const moveit::core::RobotState & getFirstWayPoint() const
 
RobotTrajectory & append(const RobotTrajectory &source, double dt, size_t start_index=0, size_t end_index=std::numeric_limits< std::size_t >::max())
Add a specified part of a trajectory to the end of the current trajectory. The default (when start_in...
 
std::size_t getWayPointCount() const
 
double getWayPointDurationFromPrevious(std::size_t index) const
 
const moveit::core::RobotState & getWayPoint(std::size_t index) const
 
const moveit::core::RobotState & getLastWayPoint() const
 
bool isRobotStateEqual(const moveit::core::RobotState &state1, const moveit::core::RobotState &state2, const std::string &joint_group_name, double epsilon)
Check if the two robot states have the same joint position/velocity/acceleration.
 
This namespace includes the central class for representing planning contexts.
 
robot_trajectory::RobotTrajectoryPtr second_trajectory
 
robot_trajectory::RobotTrajectoryPtr first_trajectory
 
robot_trajectory::RobotTrajectoryPtr first_trajectory
 
robot_trajectory::RobotTrajectoryPtr blend_trajectory
 
robot_trajectory::RobotTrajectoryPtr second_trajectory