1#ifndef FSB_TRAJECTORY_SEGMENT_H
2#define FSB_TRAJECTORY_SEGMENT_H
5#include "fsb_trajectory_types.h"
120 void generate(real_t start_time, real_t duration,
const TrajState& initial_state, real_t jerk);
136 return evaluate(m_start_time + m_duration);
165 return m_start_time + m_duration;
169 real_t m_initial_position = 0.0;
170 real_t m_initial_velocity = 0.0;
171 real_t m_initial_acceleration = 0.0;
173 real_t m_start_time = 0.0;
174 real_t m_duration = 0.0;
193 void generate(real_t start_time, real_t duration,
const TrajState& initial_state, real_t acceleration);
209 return evaluate(m_start_time + m_duration);
238 return m_start_time + m_duration;
242 real_t m_initial_position = 0.0;
243 real_t m_initial_velocity = 0.0;
244 real_t m_acceleration = 0.0;
245 real_t m_start_time = 0.0;
246 real_t m_duration = 0.0;
265 void generate(real_t start_time, real_t duration,
const TrajState& initial_state, real_t velocity);
281 return evaluate(m_start_time + m_duration);
310 return m_start_time + m_duration;
314 real_t m_initial_position = 0.0;
315 real_t m_velocity = 0.0;
316 real_t m_start_time = 0.0;
317 real_t m_duration = 0.0;
Abstract class for motion in x, y, and z coordinates.
Definition fsb_trajectory_segment.h:68
virtual TrajState3 get_final_state() const =0
Get final state of the segment.
virtual TrajState3 evaluate(real_t t_eval) const =0
Evaluate the segment at a given time.
Abstract class for motion in Cartesian coordinates.
Definition fsb_trajectory_segment.h:88
virtual CartesianPva evaluate(real_t t_eval) const =0
Evaluate the segment at a given time.
virtual CartesianPva get_final_state() const =0
Get final state of the segment.
Abstract class for segments.
Definition fsb_trajectory_segment.h:21
virtual real_t get_final_time() const =0
Get final time of the segment.
virtual real_t get_start_time() const =0
Get start time of the segment.
virtual real_t get_duration() const =0
Get duration of the segment.
Constant acceleration profile.
Definition fsb_trajectory_segment.h:181
void generate(real_t start_time, real_t duration, const TrajState &initial_state, real_t acceleration)
Generate constant acceleration profile.
Definition fsb_trajectory_segment.cpp:31
TrajState get_final_state() const override
Get final state of segment.
Definition fsb_trajectory_segment.h:207
real_t get_duration() const override
Get duration.
Definition fsb_trajectory_segment.h:226
real_t get_final_time() const override
Get final time of segment.
Definition fsb_trajectory_segment.h:236
real_t get_start_time() const override
Get start time of segment.
Definition fsb_trajectory_segment.h:216
TrajState evaluate(real_t t_eval) const override
Evaluate constant acceleration segment.
Definition fsb_trajectory_segment.cpp:40
Constant jerk profile.
Definition fsb_trajectory_segment.h:108
real_t get_duration() const override
Get duration.
Definition fsb_trajectory_segment.h:153
void generate(real_t start_time, real_t duration, const TrajState &initial_state, real_t jerk)
Generate constant jerk trajectory.
Definition fsb_trajectory_segment.cpp:9
real_t get_start_time() const override
Get start time of segment.
Definition fsb_trajectory_segment.h:143
TrajState evaluate(real_t t_eval) const override
Evaluate segment trajectory.
Definition fsb_trajectory_segment.cpp:19
real_t get_final_time() const override
Get final time of segment.
Definition fsb_trajectory_segment.h:163
TrajState get_final_state() const override
Get final state of segment.
Definition fsb_trajectory_segment.h:134
Constant velocity profile.
Definition fsb_trajectory_segment.h:253
void generate(real_t start_time, real_t duration, const TrajState &initial_state, real_t velocity)
Generate constant velocity profile.
Definition fsb_trajectory_segment.cpp:51
TrajState evaluate(real_t t_eval) const override
Evaluate constant velocity segment.
Definition fsb_trajectory_segment.cpp:59
TrajState get_final_state() const override
Get final state of segment.
Definition fsb_trajectory_segment.h:279
real_t get_final_time() const override
Get final time of segment.
Definition fsb_trajectory_segment.h:308
real_t get_duration() const override
Get duration.
Definition fsb_trajectory_segment.h:298
real_t get_start_time() const override
Get start time of segment.
Definition fsb_trajectory_segment.h:288
Abstract class for scalar motion.
Definition fsb_trajectory_segment.h:48
virtual TrajState evaluate(real_t t_eval) const =0
Evaluate the segment at a given time.
virtual TrajState get_final_state() const =0
Get final state of the segment.
Cartesian pose, velocity and acceleration.
Definition fsb_motion.h:53
Trajectory vector motion state.
Definition fsb_trajectory_types.h:40
Trajectory scalar motion state.
Definition fsb_trajectory_types.h:18