|
Project Information
|
Kinect Research FrameworkThe Kinect Research Framework, developed by AltN Research, builds upon the simpleopenni project to provide a general framework and toolset for users getting started programming the Kinect. This system is based around a SERVER -> CLIENT model that gathers all joint data in a central server and packages it in a format that can be sent to most any program that can accept TCP/IP or UDP data. The goal for this method is to expose the skeleton/tracking data in as direct a format possible.
The Kinect server is built in Processing and works on Windows/OSX/Linux It can currently send data to/from Processing / Flash / Maya / Rhino / Arduino / Max/Msp / Unity / VVVV / Pure Data InstallationDownload and install the Kinect Drivers / SimpleOpenNI Data TableThis framework seeks to expose all of the Kinect Data by storing it in a single array. This is achieved by sending a comma separated string from the server that is parsed into an array by the client. To access the desired data, you simply need to know what index in the array it is stored at. The array holds both the 3d world coordinates and flatten 2d coordinates of all joint positions, internal references, and external references Joint PositionsThese are the 2d and 3d coordinates of each of the 15 tracked joints on the skeleton Internal ReferencesInternal references are relationships assigned between various joints on the body. The distance and 2 angles (in degrees) are stored in the Data array. For example a reference can be assigned to track the distance and angle between your 2 hands External ReferencesExternal References are created by "tagging" points in a space. A reference line is then drawn from the point to a specified joint. The distance and 2 angle components of the reference line is stored in the array. HEAD: 3dX=coords[1] 3dY=coords[2] 3dZ=coords[3] // 2dX=coords[4] 2dY=coords[5] NECK: 3dX=coords[7] 3dY=coords[8] 3dZ=coords[9] // 2dX=coords[10] 2dY=coords[11] LEFT SHOULDER: 3dX=coords[13] 3dY=coords[14] 3dZ=coords[15] // 2dX=coords[16] 2dY=coords[17] LEFT ELBOW: 3dX=coords[19] 3dY=coords[20] 3dZ=coords[21] // 2dX=coords[22] 2dY=coords[23] LEFT HAND: 3dX=coords[25] 3dY=coords[26] 3dZ=coords[27] // 2dX=coords[28] 2dY=coords[29] RIGHT SHOULDER: 3dX=coords[31] 3dY=coords[32] 3dZ=coords[33] // 2dX=coords[34] 2dY=coords[35] RIGHT ELBOW: 3dX=coords[37] 3dY=coords[38] 3dZ=coords[39] // 2dX=coords[40] 2dY=coords[41] RIGHT HAND: 3dX=coords[43] 3dY=coords[44] 3dZ=coords[45] // 2dX=coords[46] 2dY=coords[47] TORSO: 3dX=coords[49] 3dY=coords[50] 3dZ=coords[51] // 2dX=coords[52] 2dY=coords[53] LEFT HIP: 3dX=coords[55] 3dY=coords[56] 3dZ=coords[57] // 2dX=coords[58] 2dY=coords[59] LEFT KNEE: 3dX=coords[61] 3dY=coords[62] 3dZ=coords[63] // 2dX=coords[64] 2dY=coords[65] LEFT FOOT: 3dX=coords[67] 3dY=coords[68] 3dZ=coords[69] // 2dX=coords[70] 2dY=coords[71] RIGHT HIP: 3dX=coords[73] 3dY=coords[74] 3dZ=coords[75] // 2dX=coords[76] 2dY=coords[77] RIGHT KNEE: 3dX=coords[79] 3dY=coords[80] 3dZ=coords[81] // 2dX=coords[82] 2dY=coords[83] RIGHT FOOT: 3dX=coords[85] 3dY=coords[86] 3dZ=coords[87] // 2dX=coords[88] 2dY=coords[89] /////REFERENCES Internal REference INTref1: refDistance=coords[90] Xangle=coords[91] Zangle=coords[92] INTref2: refDistance=coords[93] Xangle=coords[94] Zangle=coords[95] INTref3: refDistance=coords[96] Xangle=coords[97] Zangle=coords[98] INTref4: refDistance=coords[99] Xangle=coords[100] Zangle=coords[101] External REference EXTref1: refDistance=coords[102] Xangle=coords[103] Zangle=coords[104] EXTref2: refDistance=coords[105] Xangle=coords[106] Zangle=coords[107] EXTref3: refDistance=coords[108] Xangle=coords[109] Zangle=coords[110] EXTref4: refDistance=coords[111] Xangle=coords[112] Zangle=coords[113] |