skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - Shale


Virtual and Physical Object Interaction

Senior Project: 2008-2009
Paul Gerhardt, Amanda Orin, Tomas Ramirez, Jessica (Jessa) Rothenberg and Katherine (Kaiti) Trimble

The Craft Technology Group (CTG) is a part of the Center for Lifelong Learning and Design at the University of Colorado specializing in the integration of computation and craft materials to produce mathematical or educational toys and activities for children. CTG had previously collaborated with a team of undergraduate software developers to develop a project entitled Laser Ball, which displayed images of falling balls via a projector. Black cardboard objects were mounted in the area of the display, and by using a web camera and image recognition, the balls were made to bounce off of the cardboard objects.

The goal of Project Shale was to extended the Laser Ball concept to provide not only physical objects that virtual balls would bounce off of, but also physical objects that would themselves react when a virtual ball collided with them. The physical objects would be wireless electronic devices (composed of motors, lights and speakers, for instance) that could be placed in the display area. When a virtual ball collided with a physical object, the motor might be activated, a light turned on or a sound emitted. The system is controllable by a laser pointer.

The team's implementation of this concept uses physical objects which are colored shapes that rotate when virtual balls bounce into them. This movement is driven by Arduino microcontroller powered motors. Wireless communication to the physical objects is facilitated by XBee transceiver radios. A web cam provides a stream of snapshots of the projected images, which are continuously processed so that the system can recognize the position of physical objects and the laser pointer. Color coding is used to distinguish between different physical objects and to identify the location of the laser pointer, which can be used to activate "buttons" projected on the display. Activating the buttons can cause the balls to move, can cause more balls to be added to the display, or can cause the entire system to be restarted.

A Physical Device
A Physical Device
Virtual Ball Collides with Physical Device
Virtual Ball Collides with Physical Device
Selecting THUNK!
Selecting THUNK!
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)