ChoreoLib
Loading...
Searching...
No Matches
ChoreoTrajectoryState.h
1// Copyright (c) Choreo contributors
2
3#pragma once
4
5#include <frc/geometry/Pose2d.h>
6#include <frc/kinematics/ChassisSpeeds.h>
7#include <wpi/json_fwd.h>
8
9namespace choreolib {
12 public:
13 ChoreoTrajectoryState() = default;
14
26 ChoreoTrajectoryState(units::second_t t, units::meter_t x, units::meter_t y,
27 units::radian_t heading,
28 units::meters_per_second_t xVel,
29 units::meters_per_second_t yVel,
30 units::radians_per_second_t angularVel);
31
37 frc::Pose2d GetPose() const;
38
44 frc::ChassisSpeeds GetChassisSpeeds() const;
45
55 double i) const;
56
62 std::array<double, 7> AsArray() const;
63
72
74 units::second_t timestamp{0_s};
75
77 units::meter_t x = 0_m;
78
80 units::meter_t y = 0_m;
81
83 units::radian_t heading = 0_rad;
84
86 units::meters_per_second_t velocityX = 0_mps;
87
89 units::meters_per_second_t velocityY = 0_mps;
90
92 units::radians_per_second_t angularVelocity = 0_rad_per_s;
93
94 private:
95 static constexpr units::meter_t fieldLength = 16.5410515_m;
96};
97
98void to_json(wpi::json& json, const ChoreoTrajectoryState& trajState);
99void from_json(const wpi::json& json, ChoreoTrajectoryState& trajState);
100} // namespace choreolib
A single state in a ChoreoTrajectory.
Definition ChoreoTrajectoryState.h:11
frc::Pose2d GetPose() const
Definition ChoreoTrajectoryState.cpp:41
ChoreoTrajectoryState Interpolate(const ChoreoTrajectoryState &endValue, double i) const
Definition ChoreoTrajectoryState.cpp:49
frc::ChassisSpeeds GetChassisSpeeds() const
Definition ChoreoTrajectoryState.cpp:45
std::array< double, 7 > AsArray() const
Definition ChoreoTrajectoryState.cpp:62
units::radian_t heading
The heading at that point in the trajectory.
Definition ChoreoTrajectoryState.h:83
units::meter_t y
The y position at that point in the trajectory.
Definition ChoreoTrajectoryState.h:80
ChoreoTrajectoryState Flipped() const
Definition ChoreoTrajectoryState.cpp:68
units::radians_per_second_t angularVelocity
The angular component of the velocity at that point in the trajectory.
Definition ChoreoTrajectoryState.h:92
units::second_t timestamp
The time elapsed since the beginning of the trajectory.
Definition ChoreoTrajectoryState.h:74
units::meters_per_second_t velocityX
The x component of the velocity at that point in the trajectory.
Definition ChoreoTrajectoryState.h:86
units::meter_t x
The x position at that point in the trajectory.
Definition ChoreoTrajectoryState.h:77
units::meters_per_second_t velocityY
The y component of the velocity at that point in the trajectory.
Definition ChoreoTrajectoryState.h:89