2025-Robot
Robot code for 2025 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
DriveChoreo Class Reference

#include <drive_choreo.h>

Inheritance diagram for DriveChoreo:

Public Member Functions

 DriveChoreo (SwerveDriveSubsystem &drive, const std::string &trajectoryName, const bool initializeOdometry=false, std::optional< std::function< void(ArmPosition)> > armPositionCallback=std::nullopt, const int split=-1)
 
void Initialize () override
 
void Execute () override
 
void End (bool interrupted) override
 
bool IsFinished () override
 

Static Public Member Functions

static bool IsAtEndPoint (SwerveDriveSubsystem &drive, const std::string &trajectoryName, const units::inch_t translationalTolerance=6_in, const units::degree_t rotationalTolerance=1.0_deg)
 

Private Attributes

SwerveDriveSubsystemm_Drive
 
std::optional< choreo::Trajectory< choreo::SwerveSample > > m_trajectory
 
const bool m_initializeOdometry
 
std::chrono::time_point< std::chrono::steady_clock > m_startTime
 
wpi::log::StructLogEntry< frc::Pose2d > m_desiredAutoPositionLogger
 
wpi::log::StructArrayLogEntry< frc::Pose2d > m_autoTrajectoryLogger
 
bool m_isRedAlliance
 
std::optional< std::function< void(ArmPosition)> > m_armPositionCallback
 
std::vector< choreo::EventMarker > m_events
 
size_t m_nextEventIndex
 

Detailed Description

Constructor & Destructor Documentation

◆ DriveChoreo()

DriveChoreo::DriveChoreo ( SwerveDriveSubsystem & drive,
const std::string & trajectoryName,
const bool initializeOdometry = false,
std::optional< std::function< void(ArmPosition)> > armPositionCallback = std::nullopt,
const int split = -1 )

Member Function Documentation

◆ End()

void DriveChoreo::End ( bool interrupted)
override

◆ Execute()

void DriveChoreo::Execute ( )
override

◆ Initialize()

void DriveChoreo::Initialize ( )
override
Todo
This rotation shouldn't be necessary. Probably has something to do with the negative sign

◆ IsAtEndPoint()

bool DriveChoreo::IsAtEndPoint ( SwerveDriveSubsystem & drive,
const std::string & trajectoryName,
const units::inch_t translationalTolerance = 6_in,
const units::degree_t rotationalTolerance = 1.0_deg )
staticnodiscard

◆ IsFinished()

bool DriveChoreo::IsFinished ( )
override

Member Data Documentation

◆ m_armPositionCallback

std::optional<std::function<void(ArmPosition)> > DriveChoreo::m_armPositionCallback
private

◆ m_autoTrajectoryLogger

wpi::log::StructArrayLogEntry<frc::Pose2d> DriveChoreo::m_autoTrajectoryLogger
private

◆ m_desiredAutoPositionLogger

wpi::log::StructLogEntry<frc::Pose2d> DriveChoreo::m_desiredAutoPositionLogger
private

◆ m_Drive

SwerveDriveSubsystem& DriveChoreo::m_Drive
private

◆ m_events

std::vector<choreo::EventMarker> DriveChoreo::m_events
private

◆ m_initializeOdometry

const bool DriveChoreo::m_initializeOdometry
private

◆ m_isRedAlliance

bool DriveChoreo::m_isRedAlliance
private

◆ m_nextEventIndex

size_t DriveChoreo::m_nextEventIndex
private

◆ m_startTime

std::chrono::time_point<std::chrono::steady_clock> DriveChoreo::m_startTime
private

◆ m_trajectory

std::optional<choreo::Trajectory<choreo::SwerveSample> > DriveChoreo::m_trajectory
private

The documentation for this class was generated from the following files: