A Q-learning módszer alkalmazása NXT robotok irányítására.

Slides:



Advertisements
Hasonló előadás
A sin függvény grafikonja
Advertisements

Szerver oldali programozás
Adatelemzés számítógéppel
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
Fantasztikus Programozás RobIGORika I.
Programozás III KOLLEKCIÓK 2..
Előző órán megbeszéltük hogyan lehet a képet bináris jelekké alakítani
Az LCD kijelző programozása
Mágneses lebegtetés: érzékelés és irányítás
Bemutatkozás Gergely Antal Gergő BME-VIK Mérnök informatikus szak
Térbeli infinitezimális izometriák
Gubicza József (GUJQAAI.ELTE)
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
© Kozsik Tamás Párhuzamosság A program egyszerre több mindent is csinálhat Lehetőségek: –Számítással egyidőben IO –Több processzor: számítások.
Fájlkezelés, IO Kivételkezelés Belső osztályok
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
Nat Pedellus Informatika 8. osztály óra.
1 Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat 1. Bevezetés Miskolc, 2004.
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
Matematikai modellek a termelés tervezésében és irányításában
KÖZMŰ INFORMATIKA NUMERIKUS MÓDSZEREK I.
Vizuális és web programozás II.
Programozás C-ben Link és joint Melléklet az előadáshoz.
Kivételkezelés.
További vektor, mátrix algoritmusok
Microsoft Excel Függvények VII..
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Intelligens Felderítő Robotok
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
Félévin szereplő tipusfeladatok
Minőségtechnikák I. (Megbízhatóság)
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Fák.
Java programozási nyelv Filekezelés
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Java programozási nyelv Metódusok
Java programozási nyelv Adatbekérés konzolról
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Programozás III KOLLEKCIÓK.
Programozás III KOLLEKCIÓK.
Nat Pedellus Free Pascal Elágazások..
Bevezetés - Vonalak. Koordinátarendszer Windows form x y Az y lefelé nő Transzformáció a hagyományosra x Eltolás y Ellentett és eltolás.
Bináris kereső fák Itterátorok.
Rendezőalgoritmusok. Feladatok I. 1.Hozzunk létre új StandardEXE VB projektet. Töröljük Form1-t 2.Add/Module/New, majd Properties/átnevezzük: „MainModule”
(Bináris) Kupac (heap) adattípus
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
Informatikai gyakorlatok 11. évfolyam
1/19 Hogyan tájékozódnak a robotok? Koczka Levente Eötvös Collegium.
MOBILROBOT-PROGRAMOZÓ VERSENY. A verseny célja: programozás iránt fokozottan érdeklődő diákok számára, lehetőséget biztosítani arra, hogy tudásukat, kreativitásukat.
NXT és EV3 összehasonlítása
SZENZOROK HASZNÁLATA.
Párhuzamos programozás
Elágazások a programban – IF utasítás
EGYSZERŰ MOZGÁSOK Motorok vezérlése.
Mesterséges intelligencia
Struktúra predikció ápr. 6.
Mesterséges intelligencia
4. 1. Motorok vezérlése A robot a vezérlőegységhez kapcsolt motorok segítségével valósítja meg a különböző mozgásokat. A robothoz négy motor csatlakoztatható,
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

A Q-learning módszer alkalmazása NXT robotok irányítására

Q-learning Bevezetés A Q-learning tanulási módszer ismertetése Példa a Q-learning-re Fény keresése Q-learningel

A Q-learning tanulási módszer ismertetése A Q-learning jutolomrendszerre épül A Q-learning képlete: Q(a; i) = Q(a; i) +  (R(i) + Q(a1; j) - Q(a; i)) Q - a Q-értékek táblázata a - az elõzõ cselekvés i - az elõzõ állapot j - az új állapot, amely az elõzõ mûvelet eredménye.a1 - az a mûvelet, amely a legnagyobb Q értét produkálja.  a tanulási ráta (0 1). R - a jutalomfüggvény

Példa a Q-learning-re Juson ki a robot az éületből

Példa a Q-learning-re A tétkék vektorokkal ábrázolva, és a jutalmazás ABCDEF A B C D E F-10 0 R mátrix (jutalom mátrix)

Fénykeresés a Q-learning algoritmussal Próbáljunk kialakítani egy Q-learning projektet a Lego Robotics Incention System (RIS) segítségével. Annak érdekében, hogy használható mérések legyenek, a robotnak szüksége lesz arra, hogy a mintát két fényszenzorról olvassa be, ezért egyet a jobb, egy másikat a bal oldalra kell felszerelni, majd az értékeket összehasonlítani. A robotra még kell két lökhárító: egy előre, egy hátra; ezekben egy nyomásérzékelő van, hogy ha nekimegy valaminek akkor érzékelje.

A robot lehetséges cselekvési lehetőlégei Cselekv és ID Motor A, BCselekvés leírása 1Stop, stopA robot nem mozog 2Stop, előre forogLasan balra fordul 3Stop, hátra forogLassan jobbra fordul 4Előre forog, stopLassan jobbra fordul 5Előre forog, előre forogElőre halad 6Előre forog, hátra forogÉlesen fordul jobbra 7Hátra forog, előre forogÉlesen fordul balra 8Hátra forog, stopEnyhén balra kanyarodik 9Hátra forog, hátra forogTolat

Egy néhány metódus public static void performAction(byte [] motorCommand) { // Motor A: if(motorCommand[0] == 0) Motor.A.stop(); else if(motorCommand[0] == 1) Motor.A.forward(); else Motor.A.backward(); // Motor C: if(motorCommand[1] == 0) Motor.C.stop(); else if(motorCommand[1] == 1) Motor.C.forward(); else Motor.C.backward(); try { Thread.sleep(450); } catch(InterruptedException ie) {} Motor.A.stop(); Motor.C.stop (); }

Egy néhány metódus int previousLightValue = e[4]; int lightValue = Sensor.S2.readValue(); if(previousLightValue == lightValue) { ++repeating; } else repeating = 0; if(repeating > 5) e[3] = 1; else e[3] = 0; e[4] = (byte)Sensor.S2.readValue(); LCD.showNumber(e[4]); }

Köszönöm a figyelmet!