Programmable Robots

Virtual Lab Tour

Maya Staresinic, our programmable robot guru, explains how programmable robots can be utilized to create rich learning experiences in any makerspace!

An Introduction to Programmable Robots

SpheroScreen Shot 2016-10-26 at 10.45.38 PM

Sphero is a programmable robot that moves and lights up. It connects students to the world of programming and robotics in a simple and fun way.

Other Bots

  • BB8
  • Ollie
  • Dash & Dot
  • SPRK+
  • Sphero SPRK 2.0
  • Ozobot
  • Beebot

Curriculum Connections

Grade 1

Math

  • Measurement
    • Estimate, measure, and describe length, area, mass, capacity, time, and temperature, using non-standard units of the same size
  • Patterning and Algebra
    • Identify, describe, extend and create repeating patterns
  • Data Management and Probability
    • Describe the likelihood that everyday events will happen
  • Number Sense and Numeration
    • Solve problems involving the addition and subtraction of single- digit whole numbers, using a variety of strategies

Science

  • Understanding Matter and Energy
    • Investigate how different kinds of energy are used in daily life

Grade 2

Math

  • Measurement
    • Compare, describe, and order objects, using attributes measured in non-standard units and standard units.
  • Patterning and Algebra
    • Identify, describe, extend, and create repeating patterns, growing patterns, and shrinking patterns

Arts

  • Visual Arts
    • Creating and Presenting: apply to creative process to produce a variety of two- and three-dimensional art works, using elements, principles, and techniques of visual arts to communicate feelings, ideas and understanding

Grade 3

Math

  • Measurement
    • Compare, describe, and order objects, using attributes measured in standard units

Science

  • Understanding Matter and Energy
    • Investigate devices that use forces to create controlled movement
    • Demonstrate an understanding of how forces cause movement and changes in movement

Grade 4

Math

  • Number Sense and Numeration
    • Demonstrate an understanding of proportional reasoning by investigating whole-number unit rates
  • Geometry and Spatial Sense
    • Identify quadrilaterals and three-dimensional figures and classify them by their geometric properties, and compare various angles to benchmarks
  • Patterning and Algebra
    • Describe, extend, and create a variety of numeric and geometric patterns, make predictions related to the patterns, and investigate repeating patterns involving reflections

Science

  • Understanding Matter and Energy
    • Investigate the characteristics and properties of light and sound
    • Demonstrate an Understanding of light and sound as forms of energy that have specific characteristics and properties

Grade 5

Math

  • Measurement
    • Determine the relationships among units and measurable attributes, including the area of a rectangle and the volume of a rectangular prism
  • Geometry and Spatial Sense
    • Identify and classify two dimensional shapes by side and angle properties, and compare and sort three-dimensional figures

Science

  • Understanding Earth and Space Systems
    • Demonstrate and understanding of the various forms and sources of energy and the ways in which energy can be transformed and conserved

 Grade 6

Math

  • Measurement
    • Determine the relationships among units and measurable attributes, including the area of a parallelogram, the area of a triangle, and the volume of a triangular prism
  • Geometry and Spatial Sense
    • Classify and construct polygons and angles
  • Patterning and Algebra
    • Describe and represent relationships in growing and shrinking patterns (where the terms are whole numbers), and investigate repeating patterns involving rotations

Science

  • Understanding Matter and Energy
    • Investigate the characteristics of static and current energy
    • Demonstrate an understanding of the principals of electrical energy and its transformation into and from other forms of energy

Grade 7

Math

  • Measurement
    • Report on research into real-life applications of area measurements;
  • Geometry and Spatial Sense
    • Construct related lines, and classify triangles, quadrilaterals, and prisms
    • Develop an understanding of similarity, and distinguish similarity and congruence
  • Patterning and Algebra
    • Model real-life linear relationships graphically and algebraically, and solve simple algebraic equations using a variety of strategies, including inspection and guess and check

Science

  • Understand Structures and Mechanisms
    • Analyse personal, social, economic, and environmental factors that need to be considered in designing and building structures and devices

Grade 8

Math

  • Geometry and Spatial Sense
    • Develop geometric relationships involving lines, triangles, and polyhedra, and solve problems involving lines and triangles
  • Patterning and Algebra
    • Model linear relationships graphically and algebraically, and solve and verify algebraic equations, using a variety of strategies, including inspection, guess and check, and using a “balance” model

Science

  • Understanding Structures and Mechanisms
    • Investigate a working system and the ways in which components of the system contribute to its desired function

Grade 9 Academic

Math

  • Linear Relations
    • Apply data-management techniques to investigate relationships between two variables
  • Measurement and Geometry
    • Determine, through investigation, the optimal values of various measurements;

Science

  • Scientific Investigation Skills and Career Exploration
    • Demonstrate scientific investigation skills (related to both inquiry and research) in the four areas of skills (initiating and planning, performing and recording, analysing and interpreting, and communicating
    • Identify and describe a variety of careers related to the fields of science under study, and identify scientists, including Canadians, who have made contributions to those fields.
  • Physics – The Characteristics of Electricity
    • Investigate, through inquiry, various aspects of electricity, including the properties of static and current electricity, and the quantitative relationships between potential difference, current, and resistance in electrical circuits
    • Investigate, through inquiry, various aspects of electricity, including the properties of static and current electricity, and the quantitative relationships between potential difference, current, and resistance in electrical circuits
    • Demonstrate an understanding of the principles of static and current electricity

Grade 9 Applied

Math

  • Linear Relations
    • Apply data-management techniques to investigate relationships between two variables
      • Pose problems, identify variables, and formulate hypotheses associated with relationships between two variables
    • Measurement and Geometry
      • Determine, through investigation, the optimal values of various measurements of rectangles

Science

  • Scientific Investigation Skills and Career Exploration
    • Demonstrate scientific investigation skills (related to both inquiry and research) in the four areas of skills (initiating and planning, performing and recording, analysing and interpreting, and communicating
    • Identify and describe a variety of careers related to the fields of science under study, and identify scientists, including Canadians, who have made contributions to those field

Grade 10 Academic

Science

  • Scientific Investigation Skills and Career Exploration
    • Demonstrate scientific investigation skills (related to both inquiry and research) in the four areas of skills (initiating and planning, performing and recording, analysing and interpreting, and communicating
    • Identify and describe a variety of careers related to the fields of science under study, and identify scientists, including Canadians, who have made contributions to those field

Grade 10 Applied

Math

  • Measurement and Trigonometry
    • Use their knowledge of ratio and proportion to investigate similar triangles and solve problems related to similarity

Science

  • Scientific Investigation Skills and Career Exploration
    • Demonstrate scientific investigation skills (related to both inquiry and research) in the four areas of skills (initiating and planning, performing and recording, analysing and interpreting, and communicating
    • Identify and describe a variety of careers related to the fields of science under study, and identify scientists, including Canadians, who have made contributions to those field

Grade 11

Science

Physics – University Prep

  • Kinematics
    • Investigate, in qualitative and quantitative terms, uniform and non-uniform linear motion, and solve related problems
    • Demonstrate an understanding of uniform and non-uniform linear motion, in one and two dimensions
  • Forces
    • Investigate, in qualitative and quantitative terms, net force, acceleration, and mass, and solve related problems
    • Demonstrate an understanding of the relationship between changes in velocity and unbalanced forces in one dimension
  • Energy and Society
    • Investigate energy transformations and the law of conservation of energy, and solve related problems
    • Demonstrate an understanding of work, efficiency, power, gravitational potential energy, kinetic energy, nuclear energy, and thermal energy and its transfer (heat).

Grade 12

Science

Physics – University Prep

  • Dynamics
    • Investigate, in qualitative and quantitative terms, forces involved in uniform circular motion and motion in a plane, and solve related problems

Grade 12

Science

Physics – College Prep

  • Motion and Its Application
    • Investigate, in qualitative and quantitative terms, the linear uniform and non-uniform motion of objects, and solve related problems
    • Demonstrate an understanding of different kinds of motion and the relationships between speed, acceleration, displacement, and distance
  • Mechanical Systems
    • Investigate forces, torque, work, coefficients of friction, simple machines, and mechanical advantage, and interpret related data

An Introduction to Coding with Sphero

In this tutorial I’ll walk you through how I was able to get a group of grade 7 students with no prior coding experience programming robots in about 45 minutes! Although this activity was designed for grade 7, you could easily modify it for other ages.

For this lesson/activity, you’ll need the following:

  • As many Spheros as you can get your hands on.
    • I was lucky enough to be working with groups of 6, so everyone had their own robot. 1-2 students per robot is ideal, and I imagine 3 would work if you give students something they really need to put their heads together for
Sphero

This adorable fella is the Sphero, a programmable robot!

  • An iPad/Phone for every student
    • One per student is ideal, but only one device can control the Sphero at a time
    • When I did this, everyone was on an iPad, but after some digging it looks like there are possibilities for Android as well. A tablet is recommended over a phone here, as a larger screen will reduce the amount of clutter
  • An app for controlling your Sphero USING CODE. There are plenty of apps that let you just drive and give commands, but the focus here is on getting students into coding. Possible apps include
    • Tickle – This is what we use in the lab, unfortunately this is iOS only
    • Tynker -Looks like a great alternative that works on both iOS and Android
    • SPRK Lighting Lab for Sphero -also available for iOS and Android

Tickle-badgeTynker logoSPRK Logo

  • An app called Lightbot (Hour of Code) installed or available to download if using student devices
    • This is what will introduce students to the procedural thinking behind programming their robots. The app is a seemingly simple game of moving a robot around a grid to light up blue squares, which all the students seemed to engage with an enjoy. There are a few versions of it out there, the one we’re using the the Hour of Code version, which is FREE
Lightbot Logo

Lightbot App Logo

Optional materials:

  • Ramps for the Spheros (these should come in the box with the robot itself)
  • Tape
  • Cardboard

Before trying this in your classroom, I highly recommend playing around and exploring the apps and tools used to get a feel for them. Below I’ll break down each section of the lesson, how long it should take and the purpose for each section.

Total time: ~45 Minutes 

Introduction (~3 minutes)

Go over the agenda and expectations for the day, establish rules for the technology if you haven’t already. Take this opportunity to show off the robots to students, you may want to prepare something before class starts to really WOW them.

Lightbot (15-20 minutes)

Have students open up the Lightbot app on their device and explain the basics of the game. Computers are pretty dumb, they’ll take your instructions literally and do EXACTLY what you tell them to, even if it means doing the same thing over and over until you crash! The game has a built in tutorial that teaches the basics of moving the character and playing the game, and I highly recommend having your students start there.

If you find students are really struggling, you may want to walk through some of the levels together or address problems as they come up. The whole point here is to get students used to something taking their instructions literally. This may be frustrating and unintuitive at first, but I found once students figured out the first few levels, they were hooked!

light bot sample

Anything in the “MAIN” folder will run, PROC1 won’t run unless called in MAIN

After finishing the “Basics” module, I recommend having students finish the first 2-3 levels of “Procedures” and “Loops” before moving on to using the Sphero. This will give students a chance to see how useful these features really are; completing a task in 3 lines always trumps brute forcing it in 12! The more levels students can complete, the better, but I wouldn’t spend over 25 minutes on Lightbot if you only have 45 minutes.

Introduction to Block Coding (5 Minutes)

Take a few minutes to get your groups organized with Spheros and opening whichever app you’re using. Once everyone is set up, I would go through the basics of setting up a block of code.

First, you need to start each block with an “Event” in Tickle, which are orange. Any motion, colour changes, loops, etc. that you want to happen for a particular event should connect like a puzzle to the pieces above it, with the event at the top. I’ve included a sample picture below.

Tickle Block Sample

You’re almost ready to get students coding and playing, but first we need to connect the Sphero.

Programming Challenges (15-20 minutes)

Before you can start coding, you need to connect your iPad and your Sphero. Luckily, all you have to do is turn on your bluetooth and connect to the Sphero with the colour code that corresponds to the colours your Sphero is flashing. MAKE SURE YOUR SPHEROS ARE NOT ON THE CHARGING STATIONS AT THIS POINT, this was a bit of a headache the first time through but the charging stations seem to switch off the Sphero and does not allow you to connect to them.

Connecting Sphero

Notice the Sphero is NOT on the charging station!

For example, if your Sphero was glowing red, blue then green, you would connect to Sphero-RBG in the bluetooth menu.

After everyone is connected, start issuing your students challenges! Below I’ve included a list of ones that I used, but you don’t have to stop there! Come up with your own, or do a quick Google search and you’ll find endless ideas of programming challenges for your students.

Some of the activities I used were

  • Moving the robot (this one is easy, but essential!)
  • Send the robot somewhere and then come back
  • Set up a program to help the Sphero get unstuck when it collides with different objects
  • Set up something to stop the Sphero if you can see it headed for danger!
  • Move the robot in a square or other regular polygon
  • Move the robot in an irregular polygon (this could be a great math connection!)
  • Moving the robot in a shape using loops
  • Changing colours
  • Navigating a pre-set maze or obstacle course
    • You could even just set tape on the ground and have students come up with their own puzzles to solve
  • Set up different areas that students need to navigate to, change colour/spin/do something before moving on to the next area
  • Use the ramps to jump into a stand/roll of tape or onto another ramp
  • Coordinate a dance using multiple Spheros

The most important thing with these challenges is making the goal clear and achievable without being so easy that students can solve them without a bit of experimentation, so keep that in mind if you’re designing your own challenges.

If you’re having technical trouble with the Spheros, I found the self help website for Sphero to be very helpful. If you don’t want to mess around too much or don’t have much time, there is also a quick-start guide that comes in the box that should get you up and running in a few minutes.

Clean Up (~2 minutes)

Can’t neglect planning for this step! I think having students pack everything back into the box or where ever you’re storing everything would be the most efficient use of time. You may have to plan extra time for clean up, depending on the size of your class.

References

Kurkovsky, S. (2013). Mobile Computing and Robotics in One Course: Why Not? Retrieved from http://www.cs.ccsu.edu/~stan/research/cseducation/iticse2013.pdf

Timberdoodle Co. (2016) SPRK Lessons. Retrieved from http://www.timberdoodle.com/Articles.asp?ID=387