Wolflib 0.1.0
PROS differential-drive motion, mapping, and Monte Carlo localization
Loading...
Searching...
No Matches
wolflib::Chassis Class Reference

#include <chassis.hpp>

Public Member Functions

 Chassis (ChassisConfig config)
 
 ~Chassis ()
 
 Chassis (const Chassis &)=delete
 
Chassisoperator= (const Chassis &)=delete
 
bool calibrate (bool calibrateImu=true, std::uint32_t timeoutMs=5000)
 
void setPose (Pose pose)
 
void setPose (double x, double y, double theta)
 
Pose getPose () const
 
Pose getOdometryPose () const
 
MclEstimate getMclEstimate () const
 
void resetLocalPosition ()
 
void setMclFusionEnabled (bool enabled)
 
bool isMclFusionEnabled () const
 
void resetMclToOdometry (double positionStdDev=1, double thetaStdDev=3)
 
void resetMclGlobal ()
 
MapStatus beginMapping (bool clearExisting=true)
 
MapStatus finishMappingAndSave ()
 
void cancelMapping ()
 
MapStatus loadMap ()
 
MappingInfo getMappingInfo () const
 
const OccupancyMapgetMap () const
 
void setBrakeMode (pros::motor_brake_mode_e_t mode)
 
void tank (int left, int right, bool disableDriveCurve=false)
 
void arcade (int throttle, int turn, bool disableDriveCurve=false, double desaturateBias=0.5)
 
void curvature (int throttle, int turn, bool disableDriveCurve=false)
 
bool turnToHeading (double theta, std::uint32_t timeoutMs, TurnOptions options={})
 
bool turnToPoint (double x, double y, std::uint32_t timeoutMs, TurnOptions options={})
 
bool swingToHeading (double theta, DriveSide lockedSide, std::uint32_t timeoutMs, TurnOptions options={})
 
bool swingToPoint (double x, double y, DriveSide lockedSide, std::uint32_t timeoutMs, TurnOptions options={})
 
bool moveToPoint (double x, double y, std::uint32_t timeoutMs, MoveToPointOptions options={})
 
bool moveToPose (double x, double y, double theta, std::uint32_t timeoutMs, MoveToPoseOptions options={})
 
void waitUntil (double progress)
 
void waitUntilDone ()
 
void cancelMotion ()
 
void cancelAllMotions ()
 
bool isInMotion () const
 
PIDlateralPID ()
 
PIDangularPID ()
 
const ChassisConfiggetConfig () const
 

Constructor & Destructor Documentation

◆ Chassis() [1/2]

wolflib::Chassis::Chassis ( ChassisConfig  config)
explicit

◆ ~Chassis()

wolflib::Chassis::~Chassis ( )

◆ Chassis() [2/2]

wolflib::Chassis::Chassis ( const Chassis )
delete

Member Function Documentation

◆ angularPID()

PID & wolflib::Chassis::angularPID ( )

◆ arcade()

void wolflib::Chassis::arcade ( int  throttle,
int  turn,
bool  disableDriveCurve = false,
double  desaturateBias = 0.5 
)

◆ beginMapping()

MapStatus wolflib::Chassis::beginMapping ( bool  clearExisting = true)

◆ calibrate()

bool wolflib::Chassis::calibrate ( bool  calibrateImu = true,
std::uint32_t  timeoutMs = 5000 
)

◆ cancelAllMotions()

void wolflib::Chassis::cancelAllMotions ( )

◆ cancelMapping()

void wolflib::Chassis::cancelMapping ( )

◆ cancelMotion()

void wolflib::Chassis::cancelMotion ( )

◆ curvature()

void wolflib::Chassis::curvature ( int  throttle,
int  turn,
bool  disableDriveCurve = false 
)

◆ finishMappingAndSave()

MapStatus wolflib::Chassis::finishMappingAndSave ( )

◆ getConfig()

const ChassisConfig & wolflib::Chassis::getConfig ( ) const

◆ getMap()

const OccupancyMap & wolflib::Chassis::getMap ( ) const

◆ getMappingInfo()

MappingInfo wolflib::Chassis::getMappingInfo ( ) const

◆ getMclEstimate()

MclEstimate wolflib::Chassis::getMclEstimate ( ) const

◆ getOdometryPose()

Pose wolflib::Chassis::getOdometryPose ( ) const

◆ getPose()

Pose wolflib::Chassis::getPose ( ) const

◆ isInMotion()

bool wolflib::Chassis::isInMotion ( ) const

◆ isMclFusionEnabled()

bool wolflib::Chassis::isMclFusionEnabled ( ) const

◆ lateralPID()

PID & wolflib::Chassis::lateralPID ( )

◆ loadMap()

MapStatus wolflib::Chassis::loadMap ( )

◆ moveToPoint()

bool wolflib::Chassis::moveToPoint ( double  x,
double  y,
std::uint32_t  timeoutMs,
MoveToPointOptions  options = {} 
)

◆ moveToPose()

bool wolflib::Chassis::moveToPose ( double  x,
double  y,
double  theta,
std::uint32_t  timeoutMs,
MoveToPoseOptions  options = {} 
)

◆ operator=()

Chassis & wolflib::Chassis::operator= ( const Chassis )
delete

◆ resetLocalPosition()

void wolflib::Chassis::resetLocalPosition ( )

◆ resetMclGlobal()

void wolflib::Chassis::resetMclGlobal ( )

◆ resetMclToOdometry()

void wolflib::Chassis::resetMclToOdometry ( double  positionStdDev = 1,
double  thetaStdDev = 3 
)

◆ setBrakeMode()

void wolflib::Chassis::setBrakeMode ( pros::motor_brake_mode_e_t  mode)

◆ setMclFusionEnabled()

void wolflib::Chassis::setMclFusionEnabled ( bool  enabled)

◆ setPose() [1/2]

void wolflib::Chassis::setPose ( double  x,
double  y,
double  theta 
)

◆ setPose() [2/2]

void wolflib::Chassis::setPose ( Pose  pose)

◆ swingToHeading()

bool wolflib::Chassis::swingToHeading ( double  theta,
DriveSide  lockedSide,
std::uint32_t  timeoutMs,
TurnOptions  options = {} 
)

◆ swingToPoint()

bool wolflib::Chassis::swingToPoint ( double  x,
double  y,
DriveSide  lockedSide,
std::uint32_t  timeoutMs,
TurnOptions  options = {} 
)

◆ tank()

void wolflib::Chassis::tank ( int  left,
int  right,
bool  disableDriveCurve = false 
)

◆ turnToHeading()

bool wolflib::Chassis::turnToHeading ( double  theta,
std::uint32_t  timeoutMs,
TurnOptions  options = {} 
)

◆ turnToPoint()

bool wolflib::Chassis::turnToPoint ( double  x,
double  y,
std::uint32_t  timeoutMs,
TurnOptions  options = {} 
)

◆ waitUntil()

void wolflib::Chassis::waitUntil ( double  progress)

◆ waitUntilDone()

void wolflib::Chassis::waitUntilDone ( )

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