Post on 17-Dec-2015
Building Mindstorms NXT Building Mindstorms NXT RobotsRobots
Dr. David JohnsonDr. David Johnson
School of ComputingSchool of Computing
What Is a Robot?What Is a Robot?
Resources for Learning About RobotsResources for Learning About Robots
• Web– Wikipedia
• http://en.wikipedia.org/wiki/Robot– New Scientist
• http://www.newscientist.com/article/dn9973-instant-expert-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 RobotsSome Example Robots
• Big Dog– http://www.youtube.com/watch?v=b2bExqhhWRI
• Planetary Exploration– http://www.youtube.com/watch?v=nb2GsD7TAjU&feature=related
• Home assistance– http://www.youtube.com/watch?v=GTxW3GWZ5hI
• Hobby– http://www.youtube.com/watch?v=zX09WnGU6ZY
What Is a Robot?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 NXTMindstorms NXT
• Can it?– Sense– Plan– Act
Mindstorms NXTMindstorms NXT
• It can– Sense
• Light intensity and color• Sound intensity• Button presses• Distance to nearby objects• Wheel revolutions
– Plan– Act
Mindstorms NXTMindstorms NXT
• It can– Sense– Plan
• Small computer brain– “the brick”
• Graphical programming language
– Act
Mindstorms NXTMindstorms NXT
• It can– Sense– Plan– Act
• Three motors that turn
Goals For TodayGoals 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 EquipmentTesting 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
BuildingBuilding
• 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 ResourcesBuilding Resources
• There are lots of instructions for building things online– http://www.nxtprograms.com/– 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
ProgrammingProgramming
• 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 BrickProgramming 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 TutorialLearning 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 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 TestA 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 ResourcesAdditional 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!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!Teams!