Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Ábra 1.Prilozhenie RS Joystick, ellenőrző repülés szimulált a Google Earth *

Az Intel RealSense SDK R5 támogatást nyújt az új Intel® RealSense ™ SR300 kamera modellt. Poggyász SR300 - fejlesztési modell F200, javította számos funkcióval, és egy új módot kéz kurzor.

Mivel a dokumentációban leírt SDK kéz kurzor modul visszatér ugyanarra a pontra a helyzet a kezét, hogy elérjék a nagy pontosság és a követési sebesség. E modul - egyszerűsíti a munkát a UI vezérlők segítségével a kezét, hogy támogassa a korlátozott gesztusok.

RS Joystick - joystick emulátor szoftver ebben a cikkben ismertetett. Ez az alkalmazás térképek háromdimenziós adatok kar, amennyiben az SDK csomagot, a virtuális joystick, amely lehetővé teszi, hogy kölcsönhatásba lépnek alkalmazások vezérelni, egy joystick.

RS Joystick alkalmazás a következő komponenseket a modul kéz kurzor.

  • Body Side Típus: application értesíti a felhasználót arról, hogy milyen kéz irányítja a virtuális joystick (alapján a megbízás elölről hátrafelé).
  • Gesztus Kurzor kattintás: a felhasználó válthat az ON / OFF gombot 1 a virtuális joystick segítségével gesztusa kattintva ujjaival.
  • Adaptív nyomkövetési pont: normalizált alkalmazás megjeleníti a háromdimenziós pontot belsejében egy képzeletbeli „befoglaló doboz” egy előre meghatározott modul kéz kurzor, és ezt az információt használja, hogy ellenőrizzék a virtuális joystick tengely X, Y és Z.
  • Ezek a figyelmeztetések, az alkalmazás a kurzort nem ismert éber. Kurzor kijött és Cursor határontúli joystick változtatni színét zöldről pirosra vált, ha a felhasználó keze kívül a fényképezőgép szabályozási tartomány SR300.

Előfeltételek

C # igényel némi tudást és megértése alapvető intézkedések Visual Studio, mint például a szerelvény a futtatható fájlt. Szintén hasznos tapasztalatot, hozzátéve harmadik fél könyvtárak különálló szoftver projektek. Azonban, még ha korábban nem, nehézségek merülnek fel, mivel az ebben az útmutatóban részletes utasításokat ad a szükséges intézkedéseket. A rendszer legyen egy előre tekintő kamera SR300, a legújabb verzióját az SDK és az Intel® RealSense ™ Mélység Camera Manager (DCM). Ezen kívül a rendszernek meg kell felelnie a hardver itt felsorolt ​​követelmények. Végül a számítógépet kell a Microsoft Windows * 10 2. küszöbérték.

Harmadik féltől származó szoftver

Ebben a projektben, amellett, hogy az Intel RealSense SDK csomagot használ egy harmadik fél vezető úgynevezett virtuális joystick vJoy * és több dinamikus csatolású könyvtárak (DLL). Ezek a szoftverek nem tartoznak felosztható kapcsolódó kódot a projekt, így az információ letöltésével és telepítésével az eszköz illesztőprogramok az alábbiakban ismertetjük.

Telepítse az Intel RealSense SDK

  • Intel RealSense Mélység Camera Manager (SR300) v3.1.25.1077
  • Intel RealSense SDK v8.0.24.6528

VJoy telepíteni az illesztőprogramot és az SDK

Telepítése után az eszközmeghajtó vJoy jelenik meg a „Devices HID» Eszközkezelőben (lásd. Ábra. 2).

Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Ábra 2.Dispetcher készülékek

Nyissa meg a Windows 10 „Start” menüt, és válassza a Minden alkalmazás. Látni fogja, több létrehozott vJoy alkatrészek, az ábrán látható. 3.

Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Ábra 3.Menyu "Start" a Windows

Megnyitja az alapértelmezett böngészőt, és keresse meg a letöltési oldalon, kattintson a gombra vJoy SDK.

A letöltés után másolja a ZIP fájl egy ideiglenes mappába, és keresse meg a C # DLL-könyvtár a mappa \ SDK \ c # \ x86.

Mi lesz hozzá ezeket a DLL-könyvtár egy Visual Studio projekt létrehozása után (lásd. Az alábbiakban leírás).

Hozzon létre egy új Visual Studio projekt

Ábra. A 4. ábra a konfiguráció a projekt.

Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Ábra 4.IMAGE SZERKESZTÉS új projekt a Visual Studio *

Kattintson az OK gombra a projekt létrehozásához.

Másolás a könyvtárból a projekt

Létrehozásához Intel® RealSense ™ alkalmazások C # igényel két könyvtárban.

  • libpxcclr.cs.dll - vezérelt DLL-könyvtár C # interfész.
  • libpxccpp2c.dll - nem menedzselt DLL-könyvtár C ++ P / Invoke.

Két további könyvtárak lehetővé teszi az alkalmazás számára a kommunikációt az eszközmeghajtó vJoy.

  • vJoyInterface.dll - API könyvtár C.
  • vJoyInterfaceWrap.dll - C # wrapper az API könyvtár C.

Egyszerűsítése érdekében a szerkezet a projekt, akkor másolja mind a négy könyvtárak a projekt mappában.

  • Kattintson RsJoystick projekt a jobb egérgombbal, és válassza a Felvétel lehetőséget. Meglévő tétel ...
  • Ide elemtármappájában vJoy (\ SDK \ c # \ x86), majd kattintson vJoyInterface.dll és vJoyInterfaceWrap.dll. Megjegyzés. A fájltípus szükség lehet select Minden fájl (*. *). DLL-könyvtár láthatóvá válnak.
  • Kattintson a Hozzáadás gombra.

Hasonlóképpen, másolja az Intel RealSense SDK DLL-könyvtári projekt.

  • Kattintson RsJoystick projekt a jobb gombbal, válasszuk a Hozzáad lehetőséget. Meglévő tétel ...
  • Keresse meg azt a mappát, könyvtárak x86, ez a mappa a C: \ Program Files (x86) \ Intel \ RSSDK \ bin \ win32, ha az SDK telepítve az alapértelmezett mappában.
  • Válassza libpxcclr.cs.dll és libpxccpp2c.dll.
  • Kattintson a Hozzáadás gombra.

Most mind a négy fájlt láthatónak kell lennie Solution Explorer projekt RsJoystick.

Linkek létrehozása könyvtár

Ha a szükséges könyvtár fizikailag lemásolni a Visual Studio projekt, akkor létre kell hozni linkeket a könyvtár által kezelt (.NET), így az alkalmazás tudják használni. Kattintson a jobb gombbal a „Hivatkozások” részben (a projekt keretében RsJoystick), és válassza az Add Reference ... A párbeszédpanel, referenciák, kattintson a Tallózás gombra, és keresse meg a projekt mappa (c: \ RsJoystick \ RsJoystick). Jelölje ki a fájlokat és libpxcclr.cs.dll vJoyInterfaceWrap.dll, majd kattintson a Hozzáadás gombra. Kattintson az OK gombra a Reference Manager.

A megfelelő működéshez a kezelt DLL-könyvtárak shell kell másolni a menedzselt DLL-könyvtárak a projekt kimeneti mappát, mielőtt kinyitná a kérelmet. A Solution Explorer kattintson a fájl libpxccpp2c.dll, válasszuk ki. A Tulajdonságok ablakban ingatlan libpxccpp2c.dll fájl jelenik meg. Keresse meg a Másolás Output Directory és kattintson a legördülő listák mindig másolni. Ismételje meg ezt a lépést vJoyInterface.dll fájlt. Ennek köszönhetően nem felügyelt DLL-könyvtár lesz másolva a termelés a projekt mappa, ha építeni az alkalmazást.

Itt kaphat figyelmeztetést közötti eltérés a processzor architektúra egy adott projekt összegyűjtjük és az építészet könyvtárak processzor. Távolítsuk el a figyelmeztetést a következő lépéseket követve:

  • Keressen egy linket Configuration Manager a legördülő menüből (lásd. Ábra. 5).
  • Válassza Configuration Manager.
  • A Configuration Manager ablakban bontsa a legördülő listából az oszlopban, és válassza ki az új platform.
  • Válassza x86, mint egy új platform, és kattintson az OK gombra.
  • Zárja be a Configuration Manager ablakot.


Ábra 5.Dispetcher konfigurációk

Ebben a szakaszban a projekt kell összeállítani, és hiba nélkül fut és figyelmeztetéseket. Ezen felül, ha tanulmányozza a tartalmát a kimeneti mappát (C: \ RsJoystick \ RsJoystick \ bin \ x86 \ Debug), akkor látni fogja, hogy mind a négy másolt könyvtárat.

A felhasználói felület

A felhasználói felület (.. lásd 6. ábra) mutatja a következő információkat:

  • Kézi felhasználó, virtuális joystick vezérlés (alapuló hozzáférés érdekében elölről hátrafelé, a legközelebbi a kamera úgy, hogy a lengőkar).
  • Állapot ON / OFF gombot 1 a virtuális joystick (által irányított gesztus kattint ujj).
  • Ellipszis, ahol a megfigyelt relatív helyzetét a felhasználó keze a tengelyek mentén X és Y; átmérője változik alapuló Z tengely szerint a távolságot a kar és a kamra.
  • Adaptív pontadathoz tengelyeken X, Y és Z az SDK képviseletében a normalizált értékek tartománya - 0-1.
  • Színes keret, amelynek színe zöldről pirosra vált, ha a felhasználó keze kívül a fényképezőgép szabályozási tartomány SR300.
  • A csúszka állítható érzékenység minden tengelyen.

Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Ábra 6.Polzovatelsky interfész

Teljes forráskód XAML látható az 1. táblázatban lehet a vágólapra másolni közvetlenül MainWindow.xaml kód automatikusan generált, ha a projekt létrehozásához.

Táblázat 1.Iskhodny kód XAML: MainWindow.xaml

forráskód

Teljes forráskód RSJoystick a C # 2. táblázatban mutatjuk be Ez lehet a vágólapra másolni közvetlenül MainWindow.xaml.cs kód automatikusan generált, ha a projekt létrehozásához.

Táblázat 2.Iskhodny C # kód: MainWindow.xaml.cs

Információ a kódot

Kódot kell a lehető legegyszerűbben, a módszerek vannak zárva egy osztályban. Amint az a forráskódot a 2. táblázatban, MainWindow osztály áll a következő módszerek:

  • MainWindow (): néhány magán osztályok és tagja deklaráljuk elején az osztály MainWindow. A MainWindow szerkesztő létrehozza esetekben ezeket a tárgyakat és a változók kezdeti.
  • ConfigureRealSense (): Ez a módszer kezeli objektum létrehozása és működtetése SenseManager a kéz kurzor modul és beállítja a kurzor modult.
  • Update (): ahogy az a Reference Intel RealSense SDK interface SenseManager irányítani lehet használni bármilyen eljárás hívások, vagy visszafordítani a hívási eseményt. Melléklet RSJoystick használjuk eljárás hívások interakciós technikák. Kapnak és engedje áramban keretek kezdődik ciklusok Update (), függetlenül a fő UI téma. Ezt az áramot folyamatosan üzemeltetjük; benne megkapjuk a mutató adatok, gesztusok és riasztások.
  • ControlJoystick (): ezt a módszert nevezik a Update () metódust, amikor érzékeli a felhasználó keze. Ez a módszer kapja az adatokat Adaptive Point együtt az állam egy virtuális joystick gomb (kapcsolók ez gesztus CURSOR_CLICK). Adaptive pontadathoz skálázott értékek alapján nyert érzékenységállítás csúszkák. A csúszka segítségével, és kiszámítjuk a méretezés, a felhasználó kiválaszthatja a értékrendjét továbbított vJoy SetAxis () metódust. Ez a módszer arra számít közötti értékeket 0-32 768. Ha az érzékenység beállító csúszka van beállítva, hogy a maximális helyzetbe, a megfelelő index adatok átalakítható egy értéket a tartományban 0-32 768. érzékenységének csökkentésével az ebben a tartományban lesz szűkült ugyanazon pálya kezét. Például, a 8192 a 24.576.
  • Render (): Ez a módszer akkor aktiválódik a Frissítés flow (), és használja Dispatcher.Invoke () metódus, hogy végre műveleteket a felhasználói felület áramlását. Ez vonatkozik egy frissítést az ellipszis helyzetét a vásznon, és frissíteni az adatokat értékeket a TextBlock ellenőrzéseket.
  • sldSensitivity_ValueChanged (): Ez az eseménykezelő akkor aktiválódik, ha beállítja a csúszkák.

Az alkalmazás használata

Ki lehet próbálni az alkalmazás futtatásával vJoy Monitor a „Start” menüben a Windows 10 (lásd. Ábra. 3). Amint ábrán látható. 7, lehetséges, hogy nyomon hatásainak kéz mozgásának három tengelyén és végre kattintson gesztus kapcsoló virtuális gomb 1.

Létrehozva egy virtuális joystick modult Intel® realsense ™ SDK kéz kurzor, Intel® szoftver

Ábra 7.Testirovanie alkalmazások vJoy Monitor

Miután a letöltés és telepítés a Google Earth, olvassa el ezeket az utasításokat. indítsa el a szimulátor. Először is meg kell csökkenteni az érzékenységet az X és Y tengelyek RSJoystick, hogy mozgása a kéz nem túl nagy befolyása a mozgás a virtuális gépet. A Z tengelyre, telepíteni kell a csúszkát a maximális pozícióba. megszokták, hogy egy kicsit, akkor kezelheti a virtuális sík segítségével kéz egyenletes mozgás.

következtetés

Ez a cikk egy egyszerű, lépésről lépésre útmutató, amely leírja, hogyan lehet létrehozni alkalmazás-joystick emulátor segítségével Intel RealSense SDK és használja a modul kéz kurzor, amely támogatja a SR300 kamera.

Az Intel technológia RealSense

Bryan Brown (Bryan Brown) - Mérnök fejlesztésére szoftverek a szétválás Software and Services Group az Intel.

További információ a lehetőségek fordító optimalizáció, tekintse meg optimalizálási közlemény.

Kapcsolódó cikkek