|
LightLib
PROS library for VEX V5: EKF/MCL localization, RAMSETE path following, high-level chassis API
|
RAMSETE / Pure Pursuit trajectory follower public API. More...
Go to the source code of this file.
Classes | |
| struct | light::PathEvent |
| Mid-path action fired once when the trajectory passes its resolved time. More... | |
| struct | light::RamseteConfig |
| RAMSETE controller and chassis-geometry config. More... | |
| struct | light::DriveFF |
| Per-wheel feedforward + simple velocity-loop gains. More... | |
Namespaces | |
| namespace | light |
| Initialize once via init(); poll getPose/setPose from any task. | |
Enumerations | |
| enum class | light::Follower { light::RAMSETE , light::PURE_PURSUIT } |
| Path-following controller selector. More... | |
Functions | |
| void | light::ramsete_configure (RamseteConfig rc, DriveFF ff, TrajConstraints defaultCons) |
| Configure the RAMSETE follower. | |
| bool | light::followTrajectory (const Trajectory &traj, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Follow a pre-generated Trajectory. | |
| bool | light::followTrajectory (const std::vector< Waypoint > &wps, const TrajConstraints &cons, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Generate and follow a trajectory from waypoints. | |
| bool | light::followTrajectory (const std::vector< Waypoint > &wps, const TrajConstraints &cons, std::vector< PathEvent > events, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Generate-and-follow variant with mid-path event triggers. | |
| bool | light::followTrajectory (const std::vector< Waypoint > &wps, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
Generate and follow a trajectory from waypoints, using the default TrajConstraints registered via ramsete_configure(). | |
| bool | light::followTrajectory (const std::vector< Waypoint > &wps, std::vector< PathEvent > events, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Same as above, with mid-path events. | |
| bool | light::runJerryioPath (const char *csv, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Run a waypoint CSV (path.jerryio.com export or hand-written). | |
| bool | light::runJerryioPath (const char *csv, std::vector< PathEvent > events, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Variant with mid-path event triggers. | |
| bool | light::runJerryioPathFromSD (const char *filePath, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| Read the CSV from the V5 SD card (e.g. | |
| bool | light::runJerryioPathFromSD (const char *filePath, std::vector< PathEvent > events, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f, Follower follower=Follower::PURE_PURSUIT) |
| SD-card variant with mid-path event triggers. | |
Characterization routines | |
Each is meant to be run as its own selectable auton. | |
| void | light::characterize_kV_kA_kS (float maxVoltage=10.0f, float rampVps=0.25f) |
| Identify kV / kA / kS by ramping voltage and recording velocity. | |
| float | light::characterize_track_width (int rotations=10) |
| Identify the effective track width by spinning in place. | |
| float | light::characterize_a_lat_max () |
| Identify the maximum sustainable lateral acceleration. | |
| void | light::characterize_friction (float maxVoltage=10.0f, float stepV=0.5f) |
| Friction-FF auto-ID for non-trajectory PIDs. | |
RAMSETE / Pure Pursuit trajectory follower public API.
The follower owns the motor groups exclusively for the duration of the motion and pauses EZ-Template's drive PID task.
Definition in file ramsete.hpp.