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
66{
67public:
68 virtual ~SegmentBase() = default;
69
74 [[nodiscard]] virtual Real get_start_time() const = 0;
75
80 [[nodiscard]] virtual Real get_duration() const = 0;
81
86 [[nodiscard]] virtual Real get_final_time() const = 0;
87};
88
92class Segment : public SegmentBase
93{
94public:
100 [[nodiscard]] virtual TrajState evaluate(Real t_eval) const = 0;
101
106 [[nodiscard]] virtual TrajState get_final_state() const = 0;
107};
108
112class Segment3 : public SegmentBase
113{
114public:
120 [[nodiscard]] virtual TrajState3 evaluate(Real t_eval) const = 0;
121
126 [[nodiscard]] virtual TrajState3 get_final_state() const = 0;
127};
128
132class Segment6 : public SegmentBase
133{
134public:
140 [[nodiscard]] virtual CartesianPva evaluate(Real t_eval) const = 0;
141
146 [[nodiscard]] virtual CartesianPva get_final_state() const = 0;
147};
148
153} // namespace fsb
154
155#endif
Abstract class for motion in x, y, and z coordinates.
Definition fsb_trajectory_types.h:113
virtual TrajState3 evaluate(Real t_eval) const =0
Evaluate the segment at a given time.
virtual TrajState3 get_final_state() const =0
Get final state of the segment.
Abstract class for motion in Cartesian coordinates.
Definition fsb_trajectory_types.h:133
virtual CartesianPva get_final_state() const =0
Get final state of the segment.
virtual CartesianPva evaluate(Real t_eval) const =0
Evaluate the segment at a given time.
Abstract class for segments.
Definition fsb_trajectory_types.h:66
virtual Real get_start_time() const =0
Get start time of the segment.
virtual Real get_final_time() const =0
Get final time of the segment.
virtual Real get_duration() const =0
Get duration of the segment.
Abstract class for scalar motion.
Definition fsb_trajectory_types.h:93
virtual TrajState evaluate(Real 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: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:27