Document Sample
lego Powered By Docstoc
					Mindstorms Internet Control

          Conceptual Model
   Aaron Garrett and David Thornton
        Hardware Requirements
• 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.
                Login Screen
• The user visits 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
  Register link.
Log-in Page
• 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
Registration Page
               Choose Mouse
• 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.
Analyze Tab
              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.
Implement 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.
Test Tab

Shared By: