Innholdsfortegnelse:

Lag en Maze Runner -robot: 3 trinn (med bilder)
Lag en Maze Runner -robot: 3 trinn (med bilder)

Video: Lag en Maze Runner -robot: 3 trinn (med bilder)

Video: Lag en Maze Runner -robot: 3 trinn (med bilder)
Video: Как сделать игру "Мраморный лабиринт" 2024, Juli
Anonim
Lag en Maze Runner -robot
Lag en Maze Runner -robot
Lag en Maze Runner -robot
Lag en Maze Runner -robot
Lag en Maze Runner -robot
Lag en Maze Runner -robot
Lag en Maze Runner -robot
Lag en Maze Runner -robot

Labyrintløsende roboter stammer fra 1970-tallet. Siden den gang har IEEE holdt konkurranser om løsning av labyrinter kalt Micro Mouse Contest. Målet med konkurransen er å designe en robot som finner midtpunktet til en labyrint så raskt som mulig. Algoritmene som brukes til å raskt løse labyrinten, faller vanligvis i tre kategorier; tilfeldig søk, labyrintkartlegging og høyre eller venstre vegg etter metoder.

Den mest funksjonelle av disse metodene er veggen som følger. I denne metoden følger roboten høyre eller venstre sidevegg i labyrinten. Hvis utgangspunktet er koblet til labyrintens yttervegger, vil roboten finne utgangen. Dette appnotatet bruker den riktige veggen etter metoden.

Maskinvare

Denne applikasjonen bruker:

  • 2 skarpe analoge avstandssensorer
  • Sporingssensor
  • Koder
  • Motorer og motorfører
  • Silego GreenPAK SLG46531V
  • Spenningsregulator, robotchassis.

Vi vil bruke den analoge avstandssensoren til å bestemme avstandene til høyre og frontvegg. Sharp -avstandssensorene er et populært valg for mange prosjekter som krever nøyaktige avstandsmålinger. Denne IR -sensoren er mer økonomisk enn sonaravstandsmålere, men den gir mye bedre ytelse enn andre IR -alternativer. Det er et ikke -lineært, omvendt forhold mellom sensorens utgangsspenning og den målte avstanden. Plottet som viser forholdet mellom sensorutgangen og den målte avstanden er vist i figur 1.

En hvit linje mot en svart fargebunn er satt som målet. Vi vil bruke sporingssensoren til å oppdage den hvite linjen. Sporingssensoren har fem analoge utganger, og de utsendte dataene påvirkes av avstanden og fargen på det detekterte objektet. De oppdagede punktene med høyere infrarød refleksjon (hvit) vil føre til en høyere utgangsverdi, og den lavere infrarøde refleksjonen (svart) vil føre til en lavere utgangsverdi.

Vi vil bruke pololu -hjulkoderen til å beregne avstanden roboten reiser. Dette kvadraturkoderkortet er designet for å fungere med pololu mikro -metallgirmotorer. Den fungerer ved å holde to infrarøde reflektanssensorer inne i navet på et Pololu 42 × 19 mm hjul og måle bevegelsen av de tolv tennene langs hjulets felg.

Et motordriver -kretskort (L298N) brukes til å kontrollere motorene. INx -pinnene brukes til å styre motorene, og ENx -pinnene brukes til å angi motorens hastighet.

Dessuten brukes en spenningsregulator for å redusere spenningen fra batteriet til 5V.

Trinn 1: Beskrivelse av algoritme

Algoritme Beskrivelse
Algoritme Beskrivelse
Algoritme Beskrivelse
Algoritme Beskrivelse
Algoritme Beskrivelse
Algoritme Beskrivelse
Algoritme Beskrivelse
Algoritme Beskrivelse

Denne instruksen inneholder den høyre veggen som følger. Dette er basert på å organisere retningsprioritet ved å foretrekke den riktigste retningen. Hvis roboten ikke kan oppdage veggen til høyre, svinger den til høyre. Hvis roboten oppdager den høyre veggen og det ikke er noen vegg foran, går den fremover. Hvis det er en vegg til høyre for roboten og fronten, svinger den til venstre.

En viktig merknad er at det ikke er noen vegg for referanse etter at roboten nettopp har dreid til høyre. Derfor oppnås "å svinge til høyre" i tre trinn. Gå fremover, sving til høyre, gå videre.

I tillegg må roboten holde avstand til veggen når den beveger seg fremover. Dette kan gjøres ved å justere den ene motoren til å være raskere eller langsommere enn den andre. Den endelige tilstanden til flytskjemaet er vist i figur 10.

En Maze Runner Robot kan enkelt implementeres med en enkelt GreenPAK-konfigurerbar IC med blandet signal (CMIC). Du kan gå gjennom alle trinnene for å forstå hvordan GreenPAK -brikken er programmert til å kontrollere Maze Runner Robot. Imidlertid, hvis du bare vil lage Maze Runner Robot uten å forstå alle de indre kretsene, kan du laste ned GreenPAK -programvare for å se den allerede fullførte Maze Runner Robot GreenPAK -designfilen. Koble datamaskinen til GreenPAK Development Kit og trykk på programmet for å lage den tilpassede ICen for å kontrollere Maze Runner Robot. Det neste trinnet vil diskutere logikken i maze Runner Robot GreenPAK -designfilen for de som er interessert i å forstå hvordan kretsen fungerer.

Trinn 2: GreenPAK Design

GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design
GreenPAK Design

GreenPAK -designet består av to deler. Disse er:

  • Tolkning / behandling av data fra avstandssensorer
  • ASM -tilstander og motorutganger

Tolkning / behandling av data fra avstandssensorer

Det er viktig å tolke dataene fra avstandssensorene. Robotens bevegelser er overveid i henhold til avstandssensorene. Siden avstandssensorene er analoge, vil vi bruke ACMP -er. Robottens posisjon i forhold til veggen bestemmes ved å sammenligne spenningene til sensorene med de forhåndsbestemte terskelspenningene.

Vi vil bruke 3 ACMPs;

  • For å oppdage frontveggen (ACMP2)
  • For å oppdage høyre vegg (ACMP0)
  • For å beskytte avstanden til høyre vegg (ACMP1)

Siden ACMP0 og ACMP1 er avhengig av den samme avstandssensoren, brukte vi den samme IN+ -kilden for begge komparatorene. Konstant signalendring kan forhindres ved å gi ACMP1 25mv hysterese.

Vi kan bestemme retningssignalene basert på ACMP -utgangene. Kretsen vist i figur 12 viser flytdiagrammet som er skissert i figur 7.

På samme måte er kretsen som angir posisjonen til roboten i forhold til høyre vegg vist i figur 13.

ASM -tilstander og motorutganger

Denne applikasjonen bruker Asynchronous State Machine, eller ASM, for å kontrollere roboten. Det er 8 tilstander i ASM, og 8 utganger i hver tilstand. Output RAM kan brukes til å justere disse utgangene. Statene er listet opp nedenfor:

  • Start
  • Kontroll
  • Gå bort fra høyre vegg
  • Nær høyre vegg
  • Ta til venstre
  • Gå fremover-1
  • Ta til høyre
  • Gå fremover-2

Disse tilstandene bestemmer utgangen til motorføreren og leder roboten. Det er 3 utganger fra GreenPAK for hver motor. To bestemmer motorens retning, og den andre utgangen bestemmer motorens hastighet. Motorbevegelsen i henhold til disse utgangene er vist i følgende tabeller:

ASM Output RAM er avledet fra disse tabellene. Det er vist i figur 14. I tillegg til motorførerne er det ytterligere to utganger. Disse utgangene går til de tilsvarende forsinkelsesblokkene for å la roboten reise en viss avstand. Utgangene til disse forsinkelsesblokkene er også koblet til ASM -innganger.

PWM -er ble brukt til å justere motorens hastighet. ASM ble brukt til å bestemme hvilken PWM motoren skulle kjøre på. PWMA-S- og PWMB-S-signalene er satt til mux select bits.

Trinn 3:

Bilde
Bilde

I dette prosjektet opprettet vi en labyrintløsende robot. Vi tolket data fra flere sensorer, kontrollerte robottilstanden med GreenPAKs ASM og kjørte motorene med en motordriver. Generelt brukes mikroprosessorer i slike prosjekter, men en GreenPAK har noen fordeler i forhold til en MCU: den er mindre, rimeligere og kan behandle sensorutgangen raskere enn en MCU.

Anbefalt: