7 #include <initializer_list>    10 #include <frc/controller/HolonomicDriveController.h>    11 #include <frc/controller/PIDController.h>    12 #include <frc/controller/ProfiledPIDController.h>    13 #include <frc/geometry/Pose2d.h>    14 #include <frc/kinematics/ChassisSpeeds.h>    15 #include <frc/kinematics/SwerveDriveKinematics.h>    16 #include <frc/kinematics/SwerveModuleState.h>    17 #include <frc/trajectory/Trajectory.h>    18 #include <units/length.h>    19 #include <units/time.h>    20 #include <units/voltage.h>    21 #include <wpi/ArrayRef.h>    23 #include <frc2/command/CommandBase.h>    24 #include <frc2/command/CommandHelper.h>    25 #include <frc2/Timer.h>    50 template <
size_t NumModules>
    52     : 
public CommandHelper<CommandBase, SwerveControllerCommand2<NumModules>> {
    54       units::compound_unit<units::voltage::volt, units::second,
    55                            units::inverse<units::meter>>;
    57       units::compound_unit<units::voltage::volt, units::squared<units::second>,
    58                            units::inverse<units::meter>>;
    88       frc::Trajectory trajectory, std::function<frc::Pose2d()> pose,
    89       frc::SwerveDriveKinematics<NumModules> kinematics,
    90       frc2::PIDController xController, frc2::PIDController yController,
    91       frc::ProfiledPIDController<units::radians> thetaController,
    92       std::function<frc::Rotation2d()> desiredRotation,
    93       std::function<
void(std::array<frc::SwerveModuleState, NumModules>)>
    95       std::initializer_list<Subsystem*> requirements);
   127       frc::Trajectory trajectory, std::function<frc::Pose2d()> pose,
   128       frc::SwerveDriveKinematics<NumModules> kinematics,
   129       frc2::PIDController xController, frc2::PIDController yController,
   130       frc::ProfiledPIDController<units::radians> thetaController,
   131       std::function<
void(std::array<frc::SwerveModuleState, NumModules>)>
   133       std::initializer_list<Subsystem*> requirements);
   163       frc::Trajectory trajectory, std::function<frc::Pose2d()> pose,
   164       frc::SwerveDriveKinematics<NumModules> kinematics,
   165       frc2::PIDController xController, frc2::PIDController yController,
   166       frc::ProfiledPIDController<units::radians> thetaController,
   167       std::function<frc::Rotation2d()> desiredRotation,
   168       std::function<
void(std::array<frc::SwerveModuleState, NumModules>)>
   170       wpi::ArrayRef<Subsystem*> requirements = {});
   202       frc::Trajectory trajectory, std::function<frc::Pose2d()> pose,
   203       frc::SwerveDriveKinematics<NumModules> kinematics,
   204       frc2::PIDController xController, frc2::PIDController yController,
   205       frc::ProfiledPIDController<units::radians> thetaController,
   206       std::function<
void(std::array<frc::SwerveModuleState, NumModules>)>
   208       wpi::ArrayRef<Subsystem*> requirements = {});
   214   void End(
bool interrupted) 
override;
   223   std::function<void(std::array<frc::SwerveModuleState, NumModules>)>
 units::second_t m_prevTime
units::compound_unit< units::voltage::volt, units::squared< units::second >, units::inverse< units::meter >> voltsecondssquaredpermeter
frc::HolonomicDriveController m_controller
units::compound_unit< units::voltage::volt, units::second, units::inverse< units::meter >> voltsecondspermeter
frc::Rotation2d m_finalRotation
std::function< void(std::array< frc::SwerveModuleState, NumModules >)> m_outputStates
std::function< frc::Pose2d()> m_pose
void Initialize() override
std::function< frc::Rotation2d()> m_desiredRotation
bool IsFinished() override
SwerveControllerCommand2(frc::Trajectory trajectory, std::function< frc::Pose2d()> pose, frc::SwerveDriveKinematics< NumModules > kinematics, frc2::PIDController xController, frc2::PIDController yController, frc::ProfiledPIDController< units::radians > thetaController, std::function< frc::Rotation2d()> desiredRotation, std::function< void(std::array< frc::SwerveModuleState, NumModules >)> output, std::initializer_list< Subsystem * > requirements)
frc::Trajectory m_trajectory
void End(bool interrupted) override
frc::SwerveDriveKinematics< NumModules > m_kinematics