9#include "trajopt/geometry/pose2.hpp"
10#include "trajopt/geometry/rotation2.hpp"
11#include "trajopt/geometry/translation2.hpp"
12#include "trajopt/spline/cubic_hermite_spline.hpp"
13#include "trajopt/spline/cubic_hermite_spline1d.hpp"
14#include "trajopt/util/symbol_exports.hpp"
38 std::array<double, 2> x_initial_control_vector,
39 std::array<double, 2> x_final_control_vector,
40 std::array<double, 2> y_initial_control_vector,
41 std::array<double, 2> y_final_control_vector, Rotation2d r0,
44 y_initial_control_vector, y_final_control_vector),
46 theta(0.0, (-r0).rotate_by(r1).radians(), 0, 0) {}
55 return spline_point.first.rotation();
63 return r0.
rotate_by(Rotation2d{theta.get_position(t)});
77 std::optional<PoseWithCurvature>
get_point(
double t,
78 bool is_differential)
const {
79 if (is_differential) {
Rotation2d get_heading(double t) const
Definition cubic_hermite_pose_spline_holonomic.hpp:62
std::optional< PoseWithCurvature > get_point(double t, bool is_differential) const
Definition cubic_hermite_pose_spline_holonomic.hpp:77
CubicHermitePoseSplineHolonomic(std::array< double, 2 > x_initial_control_vector, std::array< double, 2 > x_final_control_vector, std::array< double, 2 > y_initial_control_vector, std::array< double, 2 > y_final_control_vector, Rotation2d r0, Rotation2d r1)
Definition cubic_hermite_pose_spline_holonomic.hpp:37
double get_heading_rate(double t) const
Definition cubic_hermite_pose_spline_holonomic.hpp:70
Rotation2d GetCourse(double t) const
Definition cubic_hermite_pose_spline_holonomic.hpp:52
std::pair< Pose2d, double > PoseWithCurvature
Pose2d with curvature.
Definition cubic_hermite_pose_spline_holonomic.hpp:23
1D cubic hermite spline.
Definition cubic_hermite_spline1d.hpp:10
CubicHermiteSpline(std::array< double, 2 > x_initial_control_vector, std::array< double, 2 > x_final_control_vector, std::array< double, 2 > y_initial_control_vector, std::array< double, 2 > y_final_control_vector)
Definition cubic_hermite_spline.hpp:29
constexpr Rotation2< U > rotate_by(const Rotation2< U > &other) const
Definition rotation2.hpp:101
std::optional< PoseWithCurvature > get_point(double t) const
Definition spline.hpp:47