Okapilib odometry being weird

I’ve been trying to use odometry with okapilib, here’s the autonomous code:

	driveBase->setState({0_in, 0_in, 0_deg});
	driveBase->driveToPoint({30_in, 0_in});
	claw.set_value(true);
	driveBase->driveToPoint({0_in, 0_in});

driveBase is configured as

auto driveBase = okapi::ChassisControllerBuilder()
	.withMotors(left, right)
	.withGains(
        {0.001, 0, 0.00}, // Distance controller gains
        {0.001, 0, 0} // Turn controller gains
    )
	.withDimensions(AbstractMotor::gearset::green, {{3.25_in, 14.138_in}, imev5GreenTPR})
	.withOdometry()
	.buildOdometry();

The drive base goes forwards, puts the claw down…then turns right and goes forwards more? I have no idea why it does this or how to fix it, does anyone know?