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)

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:

 

Korábbi feladatok