SLego: A Squeak Implementation
      of Lego Mindstorms


              Alexandre Bergel
  Institut fuer Mathematik und In...
Plan
1. Goal: Mapping between Morph and Lego
  Mindstorms
2. What is the Lego Mindstorms kit?
3. Slego
  1. Environment
  ...
Mapping between Lego
           Mindstorms and Morphics
●    Define a behavior for concrete robots using
     morphics
●  ...
Introduction of Lego Mindstorms 1/
                 2
●    Is a robot-kit-in-a-box product from Lego
●    Originally made ...
Introduction of Lego Mindstorms 2/
                 2
●    The RCX is composed of:
     –    3 inputs for sensors (such as...
Slego
●    Slego = playarea + compiler + serial port
     communication
●    Two kinds of communication
●    Direct use ne...
Slego
●    Playarea is used for defining the behavior of
     a morph. This behavior is translated into a list
     of ins...
Compiler
●    Takes as input a program composed of high
     level instructions such as: turnLeft, turnRight,
     walk, ....
Takes as input a program composed
 of high level instructions such as:
    turnLeft, turnRight, walk, ...
This program is compiled in an
intermediate language composed of
   primitive instructions such as:
         turnOnLeftMot...
This last language acts as an
           assembler
Compiler: an example
                 TurnOnLeftMotor
                 TurnOnRightMotor
   (walk 46)                      ...
Demo
Web: http://minnow.cc.gatech.edu/squeak/
● 

2412
 Mail: bergel@iam.unibe.ch!
● 
Future
●    Manage new sensors in Slego
●    Give accuracy
●    Extends Slego to other robot systems
     (antlj, ...)
SLego: Squeak and Lego Mindstorms
Upcoming SlideShare
Loading in...5
×

SLego: Squeak and Lego Mindstorms

1,084

Published on

SLego: Squeak and Lego Mindstorms (ESUG 2002, Douai, France)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,084
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SLego: Squeak and Lego Mindstorms

  1. 1. SLego: A Squeak Implementation of Lego Mindstorms Alexandre Bergel Institut fuer Mathematik und Informatik University Bern bergel@iam.unibe.ch !
  2. 2. Plan 1. Goal: Mapping between Morph and Lego Mindstorms 2. What is the Lego Mindstorms kit? 3. Slego 1. Environment 2. Compiler 4. Demo 5. Future
  3. 3. Mapping between Lego Mindstorms and Morphics ●  Define a behavior for concrete robots using morphics ●  A morph is a graphical component in Squeak ●  Once a morph behavior defined, the goal is to make a Lego Mindstorms system acting as it ●  3 steps are needed : –  Extract the behavior of a morph –  Compile it for the Lego Mindstorms
  4. 4. Introduction of Lego Mindstorms 1/ 2 ●  Is a robot-kit-in-a-box product from Lego ●  Originally made at the MIT ●  It consists of : –  A computer module (called RCX) –  An inventory of many TECHNICS part (elementary bricks) –  Sensors and motors ●  An environment made by Lego which defines a visual langage (having if, loop, ...)
  5. 5. Introduction of Lego Mindstorms 2/ 2 ●  The RCX is composed of: –  3 inputs for sensors (such as push buttons or light detectors) –  3 outputs for motors or lights –  A microprocessor –  32 kb of RAM ●  The communication between a computer and a RCX is done via radio or infra-red
  6. 6. Slego ●  Slego = playarea + compiler + serial port communication ●  Two kinds of communication ●  Direct use needs to have the RCX always connected to the computer. Each command sent to the RCX is immediately executed ●  Program use downloads bytecodes from a computer and delays their execution
  7. 7. Slego ●  Playarea is used for defining the behavior of a morph. This behavior is translated into a list of instructions ●  Current implementation only supports cars (two independent coaxial wheels)
  8. 8. Compiler ●  Takes as input a program composed of high level instructions such as: turnLeft, turnRight, walk, ... ●  This program is compiled in an intermediate language composed of primitive instructions such as: turnOnLeftMotor, turnOffLeftMotor, sound, ... ●  This last language acts as an assembler
  9. 9. Takes as input a program composed of high level instructions such as: turnLeft, turnRight, walk, ...
  10. 10. This program is compiled in an intermediate language composed of primitive instructions such as: turnOnLeftMotor, turnOffLeftMotor, sound, ...
  11. 11. This last language acts as an assembler
  12. 12. Compiler: an example TurnOnLeftMotor TurnOnRightMotor   (walk 46) 0010 wait 5 (turnRight 90) 1110 TurnOffLeftMotor (walk 51) 1010 TurnOffRightMotor (turnRight 90) 1011 (walk 46) TurnOnLeftMotor ... wait 2 TurnOffLeftMotor . RCX . .
  13. 13. Demo Web: http://minnow.cc.gatech.edu/squeak/ ●  2412 Mail: bergel@iam.unibe.ch! ● 
  14. 14. Future ●  Manage new sensors in Slego ●  Give accuracy ●  Extends Slego to other robot systems (antlj, ...)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×