Proximity Toolkit
Introduction
The Proximity Toolkit is a catalyst for developing applications that make use of spatial information, and relations between objects in space. The toolkit is meant to deliver proximity data to applications during runtime which can be utilized as program input. It is designed to collect input from a number of potential input sources, then fuse the raw data into a set of generalized high-level presence objects that hide low-level implementation details.
Currently, our primary source of input is a Vicon motion tracking system, which provides highly accurate tracking on objects that are tagged with a combination of several infrared-reflective markers. In the most recent version 2.0 of the toolkit we also added support for tracking through Microsoft Kinect depth-sensing cameras.
Download and Installation
- ProximityToolkit-Version2.0.zip (Version 2.0 | October 4th, 2011)
Complete source code package of the toolkit; including server, visualization, and developer API. An installer version of the toolkit follows in the next weeks. The source code development will also be moved to an open subversion repository. - ProximityToolkit-Version2.0-Examples.zip (October 4th, 2011)
Collection of simple example applications and code snippets
Archived versions
- ProximityToolkit-1.2.1.msi (Version 1.2.1 | Sept 23, 2010)
- ProximityToolkit-1.1.0.msi (Version 1.1.0 | Aug 26, 2010)
- ProximityToolkit-1.0.0.msi (Version 1.0.0 | Aug 17, 2010)
- ProximityToolkit1.0.1a-Setup.msi (Version 1.0.0a | June 2, 2010)
- ProximityToolkit1.0.0a-Setup.msi (Version 1.0.0a | June 2, 2010)
Documentation and How-To's
- General Startup Procedure - the procedure to follow to prepare the Proximity Server for an interaction session.
- Core Concepts - Core concepts of the Proximity Toolkit.
- Data Hierarchy - An explanation of the data hierarchy, and how to work with it.
- The ProximityServer - Using the ProximityServer application.
- Client Events - A discussion on how the client-side toolkit events and monitors work hand in hand.
- Collision Detection - An explanation of the collision detection functionality built into the toolkit.
- Input Module API - the API for implementing a custom input module.
Tracking plugins
- ViconInputModule - Based on the Vicon Toolkit, this module gathers input from a Vicon motion tracking system. (Status: COMPLETE)
- KinectInputModule - This module gathers input from a Microsoft Kinect depth-sensing camera. (Status: COMPLETE)
- ARToolkitModule - Based on the ARToolkit, this module gathers identity and position data from 2D markers as seen by a webcam. (Status: NOT STARTED)
- PhidgetsModule - Uses the Phidgets .NET API to gather information from any number of sensors. (Status: NOT STARTED)
Tutorials and Examples
- ProximityToolkit-Version2.0-Examples.zip (October 4th, 2011)
Collection of simple example applications and code snippets - Text Font Resizer is an introductory example shows you how to construct a basic WPF program using the tool kit.
- Hello World Video Player that responds to distance and orientation to play a video.
Links
Documentation/Code
- ProximityToolkit Reference - an MSDN style reference.
- 2010/09/14 Proximity Toolkit PDF and PowerPoint Presentation (save as .pptx) - a presentation on using the ProximityToolkit.
Papers / Videos