forward / reverse — drive an exact distance
LocatorData loc = rvr.getLocator();
_start_x = loc.x; _start_y = loc.y;
rvr.driveWithHeading(_speed, heading, reverseFlag);
float dx = loc.x - _start_x, dy = loc.y - _start_y;
_traveled = sqrtf(dx*dx + dy*dy);
if (_traveled >= _distance_m) { rvr.driveStop(); return DONE; }
"Drive forward 1 metre" actually means 1 metre, not "1 second-ish".