Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
d
e
g
j
l
m
p
t
Functions
Variables
Typedefs
Classes
Class List
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
~
Variables
a
b
c
d
e
g
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Files
File List
File Members
All
c
f
l
m
n
p
r
s
t
u
Functions
c
f
m
p
r
s
t
Variables
Typedefs
Enumerations
Macros
planning_request_adapter_plugins
src
add_time_parameterization.cpp
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2012, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*********************************************************************/
34
35
/* Author: Ioan Sucan */
36
37
#include <
moveit/planning_request_adapter/planning_request_adapter.h
>
38
#include <
moveit/trajectory_processing/iterative_time_parameterization.h
>
39
#include <
class_loader/class_loader.hpp
>
40
#include <
ros/console.h
>
41
42
namespace
default_planner_request_adapters
43
{
44
class
AddTimeParameterization :
public
planning_request_adapter::PlanningRequestAdapter
45
{
46
public
:
47
AddTimeParameterization
() :
planning_request_adapter
::
PlanningRequestAdapter
()
48
{
49
}
50
51
void
initialize
(
const
ros::NodeHandle
&
/*nh*/
)
override
52
{
53
}
54
55
std::string
getDescription
()
const override
56
{
57
return
"Add Time Parameterization"
;
58
}
59
60
bool
adaptAndPlan
(
const
PlannerFn
& planner,
const
planning_scene::PlanningSceneConstPtr&
planning_scene
,
61
const
planning_interface::MotionPlanRequest
& req,
planning_interface::MotionPlanResponse
& res,
62
std::vector<std::size_t>&
/*added_path_index*/
)
const override
63
{
64
bool
result = planner(
planning_scene
, req, res);
65
if
(result && res.
trajectory_
)
66
{
67
ROS_DEBUG
(
"Running '%s'"
,
getDescription
().c_str());
68
if
(!
time_param_
.
computeTimeStamps
(*res.
trajectory_
, req.max_velocity_scaling_factor,
69
req.max_acceleration_scaling_factor))
70
{
71
ROS_ERROR
(
"Time parametrization for the solution path failed."
);
72
result =
false
;
73
}
74
}
75
76
return
result;
77
}
78
79
private
:
80
trajectory_processing::IterativeParabolicTimeParameterization
time_param_
;
81
};
82
}
// namespace default_planner_request_adapters
83
84
CLASS_LOADER_REGISTER_CLASS
(
default_planner_request_adapters::AddTimeParameterization
,
85
planning_request_adapter::PlanningRequestAdapter
);
default_planner_request_adapters::AddTimeParameterization::getDescription
std::string getDescription() const override
Definition:
add_time_parameterization.cpp:119
planning_interface::MotionPlanResponse
planning_request_adapter.h
trajectory_processing::IterativeParabolicTimeParameterization
ROS_DEBUG
#define ROS_DEBUG(...)
default_planner_request_adapters::AddTimeParameterization
Definition:
add_time_parameterization.cpp:76
planning_request_adapter::PlanningRequestAdapter
console.h
planning_interface::MotionPlanResponse::trajectory_
robot_trajectory::RobotTrajectoryPtr trajectory_
ROS_ERROR
#define ROS_ERROR(...)
default_planner_request_adapters::AddTimeParameterization::adaptAndPlan
bool adaptAndPlan(const PlannerFn &planner, const planning_scene::PlanningSceneConstPtr &planning_scene, const planning_interface::MotionPlanRequest &req, planning_interface::MotionPlanResponse &res, std::vector< std::size_t > &) const override
Definition:
add_time_parameterization.cpp:124
class_loader.hpp
planning_interface::MotionPlanRequest
moveit_msgs::MotionPlanRequest MotionPlanRequest
iterative_time_parameterization.h
CLASS_LOADER_REGISTER_CLASS
CLASS_LOADER_REGISTER_CLASS(default_planner_request_adapters::AddTimeParameterization, planning_request_adapter::PlanningRequestAdapter)
planning_request_adapter::PlanningRequestAdapter::PlanningRequestAdapter
PlanningRequestAdapter()
trajectory_processing::IterativeParabolicTimeParameterization::computeTimeStamps
bool computeTimeStamps(robot_trajectory::RobotTrajectory &trajectory, const double max_velocity_scaling_factor=1.0, const double max_acceleration_scaling_factor=1.0) const override
default_planner_request_adapters
Definition:
add_iterative_spline_parameterization.cpp:43
planning_request_adapter::PlanningRequestAdapter::PlannerFn
boost::function< bool(const planning_scene::PlanningSceneConstPtr &, const planning_interface::MotionPlanRequest &, planning_interface::MotionPlanResponse &)> PlannerFn
planning_request_adapter
default_planner_request_adapters::AddTimeParameterization::time_param_
trajectory_processing::IterativeParabolicTimeParameterization time_param_
Definition:
add_time_parameterization.cpp:144
default_planner_request_adapters::AddTimeParameterization::initialize
void initialize(const ros::NodeHandle &) override
Definition:
add_time_parameterization.cpp:115
default_planner_request_adapters::AddTimeParameterization::AddTimeParameterization
AddTimeParameterization()
Definition:
add_time_parameterization.cpp:111
planning_scene
ros::NodeHandle
planning
Author(s): Ioan Sucan
, Sachin Chitta
autogenerated on Sat Jan 18 2025 03:36:46