3#include "core/utils/geometry.h"
4#include "core/utils/math/geometry/pose2d.h"
5#include "core/utils/math/geometry/translation2d.h"
11namespace PurePursuit {
22 Path(std::vector<Translation2d> points,
double radius);
40 std::vector<Translation2d> points;
49 double a, b, c, d, x_start, x_end;
51 double getY(
double x) {
return a * pow((x - x_start), 3) + b * pow((x - x_start), 2) + c * (x - x_start) + d; }
72extern std::vector<Translation2d>
77extern Translation2d get_lookahead(
const std::vector<Translation2d> &path,
Pose2d robot_loc,
double radius);
82extern std::vector<Translation2d> inject_path(
const std::vector<Translation2d> &path,
double spacing);
95extern std::vector<Translation2d>
96smooth_path(
const std::vector<Translation2d> &path,
double weight_data,
double weight_smooth,
double tolerance);
98extern std::vector<Translation2d> smooth_path_cubic(
const std::vector<Translation2d> &path,
double res);
108extern std::vector<Translation2d> smooth_path_hermite(
const std::vector<hermite_point> &path,
double step);
120extern double estimate_remaining_dist(
const std::vector<Translation2d> &path,
Pose2d robot_pose,
double radius);
const std::vector< Translation2d > get_points()
Definition pure_pursuit.cpp:51
bool is_valid()
Definition pure_pursuit.cpp:61
Path(std::vector< Translation2d > points, double radius)
Definition pure_pursuit.cpp:8
double get_radius()
Definition pure_pursuit.cpp:56
Definition rotation2d.h:25
Definition translation2d.h:22
Definition pure_pursuit.h:57
Definition pure_pursuit.h:48