Vraag:
Hoe de NXT schuin te draaien met NXC
FDuarte
2015-02-03 15:49:16 UTC
view on stackexchange narkive permalink

Hoe kan ik met NXC een Lego NXT programmeren om een ​​bepaalde hoek te draaien?

Ik heb geprobeerd wait () te gebruiken, maar het probleem is niet opgelost.

Kan ik RotateMotor () gebruiken ? Welke parameters moet ik gebruiken? Als ik bijvoorbeeld wil dat het in een vierkant beweegt, wat voor soort parameters.

Twee antwoorden:
zovits
2015-02-04 16:51:23 UTC
view on stackexchange narkive permalink

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

Thaddeus Hughes
2015-03-29 18:32:13 UTC
view on stackexchange narkive permalink

Regellussen. De ingebouwde RotateMotor-commando's zijn erg onnauwkeurig. Bekijk dit bestand voor een mooie bibliotheek die schrankladers heel precies laat draaien:

https://www.dropbox.com/s/o31qaxx0glx4m3x/Instacode.h?dl=0

U moet de constanten bovenaan het bestand aanpassen.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...