300 likes | 509 Views
Lego. Lego Technics Lego Dacta Control Lab Lego Dacta Robo Lab Lego Mindstorms Lego Droids. Walking Dinosaur. Lego DACTA Control Lab.
E N D
Lego • Lego Technics • Lego Dacta Control Lab • Lego Dacta Robo Lab • Lego Mindstorms • Lego Droids
Lego DACTA Control Lab • In addition to the familiar building sets seen on toy store shelves, the LEGO company produces building sets for a range of machines for use in science and technology education. • At the low end of the product line are the LEGO Technic sets • At the high end is the LEGO DACTA Control Lab that allows construction of computer (PC) controlled machines.
Lego DACTA Control Lab • Examples are: • a greenhouse that automatically regulates its temperature using a ventilation system, • a robotic arm, a vending machine, • a PC plotter, and • an automobile on a dynamometer (see Fig. 1).
Lego DACTA Control Lab • Sophisticated simulations of real-world systems have also been created such as an auto manufacturing line (http://www.gang.umass.edu/user/shen/lego/index.html)and various kinds of robots (http://www.pycckuu.umd.edu/robots/index.html).
Fischertechnik • The Fischertechnik corporation produces a product similar to the LEGOs that have also been used in teaching environments (http://www.cs.utah.edu/~cs451/).
The LEGO DACTA Control Lab • The Control Lab set includes: • the usual LEGO blocks, • pieces from the Technic sets for building machines (gears, pneumatics, pulleys, etc.) • computer controllable devices. • These devices include: • lamps, • motors, • sound elements, • touch sensors, • temperature sensors, • light sensors and • angle sensors.
The LEGO DACTA Control Lab • The devices are connected to a controller, which in turn interfaces with a serial port on a personal computer to permit software control of the devices. • The controller is capable of controlling eight input devices and eight output devices. • Communication between the PC and the controller is via a protocol developed by LEGO. • Figure 1 (shown previously) illustrates a LEGO model connected to the controller.
Software is used to coordinate the actions of the LEGO devices (motors, sensors, etc.) in sophisticated models, such as the automobile on a dynamometer, shown in Figure 1. • LEGO ships the Control Lab with a unique version of theLogo programming languagefor writing thecontrol software (Martin, 1993). • Although Logo is satisfactory for illustrating programming concepts, more sophisticated users may wish to useother programming languagesfor control purposes, as for instanceVisual C++ or Visual Basic.
Davis Creek ElementaryIntelligent House Projects 1998-99 • Davis Creek Elementary's fifth grade class has been working on the LEGO Dacta Control Lab Intelligent House Project. • The students use LEGO Dacta Control Lab software to build and program the fan, burgler alarm, garage door, satellite dish, keylock, and photo gate door entry. • The students worked in pairs doing one of the set projects and ended by doing a design of their own with programming. • The pictures below are a sampling of the Intelligent House Projects the eighteen fifth graders did the month of October. • Under the pictures are examples of some of the programs written by fifth grade students.
Doggy Burglar Alarm to doggy waituntil [and (light5 > 48) (light5 < 52)] talkto "lampa on tone 80 5 tone 90 4 talkto "motorb setright onfor 9 talkto "motorb setleft onfor 9 talkto "lampa off end
Different Design 9-25-98 We used the sensor to make noise. When you slide different colors and textures past the sensor the program made different noises. to garage waituntil [light5 < 90] tone 50 3 tto "motorb setleft onfor 10 wait 70 tone 80 1 wait 1 tone 50 1 waituntil [light5 < 90] tto "motorb setright onfor 10 tone 80 10 end to lc waituntil [light5 < 90] tone 50 30 waituntil [light5 < 60] tone 80 30 end to noise repeat 100 [make "n light5 tone :n 1] end
Haunted House Ride to pop tto "bones up setpower 4 onfor 3.2 wait 6 tto "bones down onfor 3 end to 2pop waituntil [touch4] pop wait 6 pop end to move launch [waituntil [light5 > 43 ] tto "lamph flash 10 2 ] tto "motore setright onfor 40 2pop wait 3 tto "motore setleft onfor 40 flash 0 0 stopall end to lighton forever [ifelse light5 > 42 [tto "lamph on] [tto "lamph off]] end
What did we learn? • Robotics can bring new excitement to computer classes and design classes. • Students love robots • It is difficult to build curriculum without kits • Several kits are available, from very simple (preschool) to very complex (University graduate education level).
What did we learn? • Robix allows to build various robots. • It allows to have deeper curriculum than Lego but less ready material is available • It allows access to the “guts” of software and electronics • Having one kit for a school is enough, you can purchase additional servos for smaller price on WWW and build the rest in class.
What Did We Learn? • There is a variety of methods how robotics can be taught in high school • The choice should depend on: • teacher’s preferences • student interest and quality • cost • does the school have a mechanical/wood/electrical workshop? • Normal classes/special projects
Robotic Armby Alex (11) and John Michael (11) • This project will take the bricks, sort them out by color using a light sensor, then it will use the robotic arm to grab the bricks and put them in the right bins according to their color. • The bricks must be loaded horizontally into the chute or else they will not be able to move. • It might not determine the colors correctly because of an above average intensity light source disturbing the light sensor which scans the blocks. • Do not worry if one of the blocks stops out of view of the light sensor, the backup routine will relocate it right below the sensor.
DashBoard • Right after you load this project, you will see the Input/Output Interface as shown above. • Click on the Pages menu, then click on Program. You will see lots of buttons and a picture as shown above. • If your robotic arm is not positioned directly above the pickup trough, position it there by clicking on either the Right adjustment or Left adjustment buttons (Right adjustment moves the arm counter-clockwise and Left adjustment moves it clockwise). • If the arm is holding something or is not fully open, press the red Drop button. After you're done positioning it, press the Calibrate button. • To start the project, either click the Start button or depress the external touch sensor. • If you see that it's not functioning properly, click the Emergency Stop button.
Procedures for project • ;start of assembly line routines • to setupfornextuse;after it's done with all the bricks, set it up for next use manright waituntil [angle5 > -1] movoff end • to manleft;moves the robotic arm clockwisetto "motora setleft setpower 5 on end • to movoff;stops the movement of the robotic armtto "motora off end
Procedures for project • tomanright;moves the robotic arm counter-clockwisetto "motora setright setpower 5 on end • topickup;makes the robotic arm grab tto "motorb setright setpower 6 onfor 6 end • toletgo;makes the robotic arm releasetto "motorb setleft setpower 6 onfor 6 end
Procedures for project • todetermine;uses the light sensor to scan what's under itif and light7 > 7 light7 < 13 [make "ptype 2] ;2 = blue if and light7 > 14 light7 < 24 [make "ptype 1] ;1 = yellow if and light7 > -1 light7 < 2 [make "ptype 0] ;0 = other or nothing end • tobluebin;makes arm go to the blue bin and release brickmanleft waituntil [angle5 < -50] movoff letgo end
Procedures for project • to btas;makes arm go to assembly line and pick up brickmanright waituntil [angle5 > -1] movoff pickup end • toyelobin;makes arm go to wellow bin and release brickmanleft waituntil [angle5 < -61] movoff letgo end
Procedures for project • to preset;moves the very first block below the light sensor tto "motorc setright onfor 60 end • to advance;moves the following blocks below the light sensor tto "motorc setright onfor 40 end • to backup;emergency routine if block isn't in view of light sensor; tto "motorc setleft onfor 15 ;back up for 1.5 sec. determine ;do a rescan if it's still not good if :ptype = 0 [tto "motorc setright onfor 15] ;forward for 1.5 sec.; determine ;then rescan; end
Procedures for project • to initautomaticsequence;the main routine resetrotation 5 preset determine if :ptype = 0 [backup] advance if :ptype = 1 [btas yelobin] if :ptype = 2 [btas bluebin] determine if :ptype = 0 [backup] advance if :ptype = 1 [btas yelobin] if :ptype = 2 [btas bluebin] determine if :ptype = 0 [backup] advance if :ptype = 1 [btas yelobin] if :ptype = 2 [btas bluebin] determine if :ptype = 0 [backup] advance if :ptype = 1 [btas yelobin] if :ptype = 2 [btas bluebin] setupfornextuse end
Your tasks • Be sure that you obtain the key to the laboratory • Go to the laboratory and be sure that you know what is where • Specifically, know what are the tools and where are they located. • Learn what is in the library in Industrial Robotics Lab and that you know how to borrow and return books from Anas Al-Rabadi • In Intelligent Robotics Lab, be sure that you know where are the books describing your project: Lynxmotion, Parallax, Stamp Documentation, PIC documentation. • If you are in trouble, ask Mike Levy, Mikhail Pivtoraiko or Bryce Tucker, or any students that are there to help you. • Learn also, on which computer there is the software that you plan to use in your project. Do not remove any software. Notify Bryce about the software that you installed • Learn what are the materials to be used in your project: aluminum, dural, balsa, playwood, wood, plastics (different kinds), rubber, screws, Home Depot components, old kits and Goodwill items to be used. • If you are not sure if you can re-use some item, ask Perkowski • Never remove motors or sensors or any components from other student robots even if you think that they are no longer working on them