Inhoudsopgave:
- Stap 1: Het stroomdiagram
- Stap 2: BELANGRIJKE BETROKKEN COMPONENTEN:
- Stap 3: MODULE V1:
- Stap 4: MODULE V2:
- Stap 5: BETROKKEN PROBLEMEN -
- Stap 6: MODULE A1 en A2:
- Stap 7: Link naar video's:
Video: Zelflopende robot - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Wat heb ik gemaakt?
● Een bot die kan worden getraind om op verschillende oppervlakken te lopen (vooruit te gaan). De bot toont een eenvoudig wezen met 4 'knieloze' benen die moeite hebben om vooruit te komen. Het weet dat het elk van de poten op slechts 3 mogelijke manieren kan oriënteren. Nu moet het uitzoeken wat de best mogelijke stappen zijn om in beweging te blijven. Omdat zijn beweging ook afhankelijk is van wrijving met het oppervlak, geloven we dat er voor elk ander oppervlak waarop het loopt, een andere (niet noodzakelijk unieke maar hoogstwaarschijnlijk vergelijkbare) reeks stappen zal zijn om zijn inspanning om vooruit te komen te maximaliseren.
Waar wordt het voor gebruikt?
● Het wordt het best gebruikt voor het visualiseren van looppatronen voor een AI ROBOT.
Stap 1: Het stroomdiagram
Hier een overzicht van het hele project. In grote lijnen bestaat het project uit 2 delen elektronica met mechanische structuur van de robot en de andere is het algoritme dat over pc loopt en code die over arduino loopt.
Stap 2: BELANGRIJKE BETROKKEN COMPONENTEN:
Elektronica
Arduino UNO(!)
Ultrasoon sensor
servomotoren
Bluetooth-module
codering
Arduino IDE
Teraterm
Jupyter-notitieboekje
Q-leeralgoritme
Stap 3: MODULE V1:
Reinforcement Learning: met behulp van ANN (Artificial Neural Network) waren we van plan onze robot te trainen en kwamen we met twee mogelijke methoden.
Beperkingen: Elk been (servomotor) is beperkt tot slechts 3 mogelijke posities 60, 90 & 120 graden. Aannames: we zijn van mening dat de beweging van de bot 4 toestanden zal vormen (een toestand is een bepaalde oriëntatie van alle vier de servo's), dat wil zeggen dat er 4 verschillende toestanden van de robot zullen zijn die we zullen beschouwen als 4 stappen die ons respectievelijk één bewegingscyclus geven, in die de bot enige afstand vooruit zal bewegen. Deze cyclus wordt oneindig herhaald om de bot in beweging te houden.
Maar het enige probleem was het aantal iteraties dat moest worden beoordeeld. We hebben 3 mogelijke oriëntaties voor elke motor en er zijn 4 verschillende motoren, waardoor het 3^4=81 toestanden is waarin de robot in een enkele stap of toestand kan bestaan. We moeten 4 verschillende stappen nemen om één complexe beweging te voltooien, wat betekent dat 81^4 = 43, 046, 721 mogelijke combinaties moeten worden gecontroleerd op maximale efficiëntie voor één bewegingscyclus. Stel dat het 5 seconden duurt om een enkele staat te trainen, dan zou het 6,8250 jaar duren om de training te voltooien!
Stap 4: MODULE V2:
Q-learning algoritme
Een algoritme voor het leren van vroege versterking, ontwikkeld voor het trainen van dingen met een eindige toestand en het vinden van de kortste paden. bron:
Wiskunde van het algoritme: er zijn 81 mogelijke toestanden voor elke stap waarin de bot zich kan bevinden, we noemen deze toestanden getallen van 1 tot 81 en wat we nu willen weten is de overgangswaarde, wat betekent dat de positie van de robot verandert (afstand verplaatst) terwijl het van een willekeurige toestand s1 naar een andere toestand s2 gaat (s1, s2 van die 81 toestanden). We kunnen het zien als een matrix met 81 rijen en 81 kolommen, waarbij een element van de matrix gelijk zal zijn aan de waarde van de afstand die het heeft verplaatst, overeenkomend met het rij- en kolomnummer. Deze waarden kunnen positief of negatief zijn, afhankelijk van de actie van de robot in het echte woord. Nu zullen we een gesloten lus van toestanden vinden waarbij de afstand die het aflegt altijd positief is. We zullen 81x81 matrixwaarden evalueren die 81^2=6561 zijn. Als we nu 5 seconden nodig hebben om deze waarde in de matrix op te slaan, dan zal het neem slechts 9.1125 uur om een hele matrix te maken en dan kan een reeks stappen om de bewegingsefficiëntie te maximaliseren gemakkelijk worden bedacht.
Stap 5: BETROKKEN PROBLEMEN -
- Voor sommige staten was de beweging van de bot erg ongelijk en beïnvloedde het de sensorwaarde van ultrasoon, bot zou kantelen en afstand van een verre muur oppikken.
- Het probleem van het loskoppelen van de laptop en het herstarten van arduino, waardoor het trainen vanaf 0-waarde erg irritant was.
- Het was zeer uitputtend om de robottrein gedurende 5 uur continu te bekijken.
Stap 6: MODULE A1 en A2:
- Mechanisch onderdeel omvat het chassisbord met vier servo's eraan bevestigd. We gebruikten ijsstokjes om poten te maken.
- Onze belangrijkste taak - om de afstand van de bot vanaf zijn oorspronkelijke positie bij te houden.
- Onze eerste benadering was om de gyrosensor te gebruiken en de versnelling van de bot te gebruiken terwijl deze beweegt om zijn snelheid en vervolgens zijn positie te extraheren.
- Probleem - Het bleek te ingewikkeld om te implementeren! Alternatief - We hebben de beweging van de bot beperkt tot slechts 1 dimensie en hebben een ultrasone sensor gebruikt om de afstand tot een muur recht voor ons te meten.
- De HC05-Bluetooth-module werd tijdens de trainingsperiode gebruikt om de afstandsovergangssnelheid tussen twee stappen naar de pc te verzenden en daar werden de gegevens opgeslagen in een matrix.
Stap 7: Link naar video's:
Babystapjes:
Trainingsopname:
Bijna recht:
Dansende robotvideo:
Laatste video0:
Aanbevolen:
Obstakel vermijden van LEGO-robot: 8 stappen (met afbeeldingen)
Obstakel vermijden van LEGO-robot: we houden van LEGO en we houden ook van gekke circuits, dus we wilden de twee combineren tot een eenvoudige en leuke robot die kan voorkomen dat hij tegen muren en andere objecten botst. We laten u zien hoe we de onze hebben gebouwd en geven een overzicht van de basisprincipes die nodig zijn, zodat u uw eigen kunt bouwen
Brazo-robot: 28 stappen
Brazo Robot: Beschrijving van het trabajoen en presenteren van documenten die pretenderen te zijn van het spel van de robot en van functies die kunnen worden uitgevoerd door middel van drie plannen (x, y, z,) die een interfaz hebben gemaakt door een unual permit met een pc
[DIY] Spider Robot (Quad Robot, Quadruped): 14 stappen (met afbeeldingen)
[DIY] Spider Robot (Quad Robot, Quadruped): Als je extra ondersteuning van mij nodig hebt, is het beter dat je een geschikte donatie aan mij doet: http://paypal.me/RegisHsu2019-10-10 update:De nieuwe compiler veroorzaakt het berekeningsprobleem met zwevende getallen. Ik heb de code al aangepast. 2017-03-26
HOE EEN INDRUKWEKKENDE HOUTEN ROBOT ARM TE MONTEREN (DEEL 2: ROBOT OM obstakels te vermijden) -- GEBASEERD OP DE MICRO: BIT: 3 stappen
HOE EEN INDRUKWEKKENDE HOUTEN ROBOT ARM TE MONTEREN (DEEL 2: ROBOT OM obstakels te vermijden) -- GEBASEERD OP DE MICRO: BIT: Voorheen introduceerden we Armbit in lijnvolgmodus. Vervolgens introduceren we hoe Armbit te installeren in het vermijden van obstakelmodus
[Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)
[Arduino Robot] Hoe maak je een Motion Capture-robot | Duimen Robot | Servomotor | Broncode: Thumbs Robot. Gebruikt een potentiometer van MG90S servomotor. Het is erg leuk en makkelijk! De code is heel eenvoudig. Het is slechts ongeveer 30 lijnen. Het ziet eruit als een motion-capture.Laat een vraag of feedback achter! [Instructie] Broncode https://github.c