3#include "pathplanner/lib/controllers/PathFollowingController.h"
4#include <frc/controller/LTVUnicycleController.h>
20 units::velocity::meters_per_second_t maxVelocity = 9_mps) : LTVUnicycleController(
21 dt, maxVelocity), m_lastError(0_m) {
39 const wpi::array<double, 2> &Relems, units::second_t dt,
40 units::meters_per_second_t maxVelocity = 9_mps) : LTVUnicycleController(
41 Qelems, Relems, dt, maxVelocity), m_lastError(0_m) {
45 const frc::Pose2d ¤tPose,
47 m_lastError = currentPose.Translation().Distance(
48 targetState.pose.Translation());
50 return Calculate(currentPose, targetState.pose,
51 targetState.linearVelocity, targetState.fieldSpeeds.omega);
54 inline void reset(
const frc::Pose2d ¤tPose,
55 const frc::ChassisSpeeds ¤tSpeeds)
override {
74 units::meter_t m_lastError;
Definition: PPLTVController.h:8
PPLTVController(units::second_t dt, units::velocity::meters_per_second_t maxVelocity=9_mps)
Definition: PPLTVController.h:19
frc::ChassisSpeeds calculateRobotRelativeSpeeds(const frc::Pose2d ¤tPose, const PathPlannerTrajectoryState &targetState) override
Definition: PPLTVController.h:44
units::meter_t getPositionalError() override
Definition: PPLTVController.h:59
bool isHolonomic() override
Definition: PPLTVController.h:69
PPLTVController(const wpi::array< double, 3 > &Qelems, const wpi::array< double, 2 > &Relems, units::second_t dt, units::meters_per_second_t maxVelocity=9_mps)
Definition: PPLTVController.h:38
void reset(const frc::Pose2d ¤tPose, const frc::ChassisSpeeds ¤tSpeeds) override
Definition: PPLTVController.h:54
Definition: PathFollowingController.h:9
Definition: PathPlannerTrajectoryState.h:17