integral_cost.h
Go to the documentation of this file.
1 
9 #ifndef _CLASS_QUADRATIC_COST
10 #define _CLASS_QUADRATIC_COST
11 
14 
15 #include <Eigen/Core>
16 
17 namespace curves {
18 namespace optimization {
19 
21  DISTANCE = 0x000,
22  VELOCITY = 0x001,
23  ACCELERATION = 0x002,
24  JERK = 0x003,
25  FOURTH = 0x004,
26  FIFTH = 0x005
27 };
28 
29 template <typename Point, typename Numeric>
31  const std::size_t num_derivate) {
33  typedef typename bezier_t::t_point_t t_point_t;
34  typedef typename t_point_t::const_iterator cit_point_t;
35  bezier_t acc = pData.bezier->compute_derivate(num_derivate);
36  const t_point_t& wps = acc.waypoints();
38  bezier_product<Point, Numeric, cit_point_t>(wps.begin(), wps.end(), wps.begin(), wps.end(), pData.dim_));
39  return res;
40 }
41 
42 template <typename Point, typename Numeric>
44  const integral_cost_flag flag) {
45  std::size_t size = (std::size_t)(flag);
46  return compute_integral_cost_internal<Point, Numeric>(pData, size);
47 }
48 
49 } // namespace optimization
50 } // namespace curves
51 #endif //_CLASS_QUADRATIC_COST
curves::bezier_curve
Definition: bezier_curve.h:32
curves
Definition: bernstein.h:20
curves::optimization::integral_cost_flag
integral_cost_flag
Definition: integral_cost.h:20
curves::optimization::ACCELERATION
@ ACCELERATION
Definition: integral_cost.h:23
curves::bezier_t
bezier_curve< double, double, true, pointX_t > bezier_t
Definition: fwd.h:89
curves::optimization::DISTANCE
@ DISTANCE
Definition: integral_cost.h:21
curves::optimization::JERK
@ JERK
Definition: integral_cost.h:24
curves::optimization::FOURTH
@ FOURTH
Definition: integral_cost.h:25
curves::optimization::VELOCITY
@ VELOCITY
Definition: integral_cost.h:22
definitions.h
utils for defining optimization problems
curves::quadratic_variable
Definition: fwd.h:58
curves::optimization::FIFTH
@ FIFTH
Definition: integral_cost.h:26
curves::optimization::problem_data
Definition: details.h:21
details.h
curves::optimization::compute_integral_cost_internal
quadratic_variable< Numeric > compute_integral_cost_internal(const problem_data< Point, Numeric > &pData, const std::size_t num_derivate)
Definition: integral_cost.h:30
curves::optimization::problem_data::dim_
const std::size_t dim_
Definition: details.h:37
curves::optimization::compute_integral_cost
quadratic_variable< Numeric > compute_integral_cost(const problem_data< Point, Numeric > &pData, const integral_cost_flag flag)
Definition: integral_cost.h:43
curves::optimization::problem_data::bezier
bezier_t * bezier
Definition: details.h:36
curves::bezier_curve::t_point_t
std::vector< point_t, Eigen::aligned_allocator< point_t > > t_point_t
Definition: bezier_curve.h:39