Mindstorms
Presentatie Lego Mindstorms 12 april 2001 Arjen de Waard Arjen de Waard Hugo Wesseling Hugo Wesseling Emile Hobo Emile Hobo
Indeling Presentatie Introductie Introductie Lego Mindstorms Componenten Lego Mindstorms Componenten Programmeren van Lego Mindstorms Programmeren van Lego Mindstorms Toepassingsgebied Toepassingsgebied Lego Mindstorms Projecten uit de Praktijk Lego Mindstorms Projecten uit de Praktijk
Introductie Lego Mindstorms Programmeerbare bouwstenen Programmeerbare bouwstenen Autonome robots Autonome robots Lego Technic Mechanieken Mechanieken Aandrijving dmv motor / pneumatiek Aandrijving dmv motor / pneumatiek
Overzicht Componenten ProgrammeerbareControllerSensorenActuatoren PC
Lego Sensoren Touch Sensor Touch Sensor Light Sensor Light Sensor Rotation Sensor Rotation Sensor Temperature Sensor Temperature Sensor
Lego Sensoren Lego Cam (Vision Command) Videobeelden opnemen Videobeelden opnemen Detecteren van licht Detecteren van licht Detecteren van kleur Detecteren van kleur Detecteren van bewegingen Detecteren van bewegingen Beeldherkenning Beeldherkenning
Lego Actuatoren Gear Motor Gear Motor Lamp Lamp Fiber Optics Strands Fiber Optics Strands
Lego Controllers Micro Scout (Dark Side Developerkit / Droid Developerkit) ingebouwde licht sensor ingebouwde licht sensor ingebouwde motor ingebouwde motor 7 programma's 7 programma's
Lego Controllers Scout (Robotics Discovery Set) ingebouwde licht sensor ingebouwde licht sensor 2 ingangen voor sensoren 2 ingangen voor sensoren 2 uitgangen voor actuatoren 2 uitgangen voor actuatoren infrarood communicatie infrarood communicatie
Lego Controllers RCX (Robotics Invention System) 3 ingangen voor sensoren 3 ingangen voor sensoren 3 uitgangen voor actuatoren 3 uitgangen voor actuatoren infrarood communicatie infrarood communicatie
IR Communicatie IR Transmitter voor communicatie met PC Remote Control
Alternatieve Componenten Handy Board (Fred Martin, MIT) 7 ingangen voor analoge sensoren 7 ingangen voor analoge sensoren 9 ingangen voor digitale sensoren 9 ingangen voor digitale sensoren 4 uitgangen voor DC motoren 4 uitgangen voor DC motoren
Alternatieve Componenten Ultrasonische Afstand Bepaling Ultrasonische Afstand Bepaling
Alternatieve Componenten Sensors van DCP Microdevelopments Vochtigheid Sensor Vochtigheid Sensor Luchtdruk Sensor Luchtdruk Sensor Beweging Sensor Beweging Sensor Geluid Sensor Geluid Sensor ph Sensor ph Sensor Spanning Sensor Spanning Sensor
Personal Computer nodig (Ruputer) Communicatie tussen computer en controller Taal nodig voor programmeren Mogelijk door CPU in controllers Talen nodig voor verschillende doelgroepen Programmeren van controllers
Programmeren in verschillende talen: Not Quite C Grafisch programmeren Forth for the RCX legOS Programmeertalen
Not Quite C Lijkt op C (java) Tasks en subs Gebruik van variabelen Sensoren lezen: X=SENSOR_1;
Not Quite C Actuators aansturen: Setoutput( OUT_A+OUT_B, OUT_ON); Compileren Uploaden naar controller
Grafisch programmeren Simpel Drag en drop Bouwstenen: 1.Commands 2.Sensor watchers 3.Stack controllers 4.User commands
Event handling (parallel) Geen variabelen Snel programma ’ s bouwen Grafisch programmeren
Toepassingen Speelgoed Educatief Onderzoek
Mindstorms in de praktijk Constructie van robots: Voortbeweging Voortbeweging - Lopen - Rijden - Obstakelontwijking Artificial life Artificial life
Een lopende spin Voortbewegen als insect Voortbewegen als insect Eenvoudige constructie Eenvoudige constructie - Weinig motoren - Weinig sensoren - Makkelijk uitbreidbaar Onderzoeksobject Onderzoeksobject Fig. 1 Een eerste prototype
De voortbeweging Niet elke poot afzonderlijk Niet elke poot afzonderlijk Omcirkelde poten worden opgetild Omcirkelde poten worden opgetild Fig. 2 De voortbeweging
Resultaat Druksensoren Druksensoren - Lichtsensoren Poten multiterrein Poten multiterrein Afstandsbediening Afstandsbediening Fig. 3 Uiteindelijke robot
Rijdende robot Gegroepeerde wielbesturening Gegroepeerde wielbesturening Manouvreren in elke richting Manouvreren in elke richting Model voor toekomst Model voor toekomst - Kantoren - Precisie robots Fig. 4 Het rijmechanisme
Rijdende robot Rijdende robot Neemt omgeving waar Neemt omgeving waar - Ziet - Tast Moet intelligent de weg zoeken Moet intelligent de weg zoeken De vectorrover Fig. 5 De vectorrover
The jungle cube Fig. 6 De jungle Artificial life Artificial life Zwak en sterk Zwak en sterk Dag en nacht Dag en nacht Emoties Emoties Survival Survival
… en zijn bewoners Zelfstandige agents Zelfstandige agents Eigen persoonlijkheid Eigen persoonlijkheid - Wil om te overleven - Vijandig / Vriendelijk - Kan geluid maken Synchronisatie Synchronisatie Fig. 7 VOER!
Mindstorms on the Net Excellent facility to overcome any obstacles that may be encountered Common questions answered Program tuition Additional products introduced
Touch and light sensors Very easy to assemble Very sensitive to external stimuli
Rotation and temperature sensors Temperature sensor would be of particular use in conducting potentially dangerous science experiments via robotics
Robotic Command Explorer RCX program downloaded via infra red beam 3 output terminal- used for motors 3 in/out terminals for touch, light, temperature sensors
My model Lego construction enjoyable, however the integration of the motors seemed a little difficult in terms of design The motors should snap together
It works
Using both sensors
RCX as “Find” Command Simulator Translating Abstract Computing Concepts into Physical Form
(or) the True Story of……….. When Harry Met Sally!
…..Young, successful, blonde-haired, blue-eyed, charming I.T. professional seeks HOT STUFF Please contact HARRY at P.O. Box 1591……….
Starting Point: Execute “Find” Command RECORD 2 RECORD 3 RECORD 4 Scenario I: End of File (“Face it, Harry, she just aint out there!”) Incorrect Records Correct Record RECORD 1 Correct Record not found/ E.O.F. = Program ends after 30 Seconds
Starting Point: Execute “Find” Command RECORD 2 RECORD 3 RECORD 4 RCX “Find” Command Simulator Timeout Scenario Incorrect Record Correct Record RECORD 1 “Find”Program (30 Seconds’ Duration) ends without record being found = Timeout! Starting Point: Execute “Find” Command RECORD 2 RECORD 3 RECORD 4 Scenario II: Timeout (Only one step short of Heaven….…) Incorrect Record Correct Record RECORD 1 “Find”Program (30 Seconds’ Duration) ends without record being found = Timeout!
Starting Point: Execute “Find” Command RECORD 2 RECORD 3 RECORD 4 Scenario III: Successful Record Retrieval (and their eyes met across a crowded room) Incorrect Records Correct Record RECORD 1 “Find” ends when correct record found Message sent to second RCX
How the “Find” Command Simulator Works Running RCX Program as a Metaphor for Execution of “Find” Command (Search Engine query). Physical Environment as Database Table. Obstacles Within Environment as Records in Database Table. Touch Sensors Locate Incorrect Records
How the “Find” Command Simulator Works 4. Light Sensor Locates Correct Record. 5. On Retrieval of Correct Record, “Find” Output Delivered on Screen via Infra-Red Message to Second RCX
How the “Find” Command Simulator Works 6. Motors Off to Signify End of Search. 7. Correct Record Not Found Within 30 Seconds = Search Timeout/ End of File.
Criticism: Aurally-impaired Users or Users without a Soundcard excluded from Software Tutorial. Recommendation: Voice-over should be accompanied by additional sub-titled Text. Criticism: No Obvious Means of Skipping Tutorial results in many Users going through Process each time Software is installed Recommendation: There should be better Signposting of “Skip Tutorial” Option. Disadvantages/Limitations of Lego Mindstorms 1
Criticism: There is more Emphasis on Mechanical Skills than is Necessary for our Purpose, although this in itself is not a bad thing. Recommendation: For Non-Engineering Students, a Pre- Assembled Model might be of more Use. Criticism: If one uses the Software Guide without having IR transmitter connected to PC, one is forced to exit the Application. Recommendation: Independence of Software Guide & IR Transmitter/ RCX. Disadvantages/Limitations of Lego Mindstorms 2
Disadvantages/Limitations of Lego Mindstorms Criticism: Difficulty in identifying where Process is failing, e.g., whether it is Software or Hardware-related Recommendation: Debugger tool should be included in Package. Criticism: Conflict between Interrupt Handlers means that event- oriented Program will not run. Recommendation: Better Troubleshooting for Programming (as opposed to Construction). Criticism: Built-in Obsolence. For Example: Rubber-Bands last an average of 5 Minutes, therefore, after one has run out of the supply included in the kit, it is no longer possible to test.
Advantages of Lego Mindtools 1 Easy Introduction to Computer Programming. Opportunity to show abstract Concepts in concrete Form. Opportunity for Multi-Faceted Learning, e.g., Programming/ Mechanics/ Engineering/ etc.
Advantages of Lego Mindtools 2 Instructions are self-explanatory, logical and intuitive. P ositive Feedback provided throughout Tutorial which is encouraging for the Beginner.
Program screenshot Example of one Program that didn ’ t work because of conflict between stacks
Academic Evaluation Excellent means of introducing basic programming concepts such as loops, nested loops and conditional statements, in an environment where effects on an end product can easily be viewed Excellent teaching tool for In/ Out devices and interfacing Robotics is put easily within the grasp of a teenager The integration of both software and hardware gives a very balanced education The complementary relationship between hardware and software can be seen at a glance, as opposed to the traditional approach of introducing both as separate disjointed topics in IT Hugobos
Biped 1 This is the biped robot "Biped 1". This robot has an ankle motor each leg,and can walk by switching own center of balance.