FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
fsb_quintic.h
1
2#ifndef FSB_QUINTIC_H
3#define FSB_QUINTIC_H
4
5#include "fsb_types.h"
6#include "fsb_trajectory_types.h"
7
8namespace fsb
9{
10
20constexpr Real kQuinticMinDuration = 1e-6;
21
26{
27 Real c0 = 0.0;
28 Real c1 = 0.0;
29 Real c2 = 0.0;
30 Real c3 = 0.0;
31 Real c4 = 0.0;
32 Real c5 = 0.0;
33};
34
38class QuinticTrajectory final : public Segment
39{
40public:
41 QuinticTrajectory() = default;
42
52 bool generate(
53 Real start_time, Real duration, const TrajState& initial_state,
54 const TrajState& final_state);
55
62 [[nodiscard]] TrajState evaluate(Real t_eval) const override;
63
68 [[nodiscard]] TrajState get_final_state() const override
69 {
70 return evaluate(m_start_time + m_duration);
71 }
72
77 [[nodiscard]] Real get_start_time() const override
78 {
79 return m_start_time;
80 }
81
87 [[nodiscard]] Real get_duration() const override
88 {
89 return m_duration;
90 }
91
97 [[nodiscard]] Real get_final_time() const override
98 {
99 return m_start_time + m_duration;
100 }
101
102private:
103 Real m_start_time = 0.0;
104 Real m_duration = 0.0;
105
106 QuinticCoeffs m_coeffs = {};
107};
108
113} // namespace fsb
114
115#endif
Quintic trajectory.
Definition fsb_quintic.h:39
TrajState get_final_state() const override
Get final state of segment.
Definition fsb_quintic.h:68
Real get_duration() const override
Get total duration.
Definition fsb_quintic.h:87
bool generate(Real start_time, Real duration, const TrajState &initial_state, const TrajState &final_state)
Generate spline.
Definition fsb_quintic.cpp:94
Real get_start_time() const override
Get start time of segment.
Definition fsb_quintic.h:77
Real get_final_time() const override
Get final time of trajectory.
Definition fsb_quintic.h:97
TrajState evaluate(Real t_eval) const override
Evaluate position, velocity, acceleration, and jerk.
Definition fsb_quintic.cpp:111
Abstract class for scalar motion.
Definition fsb_trajectory_types.h:93
constexpr Real kQuinticMinDuration
Minimum duration for a quintic trajectory.
Definition fsb_quintic.h:20
Coefficients of a quintic polynomial.
Definition fsb_quintic.h:26
Real c2
Quadratic term.
Definition fsb_quintic.h:29
Real c0
Constant term.
Definition fsb_quintic.h:27
Real c1
Linear term.
Definition fsb_quintic.h:28
Real c5
Quintic term.
Definition fsb_quintic.h:32
Real c3
Cubic term.
Definition fsb_quintic.h:30
Real c4
Quartic term.
Definition fsb_quintic.h:31
Trajectory scalar motion state.
Definition fsb_trajectory_types.h:20