Kiberfizikai rendszerek
Kiberfizikai rendszerek
Kiberfizikai Rendszereknek (Cyber Physical Systems, CPS) nevezzük az életünkben egyre fontosabb szerepet betöltő rendszereket, amelyek internethez kapcsolódó "kütyükből" és cloudban futó programokból állnak össze, valamint képesek alkalmazkodni a dinamikusan változó környezethez. Lehet, hogy valami hasonlóról már hallottal IoT (Internet of Things) néven. Mik is ezek az a kütyük? Lehet mondjuk egy "okos-ing", egy "okos-autó", vagy akár a telefonod. A lényeg az, hogy kapcsolódjon a hálózatra, valamilyen érzékelőkkel tudjon a külvilágról adatot gyűjteni, a környezetre hatni (pl. egy lámpát bekapcsolni) és rendelkezzen valamilyen intelligenciával.
A CPS rendeszek jellemzően beleesnek az ipari internet (Industrial Internet, Industrial IoT, https://www.iiconsortium.org) kategóriájába, amely a tradicionális intelligens megoldásokon kívül újszerű tervezési, implementációs és futásidejű megoldásokat igényel. Emellett megjelennek a Fog Computing (https://www.openfogconsortium.org/) és az Edge computing (https://www.cloudwards.net/what-is-edge-computing/) fogalmai, amelyek a hierarchikus felépítésüknél fogva hatékony megoldást nyújtanak a különböző funkcionális, teljesítménybeli és megbízhatósági problémákra, .
De mitől lesz ez a sok okosság, hogyan válhat intelligenssé a rendszerünk? Az inget akkor nevezzük okosnak, ha tele van érzékelőkkel, amik mérik mennyire ver a szívünk, hogyan mozgunk (gyorsulás), mi a pontos testhőmérsékletünk és persze az adatokat elküldi a hálózatra. Egy ilyen ruhadarabból úgy épülhet fel egy kiberfizikai rendszer, hogy az interneten feltöltött adatot egy cloudban futó alkalmazás kiértékeli (nagy számítási kapacitás áll rendelkezésre) és ha úgy találja, hogy túl sok hőt adsz le, akkor egy az időjárás adat szolgáltatástól lekért adatok alapján ellenőrzi (interakció más rendszerekkel), hogy valóban hideg van és utána figyelmeztet, hogy meg fogsz fázni. Más alkalmazás a városban lévő nyilvános térfigyelő kamerák képeit menti le rólunk, hogy otthon vissza tudjuk nézni a futási technikánkat (ez felveti az adatvédelem problémáját, annak annak nem örülnénk, ha más is tudná hogy ki fut a képen). Vagy ha elesünk vagy elütnek, akkor automatikusan értesíti a mentőket és a hozzátartozókat (ez felveti a megbízhatóság fontosságát, hogy ha számítunk rá, hogy jön a segítség automatikusan, akkor nem szeretnénk sérülten ott feküdni egy lefagyott alkalmazás miatt).
Az okos autónál ez úgy jelenik meg, hogy bár a mai autók nagyon bonyolultak és rengeteg elektronikát tartalmaznak, de zárt rendszert alkotnak. Egy okos autó koncepciójában más: ha megengedjük, hogy a hálózatra kapcsolódjon (és nem csak bele építünk egy pár tabletet, hogy az utasok böngészhessenek), hanem a teljes fedélzeti rendszert rákötjük az internetre és lehetővé tesszük, hogy a kocsi a környezetéről szerezzen új információkat, vagy a cloudon elérhető új funkciókkal bővítsük, akkor egy minőségében másik rendszer jön létre. Az utakról elérhető adatok alapján átkonfigurálja, a felfüggesztést csúszós útnak megfelelően; vagy hozzá kapcsolódik az előttünk lévő autó rendszeréhez és hirtelen fékezésnél, automatikusan lassít a mi járművünk is, megelőzve az emberi reakcióidő lassúsága miatti balesetet. Nem elég azonban összekötni az autót a külvilággal, ennek a kapcsolatnak gyorsnak, hatékonynak és megbízhatónak kell lennie (https://www.youtube.com/watch?v=tcMH9NV0YgQ ).
Miben igényel más gondolkodásmódot egy CPS rendszer? Az okos ingek kapcsán már megemlítettük a főbb kihívásokat:
- olyan számításigényes adatelemzést is el tudunk végezni, ami egy mobil eszközben nem volna lehetséges,
- más rendszerekkel való interakció: ahol a szolgáltatók állandóan változnak, nem akarunk szoftvert frissíteni minden percben, mert valamelyik szolgáltatás, amitől adatot kér a rendszer megváltozik,
- nagy megbízhatóság szükséges: nem csak a szoftver szintjén, hanem a már az alkalmazást úgy kell megtervezni, hogy helyes viselkedjen, ha nem elérhetö a hálózati kapcsolat vagy hibás adatokat küld a szolgáltató,
- adatvédelem: ez egy bonyolult kérdés, mert minél több adatot osztunk meg annál hatékonyabb rendszert tudunk készíteni, de annál sebezhetőbbet is.
Az önálló munka során az egyik (leg)professzionális(abb) rendszere (https://www.rti.com/ ) fölött kártyaszámítógéptől mobilon át a laptopotokig és a felhő intelligenciájáig fogunk integrálni (https://www.iiconsortium.org/test-beds.htm) úgy, hogy a problémákat a rendszertervezés szintjén oldjuk meg, tehát a hangsúly a tervezésen van. A hallgatók megismerkednek alapvető adatvizualizációs technológiákkal is (pl.: https://grafana.com/), amelyet a rendszerbe integrálva alapvető intelligenciával tudjuk ellátni a rendszerünket.
Érdeklődő hallgatók megismerkedhetnek a gépi tanulás kiberfizikai rendszerekben történő alkalmazásával, modellezési és analízis algoritmusokkal, továbbá támogatjuk TDK dolgozatok készítését is.
A tanszéken fejleszthetsz CPS alkalmazásokat a jelenleg menő “Single Board Computerekre”, mint a Raspberry Pi, Arduino, Intel Movidius vagy egyéb ipari platformokra. A cloud szolgáltatás részét pedig többek között akár az IBM BlueMix felhőben is futtathatod. Jelenleg több demó rendszer is rendelkezésre áll: egy vasúti terepasztal, LEGO EV3-as, valamint viselhető érzékelők (TI BLE SensorTag). A fejlesztés fókusza lehet rendszertervezés, szoftverfejlesztés vagy kicsit hardver közelebbi is, ha az érdekel. CPS keretrendszer fejlesztésében is szívesen látunk: bekapcsolódhatsz fejlesztő eszközökön való munkába (kódgenerátorok, modellező eszközök) vagy alaprendszereken is dolgozhatsz (bluetooth / IP alapú kommunikációs könyvtárak).
-
Intelligens szenzoradat feldolgozó rendszerrel kapcsolatos fejlesztések. Például: DDS alapú (ha még nem tudod, h mi az, nem kell aggódni) adatgyűjtő alkalmazás generálása Androidra; vagy Bluetooth/BLE használata Android és Linux környezetben.
-
Modellvezérelt fejelsztés CPS környezetben. Például: vizuális programozási eszközök fejlesztése Node-Redhez; vagy kódgenerálás Lego robotokra.
- Clouddal kapcsolatos fejlesztések CPS rendszerekhez IBM IoT platformon. Például: robosztus algoritumsok elosztott rendszerek tervezéséhez; vagy automatikus konfiguráció generálás; mesterséges intelligencia integrálása és alkalmazása ipari problémák megoldására.