Házi feladat (MDSD 2016)
Csapatok
A házi feladat megoldása 3 fős csapatokban történik, az értékelés a csapat munkája és az egyes csappattagok időráfordítása/teljesítménye alapján egyéni.
A feladat megoldása során használandó git repo elérhetősége: (x = csapat száma)
- web: https://git.inf.mit.bme.hu/w?p=edu/mdsd/mdsd_2016_x.git
- clone URI: https://git.inf.mit.bme.hu/r/edu/mdsd/mdsd_2016_x.git
- Leírás. A tárgyban a HTTPS-en keresztül történő elérést használjuk.
Aki nem rendelkezik még LDAP-os felhasználóval, az IB414-es teremben átveheti a felhasználónév-jelszót párosát, a 2. előadáson (2016.02.26), illetve a 2. gyakorlaton is (2016.03.03).
Megjegyzés: a házi feladat megoldása során felmerülő (a segédletek alapján nem megoldható) technikai hibák megvitatására szolgál az FTSRG Q&A oldal illetve feltehetitek a kérdéseteiket Basecamp-en is.
Csapatbeosztás:
-
1. csapat: merge conflict
- Csák Fanni Zsófia
- Soltész Adrián
- Török Attila
-
2. csapat: körtárgyaló
- Hegyi Bálint Bence
- Marussy Kristóf
- Balogh László Márk
-
3. csapat: 9012005dd
- Guzmics Gellért Márton
- Frendl Péter
- Élő Dániel
-
4. csapat: ztz
- Borbély Zsófia
- Bató Tamás
- Kővári Zsolt
-
5. csapat: dsn2016
- Somogyi Ferenc Attila
- Nagy Krisztián
- Demarcsek György
Házi feladat leírás
A 2016-os házi feladatban egy 3D környezetben dolgozó kooperatív drónok együttműködésének modelljét és szimulációját kell elkészíteni modellvezérelt eszközök és technológiák felhasználásával.
A drónoknak különböző jellemzőik lehetnek úgy mint teherbírás, akkumulátor-töltöttség, sebesség, súly, illetve különböző feladatokat képesek ellátni, például mozgás, súlyemelés, felderítés, vagy akár komplexebb feladatot mint a hídépítés, amelyekhez több drón együttműkődése szükséges. Egy feladat elvégzése különböző mennyiségű időt vehet igénybe. A robotok akkuja időközben lemerülhet, ilyenkor egy töltőállomáshoz kell menniük. A drónok 3D-ben mozognak (melynek részletes modellezése nem része a házi feladatnak), munkájukat terepakadályok nehezíthetik. A drónok különböző információval rendelkezhetnek a környezetükről, amely információt üzenetküldéssel továbbíthatnak más, közelben lévő drónoknak. Üzeneteket használhatnak arra is, hogy segítséget kérjenek vagy utasítást adjanak más drónoknak.
A drónok együttműködési stratégiáját valamilyen viselkedésleíró nyelvvel kell definiálni. A nyelvnek alkalmasnak kell lennie arra, hogy adott mozgássorozatot, feladatvégrehajtást, üzenetküldést, egymásra várakozást és egyszerűbb vezérlési utasításokat (fork, join, szekvencia) lehessen benne leírni.
1. beadandó (Határidő: 2016.03.24. - 6. hét csütörtök éjfél)
- A feladat részletes specifikációjának elkészítése (~1 oldal)
- Drónok és az együttműködés során használt feladatok strukturális metamodellje EMF-ben
- Egy konkrét példánymodell elkészítése
- Egy utasításszekvenciát leírni képes viselkedési metamodell megtervezése
- Két apró viselkedési (példány-)modell elkészítése, amelyeket drónokhoz lehet hozzárendelni
- Jól formáltsági kényszerek (pl az adott képességekkel rendelkező robot végre tudja-e hajtani az adott feladatsort), derived feature-ök definiálása IncQuery-vel.
- Munkanapló, ppt (egyben dokumentáció), előadás
2. beadandó (Határidő: 2016.04.24. - 10. hét vasárnap éjfél)
- Sirius alapú nyelv a környezet és a robotok definiálására
- XText alapú nyelv a viselkedés leírására
- Metamodell változtatása és frissítése, annak dokumentációja.
- Munkanapló, ppt (egyben dokumentáció), előadás
3. beadandó (Határidő: 2016.05.22. - 14. hét vasárnap éjfél)
- DESMO-J alapú szimuláció EMF alapú (strukturális) példánymodellek felett.
- A viselkedésmodell alapján generált szimulációs kód.
- Munkanapló, ppt (egyben dokumentáció), előadás
További ötletek szorgalmi feladatokra
- Viselkedési nyelv tovább fejlesztése szabály alapú megközelítéssel, vagy feltételes elágazás és ciklusok bevezetésével.
- A szimuláció közben újabb feladatok jelenhetnek meg, akár kézi vezérlésre.
- Robotok, amelyek csak a földön tudnak közlekedni, különböző terepek (akadályok), amelyek csak bizonyos típusú ropotokra van hatással. Mozgó akadályok.
- A drónok közötti üzenet küldés csak adott távolságon belül lehetséges.
- Vizuális szimuláció például Google Maps API-val (lehet például a szimuláció során generált javascript kód, vagy valamilyen módon Java-ból futtatni a javascript kódot, vagy websocket)
Ajánlott irodalom:
- https://www.ted.com/talks/vijay_kumar_robots_that_fly_and_cooperate?language=en
- http://ceur-ws.org/Vol-1319/morse14_paper_02.pdf
- http://www.ivanomalavolta.com/files/papers/ASE_2015.pdf
- http://www.seas.upenn.edu/~juse/dtemp_full.pdf
Korábbi feladatok
- A 2015-as házi feladat
- A 2014-as házi feladat
- A 2013-as házi feladat
- A 2012-es házi feladat
- A 2011-es házi feladat