[FEATURE] Path Breakpoints
Problem
Currently, the chassis lacks a reliable method to stop at a precise position along a path. The existing void waitUntil(float dist) function is often inaccurate and difficult to use. As a result, actions like extending pneumatics, spinning the intake, or running other motors at specific points are unreliable. Creating multiple paths to achieve this is also tedious and cumbersome.
Proposed Solution
Introduce a waitUntilBreakpoint function that pauses execution at a defined breakpoint within a path. This would likely require updates to the path-making website to support adding and referencing breakpoints.
Current Implementation
-
void waitUntil(float dist)– imprecise and annoying to use and tune to the right position. - Using multiple paths – inconvenient and labor-intensive.
Motivation
Lemlib aims to simplify odometry and autonomous planning. Adding breakpoints would make it significantly easier to schedule actions along a path, making it easier for all users.
Possible Implementations
- Keep
waitUntil() - Add
waitUntilBreakpoint(int breakpointId)– waits until a specific breakpoint. - Optionally,
waitUntilNextBreakpoint()– waits until the next breakpoint in the path.