3#include "core/math/geometry/pose2d.h"
4#include "core/math/geometry/rotation2d.h"
5#include "core/math/geometry/translation2d.h"
6#include "core/math/units.h"
33 const Translation2d&
point,
const Translation2d&
tangent,
58 HermitePoint(
double x,
double y,
double vx,
double vy,
double ax,
double ay)
59 :
point(x * 1_in, y * 1_in),
71 const Translation2d&
point,
const Translation2d&
tangent,
88 units::Length x, units::Length y,
Rotation2d heading,
double speed,
92 Translation2d(x, y), Translation2d(speed * 1_in, heading),
93 Translation2d(accel_mag * 1_in, accel_heading)
112 point, Translation2d(speed * 1_in, heading), Translation2d(accel_mag * 1_in, accel_heading)
126 Translation2d(accel_mag * 1_in, pose.
rotation())
constexpr Rotation2d rotation() const
Gets the rotation.
Definition pose2d.h:101
constexpr Translation2d translation() const
Gets the translation.
Definition pose2d.h:95
Definition rotation2d.h:16
constexpr Rotation2d()=default
Default Constructor for Rotation2d.
HermitePoint(const Translation2d &point, const Translation2d &tangent, const Translation2d &second_derivative=Translation2d())
Constructs a HermitePoint from Translation2d vectors.
Definition hermite_point.h:32
static HermitePoint from_derivatives(const Translation2d &point, const Translation2d &tangent, const Translation2d &second_derivative=Translation2d())
Factory method constructing HermitePoint from explicit derivative vectors.
Definition hermite_point.h:70
static HermitePoint from_heading(units::Length x, units::Length y, Rotation2d heading, double speed, Rotation2d accel_heading=Rotation2d(), double accel_mag=0.0)
Factory method constructing HermitePoint from heading angle and scalar speed.
Definition hermite_point.h:87
Translation2d tangent
First derivative vector (dx/du, dy/du).
Definition hermite_point.h:18
Translation2d point
2D position coordinates (x, y)
Definition hermite_point.h:17
Translation2d second_derivative
Second derivative vector (d^2x/du^2, d^2y/du^2).
Definition hermite_point.h:19
Translation2d get_point() const
Definition hermite_point.h:131
HermitePoint()=default
Default constructor initializing all vectors to zero.
static HermitePoint from_pose(const Pose2d &pose, double speed, double accel_mag=0.0)
Factory method constructing HermitePoint from Pose2d and speeds.
Definition hermite_point.h:123
HermitePoint(double x, double y, double vx, double vy)
Constructs a HermitePoint from scalar position and tangent components.
Definition hermite_point.h:45
HermitePoint(double x, double y, double vx, double vy, double ax, double ay)
Constructs a HermitePoint from scalar position, tangent, and second derivative components.
Definition hermite_point.h:58
static HermitePoint from_heading(const Translation2d &point, Rotation2d heading, double speed, Rotation2d accel_heading=Rotation2d(), double accel_mag=0.0)
Factory method constructing HermitePoint from position vector, heading angle, and speed.
Definition hermite_point.h:107
Translation2d get_tangent() const
Definition hermite_point.h:133
Translation2d get_second_derivative() const
Definition hermite_point.h:135