HoloLib
High-performance holonomic (X-Drive) control library for VEX V5
Loading...
Searching...
No Matches
motions.hpp File Reference
#include "hololib/chassis.hpp"
#include "hololib/config.hpp"
#include "hololib/localization/odometry.hpp"
#include "hololib/util/GainScheduler.hpp"
#include "hololib/util/obstacle_manager.hpp"
#include <cstdint>
#include <functional>
#include <vector>

Go to the source code of this file.

Classes

struct  hololib::MoveParams
 
struct  hololib::MoveSettings
 
struct  hololib::PathPoint
 

Namespaces

namespace  hololib
 

Enumerations

enum class  hololib::HeadingMode { hololib::FollowPath , hololib::HoldAngle , hololib::CustomAngles }
 
enum class  hololib::SwingSide { hololib::Left , hololib::Right }
 

Functions

void hololib::moveToPoint (float tx, float ty, MoveParams params={}, MoveSettings settings={})
 Moves the robot to a specific point using PID control.
 
void hololib::followPath (const std::vector< PathPoint > &path, float lookaheadDistance, HeadingMode headingMode, float holdAngleDeg, bool reversed, MoveParams params={}, MoveSettings settings={})
 
void hololib::turnToHeading (float targetDeg, MoveParams params={}, MoveSettings settings={})
 
void hololib::turnToPoint (float tx, float ty, MoveParams params={}, MoveSettings settings={})
 
void hololib::moveRelative (float forward, float sideways, bool holdHeading=true, MoveParams params={}, MoveSettings settings={})
 
void hololib::moveDistance (float distance, bool holdHeading=true, MoveParams params={}, MoveSettings settings={})
 
void hololib::strafeDistance (float distance, bool holdHeading=true, MoveParams params={}, MoveSettings settings={})
 
void hololib::moveToPose (float tx, float ty, float targetThetaDeg, MoveParams params={}, MoveSettings settings={})
 
void hololib::swingTurn (float targetThetaDeg, SwingSide lockedSide, MoveParams params={}, MoveSettings settings={})
 

Variables

constexpr float hololib::DEG2RAD = M_PI / 180.0f
 
constexpr float hololib::RAD2DEG = 180.0f / M_PI