Hallo

uint16_t distance, distance_left, distanceright;

Hier fehlt der Unterstrich in distanceright.

Bringt moveAtSpeed3() einen Vorteil? Es gibt doch nur vier Kombinationen.

Code:
// Richtung: 0 = Vorwärts, 1 = Rückwärts
moveAtSpeed3(uint8_t desired_speed_left, uint8_t desired_speed_right, uint8_t dir_left, uint8_t dir_right)
{
	moveAtSpeed(desired_speed_left, desired_speed_right);
	setMotorDir(uint8_t dir_left, uint8_t dir_right); // Kommentar in der Lib beachten!
}
Gruß

mic