INHOUDSOPGAWE:

Selflooprobot: 7 stappe
Selflooprobot: 7 stappe

Video: Selflooprobot: 7 stappe

Video: Selflooprobot: 7 stappe
Video: Lukas Graham - 7 Years [Official Music Video] 2024, November
Anonim
Self loop robot
Self loop robot

Wat het ek gemaak?

● 'n Bot wat opgelei kan word om op verskillende oppervlaktes te loop (vorentoe). Die bot beeld 'n eenvoudige wese uit met 4 'knielose' bene wat sukkel om vorentoe te beweeg. Dit weet dat dit elk van die bene slegs op drie moontlike maniere kan oriënteer. Nou moet hy die beste moontlike stappe uitvind om aan te hou beweeg. Aangesien die beweging daarvan ook afhang van wrywing met die oppervlak, glo ons dat daar vir elke verskillende oppervlak wat hy loop, 'n ander stel (nie noodwendig unieke nie, maar heel waarskynlik soortgelyke) stappe sal wees om sy poging om verder te gaan maksimeer.

Waarvoor word dit gebruik?

● Dit word die beste gebruik om die looppatrone vir 'n AI ROBOT te visualiseer.

Stap 1: Die vloeidiagram

Die vloeidiagram
Die vloeidiagram

Hier is 'n uiteensetting van die hele projek. Oor die algemeen bestaan die projek uit twee dele elektronika met die meganiese struktuur van die robot, en die ander is die algoritme wat oor 'n rekenaar loop en die kode oor arduino.

Stap 2: BELANGRIKE BESTANDDELE:

Elektronika

Arduino UNO (!)

Ultrasoniese sensor

Servomotors

Bluetooth module

Kodering

Arduino IDE

Teraterm

Jupyter Notebook

Q-leer algoritme

Stap 3: MODULE V1:

MODULE V1
MODULE V1

Versterkingsleer: Met behulp van ANN (Artificial Neural Network) het ons beplan om ons robot op te lei, en ons het twee moontlike metodes gekry.

Beperkings: Elke been (servomotor) is beperk tot slegs 3 moontlike posisies 60, 90 en 120 grade. Aannames: Ons is van mening dat botbeweging 4 toestande sal uitmaak ('n toestand is 'n sekere oriëntasie van al vier servo's), dit wil sê dat daar 4 verskillende toestande van die robot sal wees wat ons as 4 stappe sal oorweeg, wat ons een siklus van beweging gee, in wat die bot 'n entjie vorentoe sal beweeg. Hierdie siklus word ad infinitum herhaal om die bot aan die gang te hou.

Maar die enigste probleem was die aantal herhalings wat beoordeel moes word - ons het drie moontlike oriëntasies vir elke motor en daar is 4 verskillende motors wat dit 3^4 = 81 toestande maak waarin 'n robot in 'n enkele stap of toestand kan bestaan. Ons moet 4 verskillende stappe neem om een komplekse beweging te voltooi, wat beteken 81^4 = 43, 046, 721 moontlike kombinasies wat nagegaan moet word vir maksimum doeltreffendheid vir een bewegingsiklus. Gestel dit neem 5 sekondes om 'n enkele staat op te lei, dit sal 6,8250 jaar neem om die opleiding te voltooi!

Stap 4: MODULE V2:

Q-leer algoritme

'N Vroeë versterkingsleer -algoritme wat ontwikkel is vir die opleiding van dinge met 'n eindige toestand en die vind van die kortste paaie. bron:

Wiskunde van algoritme: Daar is 81 moontlike toestande vir elke stap waarin bot kan wees, ons noem hierdie toestande as getalle van 1 tot 81 en wat ons nou wil weet, is die oorgangswaarde, wat beteken die verandering in posisie van robot (afstand beweeg) terwyl dit van 'n ewekansige toestand s1 na 'n ander toestand s2 beweeg (s1, s2 van die 81 state). Ons kan dit sien as 'n matriks met 81 rye en 81 kolomme waar 'n element van die matriks gelyk sal wees aan die waarde van die afstand waaruit dit beweeg het, wat ooreenstem met sy ry en kolomgetal. Hierdie waardes kan positief of negatief wees, afhangende van die werking van die robot in werklike woord. Nou vind ons 'n geslote lus van toestande waar die afstand wat dit aflê altyd positief is. Ons sal 81x81 matrikswaardes evalueer wat 81^2 = 6561 is, as ons nou 5 sekondes neem om hierdie waarde in die matriks gestoor te kry, sal dit neem slegs 9.1125 uur om 'n hele matriks te maak, en dan kan u maklik 'n stap stap om die bewegingsdoeltreffendheid te maksimeer.

Stap 5: BETROKKE PROBLEME -

  1. Vir 'n sekere toestand was die botbeweging baie oneweredig en het dit die sensorwaarde van die ultrasoniese invloed beïnvloed, die bot sou kantel en die afstand vanaf 'n verre muur opneem.
  2. Die probleem met die ontkoppeling van die skootrekenaar en die herbegin van arduino was dat dit van 0 -waarde af moes oplei, was baie irriterend.
  3. Dit was baie uitputtend om die robot vir 5 uur aaneen te kyk.

Stap 6: MODULE A1 en A2:

  • Die meganiese deel bevat die onderstelbord met vier servo's wat daaraan vasgemaak is. Ons het roomysstokkies gebruik om bene te maak.
  • Ons belangrikste taak - om die afstand van die bot vanaf die oorspronklike posisie by te hou.
  • Ons eerste benadering was om 'n gyrosensor te gebruik en die versnelling van bot te gebruik terwyl dit beweeg om die snelheid en daarna die posisie daarvan te onttrek.
  • Probleem - dit was te ingewikkeld om te implementeer! Alternatief - Ons het die bot se beweging slegs tot 1 dimensie beperk en 'n ultrasoniese sensor gebruik om die afstand van 'n muur reguit vorentoe te meet.
  • Die HC05-Bluetooth-module is tydens die opleidingsperiode gebruik om die oorgangstempo van afstand tussen twee stappe na 'n rekenaar oor te dra, en daar is die data in 'n matriks geberg.

Stap 7: Skakel na video's:

Skakel na video's
Skakel na video's

Babastappe:

Opleidingskoot:

Byna reguit:

Video oor dansende robot:

Laaste vide0:

Aanbeveel: