Mindstorms Internet Control
Aaron Garrett and David Thornton
• The LegoMICE system requires a modern web
browser that is Java enabled. In addition, port
6620 must be available. Any firewall settings
must be bypassed in order to use the system.
• Acrobot - A robot designed to flip and twist during movements. Typically,
this robot has only touch sensors.
• Event Gallery - A set of "snapshots" of a session for the robot. These
snapshots are taken at the request of the user (by adding appropriate NQC
statements to the code). They are compiled and presented as either a zip
file or a PDF document.
• LegoMICE - Lego Mindstorms Internet Control Environment. The name for
the full system that allows users to program a mobile Lego Mindstorms
• NQC - Not Quite C. The programming language that students will use to
program the robot. It is very similar in syntax to C, but has special functions
for controlling a Lego Mindstorms robot (such as turning motors on, getting
sensory input, etc.).
• Roverbot - A robot designed to roam around an environment in an
exploratory fashion. Typically, this robot has touch and light sensors.
• The user visits http://mice.jsu.edu and sees the
LegoMICE login screen. If the user has already
registered, he or she inputs a JSU email address
and password. If not, he or she clicks on the
• The user enters his or her name and JSU email
address. Once the "Register" button is clicked,
the email address is checked against a
database of all JSU students. If it is valid, an
email is sent to that address with the appropriate
• After a successful login, the user is presented
with a set of robots which he or she may control.
Each robot also displays the approximate
waiting time to take control.
Choose Mouse Page
LegoMICE Control Applet
• After choosing a robot, the user is presented
with a Java applet with 3 tabs - Analyze,
Implement, and Test. In addition, this applet
displays a visual representation of the waiting
line. The user is able to view all other users
waiting for the robot. Also, the user may click on
another user's icon in order to start chatting with
The Analyze Tab
• The Analyze tab allows the user to view the
details of the current robot (such as sensors and
motors) and environment (such as the current
goal and obstacles). The user may click on the
conceptual drawings of the robot and the
environment to get additional details.
The Implement Tab
• The Implement tab allows the user to write and compile
NQC programs that can later be downloaded to the
robot. If compiler errors are generated, they are
displayed below the code window. In addition, sample
code is displayed on the left side in a drop-down list box
which may be copied and pasted into their own code.
Helpful links are displayed on the right side (dealing with
the NQC programming language). When the user is in
control of the robot and their code compiles correctly,
they are given the option of downloading it to the robot.
This automatically takes them to the Test tab.
The Test Tab
• The Test tab allows the user to run and stop a
current program on the robot. If the user has
included code to generate an event gallery, the
gallery may be downloaded from this screen
after a run. The "Run" and "Stop" buttons, as
well as the event galleries, are only available to
the user who is currently in control of the robot.
All other users may watch the robot's progress
through a constantly updating webcam image.
However, they have no control over the run.