1#ifndef FSB_TRAPEZOIDAL_VELOCITY_H
2#define FSB_TRAPEZOIDAL_VELOCITY_H
6#include "fsb_trajectory_types.h"
7#include "fsb_trajectory_segment.h"
86 Real start_time,
const TrajState& initial_state, Real final_velocity,
87 Real final_acceleration, Real max_acceleration, Real max_jerk);
103 return evaluate(m_start_time + m_total_duration);
131 return m_total_duration;
141 return m_start_time + m_total_duration;
145 Real m_start_time = 0.0;
146 Real m_total_duration = 0.0;
154 TrajState m_final_state = {};
Constant acceleration profile.
Definition fsb_trajectory_segment.h:102
Constant jerk profile.
Definition fsb_trajectory_segment.h:20
Abstract class for segments.
Definition fsb_trajectory_types.h:67
Definition fsb_trapezoidal_velocity.h:70
TrapezoidalStatus goto_velocity(Real start_time, const TrajState &initial_state, Real final_velocity, Real final_acceleration, Real max_acceleration, Real max_jerk)
Goto target velocity.
Definition fsb_trapezoidal_velocity.cpp:201
TrajState get_final_state() const override final
Get final state of segment.
Definition fsb_trapezoidal_velocity.h:101
TrajState get_initial_state() const override final
Get initial state of segment.
Definition fsb_trapezoidal_velocity.h:110
Real get_start_time() const override final
Get start time of segment.
Definition fsb_trapezoidal_velocity.h:119
Real get_duration() const override final
Get total duration.
Definition fsb_trapezoidal_velocity.h:129
Real get_final_time() const override final
Get final time of trajectory.
Definition fsb_trapezoidal_velocity.h:139
TrajState evaluate(Real t_eval) const override final
Evaluate trajectory.
Definition fsb_trapezoidal_velocity.cpp:277
@ SUCCESS
Successful operation.
TrapezoidalStatus
Result of attempting to compute trapezoidal trajectory.
Definition fsb_trapezoidal_velocity.h:21
@ FAILED_TRAJECTORY_GENERATION
Unable to reach target with current state.
@ MAX_VALUE_BELOW_TOLERANCE
Maximum values not positive.
Trajectory scalar motion state.
Definition fsb_trajectory_types.h:20
Constraints for a trapezoidal profile.
Definition fsb_trapezoidal_velocity.h:55
Real end_jerk
Definition fsb_trapezoidal_velocity.h:63
Real start_jerk
Definition fsb_trapezoidal_velocity.h:57
Real plateau_acceleration
Definition fsb_trapezoidal_velocity.h:60
Duration of different phases in a trapezoidal profile.
Definition fsb_trapezoidal_velocity.h:40
Real start
Definition fsb_trapezoidal_velocity.h:42
Real plateau
Definition fsb_trapezoidal_velocity.h:45
Real end
Definition fsb_trapezoidal_velocity.h:48