FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
fsb_trajectory_types.h
1#ifndef FSB_TRAJECTORY_TYPES_H
2#define FSB_TRAJECTORY_TYPES_H
3
4#include "fsb_types.h"
5#include "fsb_motion.h"
6
7namespace fsb
8{
9
20{
36 Real jerk;
37};
38
61
65template <typename TrajStateType>
67{
68public:
69 virtual ~Segment() = default;
70
75 [[nodiscard]] virtual Real get_start_time() const = 0;
76
81 [[nodiscard]] virtual Real get_duration() const = 0;
82
87 [[nodiscard]] virtual Real get_final_time() const = 0;
88
94 [[nodiscard]] virtual TrajStateType evaluate(Real t_eval) const = 0;
95
100 [[nodiscard]] virtual TrajStateType get_final_state() const = 0;
101
106 [[nodiscard]] virtual TrajStateType get_initial_state() const = 0;
107};
108
112
117} // namespace fsb
118
119#endif
Abstract class for segments.
Definition fsb_trajectory_types.h:67
virtual Real get_duration() const =0
Get duration of the segment.
virtual Real get_final_time() const =0
Get final time of the segment.
virtual TrajStateType evaluate(Real t_eval) const =0
Evaluate the segment at a given time.
virtual TrajStateType get_initial_state() const =0
Get initial state of the segment.
virtual Real get_start_time() const =0
Get start time of the segment.
virtual TrajStateType get_final_state() const =0
Get final state of the segment.
Trajectory vector motion state.
Definition fsb_trajectory_types.h:43
Vec3 velocity
Velocity.
Definition fsb_trajectory_types.h:51
Vec3 jerk
Jerk.
Definition fsb_trajectory_types.h:59
Vec3 acceleration
Acceleration.
Definition fsb_trajectory_types.h:55
Vec3 position
Position.
Definition fsb_trajectory_types.h:47
Trajectory scalar motion state.
Definition fsb_trajectory_types.h:20
Real acceleration
Acceleration.
Definition fsb_trajectory_types.h:32
Real position
Position.
Definition fsb_trajectory_types.h:24
Real velocity
Velocity.
Definition fsb_trajectory_types.h:28
Real jerk
Jerk.
Definition fsb_trajectory_types.h:36
3D vector
Definition fsb_types.h:31