3#include <ThunderLib/Types/CanonicalAngle.hpp>
4#include <frc/controller/HolonomicDriveController.h>
5#include <frc/geometry/Pose2d.h>
6#include <frc/kinematics/ChassisSpeeds.h>
17 frc::Pose2d currentPose;
18 frc::Pose2d targetPose;
20 units::meters_per_second_t linearVelocity;
23 using GetPoseFunc = std::function<frc::Pose2d()>;
24 using ResetPoseFunc = std::function<void(
const frc::Pose2d&)>;
25 using GetSpeedsFunc = std::function<frc::ChassisSpeeds()>;
26 using SetSpeedsFunc = std::function<void(
const frc::ChassisSpeeds&)>;
27 using SetSpeedsWithDiagnosticsFunc =
30 using StopFunc = std::function<void()>;
64 const std::shared_ptr<frc::HolonomicDriveController>
controller =
nullptr;
74 const StopFunc
stop =
nullptr;
87 ResetPoseFunc resetPoseFunc,
88 SetSpeedsFunc setSpeedsFunc,
89 std::shared_ptr<frc::HolonomicDriveController> holonomicDriveController)
90 :
getPose(std::move(getPoseFunc)),
93 controller(std::move(holonomicDriveController)) {}
107 ResetPoseFunc resetPoseFunc,
108 SetSpeedsWithDiagnosticsFunc setSpeedsWithDiagnosticsFunc,
109 std::shared_ptr<frc::HolonomicDriveController> holonomicDriveController)
110 :
getPose(std::move(getPoseFunc)),
113 controller(std::move(holonomicDriveController)) {}
132 bool isValid()
const {
146 explicit operator bool()
const {
return isValid(); }
Definition CanonicalAngle.hpp:16
Definition TrajectoryRunnerProperties.hpp:15
const std::shared_ptr< frc::HolonomicDriveController > controller
Definition TrajectoryRunnerProperties.hpp:64
TrajectoryRunnerProperties(GetPoseFunc getPoseFunc, ResetPoseFunc resetPoseFunc, SetSpeedsWithDiagnosticsFunc setSpeedsWithDiagnosticsFunc, std::shared_ptr< frc::HolonomicDriveController > holonomicDriveController)
Definition TrajectoryRunnerProperties.hpp:106
const StopFunc stop
Definition TrajectoryRunnerProperties.hpp:74
const SetSpeedsFunc setSpeeds
Definition TrajectoryRunnerProperties.hpp:49
TrajectoryRunnerProperties(GetPoseFunc getPoseFunc, ResetPoseFunc resetPoseFunc, SetSpeedsFunc setSpeedsFunc, std::shared_ptr< frc::HolonomicDriveController > holonomicDriveController)
Definition TrajectoryRunnerProperties.hpp:86
const SetSpeedsWithDiagnosticsFunc setSpeedsWithDiagnostics
Definition TrajectoryRunnerProperties.hpp:56
const ResetPoseFunc resetPose
Definition TrajectoryRunnerProperties.hpp:42
const ControlFunc control
Definition TrajectoryRunnerProperties.hpp:69
TrajectoryRunnerProperties(GetPoseFunc getPose, ResetPoseFunc resetPose, ControlFunc control, StopFunc stop)
Definition TrajectoryRunnerProperties.hpp:126
const GetPoseFunc getPose
Definition TrajectoryRunnerProperties.hpp:35