Holonomic. Precise. Repeatable.
A high-performance control library for holonomic (X-Drive) VEX V5 robots.
What it is
HoloLib runs on top of PROS and uses Eigen for the math. It handles the hard parts of driving an X-Drive well: knowing where the robot is, getting it where you want it, and keeping it from running into things.
The library
Knowing where the robot is, even when wheels slip. An Extended Kalman Filter blends the IMU gyro, tracking wheels and motor encoders, weighting each by how reliable it is.
Getting around things in the way — either planned recursive waypoints that reroute before you move, or reactive Artificial Potential Fields that steer in real time.
One PID tune can't do everything. Define several gain sets tied to ranges of error: aggressive far out, gentle as it settles — a single move that never overshoots.
Drive and follow paths in any direction. Field-centric control means "forward" always points the same way on the field, no matter which way the robot faces.
A good practice run is itself an autonomous routine — you just have to capture it. HoloLib logs position and velocity while you drive, then reconstructs the movement in auton.
Quick start
Create a Chassis with your motors, IMU and dimensions — then moves are one line each.
chassis.setPose(0.0, 0.0, 0.0); chassis.moveToPose(24.0, 24.0, 90.0); chassis.turnToPoint(0.0, 0.0); chassis.curveCircle(180.0, 10.0);
Full API reference, tuning guides and the visual auton simulator.