Building Mindstorms NXT Robots Dr. David Johnson School of Computing
What Is a Robot?
Sense –Update information about the world Plan –Modify original plan in response to this sensed information Act –Move in the world or make a change in the world
Some Example Robots Big Dog – Planetary Exploration – Home assistance – Hobby –
Resources for Learning About Robots Web –Wikipedia –New Scientist robots.htmlhttp:// robots.html –Youtube –MAKE magazine –Boy Scout badge guide is quite nice and cheap Consider exercising your team’s FLL research skills by having them look at some of these resources
Mindstorms NXT Is it a robot? Can it –Sense? –Plan? –Act?
Mindstorms NXT It can –Sense Light intensity and/or color Sound intensity Button presses Distance to nearby objects Wheel revolutions –Plan –Act
Mindstorms NXT It can –Sense –Plan Small computer brain –“the brick” Graphical programming language –Act
Mindstorms NXT It can –Sense –Plan –Act Three motors that turn Make sounds Put words and pictures on its display
Robot Design Judging Teams demonstrate their robot on a field Discuss challenges and solutions Judges have a base rubric plus comments –How are sensors used? –Is the robot solidly built? –Modular design –Programming innovation Does something stand out? –Reuse an attachment for different purposes –Go over obstacles instead of around –Programs that adapt to different risk levels
Goals For Today Raise your comfort level with Mindstorms –Building –Programming –There is no substitute for doing it Try some common tasks –Wheeled robot –Respond to sensors Maybe a taste of competition…
Testing Equipment Plug in motors, sensors A critical thing to know is the view program –Let you read values from sensors without writing a custom program
Building Not “normal” LEGO pieces –Based on the Lego Technic build system –Pegs and holes Need to plan to make a solid robot –Stable One peg makes a rotary joint Multiple pegs lock two pieces in place –Strong Keep in close to the main body The wheel axles must not be wobbly and flex!
Building Resources There are lots of instructions for building things online – –Have the team try some out Learn things that work Then modify –5 minute bot5 minute bot A quick base Probably not good to adapt for competition
Programming Programming teaches –Breaking complex problems into solvable parts –Precise thinking and specification –Creative experimentation to discover and isolate problems Programs are designed on a base computer –Downloaded by USB cable to the brick
Programming the Brick LEGO Mindstorms NXT-G –Default language for programming Mindstorms Designed to be friendly –Nice tutorials Try them with your team –Not based on traditional programming languages –Easy to do very basic things More difficult to advance It does have some subtle actions that can cause confusion
Learning to Use the Tutorial Each tutorial is structured as –Challenge –Build –Program The mobile base from the tutorials is not my favorite –Takes too long to build –Difficult to modify
A Quick Programming Tour Control goes along the path Each block performs some action –Most blocks are very flexible –Learn the options at the bottom panel –Many actions continue until A sensor is triggered Time has passed A commanded result is finished
A Quick Test Attach a motor to the brick (ports A) Attach a touch sensor to the brick (port1) Write a program –Move block Set duration to unlimited –Wait until touch –Move block Set “Direction” to stop Download to brick Run it Let’s do this together
Additional Resources There is a lot to learn, but you can get started pretty quickly I recommend –Winning Design! LEGO Mindstorms NXT: Design Patterns for Fun and Competition Most FLL-centric of the books Beginning to medium skill level –If you don’t have prior experience, I think you would be foolish not to look at this book.
Some Quick Hints Light sensors can be tricky Light changes –Time of day –Clouds –Flash photography Isolate the sensor from the world
Using the Touch Sensor Add a bumper
Making Turns What would this do? Some help –
Driving Straight Some teams never get a robot to drive straight –Makes testing a nightmare –Use the field to square- off –Return to base so error doesn’t accumulate –See lAO9Ho-N58 Things to try –Check balance of robot Are the wheels equally spaced? Axles straight? Weight balanced? –Check motors Match up best two Move block tries to compensate –Check tires
Let’s have a competition! 1.Hit paper target 2.Go through maze –Stop before unknown finish “wall” Development cycle –Build, test, adjust, repeat –Most kids do not understand how to test and modify something until it works Quit or start new each time –Really work with them on iterative improvement
Teams! 2 or 3 per kit Start with the bot –5 minute bot Start building and testing the program Compete! Or, cooperete? Also, check out the School of Computing technology camps –