530 likes | 691 Views
Tools for Ubiquitous HCI. Eduardo Velloso. Traditional HCI. Ubicomp HCI. Embedded. Ubicomp HCI. Tangible. Ubicomp HCI. Multitouch. Ubicomp HCI. Whole body. Embedded Interaction Tutorial 1: Digital Camera with .NET Gadgeteer Tangible and Multitouch Interaction
E N D
Tools for Ubiquitous HCI Eduardo Velloso
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 Overview
“Embedded means enclosed; these chips and software are not considered computers. They are unseen parts of everyday things.” • Malcolm McCullough, Digital Ground, 2004 Embedded Interaction
Input • Buttons, knobs, pressure, temperature, light, accelerometers… • Output • LEDs, displays, DC motors, servos, sound, vibration… • Microcontrollers • PIC, Arduino, Gadgeteer, Phidgets… Components
Arduino (starter kit £37) • arduino.cc Toolkits “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.”
Lilypad(starter kit £85) • arduino.cc/en/Main/ArduinoBoardLilyPad Toolkits “The LilyPadArduino 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. ”
Phidgets (starter kit $230) • www.phidgets.com Toolkits “Phidgets are a set of "plug and play" building blocks for low cost USB sensing and control from your PC.”
.NET Gadgeteer FEZ Spider (starter kit £177) www.netmf.com/gadgeteer/ Toolkits
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 .NET Gadgeteer + +
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 Philosophy
Designer Software
Automatic generation of code Software
Object-oriented • C# • The modules are the objects! • Each modules has • Properties • Methods • Events Programming
Arduino Gadgeteer Constructor Initialise variables Set event listeners Listeners Set the behaviour of the system when the event happens Arduino x Gadgeteer • Setup() • Initialisation of pins and variables • Loop() • Continuous read and write from pins
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/ Resources
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 Tangible Interaction
Tangible modular synthesizer • Controlled by manipulating tangible acrylic pucks • Multi-touch interaction • Collaborative performances Reactable
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
TUIO Client • 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 reacTIVision vision engine
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 Events
Material: • Box • Glass • Tracing paper • Webcam • Computer 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 Tutorial: Reactable
Example TUIO client Tutorial: Reactable
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. Whole Body Interaction
Optical: Infrastructure-based • Inertial: Wearable Motion Tracking
Optical IR projection Reflective markers IR cameras Triangulation
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/ Optical
Inertial Accelerometer Gyroscope Magnetometer
Commercial solutions • Xsens (£30,000-£60,000) • www.xsens.com • Animazoo (£30,000) • www.animazoo.com • Wiimote (£20) • www.nintendo.com/wii Inertial
Optical Inertial Harder setup on the user Not much infrastructure needed Subject to magnetic interference Occlusion is not a problem Motion Tracking • 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
RGB camera • Depth camera • Microphone • Motor Microsoft Kinect
Kinect for Windows Runtime • Kinect for Windows SDK • Kinect for Windows Developer Toolkit Developing for Kinect
Allows you to record and playback the data from the Kinect to test applications. Kinect Studio
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? Putting it all together
Different timestamps • Different sample rates • Modularity Problems
“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. Context Toolkit
“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. Java Context Awareness Framework
“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. Context Recognition Network Toolbox