5#include "software/ai/navigator/trajectory/trajectory.hpp"
18 double end_time_sec = 0;
21 double acceleration = 0;
45 void generate(
double initial_pos,
double final_pos,
double initial_vel,
46 double max_vel,
double max_accel,
double max_decel);
79 return trajectory_parts[num_trajectory_parts - 1].end_time_sec;
125 void generateTrapezoidalTrajectory(
double initial_pos,
double final_pos,
126 double initial_vel,
double max_vel,
127 double max_accel,
double max_decel,
128 double time_offset_sec = 0.0);
147 void generateTriangularTrajectory(
double initial_pos,
double final_pos,
148 double initial_vel,
double max_accel,
149 double max_decel,
double time_offset_sec = 0.0);
159 inline double closestPositionToStop(
double initial_pos,
double initial_vel,
160 double max_decel)
const;
179 inline double triangularProfileStopPosition(
double initial_pos,
double initial_vel,
180 double max_vel,
double max_accel,
181 double max_decel,
double direction)
const;
189 inline size_t getTrajectoryIndexAtTime(
double t_sec)
const;
200 void getTrajPartAndDeltaTime(
double t_sec,
202 double &out_t_delta_sec)
const;
212 inline void addTrajectoryPart(
const TrajectoryPart &part);
216 static constexpr unsigned int MAX_TRAJECTORY_PARTS = 4;
217 size_t num_trajectory_parts = 0;
218 std::array<TrajectoryPart, MAX_TRAJECTORY_PARTS> trajectory_parts = {
219 TrajectoryPart(), TrajectoryPart(), TrajectoryPart(), TrajectoryPart()};
Definition bang_bang_trajectory_1d.h:8
BangBangTrajectory1D()
Definition bang_bang_trajectory_1d.cpp:8
void generate(double initial_pos, double final_pos, double initial_vel, double max_vel, double max_accel, double max_decel)
Definition bang_bang_trajectory_1d.cpp:15
std::pair< double, double > getMinMaxPositions() const
Definition bang_bang_trajectory_1d.cpp:268
double getAcceleration(double t_sec) const override
Definition bang_bang_trajectory_1d.cpp:198
size_t getNumTrajectoryParts() const
Definition bang_bang_trajectory_1d.cpp:298
double getVelocity(double t_sec) const override
Definition bang_bang_trajectory_1d.cpp:188
const TrajectoryPart & getTrajectoryPart(size_t index) const
Definition bang_bang_trajectory_1d.cpp:303
double getPosition(double t_sec) const override
Definition bang_bang_trajectory_1d.cpp:176
double getTotalTime() const override
Definition bang_bang_trajectory_1d.h:77
Definition trajectory.hpp:15
Definition bang_bang_trajectory_1d.h:17