This page created by Martin Rausch.

The SimBrick project was started in the context of a user interface design class at the University of Colorado at Boulder. Under the instruction of Prof. Alexander Repenning we looked into possibilities to improve the usability and usefulness of an existing system.

The Team


Braden Craig
Martin Rausch and Michelle Hsu

The team started out exploring ways to expand the capabilities of LEGOsheets - a system earlier developed in a senior project. The purpose of LEGOsheets is to program the LEGO programmable brick that was developed by the Epistemology and Learning Group at the MIT Media Lab, but is not yet commercially available. The brick is a little computer that can process signals from sensors and control motors or other effectors.
Part of the system is the virtual brick. Before we had ever seen it we thought that was a virtual simulation of the vehicle where one could try out rules.
We were wrong.
fig 1: LEGOsheets
So our approach was to build such a virtual simulation environment for several reasons.
  • Debugging
  • Economic
  • Flexible End-User Programming
fig 2: LEGOpet

Debugging

Allow users to 'test-drive' the rules of the vehicles before 'taking them on the road'.
That was the idea we had associated with the term virtual brick when we first heard it. And in order to create realistic breakdowns in the simulation a digitized photo was used as background to accurately represent real-world noise. (SimBrick is intended for a later phase of using LEGOsheets when the mechanics are understood and the challenges lie in the logic of the rules)

Economic

Classroom dilemma: 30 students, 3 bricks !
Virtual environment overcomes limited testing resources.
Another aspect of virtual LEGOpet was that it was easier and cheaper to duplicate than the physical counterpart.
A big deal of motivation of the SimBrick project was the experience in schools. There were computers in sufficient numbers, but just two LEGOpets. Our system is designed to give kids individual spaces to experiment and later apply their programs in the real vehicle.

Flexible End-User Programming

Rules are composed using the tactile programming approach of Visual Agnetalk Our system as it stands now emulates the programming primitives of LEGOsheets. Through implementing it in Visual AgenTalk we kept us the option open to prototype extensions of the language quickly.
Rules or actions can be experimented with by dragging them onto the SimBrick.

Screenshots



fig 3: behaviour rules of the SimBrick
fig 4: what we call SimBrick
fig 5: options for conditions in rules
fig 6: options for actions that can be put in rules
fig 7: direct manipulation commands



fig 8: what it looks like

LEGO is a registered trademark
Feedback: Martin Rausch
Home