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

Namespaces

namespace  Omniwheel
 

Classes

class  Chassis
 
struct  ChassisConfig
 
struct  ControllerSettings
 
struct  DistanceSensorConfig
 
class  DriveCurve
 
struct  Drivetrain
 
class  ExitCondition
 
class  ExpoDriveCurve
 
struct  FieldConfig
 
class  FieldView
 
struct  FusionConfig
 
struct  MappingInfo
 
struct  MclConfig
 
struct  MclEstimate
 
struct  MclTuning
 
struct  MotionOptions
 
struct  MoveToPointOptions
 
struct  MoveToPoseOptions
 
class  OccupancyMap
 
struct  OdometryDelta
 
struct  OdometryStep
 
struct  OdomSensors
 
struct  Particle
 
class  ParticleFilter
 
class  PID
 
struct  Pose
 
struct  RangeObservation
 
struct  Rect
 
struct  RobotGeometry
 
class  Timer
 
class  TrackingWheel
 
struct  TurnOptions
 
struct  WheelDelta
 

Enumerations

enum class  AngularDirection { Clockwise , Counterclockwise , Automatic }
 
enum class  DriveSide { Left , Right }
 
enum class  MappingState {
  Idle , Mapping , Saving , Ready ,
  Error
}
 
enum class  DistanceConfidencePolicy { Ignore , RequireMinimum , ScaleWeight }
 
enum class  MapStatus {
  Ok , NotInitialized , InvalidDimensions , OutOfBounds ,
  IoError , InvalidFormat , UnsupportedVersion , ChecksumMismatch
}
 

Functions

double degToRad (double degrees)
 
double radToDeg (double radians)
 
double wrapDegrees (double degrees)
 
double angleError (double target, double current)
 
double clamp (double value, double minimum, double maximum)
 
double slew (double target, double previous, double maximumChange)
 
double average (const std::vector< double > &values)
 
double ema (double current, double previous, double alpha)
 
Pose integrateLocalDelta (const Pose &pose, double localX, double localY, double deltaThetaDegrees)
 Integrate a robot-relative delta. localX is right, localY is forward.
 
const char * mapStatusString (MapStatus status)
 
OdometryStep integrateOdometry (Pose previous, const OdometryDelta &sample)
 

Variables

constexpr double kPi = std::numbers::pi_v<double>
 

Enumeration Type Documentation

◆ AngularDirection

enum class wolflib::AngularDirection
strong
Enumerator
Clockwise 
Counterclockwise 
Automatic 

◆ DistanceConfidencePolicy

Enumerator
Ignore 
RequireMinimum 
ScaleWeight 

◆ DriveSide

enum class wolflib::DriveSide
strong
Enumerator
Left 
Right 

◆ MappingState

enum class wolflib::MappingState
strong
Enumerator
Idle 
Mapping 
Saving 
Ready 
Error 

◆ MapStatus

enum class wolflib::MapStatus
strong
Enumerator
Ok 
NotInitialized 
InvalidDimensions 
OutOfBounds 
IoError 
InvalidFormat 
UnsupportedVersion 
ChecksumMismatch 

Function Documentation

◆ angleError()

double wolflib::angleError ( double  target,
double  current 
)

◆ average()

double wolflib::average ( const std::vector< double > &  values)

◆ clamp()

double wolflib::clamp ( double  value,
double  minimum,
double  maximum 
)

◆ degToRad()

double wolflib::degToRad ( double  degrees)

◆ ema()

double wolflib::ema ( double  current,
double  previous,
double  alpha 
)

◆ integrateLocalDelta()

Pose wolflib::integrateLocalDelta ( const Pose pose,
double  localX,
double  localY,
double  deltaThetaDegrees 
)

Integrate a robot-relative delta. localX is right, localY is forward.

◆ integrateOdometry()

OdometryStep wolflib::integrateOdometry ( Pose  previous,
const OdometryDelta sample 
)

Integrates one sensor sample. IMU delta is clockwise-positive degrees. Wheel offsets follow TrackingWheel conventions.

◆ mapStatusString()

const char * wolflib::mapStatusString ( MapStatus  status)

◆ radToDeg()

double wolflib::radToDeg ( double  radians)

◆ slew()

double wolflib::slew ( double  target,
double  previous,
double  maximumChange 
)

◆ wrapDegrees()

double wolflib::wrapDegrees ( double  degrees)

Variable Documentation

◆ kPi

constexpr double wolflib::kPi = std::numbers::pi_v<double>
constexpr