ABC, 123… end program:  Computer Programming in Children’s Toys

By: John Rollins

Technical communication is all around us. We see them in policies and procedures at work, TV dinner instructions at home; even in children’s toys where often complex concepts are presented in a simple “Kid-Friendly” format. One particular example is Lego Mindstorms (programmable Lego robots) and ROBOLAB (available Mindstorms software.) The software ROBOLAB formed from industry collaboration and is modeled after the LabVIEW Graphical Programming Interface – an industry standard. Moreover, ROBOLAB is integrated into the K-12 educational curriculum, as students can learn robotics concepts perfectly matched to their grade level. The software consists of three main difficulty levels: The Pilot, the Inventor, and the Investigator. Each level has its own specially designed user approach.

The Pilot
The ROBOLAB Pilot programming interface is for the beginning user – typically young children. It’s bright and colorful and has a simplified control structure, based of a traffic light concept; a green light to start, a red light to stop and the circuit follows a continuous path (a pink wire) from green to red. There are built-in templates and icons to choose from to construct the program. The four increasing difficulty level templates help build upon concepts. ROBOLAB claims it’s impossible to fail in Pilot. The components, arranged in icons and numbers (see below) are laid across a purple background window.

 


Pilot Programming Template

 

There is a context sensitive help that follows the mouse cursor. You’re alerted of any errors (a broken line graphic) when you click the run button. This layout allows a young beginning user to develop programming skills in a way that is both efficient and fun. 

The Inventor
The Inventor series, for more advanced users, presents technical programming concepts in slightly different way (see below). Users build circuits by dragging/dropping icons from a menu palette and connecting them together with wire. In each of the four progressively complex levels, new palette icons appear. 

 


Inventor Programming

 

The screen is resizable and follows a standard windows layout for menus, icons and keyboard commands. It’s also highly customizable for shape, font’s and colors (see picture.)

 


Inventor’s customizable interface and context sensitive help

 

This highly flexible and customizable user interface is well designed to support an intermediate user. 

The Investigator
Where templates and icon palettes were used before, Investigator takes a unique approach to this technical communication. Investigator is an expert tool that allows full flexibility in programming, and contains data logging/computation and documentation tools, as shown below.

 


Investigator graphing

 

A typical scenario might be creating a data collection program in Inventor, downloading it to the Lego robot, gathering and storing data, uploading that data back to the PC, documenting findings in a built in journal, adding a chart, and presenting findings in an onscreen presentation. Inventor arranges documents in categories (themes), and the layout consists of a work area on the right and a navigation dial (see picture) on the left.

 


Navigation Bar

 

Each of the five navigation features changes the work area layout accordingly. Program, upload, view and compare, compute, and journal tools are available to users. The program tool utilizes five templates of varying difficulties (1-3 Pilot, 4-5 Inventor level, see picture).

 


Investigator Program Tool

 

 

Uploading
The upload area stores and can graphically display captured data. A maximum of two thousand data points sampled at one hundred hertz can be stored. Ways in which this data is represented include, tabular, graphical, and color coded bins (see pictures).

 

        
Data Bins

 

View and Compare
Users can view, compare and measure all the collected data. Composite plots, minimum/maximum, mean, standard deviation, slope of line, and area under the curve can be measured also.

Compute
Users can evaluate and manipulate the collected data. Via five different templates, one can perform arithmetic operations, compare multiple plotted data, calculate line derivatives and integrals and advanced LabVIEW multiple data management tools. 

Journal
The journal is a textbox area that allows a programmer to document his findings. JPEG pictures can also be imported. 

This investigative programming design is well suited to the expert ROBOLAB user and greatly aides in communicating the programming concept. 

As we have seen, highly abstract programming concepts can be simplified and presented to users of all ages, though templates and graphical programming. These communication forms present themselves in ROBOLAB to help students program and run Lego Robots, through a series of templates, icons, and tools. Through these forms, the user is empowered to explore, analyze and comprehend both his surroundings and his world. 

 

Sources

Company
www.lego.com

Lego Mindstorms
http://www.lego.com/eng/education/mindstorms/home.asp?pagename=robolab

Pilot Programming Style
http://www.lego.com/eng/education/mindstorms/home.asp?pagename=pilot

Programming in pilot http://www.lego.com/eng/education/mindstorms/home.asp?pagename=pilotpro

Inventor Programming Style
http://www.lego.com/eng/education/mindstorms/home.asp?pagename=inventor

Programming in inventor
http://www.lego.com/eng/education/mindstorms/home.asp?pagename=inventorpro

Investigator Programming Style
http://www.lego.com/eng/education/mindstorms/home.asp?pagename=investigator

Investigator programming http://www.lego.com/eng/education/mindstorms/home.asp?pagename=investipro

LabVIEW’s ROBOLAB page
http://www.ni.com/company/robolab.htm

Download ROBOLAB demo
http://www.ceeo.tufts.edu/robolabatceeo/downloads/demo/default.asp