Building Mindstorms NXT Robots Dr. David Johnson School of Computing
What Is a Robot?
Resources for Learning About Robots Web –Wikipedia –New Scientist robots.htmlhttp:// robots.html –Youtube Many! –MAKE magazine –Boy Scout badge guide is quite nice and cheap Consider exercising your team’s FLL skills by having them look at some of these resources
Some Example Robots Big Dog – Planetary Exploration – Home assistance – Hobby –
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
Mindstorms NXT Can it? –Sense –Plan –Act
Mindstorms NXT It can –Sense Light intensity and 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
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 Can be frustrating –Stable One peg makes a rotary joint Multiple pegs lock two pieces in place –Strong Keep in close to the main body The wheel axes 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 –Don’t get too distracted with NXT guitars, guns, etc. –5 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 –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,B,C) Attach a touch sensor to the brick (ports 1,2,3,4) Write a program –Move block Set duration to unlimited –Wait until touch –Move block Set the brakes Download to brick Run it
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. Parts of my FLL camp notes –More for getting a novice team started
Let’s have a competition! Go through maze Stop before unknown finish “wall” How to solve? –Detect or dead reckoning Development cycle –Build, test, adjust, repeat –Most kids do not understand how to test and modify something until it works
Teams!