Regular - robot basebil

Lasse Deleuran og Ole Caprani
Institut for Datalogi, Aarhus Universitet,
ocaprani@cs.au.dk

Sidst opdateret 25.9.12.

Bygning af robot basebil

Hent byggevejledningen for basebilen og start med at bygge basen:
Åben byggevejledningen, filen wro2012_base.lxf, i Lego Digital Designer. Under menuen View skiftes til Building guide mode. Nu viser LDD en byggevejledning i 21 trin. Der er desværre ikke mål på de aksler, som skal bruges. I byggevejledningen bruges to aksler til hjulene. Akslerne er to grå 5'ere. Aksler måles som vist i NXT Brugervejledning side 80:
De to motorer skal tilsluttes port B og C, som vist her:

Programmering af robot basebil

Prøv nu at se, hvordan robotbilen kører ved at bruge et simpelt program med blot et kør ikon:
I konfigureringspanelet for kør ikonen ses, at bilen kører fremad en rotation af hjulet med motorstyrke 75:
Lav nu ændringer i konfigureringspanelet, så bilen bakker, kører længere, kører hurtigere, eller drejer.

Klik på banen og se, hvordan robotbilen under forløbet kører frem, bakker, drejer 90 grader til højre, osv, f.eks. når den kører ud fra basen og over bag positionen for den første kube som hentes:

Når robotbilen skal programmeres til at bevæge sig rundt på banen, kan det være bekvemt at kunne angive strækninger i cm og ikke i rotationer eller grader. Det ser også ud som om det at dreje robotbilen 90 grader bruges tit. Derfor kan det være nyttigt en gang for alle at finde ud af hvor mange grader hjulene skal dreje for at robotbilen drejer 90 grader. Detaljerne i hvordan robotbilen programmeres til at køre f.eks. 10 cm frem, dreje 90 grader mod uret, osv, kan skjules i såkaldte brugerdefinerede programmeringsblokke. F.eks. kan de fire blokke fremCm, modUr90, bakMedUr90 og bakCm bruges i et program, kaldet fremOgTilbage, der får robotbilen til at bevæge sig, som det ses på videoen:
Hent programmet fremOgTilbage.rbtx og åben det i programmeringsværktøjet. Klik på fremCm og se konfigureringspanelet for fremCm. Her kan den strækning, som skal køres, angives i cm:
Med den netop byggede basebil, prøv da et lignende program, for at se hvordan bilen opfører sig. Prøv også med andre strækninger og blot fremCm og mål efter.

Klik på fremCm og se, hvad der skjuler sig inde i den brugerdefinerede programmeringsblok:

I det første ikon, matematik ikonen, ganges antal cm, f.eks. 10, med 21,8 ( som kan ses i konfigureringspanelet for matematik ikonen). Resultatet 218 føres via datakablet til antal grader hjulet sættes til at dreje i kør ikonen. Faktoren 21,8 er fundet ved at lade hjulet kører 360 grader, måle strækningen til 16,5 cm og så udregne 360/16,5 grader/cm = 21,8 grader/cm. Hvis faktoren skal ændres, så det passer med den byggede basebil, kan det ændres her i konfigureringspanelet for matematik ikonen. Husk at gemme den ændrede udgave af fremCm.

Det næste ikon, et konstant ikon, har navnet motorstyrke. Værdien af motorstyrke bruges som motorstyrke i kør ikonen. Værdien af motorstyrke er sat til 60. Og denne værdi bruges i alle kør ikoner. Hvis bilen skal kører hurtigere, skal værdien ændres. Det sker i menuen Rediger og Definer konstanter. På den måde kan alle kør ikoner få samme motorstyrke ved blot at ændre et sted.

Ikonen bakCm er næsten som fremCm, kør ikonet er dog sat til at køre den modsatte retning. Hvis bilen ikke bakker helt det antal cm som angives, skal der ændres i konstanten i matematik ikonen i bakCm.

Inde i modUr90 er der blot to ikoner:

og konfigurationspanelet for motor ikonen, ser sådan her ud:
Antal grader hjulet på motor B drejer, altså hjulet i højre side i kørselsretningen, er sat til 520. Det passer cirka med, at bilen drejer 90 grader mod uret med centrum i hjulet på motor C som jo står stille. Det er denne konstant, som skal ændres, hvis den byggede robotbil ikke drejer 90 grader.