Unit Archive‎ > ‎

Introduction to Robotics: LEGO Mindstorms


To most people, a robot may seem like an incredibly sophisticated device and something that is too difficult to try to understand.  In reality, robots are often quite simple.  They have their physical parts and then they have the programs that run them from their computer 'brains'.  They are programmed to respond (output) in information they receive (input).  They may be given direct instructions (turn motors B and C for 10 seconds, then turn only motor #1 for 5 seconds) or they may be given instructions that only happen under certain conditions (if button A is pressed, turn motor A forwards, otherwise, turn motor A backwards.)  

Situation Specific

Students will design and create a moving robot that is able to respond to and avoid objects in its environments using a variety of sensory inputs.

Criterion A: Inquiring and Analysing

 At the end of year 1, students should be able to: 

i. explain and justify the need for a solution to a problem for themselves 
ii. state and prioritize the main points of research needed to develop a solution to the problem with minimal guidance 
iii. describe the main features of one existing product that inspires a solution to the problem 
iv. present the main findings from a range of sources, cited appropriately.


During this phase of the Design Cycle, we are spending a lot of time learning by doing.  We are using an iterative process, where we build something, test it out, then make modifications to improve it.  We have learned a lot this way.  It's a good idea to stop every now and then and reflect on what we have learned.  That is what we are doing now.  In today's class, we are taking the time to try to recall all of the things that we have learned over the past week and a bit with the LEGO Mindstorms Robotics kits.

But we may be able to pick up a few things from doing some more specific research.  There are many resources available online to help us better understand the principles of building stable structures that will help us build our robots.  We can also find some resources to help us understand how to write more efficient programs.  Here are some links to get you started.

I would like you to have a look at the following web pages to see if they help you get a better understanding of some of the underlying principles of structural design:


http://legoengineering.com/library/doc_details/150-nxt-constructopedia-beta-21.html (You will need to download a file from this one.)

Next, you can have a look at these pages to see if they help you get a better understanding of some of the underlying principles of programming:



So, it seems that we focused our learning in two areas--building and programming.  This will be reflected in our written work.  You will write 2 entries in your blog about what you learned by doing and then you will write 2 entries in your blog about what you learned through your research.  

Learning by Doing:  Building with LEGO Mindstorms
Learning by Doing: Programming with LEGO Mindstorms

Learning through research: Building with LEGO Mindstorms
Learning through research: Programming with LEGO Mindstorms

Project Page:

Now, you will create a new page on your Weebly called 'Introduction to Robotics: LEGO Mindstorms'.  You can copy/paste the first few sections from this page to get you started.  Include the title, situation, situation specific sections and the Inquiring and Analysing title and the four assessment criteria.


You will write an introduction that will outline the task--to build a robot that can move autonomously around the room while avoiding other objects or, if it bumps into them, has the ability to back-up and change direction.  (You can use my 'Situation' and 'Situation Specific' sections above to help you get started.)

Then you will write two more sections:

Things to Consider: 

Write a couple of short paragraph that explain what principles that you learned so far that will help you build a robot that fulfuls these Design Specifications.  This is a summary of the most important things that you learned from your research and experiments, applied to this task.  What design elements did you learn about from your research and experience that you think will be of use?  What principals of programming and of structure building do you think will be important as you build?  Include some labeled images if you think it will help explain things more clearly.  

For example, when discussing construction techniques, you might highlight the importance of keeping your structure fairly simple.  In the case below, attaching the motors directly to the NXT brick rather than to a frame keeps the robot strong while also keeping it simple. This will likely cut down on the number of things that could possibly go wrong.

For example, when discussing programming concepts, you might mention the importance of conditional statements such as the case of a button press.  If the button is pressed, one thing happens but if the button is not pressed, something else happens.  In the picture below, we see that the block for the button press is inside of a loop.  A loop will check over and over to see if the button has been pressed.  If the button block was not inside of a loop, it wouldn't work.

Design Analysis: 

Good artists copy.  Great artists steal.  In this section, we will look at other people's designs and look for good ideas that we can incorporate into our own robots.  Complete an analysis of two or three designs that you have seen already (other people's robots, robots that you saw online etc...) that you think will help you make a good robot of your own.  (try to include a few images here to help make it easier for the reader to understand.)  Be sure to justify why you think that these design elements would be of use.  You can do this in bullet points or a paragraph,  Try to be succinct.  Include labels on the pictures if you think it will help.

For example, when discussing the robot design in the picture below, you may want to highlight the use of the ultrasonic sensor on the front which can be used to detect obstacles.  You may want to mention it's compact design.  You may also want to point out that with the brick upright, it has a higher center of gravity and and narrow wheel base which might make it more likely to tip over.

Criterion B: Developing ideas

 i. develop a list of success criteria for the solution
ii. present feasible design ideas using an appropriate medium(s), outline the key features and can be correctly interpreted by others
iii. present the chosen design describing the key features
iv. create a planning drawing/diagram which outlines the main details for making the chosen solution

Design Specifications

In this section, you will make a list of 8-12 Design Specifications that will serve as the success criteria for our project.  These will help you throughout the Developing Ideas phase as you work out what you need in each design.  For example:

  • must be able to move autonomousy
  • will include a variety of sensors to detect obstacles

Ideas and Sketches

In this section, you will come up with a handful of design ideas (at least 3).  You will sketch them on paper and include labels where necessary.  For each design idea, you will include a short paragraph that explains the idea in more detail and offers some justification for the various design elements that you included.

Final Choice and Justification

In this section, you will describe your final choice in detail.  You will include a diagram that is clearly labeled that includes explanations and justifications for the various design elements.  You will explain why this idea was the best one.

Final Design

This is where you put your final design drawing.  You may choose to use the LEGO Designer software for this.

Criterion C: Creating the solution

i. outlines a plan, which considers the use of resources and time, sufficient for peers to be able to follow the plan to create the solution
ii. demonstrates excellent technical skills when making the solution 
iii. follows the plan to make the solution which functions as intended and is presented appropriately
iv. lists the changes made to the chosen design and the plan when making the solution.

During this phase of the project, you will keep track of the steps that you went through to construct your robot.  When you put it on your project page, you can post it as a series of steps.  Have a look at the following Instructable to see an example of what you will be presenting:

Be sure to take pictures and short video clips along the way.  The idea is that someone else who is at least a little bit familiar with LEGO Mindstorms should be able to understand the steps and create a similar project based on your information.  The target audience for your process journal should be next semester's class.  They will get a chance to see your project pages before they begin their own.

Be sure to include a section that explains and justifies and changes from your original design from the previous phase of the Design Cycle.  It is OK to make changes.  This is all part of the process.  But be sure to explain what you changed and why you changed it.  This is the evidence of learning that we are looking for in your written work.

Promo Video
Come up with a name for your robot.  Then put together a short (15-20 seconds) promo video to highlight its strengths and scare the competition.  We will watch these videos before the main event!  These videos will be part of the assessment for this phase, along with the things mentioned above.  So be sure to show off all of the things you want me to see.

Criterion D: Evaluating
 i. design detailed and relevant testing methods, which generate data, to measure the success of the solution 
ii. critically evaluate the success of the solution against the requirements based on authentic tests 
iii. explain how the solution could be improved 
iv. explain the impact of the solution on the client/target market.

In this phase, you will reflect on both the quality of your product and on the process that you went through to develop it.  

The Product
Summarize your robot's performance both during the competition and from your own tests..  What worked?  What didn't?  Did it perform well during the competition?  Why or why not?  With a little more time, how would you change it?  If you were going to built it again, what could you do to take it to the next level?  To what extent does it fulfil the specifications that you set at the beginning?  How close is it to your original design?

The Process
Consider your work at each phase of the Design Cycle.  How well did you manage your time and resources?  Did your work at one step help inform what you had to do in the next?  Were the steps that you went through helpful?  Where did you do well?  Where could you improve?  To what extent were you successful in accomplishing what you set out to do?  What steps will you take to improve the quality of your work on future projects?