Indholdsfortegnelse:

Self Walking Robot: 7 trin
Self Walking Robot: 7 trin

Video: Self Walking Robot: 7 trin

Video: Self Walking Robot: 7 trin
Video: Sun Yuan and Peng Yu: Can’t Help Myself 2024, November
Anonim
Selv gående robot
Selv gående robot

Hvad lavede jeg?

● En bot, der kan trænes til at gå (bevæge sig fremad) på forskellige overflader. Botten skildrer et enkelt væsen med 4 ‘knæløse’ ben, der kæmper med at komme videre. Den ved, at den kun kan orientere hvert af benene på 3 mulige måder. Nu skal den finde ud af de bedst mulige trin, den kan tage for at blive ved med at bevæge sig. Da dens bevægelse også afhænger af friktion med overfladen, mener vi, at der for hver anden overflade, den går, vil være et andet (ikke nødvendigvis unikt, men sandsynligvis lignende) trin for at maksimere sin indsats for at komme videre.

Hvad bruges den til?

● Den bruges bedst til at visualisere gangmønstre for en AI ROBOT.

Trin 1: Flowdiagrammet

Flowdiagrammet
Flowdiagrammet

Her en oversigt over hele projektet. Generelt er projektet i to dele elektronik med mekanisk struktur af robotten og den anden er algoritmen, der kører over pc og kode kører over arduino.

Trin 2: STOR KOMPONENTER INVOLVERET:

Elektronik

Arduino UNO (!)

Ultralydssensor

Servomotorer

Bluetooth -modul

Kodning

Arduino IDE

Teraterm

Jupyter notesbog

Q-læringsalgoritme

Trin 3: MODUL V1:

MODUL V1
MODUL V1

Forstærkningslæring: Ved hjælp af ANN (Artificial Neural Network) planlagde vi at træne vores robot, og vi fandt på to mulige metoder.

Begrænsninger: Hvert ben (servomotor) er begrænset til kun at indtage 3 mulige positioner 60, 90 og 120 grader. Antagelser: Vi mener, at bot -bevægelse vil udgøre 4 tilstande (en tilstand er en bestemt orientering for alle fire servoer), det vil sige, at der vil være 4 forskellige tilstande for robotten, som vi vil betragte som henholdsvis 4 trin, hvilket giver os en bevægelsescyklus, i som botten vil bevæge sig et stykke frem. Denne cyklus gentages ad infinitum for at holde botten i gang.

Men eneste problem var antallet af iterationer, der skulle vurderes - Vi har 3 mulige orienteringer for hver motor, og der er 4 forskellige motorer, der gør det til 3^4 = 81 tilstande, hvor robotten kan eksistere i et enkelt trin eller en tilstand. Vi er nødt til at tage 4 forskellige trin for at fuldføre en kompleks bevægelse, hvilket betyder 81^4 = 43, 046, 721 mulige kombinationer, der skal kontrolleres for maksimal effektivitet for en bevægelsescyklus. Antag, at det tager 5 sekunder at uddanne en enkelt stat, det ville tage 6.8250 år at gennemføre uddannelsen!

Trin 4: MODUL V2:

Q-læringsalgoritme

En tidlig forstærkningslæringsalgoritme udviklet til at træne ting, der har en endelig tilstand og finde de korteste veje. kilde:

Algoritmens matematik: Der er 81 mulige tilstande for hvert trin, som bot kan være i, vi navngiver disse tilstande som tal fra 1 til 81, og nu er det, vi vil vide, overgangsværdien, hvilket betyder ændringen i robotens position (afstand flyttet) mens den bevæger sig fra en tilfældig tilstand s1 til en anden tilstand s2 (s1, s2 fra de 81 tilstande). Vi kan se det som en matrix med 81 rækker og 81 kolonner, hvor et element af matrix vil være lig med værdien af afstand, den flyttede fra svarende til dens række- og kolonnenummer. Disse værdier kan være positive eller negative afhængigt af robotens handling i virkelige ord. Nu finder vi en lukket sløjfe af tilstande, hvor afstanden den kører altid er positiv, Vi vil evaluere 81x81 matrixværdier, som er 81^2 = 6561, nu hvis vi tager 5 sekunder at få disse værdier gemt i matrixen, vil det Det tager kun 9.1125 timer at lave en hel matrix, og derefter kan en sløjfe med trin for at maksimere bevægelseseffektiviteten let findes.

Trin 5: PROBLEMER INVOLVERET -

  1. For en eller anden tilstand var botbevægelsen meget ujævn og påvirkede sensorværdien af ultralyd, bot ville vippe og opfange afstanden fra en fjern væg.
  2. Problemet med afbrydelse fra bærbar computer og genstart af arduino var at få det til at træne fra 0 -værdi var meget irriterende.
  3. At se robotten træne i kontinuerlig 5 timer var meget udtømmende.

Trin 6: MODUL A1 og A2:

  • Den mekaniske del omfatter chassispladen med fire servoer fastgjort til den. Vi brugte ispinde til at lave ben.
  • Vores principielle opgave - at holde styr på botens afstand fra dens oprindelige position.
  • Vores første tilgang var at bruge gyrosensor og bruge accelerationen af bot, når den bevæger sig for at udtrække dens hastighed og efterfølgende dens position.
  • Problem - Det viste sig at være for kompliceret at implementere! Alternativ - Vi begrænsede botens bevægelse til kun 1 dimension og brugte ultralydssensor til at måle afstanden fra en væg lige foran.
  • HC05-Bluetooth-modulet blev brugt under træningsperioden til at overføre afstandsovergangshastighed mellem to trin til pc, og der blev dataene gemt i en matrix.

Trin 7: Link til videoer:

Link til videoer
Link til videoer

Baby trin:

Træningsbillede:

Næsten lige:

Dansende robotvideo:

Endelig vide0:

Anbefalede: