Dit hangt af van de exacte configuratie van uw robot, inclusief maar niet beperkt tot de afstand tussen de wielen (als het een robot met differentieelaandrijving is), de diameters van de wielen, de overbrenging (indien gebruikt) tussen de motoren en de wielen.
Een eenvoudige oplossing zou zijn om te experimenteren met verschillende parameters en correcties aan te brengen op basis van de richting en omvang van de waargenomen fout. Als u bijvoorbeeld een bestelling van RotateMotor (100)
verstuurt en ziet dat uw robot ongeveer 30 ° draait, zou u het opnieuw proberen met RotateMotor (300)
.
Een andere mogelijke oplossing is om een programma te schrijven dat de waarden weergeeft die zijn gelezen van de encoders van de motoren, de vereiste manoeuvres uit te voeren door de robot met de hand te duwen en de weergegeven waarden te noteren. In theorie zouden die waarden de ideale parameters zijn.
De meest degelijke en correcte oplossing is natuurlijk om je geometrie-vaardigheden uit te proberen en de exacte hoek te berekenen die de motoren nodig hebben om te draaien, maar deze benadering heeft de neiging om mislukken als de werkelijkheid zich niet perfect gedraagt (zoals bij slippen, meetfouten, wrijving, enz.)
Al met al zou ik aanraden om een startwaarde te kiezen, deze op uw robot te proberen, de resultaten te observeren, aanpassingen maken op basis van de waarnemingen en opnieuw beginnen.
Ter referentie (als je het nog niet had gevonden): NXC RotateMotor-opdracht