96 float poseErrBailIn = 8.0f);
114 bool reversed =
false,
116 float poseErrBailIn = 8.0f);
125 std::vector<PathEvent> events,
126 bool reversed =
false,
128 float poseErrBailIn = 8.0f);
140 bool reversed =
false,
142 float poseErrBailIn = 8.0f);
146 std::vector<PathEvent> events,
147 bool reversed =
false,
149 float poseErrBailIn = 8.0f);
153 bool reversed =
false,
155 float poseErrBailIn = 8.0f);
159 std::vector<PathEvent> events,
160 bool reversed =
false,
162 float poseErrBailIn = 8.0f);
222 int chunkCycles = 2,
int coolMs = 5000);
224 int chunkCycles = 2,
int coolMs = 5000);
226 int chunkCycles = 2,
int coolMs = 5000);
228 int cycles = 5,
int timeoutMs = 15000,
229 int chunkCycles = 2,
int coolMs = 5000);
Time-parameterized trajectory: dense state table + total duration.
Public LightLib odometry / pose-estimation API.
void characterize_kV_kA_kS(float maxVoltage=10.0f, float rampVps=0.25f)
Identify kV / kA / kS by ramping voltage and recording velocity.
bool runJerryioPathFromSD(const char *filePath, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f)
Read the CSV from the V5 SD card (e.g.
float characterize_track_width(int rotations=10)
Identify the effective track width by spinning in place.
void characterize_friction(float maxVoltage=10.0f, float stepV=0.5f)
Friction-FF auto-ID for the non-trajectory PID controllers.
void autotune_heading_pid(float forwardV=3.0f, float reliefV=2.0f, int cycles=5, int timeoutMs=15000, int chunkCycles=2, int coolMs=5000)
void ramsete_configure(RamseteConfig rc, DriveFF ff, TrajConstraints defaultCons)
Configure the RAMSETE follower.
bool followTrajectory(const Trajectory &traj, int timeoutMs=-1, float poseErrBailIn=8.0f)
Follow a pre-generated Trajectory.
void autotune_drive_pid(float reliefV=6.0f, int cycles=5, int timeoutMs=15000, int chunkCycles=2, int coolMs=5000)
bool runJerryioPath(const char *csv, bool reversed=false, int timeoutMs=-1, float poseErrBailIn=8.0f)
Run a waypoint path exported from path.jerryio.com (or any CSV-like text).
float characterize_a_lat_max()
Identify the maximum sustainable lateral acceleration.
void autotune_ekf_noise(int sampleMs=10, int durationMs=5000, int warmupMs=500)
Stationary EKF process-noise calibration.
void autotune_turn_pid(float reliefV=4.0f, int cycles=6, int timeoutMs=15000, int chunkCycles=2, int coolMs=5000)
void autotune_mcl_noise(int sampleMs=20, int durationMs=4000, int warmupMs=300)
Stationary MCL distance-sensor noise calibration.
void autotune_swing_pid(float reliefV=4.0f, int cycles=6, int timeoutMs=15000, int chunkCycles=2, int coolMs=5000)
Per-wheel feedforward + simple velocity-loop gains.
float kP
Volts per (in/s) of velocity error.
float kS
Volts to break static friction.
float kA
Volts per (in/s²).
float kV
Volts per (in/s) at steady state.
Mid-path action triggered at a specific input waypoint.
int atWaypoint
Index of the waypoint to fire on.
std::function< void()> action
Callback invoked when the trigger is reached.
RAMSETE controller and chassis-geometry config.
float b
Aggressiveness — larger = more correction.
float wheelDiamIn
Wheel diameter, inches.
float zeta
Damping, [0, 1]; 0.7 is classic.
float trackWidthIn
Track width, inches.
float gearRatio
wheel_rpm / motor_rpm (0.75 = 36:48 blue).
Kinematic limits used by the trajectory generator.
Time-parameterized trajectory over a Spline.