PathPlannerLib
Loading...
Searching...
No Matches
PPLTVController.h
1#pragma once
2
3#include "pathplanner/lib/controllers/PathFollowingController.h"
4#include <frc/controller/LTVUnicycleController.h>
5
6namespace pathplanner {
7class PPLTVController: public frc::LTVUnicycleController,
9public:
19 PPLTVController(units::second_t dt,
20 units::velocity::meters_per_second_t maxVelocity = 9_mps) : LTVUnicycleController(
21 dt, maxVelocity), m_lastError(0_m) {
22 }
23
38 PPLTVController(const wpi::array<double, 3> &Qelems,
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) {
42 }
43
44 frc::ChassisSpeeds calculateRobotRelativeSpeeds(
45 const frc::Pose2d &currentPose,
46 const PathPlannerTrajectoryState &targetState) override {
47 m_lastError = currentPose.Translation().Distance(
48 targetState.pose.Translation());
49
50 return Calculate(currentPose, targetState.pose,
51 targetState.linearVelocity, targetState.fieldSpeeds.omega);
52 }
53
54 inline void reset(const frc::Pose2d &currentPose,
55 const frc::ChassisSpeeds &currentSpeeds) override {
56 m_lastError = 0_m;
57 }
58
59 inline units::meter_t getPositionalError() override {
60 return m_lastError;
61 }
62
69 inline bool isHolonomic() override {
70 return false;
71 }
72
73private:
74 units::meter_t m_lastError;
75};
76}
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 &currentPose, 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 &currentPose, const frc::ChassisSpeeds &currentSpeeds) override
Definition: PPLTVController.h:54
Definition: PathFollowingController.h:9
Definition: PathPlannerTrajectoryState.h:17