Két hét alatt a rajtvonalhoz

Az Universal Robots-al való sikeres együttműködésünk kulcsfontosságú tényezői

Gyors segítségre volt szükség, egy olyan csapatra, amelyik azonnal tud kezdeni, mivel a projekt határideje rendkívül szűkös volt. A munkát mindössze hat hónappal a termék piacra dobása előtt kezdtük el. Az IT Staff Augmentation szolgáltatásunk keretében delegáltunk kollégákat, hogy biztosítsuk a szükséges erőforrásokat és szakértelmet a projekt sikeres megvalósításához. 

Új területre merészkedtünk, gyorsan tudtunk kezdeni, gyorsan tanultunk, rugalmasan tudtuk kezelni a projekt során felmerült extra igényeket.  

A projekt elindításának körülményei

Az Universal Robots-al való együttműködésünkhöz kapcsolódik a tavalyi évünk egyik sikeresen zárt projektje. Az elindulásánál fontos volt, hogy gyorsan és hatékonyan biztosítsunk erőforrásokat távoli helyszínről is, mivel szűkös volt a kapacitás a megrendelői oldalon. 

A megfelelő feltételek biztosítása lehetővé tette, hogy gyorsabban kezdjük el a munkát, mintha bérbeadásra vagy belső erőforrásokra várt volna a megrendelő. Ennek köszönhetően a projekt két héten belül elindult, ami jelentős időmegtakarítást eredményezett. 

Fontos volt továbbá, hogy a megbízás során az erőforrások elosztásában is rugalmasak legyünk, mivel folyamatosan változtak az igények és a prioritások. Egy globális vállalat helyi partnereként megoldásszolgáltatóként működtünk, ami tovább növelte a projekt sikerességét. 

A projekt fő célja

Az Universal Robots robotkarjainak kiterjesztése AI eszközökkel volt az elsődleges cél, hogy minél felhasználóbarátabbá váljanak. Fontos volt, hogy a végfelhasználók könnyedén tudják használni a robot kezelőfelületét, és a fejlesztők is újabb programokat tudjanak fejleszteni a robotokra az AI technológiák kihasználásával. 

A közös munka során a mesterséges intelligencia segítségével történt a kamerával történő automatikus kalibráció, a különböző tárgyak, azok pozíciójának és orientációjának felismerése. A tanulási folyamat része volt, hogy a robot felismerje, hogy milyen tárgy van előtte, és ha felismeri, akkor az adott tárgynak megfelelő válaszmozgást kivitelezze. 

AI technológiák bevezetése

Az ARTofINFO csapatának egy része a rendszer egy már meglévő részét fejlesztette tovább, illetve új szoftvert írt a robotra, valamint egy komplex diagnosztikai felületet hoztak létre, hogy meg lehessen nézni, hogy a kamera éppen mit lát, a különböző objektumok felismerésének a visszajelzését is itt lehetett állítani. A csapat további része teljeskörű tesztelési folyamatokat végzett. 

A backend oldal technológiái

A Robotic Operating System (ROS2) és az AI Accelerator fejlesztése mellett integráltuk az NVIDIA ISAAC-ROS-t is. Az AI modellek kihasználása a ROS-on keresztül lehetővé tette az objektumfelismerést (RT-DETR) és a valós idejű szegmentálást (SAM2). 

Az adatok hatékony és felhasználóbarát tárolása érdekében megterveztük az adatbázis sémát (SQLite), amely a korábbi fájlalapú tárolás továbbfejlesztése. Emellett megvalósítottuk a ROS-csomópontokat és -szolgáltatásokat az URcapokkal való kommunikációhoz. 

AI gyorsító fejlesztés - frontend technológiák

ARTofINFO_Universal_Robots_Project_1

A ROS diagnosztika keretében refaktoráltuk a Dashboard URCap-ot, új megjelenést és felhasználói élményt biztosítva. A Calibration Studio-ban lehetővé tettük a robotmozgás visszajátszását, valamint újabb funkciókat is megvalósítottunk. 

A Part Pose Detection URCap fejlesztése során a felhasználók számára lehetővé tettük, hogy képeket és videókat hozzanak létre, megjegyzéseket fűzzenek hozzájuk, elindítsák a tanítást a generált Coco fájl alapján, és teszteljék a betanított modellt. A Dashboard URCap segítségével a felhasználók láthatják az aktuális témákat, csomópontokat és szolgáltatásokat. 

Ezek az újítások jelentősen hozzájárultak a projekt sikeréhez, javítva a felhasználói élményt és kihasználva az AI biztosította lehetőségeket. 

Tesztelések

Létrehoztunk egy új végponttól végpontig tartó tesztelési folyamatot, amelyhez sablondokumentumot készítettünk a Jira-ban, hogy a jövőben is használható legyen. Segítettünk egy robusztusabb és egyértelműbb beállítási folyamat meghatározásában, valamint a beállítási dokumentáció felhasználóbarátabbá tételében, hogy az érthetőbb legyen a végfelhasználók számára. 

Fontos volt tisztázni, hogy milyen hardverre van szükség az AI Kithez, és segítettünk az új PolyScope verziók AI Kit-tel való tesztelésében. A tesztelés során felfedtük a lehetséges hibákat a rendszer, a használat és a hardver szintjén, valamint azonosítottuk a kritikus hálózati problémákat. 

Végül, támogattuk és segítettük a béta partnerünket, a SZTAKI-t, az AI Kit beállításában, biztosítva ezzel a sikeres tesztelést és fejlesztést. 

További feladatok

A számos egyéb feladat közül kiemelnénk az időszinkronizáció megvalósítását a robot és az NVIDIA Jetson Orin között, amelyhez az NTP (chrony) eszközt használtuk. Emellett fejlesztettük a ROS diagnosztikai rendszert, hogy valós idejű diagnosztikai intézkedéseket biztosítsunk a robot és az Orin közötti hálózati és alkalmazási problémák elhárításához. 

Az akadályok leküzdése a jövő technológiájáért

A projekt során számos kihívással szembesültünk. A domain tudás megszerzése, a működő környezet hiánya, hogy a nulláról kellett felépíteni mindent, ami jelentős idő- és erőforrás-befektetést igényelt, valamint az időeltolódás további koordinációs nehézségeket okozott a csapatok között (USA, Dánia, Magyarország). 

Mivel ez egy K+F projekt volt, így folyamatosan új ötletek merültek fel, ami természetes egy innovációs projekt esetén. Tesztelés csak a helyszínen volt lehetséges, hiszen home office-ban nem állt rendelkezésre robot, ami további korlátokat jelentett.  

Fejlődés nélkül nincs siker

Csapatként éreztük, hogy egyénileg is sokat fejlődünk fejlesztői attitűdünkben. Ez egy nemzetközi projekt volt, nagy időeltolódással kellett számolni a többiekkel való közös munka során, és ez egy más hozzáállást követelt meg egyéni szinten is tőlünk. 

Hatékonyan tudtunk dolgozni egy elosztott csapatban, amely magában foglalta a távoli hozzáférés, jogosultságok és a projektinfrastruktúra beállításának kezelését. Emellett megtapasztaltuk, hogyan lehet effektíven dolgozni hatalmas nyomás alatt. 

Az időeltolódás ellenére is nagyon jól sikerült együttműködni a csapatokkal, kiválasztani azokat az idősávokat, amikor kölcsönösen a leghatékonyabban tudtunk egymásra figyelni, és megoldást találni a felvázolt problémákra. A rugalmas hozzáállás minden csapattag részéről kiemelkedő volt. 

A projekt során minden résztvevő folyamatosan kommunikált, és valós visszajelzéseket adtunk egymásnak, ami nemcsak a tanulási folyamatot segítette, hanem az elért eredményeket is javította. Ez a kölcsönös támogatás és együttműködés pozitív hangulatot teremtett, és hozzájárult a projekt sikeres lezárásához. 

Hogyan tovább?

Kitekintettünk a jövőbeli közös projektek lehetőségeire is, célul tűztük ki a jövőre nézve az alacsony kódolás, azaz a low-code no-code használati esetek felmérését és kivitelezését az Universal Robots-al.