-
Notifications
You must be signed in to change notification settings - Fork 0
danwkennedy/KMS-public
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Kinect Management Server The Kinect Management Server (KMS) is a service for the "Pursuit" game that detects and manages up to four players using two Microsoft Kinect sensors via Annonymous Pipes. Design: The KMS is composed of four modules: - The main KinectManagementServer - The KinectClient - The GestureModule - The SocketServer Kinect Management Server: This is the entry point for the service. During initialization, the KMS searches for all Kinects connected to the system via USB. For each Kinect found, the service will spawn a Kinect Client that will manage that Kinect. The KMS will also create a GestureModule for detecting and reporting player poses and gestures. Finally, the KMS connects to a Unity game instance via the Socket Server component. Kinect Client: The Kinect Client is responsible for starting and managing one Kinect sensor. After starting the sensor, the Kinect Client streams live skeleton data to the KMS by means of Interprocess Communication. Right now, the Kinect Client can stream to the server via Annomymous Pipes or TCP sockets. Gesture Module: The Gesture Module is responsible for analysing the skeleton data received from the Kinect Clients and determining whether a pose or gesture has been executed by a player. The Gesture Module will then post these events to the KMS for transmittal to the Unity game via the Socket Server. Socket Server: The Socket Server is responsible for gathering the pose and gesture events, parsing them to a JSON string, which is then streamed via a socket to an instance of the Unity game. The Unity game can then act appropriately on these events. Changelog: 02/17/2012: Daniel Kennedy - Created the solution for the KMS - Added projects for the four modules - Finished documenting the Kinect Client and organised the code - Updated the README with the general design for the KMS - Configured the GIT repository settings (gitignore) 02/19/2012: Daniel Kennedy - Started preliminary design. Will use a Scheduler design pattern - Implemented inter-thread communication between the pipe threads and the main thread - Some cleanup and commenting 02/20/2012: Yuxin Ma - Added GestureModule related classes - Made further effort towards making GestureModule compatible with KMS 02/21/2012: Daniel Kennedy - Cleanup and added preprocessor commands for console notifications. 02/21/2012: Yuxin Ma - Further effort into getting GestureModule to work with KMS - Fixed GestureModule related redlines 02/23/2012: Daniel Kennedy - Finished integrating the Gesture thread into the KMS. 02/24/2012: Yuxin Ma - Refactored GestureModule to get rid of cross reference issues - Made so that GestureModule.ProcessPlayer return GestureEvent 02/25/2012: Bailey Hayes - Refactored GestureEvent ToString to JSON format and contains new event properties - Refactored DemoClient to send JSON formatted strings with concatenated GestureEvents 02/25/2012: Daniel Kennedy - Refactored the Pose classes to handle the new GestureEvent class - Finished setting up the UnityInterface - Refactored the UnityInterface class - Documented the UnityInterface class 02/28/2012: Yuxin Ma - Made a temporary hack to PoseRightHandUp changed message to "handup" to help demo - Made PoseLeanRight PoseLeanLeft PoseLeanStop classes 03/11/2012: Daniel Kennedy - Refactored the KMS code to make use of properties - Fixed player management 03/15/2012: Daniel Kennedy - Pushing Yuxin's updated Gesture Module.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published