Overview
Embedded Interaction Tutorial 1: Digital Camera with .NET Gadgeteer
Tangible and Multitouch Interaction Tutorial 2: Homemade Reactable
Whole-Body Interaction Tutorial 3: Motion Capture with Kinect
Putting it all together
Embedded Interaction
“Embedded means enclosed; these chips and software are not considered computers. They are unseen parts of everyday things.”
Malcolm McCullough, Digital Ground, 2004
Components
Input Buttons, knobs, pressure, temperature, light,
accelerometers…
Output LEDs, displays, DC motors, servos, sound, vibration…
Microcontrollers PIC, Arduino, Gadgeteer, Phidgets…
Toolkits Arduino (starter kit £37)
arduino.cc
“Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.”
Toolkits Lilypad (starter kit £85) arduino.cc/en/Main/ArduinoBoardLilyPad
“The LilyPad Arduino is a microcontroller board designed for wearables and e-textiles. It can be sewn to fabric and similarly mounted power supplies, sensors and actuators with conductive thread. ”
Toolkits Phidgets (starter kit $230) www.phidgets.com
“Phidgets are a set of "plug and play" building blocks for low cost USB sensing and control from your PC.”
.NET Gadgeteer
Platform conceived to make it easier to design and build custom electronic devices and systems for a range of ubiquitous and mobile computing scenarios.
Consists of 3 components: Solder-less modular electronic hardware Object-oriented managed software libraries 3D design and construction tools
+ +
Philosophy
Flexibility Software + Hardware + Form factor
Accessibility Extensibility Low threshold for new users
Versatility High ceiling for advanced users Scales up to sophisticated device and complex systems
Extensibility Open source
Programming
Object-oriented C# The modules are the objects!
Each modules has Properties Methods Events
Arduino x Gadgeteer
Arduino
Setup() Initialisation of pins
and variables
Loop() Continuous read and
write from pins
Gadgeteer
Constructor Initialise variables Set event listeners
Listeners Set the behaviour of
the system when the event happens
Resources
Papers Hodges, Steve, et al. "Exploring Physical Prototyping
Techniques for Functional Devices using .NET Gadgeteer." (2013).
Villar, Nicolas, et al. ". NET gadgeteer: a platform for custom devices."Pervasive Computing (2012): 216-233.
Official website www.netmf.com/gadgeteer/
Tangible Interaction
Prioritises as principles of design: Tangibility and materiality Physical embodiment of data Bodily interaction Embeddedness in real spaces and data
Blurs the boundaries between input and output
Reactable
Tangible modular synthesizer Controlled by manipulating tangible acrylic pucks Multi-touch interaction Collaborative performances
reacTIVision
Underlying sensor component for the Reactable
Open-source, cross-platform computer vision framework for the fast and robust tracking of fiducial markers attached onto physical objects, as well as multi-touch finger tracking.
reacTIVision
reacTIVision Standalone
application Sends TUIO messages
via UDP port 3333
TUIO protocol Designed for encoding
the state of tangible objects and multi-touch events
TUIO client Your application!
reacTIVision vision engine
TUIO Client
Events
TUIO Objects Represent the fiducial markers Add, remove and update X, Y, orientation, motion and rotation speed and
acceleration
TUIO Cursors Represent fingers Add, remove and update X, Y, speed and acceleration
Tutorial: Reactable
Download the reacTIVision server reactivision.sourceforge.net/
Print the symbols
Build your controllers
Program your client with the functionality you want by listening to TUIO messages
Whole Body Interaction
The integrated capture and processing of human signals from physical, physiological, cognitive and emotional sources to generate feedback to those sources for interaction in a digital environment.
Optical
Commercial solutions: Vicon (£70,000 - £90,000)
www.vicon.com Optitrack (£6,500 - £20,000)
www.naturalpoint.com/optitrack/ Kinect (£90 - £200)
www.microsoft.com/en-us/kinectforwindows/
Inertial
Commercial solutions Xsens (£30,000-£60,000)
www.xsens.com Animazoo (£30,000)
www.animazoo.com Wiimote (£20)
www.nintendo.com/wii
Motion Tracking
Optical
Easier setup on the user
More complex setup on the infrastructure
Not subject to magnetic interference
Cameras need a clear field of view to the markers
Inertial
Harder setup on the user
Not much infrastructure needed
Subject to magnetic interference
Occlusion is not a problem
Developing for Kinect
Kinect for Windows Runtime
Kinect for Windows SDK
Kinect for Windows Developer Toolkit
Putting it all together
What if we’ve got a whole bunch of sensors and we would like to combine what they are sensing to generate more sophisticated output?
Context Toolkit
“Facilitate the building of context-aware applications using the Java programming language”.
Georgia Tech
Dey, A. K., Abowd, G. D., and Salber, D. 2001. A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Hum.-Comput. Interact. 16, 2 (Dec. 2001), 97-166.
Java Context Awareness Framework
“Java-based set of API’s for creating context-aware applications”
Aarhus University
Jakob E. Bardram. The Java Context Awareness Framework (JCAF) - A Service Infrastructure and Programming Framework for Context-Aware Applications. In Hans Gellersen, Roy Want, and Albrecht Schmidt, editors, Proceedings of the 3rd International Conference on Pervasive Computing (Pervasive 2005), Lecture Notes in Computer Science, Munich, Germany, May 2005. Springer Verlag.
Context Recognition Network Toolbox
“The Context Recognition Network (CRN) Toolbox allows to quickly build distributed, multi-modal context recognition systems by simply plugging together reusable, parameterizable components.”
ETH Zurich
Bannach, D., Amft, O., Lukowicz, P.: Rapid Prototyping of Activity Recognition Applications. In: IEEE Pervasive Computing. Vol 7:2, 2008, 22-31. ISSN: 1536-1268.
Cosm “Cosm is a secure, scalable platform that connects
devices and products with applications to provide real-time control and data storage”
Originally called Pachube
What’s else?
Eye interfaces
Gestural interfaces
Wearable computing
Sensory interfaces
Affective interfaces
Contact [email protected]
www.eduardovelloso.com