FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
fsb_trajectory_path.h
1#ifndef FSB_TRAJECTORY_PATH_H
2#define FSB_TRAJECTORY_PATH_H
3
4#include "fsb_trajectory_types.h"
5#include "fsb_types.h"
6
7#include "fsb_motion.h"
8
9namespace fsb
10{
11
19{
21 Real displacement = 0.0;
22 Vec3 direction = {};
23};
24
25struct PathPva
26{
27 Real position = 0.0;
28 Real velocity = 0.0;
29 Real acceleration = 0.0;
30};
31
32class PathSegment : public Segment6
33{
34public:
40 CartesianPva evaluate(Real t_eval) const final;
41
47 CartesianPva evaluate_path(const PathPva& displacement);
48
54
55private:
56 CartesianPva m_initial = {};
57 CartesianPva m_final = {};
58
59 Real m_start_displacement = 0.0;
60 Real m_arc_length = 0.0;
61};
62
64{};
65
70} // namespace fsb
71
72#endif // FANCYSAFEBOT_FSB_PATH_H
Definition fsb_trajectory_path.h:33
CartesianPva evaluate(Real t_eval) const final
Evaluate the segment at a given time.
CartesianPva evaluate_path(const PathPva &displacement)
CartesianPva get_final_state() const final
Get final state of the segment.
Definition fsb_trajectory_path.h:64
Abstract class for motion in Cartesian coordinates.
Definition fsb_trajectory_types.h:133
Transform transform_identity()
Identity transform.
Definition fsb_motion.cpp:12
Cartesian pose, velocity and acceleration.
Definition fsb_motion.h:53
Definition fsb_trajectory_path.h:19
Definition fsb_trajectory_path.h:26
Coordinate transform.
Definition fsb_motion.h:22
3D vector
Definition fsb_types.h:27