Innholdsfortegnelse:

Self Walking Robot: 7 trinn
Self Walking Robot: 7 trinn

Video: Self Walking Robot: 7 trinn

Video: Self Walking Robot: 7 trinn
Video: Sha Gz - New Opp (Lyrics) 2024, Juli
Anonim
Selvgående robot
Selvgående robot

Hva lagde jeg?

● En bot som kan trenes til å gå (gå videre) på forskjellige overflater. Boten skildrer en enkel skapning med 4 kneløse ben som sliter med å gå videre. Den vet at den bare kan orientere hvert av beina på tre mulige måter. Nå må den finne ut de best mulige trinnene den kan ta for å fortsette å bevege seg. Siden bevegelsen også er avhengig av friksjon med overflaten, tror vi at for hver annen overflate den går, vil det være et annet (ikke nødvendigvis unikt, men mest sannsynlig lignende) trinn for å maksimere innsatsen for å gå videre.

Hva brukes den til?

● Den brukes best for å visualisere gangmønstre for en AI ROBOT.

Trinn 1: Flytdiagrammet

Flytdiagrammet
Flytdiagrammet

Her en oversikt over hele prosjektet. Stort sett er prosjektet i to deler elektronikk med mekanisk struktur av roboten, og den andre er algoritmen som kjører over pc og kode som kjører over arduino.

Trinn 2: STORE KOMPONENTER INNEHOLDT:

Elektronikk

Arduino UNO (!)

Ultralyd sensor

Servomotorer

Bluetooth -modul

Koding

Arduino IDE

Teraterm

Jupyter Notebook

Q- læringsalgoritme

Trinn 3: MODUL V1:

MODUL V1
MODUL V1

Forsterkningslæring: Ved å bruke ANN (Artificial Neural Network) planla vi å trene roboten vår, og vi fant frem til to mulige metoder.

Begrensninger: Hvert ben (servomotor) er begrenset til å innta bare 3 mulige posisjoner 60, 90 og 120 grader. Forutsetninger: Vi anser at botbevegelse vil utgjøre 4 tilstander (en tilstand er en viss orientering for alle fire servoer), det vil si at det vil være 4 forskjellige tilstander for roboten som vi vil betrakte som henholdsvis 4 trinn som gir oss en bevegelsessyklus, i som boten vil bevege seg et stykke fremover. Denne syklusen vil gjentas ad infinitum for å holde boten i bevegelse.

Men eneste problem var antall iterasjoner som skulle vurderes - Vi har 3 mulige orienteringer for hver motor, og det er 4 forskjellige motorer som gjør det til 3^4 = 81 tilstander der roboten kan eksistere i et enkelt trinn eller en tilstand. Vi må ta 4 forskjellige trinn for å fullføre en kompleks bevegelse, noe som betyr at 81^4 = 43, 046, 721 mulige kombinasjoner som skal kontrolleres for maksimal effektivitet for en bevegelsessyklus. Anta at det tar 5 sekunder å trene en enkelt stat. Det ville ta 6,8250 år å fullføre opplæringen!

Trinn 4: MODUL V2:

Q-læringsalgoritme

En algoritme for tidlig forsterkningslæring utviklet for å trene ting som har endelig tilstand og finne de korteste veiene. kilde:

Math of Algorithm: Det er 81 mulige tilstander for hvert trinn som bot kan være i, vi navngir disse tilstandene som tall fra 1 til 81 og nå er det vi vil vite overgangsverdien, noe som betyr endringen i posisjonen til roboten (avstand flyttet) mens den beveger seg fra en tilfeldig tilstand s1 til en annen tilstand s2 (s1, s2 fra de 81 tilstandene). Vi kan se det som en matrise som har 81 rader og 81 kolonner der et element i matrisen vil være lik verdien av avstanden den flyttet fra, tilsvarer raden og kolonnetallet. Disse verdiene kan være positive eller negative avhengig av robotenes virkelige ord. Nå vil vi finne en lukket sløyfe med tilstander hvor avstanden den reiser alltid er positiv. Vi vil evaluere 81x81 matriseverdier som er 81^2 = 6561, nå hvis vi tar 5 sekunder å få disse verdiene lagret i matrisen, så vil det ta 9.1125 timer bare for å lage en hel matrise, og deretter kan du enkelt finne ut en løkke med trinn for å maksimere bevegelseseffektiviteten.

Trinn 5: PROBLEMER INVOLVERT -

  1. For noen tilstander var botbevegelsen veldig ujevn og påvirket sensorverdien til ultralyd, bot ville vippe og ta avstand fra en fjern vegg.
  2. Problemet med å koble fra bærbar datamaskin og starte arduino på nytt var å få det til å trene fra 0 -verdien var veldig irriterende.
  3. Å se roboten trene i kontinuerlig 5 timer var veldig uttømmende.

Trinn 6: MODUL A1 og A2:

  • Mekanisk del inkluderer chassisbordet med fire servoer festet til det. Vi brukte iskrem til å lage ben.
  • Vår viktigste oppgave - å holde oversikt over botens avstand fra utgangsposisjonen.
  • Vår første tilnærming var å bruke gyrosensor og bruke akselerasjonen til bot mens den beveger seg for å trekke ut hastigheten og deretter posisjonen.
  • Problem - Det viste seg å være for komplisert å implementere! Alternativ - Vi begrenset botens bevegelse til kun 1 dimensjon og brukte ultralydsensor til å måle avstand fra en vegg rett foran.
  • HC05-Bluetooth-modulen ble brukt i treningsperioden til å overføre avstandsovergangshastighet mellom to trinn til PC og der ble dataene lagret i en matrise.

Trinn 7: Lenke til videoer:

Link til videoer
Link til videoer

Baby trinn:

Treningsskudd:

Nesten rett:

Dansende robotvideo:

Endelig vide0:

Anbefalt: