|
Project 3: Cyber Physcial System (CPS)Research
Middleware for Kinect (can someone else do some of the programming for you)
The main Kinect development libraries are listed here--- I have highlighted the benefits of each in green. A problem of all except the offical SDK is they may not keep up to date with latest SDK. NOTE: they are at different levels ---you will need a dirver, and a upper level programming SDK with optional middleware (implement related algorithms that are useful on Kinect) --- NOTE: you may also want to investigate other middleware for computer vision (OpenCV,etc.) and computer graphics (OpenGL,etc.) for doing processing and displaying/drawing information to the screen.
- SensorKinect driver (DRIVER LEVEL)
(thttps://github.com/avin2/ --- or search),
- driver provided by Primesense (original Israel company developed the Kinect for Micrsoft)
- which works
across Windows, Linux and MacOS X.
- OpenKinect's libfreenect (DRIVER LEVEL)
(http://openkinect.org/wiki/Main_Page),
- libfreenect is derived from a reverse-engineered/hacked Kinect driver, which works
across Windows, Linux and MacOS X.
- has wrappers for multiple languages
- ofxKinect (DRIVER LEVEL for C++)
- CLNUI (http://codelaboratories.com/nui/), (DRIVER LEVEL, multiple Devices)
- CLNUI (http://codelaboratories.com/nui/) is aimed at Windows only, but allows
multiple Kinects to work together.
- OpenNI (http://www.openni.org/), I THINK THE MOST VERSATILE (MIDDLEWARE, with Conversion to Multiple Languages)
- supports many languages including C++ and Java (languages we feature in this class) ---don't need to download a separate wrapper to program in Java
- has rich possibly useful middleware API
- read this book to find out how to program Kinect with OpenNI ---not go to OpenNI for the latest install information
-
can be installed on multiple operating systems.
- Microsoft's Kinect for Windows SDK (OFFICIAL) (DRIVER AND MIDDLEWARE LEVEL)
(http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/default.aspx).
- only C++, C#, Visual Basic (for this class only want C++)
- only on Windows 7 machine (may change???search on this issue)
- OpenFrameworks (MIDDLEWARE -includes OpenGL and OpenCV for C++ --ADDS Graphics over OpenNI????)
- only for C++ , opensource, cross-OS, use in multiple compilers including VisualStudio, XCode, Eclipse??
- has hundreds more extensions contributed by the community at http://ofxaddons.com/
- Processing.org (MIDDLEWARE - its OWN similar to Java like language)
- This is not actually Java ---so what is it?, opensource, cross-OS
- provides graphics(OpenGL) and imaging software
- has its own programming IDE ---so you can not bring in Java or other C++ libraries you ARE PROGRAMMING in a NON-Standard language
Choose between Microsoft SDK or OpenNI solutions (+ driver)
based on OS, programming language, audio support issues
POSITIVES of Microsoft SDK OVER OpenNI
>>>
see some benefits of Microsoft SDK skeleton tracking
>>another nice thing is Microsoft SDK has a demo program included called 'Kinect Studio' that allows developers to record, playback, and debug clips of users interacting with applications.
https://channel9.msdn.com/coding4fun/kinect/Jnect-for-Eclipse-The-Java-to-Kinect-for-Windows-SDK-bridge_
|