Søgemaskine

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

Sidst opdateret 26.10.14.

Mission

Skub til skyderen på søgemaskinen

Se på videoen, hvordan robotbilen fra en startposition i basen kører ud til en position ved søgemaskinen. Her skubber robotbilen til skyderen og robotbilen vender tilbage til basen:

Værktøj

Der skal ikke monteres ekstra dele på værktøjsmotoren.

Program

På videoen ses, hvordan robotbilen kører frem til søgemaskinen og skubber skyderen mod øst. Dernæst bakker robotbilen tilbage til basen.

Programmet som styrer robotbilen på videoen, ser sådan her ud:

Programmet består af to dele:
  • De øverste tre programmeringsblokke bringer robotbilen ud til søgemaskine og skubber skyderen mod øst.
  • Den nederste del er tre programmeringsblokke som bringer robotbilen samme vej tilbage til basen, som den kørte ud.

Bemærk, hvor nøjagtigt der skal sigtes, så robotbilen lige præcist kører ud til en position vest for søgemaskinen.

Hent løkke

Se på videoen, hvordan robotbilen fra en startposition i basen kører ud langs den røde streg og stopper foran søgemaskinen. Her drejes værktøjsmotoren nedad, så en krog sættes ned i den gule løkke, som robotbilen bringer tilbage til basen ved at bakke og dreje ind i basen:

Værktøj

Der skal monteres en krog på værktøjsarmen og en farvesensor på højre side af robotten (klik på billederne for at se dem i stor størrelse):
Krogen monteres enten til venstre, i midten eller til højre afhængig af hvilken farve løkke, som robotten skal hente.

Farvesensorens montering kan ses i byggevejledningen, som følger med LEGO EV3 Core Set 45544 eller det kan ses ved at gå ind i Robot Educator > Videregående > Forgrening:

Program

På videoen ses, hvordan robotbilen kører frem til den røde streg. Dernæst kører robotbilen langs den venstre kant af den røde streg ud til søgemaskinen, hvor robotten stopper. Så drejer værktøjsmotoren og krogen anbringes i løkken. Til sidst bakker robotbilen tilbage til basen.

Programmet som styrer robotbilen på videoen, ser sådan her ud (Klik for at se programmet i stor størrelse):
Programmet består af fire dele:

  1. De to første programmeringsblokke bringer robotbilen ud til den røde streg.
  2. Løkken med en forgrening inde i løkken får robotbilen til at køre langs den venstre kant af den røde streg indtil farvesensoren registrerer sort, hvorefter robotten stopper.
  3. En mellemstor motor-blok bevæger værktøjsmotoren nedad, så krogen rammer inde i løkken.
  4. De tre sidste bevægelsesstyring-blokke bringer robotten tilbage til basen.
EV3 projektet hentLøkke.ev3 indeholder ud over programmet ovenfor to programmer - tilStreg og langsKantstopSort - som kan bruges til at få en forståelse af de to første dele af programmet.

Programmet tilStreg benytter vent-blokken til under kørslen, sat i gang af den første bevægelstyring-blok, at registrere farven rød. Vent-blokken er beskrevet i EV3 hjælp. Find beskrivelsen ved i programmeringsværktøjet at gå ind i Vis EV3 hjælp. Vælg dernæst Programmeringsblokke og under Flow-blokke vælg Vent:

Når rød er registreret standses robotten af den tredie blok. Programmet tilStreg ser sådan her ud:
Programmet langsKantstopSort bruger løkke-blokken og forgrening-blokken til at få robotbilen til at køre langs en rød streg og stoppe ved farven sort:
I forgrening-blokken vælges imellem to tankstyring-blokke. Den øverste blok, som får robotbilen til at dreje til venstre, vælges når farvesensoren registrerer rød. Den nederste blok, som får robotbilen til at dreje til højre, vælges når farvesensoren ikke registrerer rød. Resultatet er, at robotbilen "slingrer" langs kanten af den røde streg. I programmet langsKantstopSort er tankstyring-blokken brugt til at opnå en blød "slingren", så robotbilen næsten kører ligeud.

Løkke-blokken og forgrening-blokken er beskrevet i EV3 hjælp. Find beskrivelsen ved i programmeringsværktøjet at gå ind i Vis EV3 hjælp. Vælg dernæst Programmeringsblokke og under Flow-blokke vælg Løkke eller Forgrening:

I Robot Educator > Videregående > Forgrening findes en forklaring på, hvordan netop en kombination af en løkke og en forgrening kan bruges til at få en robot til at følge kanten af en sort streg:
Drej til højre og venstre er i forgreningen lavet ved at stoppe det ene hjul og lade det andet køre. På den måde vil robotten dreje om det ene hjul. Det giver en zig-zag bevægelse langs kanten.

Eksperimenter med forskellige måder at dreje til højre og venstre for at finde ud af hvad der er bedst til at få robotbilen til at stoppe på samme måde ved den sorte streg ved enden af den røde.

I den programmeringsblok, som drejer værktøjsmotoren nedad er tilstanden Tændt i grader valgt, altså at blokken forsøger at dreje motoren det antal grader, som er angivet i blokken. Hvis ikke armen til at starte med står helt præcist i forhold til dette antal, kan armen enten ikke nå helt ned eller også stopper programmet med en bliken af det grønne lys, fordi armen ikke kan dreje alle graderne på grund af overfladen. Måske er det en bedre ide at dreje den mellemstore motor i et antal sekunder ved at vælge Tændt i sekunder. Prøv.