Robotic research of speed and circular motion

– a lesson plan for Maths and Physics at High School level

Niels Erik Wegge
Birkerød Gymnasium


When you’re done with this lesson plan you should be able to…

  • programme The Fable Spin module to drive forward and backwards in circles at different speeds
  • understand and be able to use the formula speed=distancetime  
  • do a linear regression on your measured data
  • understand what is meant be calibration
  • use the concept of proportionality to understand the correlation between the speed of the robot’s wheels and the radius of the circle the robot drives
  • set up simple equations and isolate the different variables within them

If you do the additions in part 4 and 5, you should also be able to…

  • understand the difference between Archimedean spirals and logarithmic spirals
  • examine the formula ac=v2R for centripetal acceleration in an even circular motion with speed vand radius R 


  1. If you haven’t already installed the Fable Program on your computer, do it now: 
  2. Connect the hub to the computer by USB. It will give you a wireless connection the robot modules. 
  3. Start the Fable Program
  4. Turn the robot arm on, by sliding the switch located above the USB. The Fable logo should light up constantly.
  5. Press the hub and the robot logo, until they light up in the same colour (and in a different colour than the neighbouring groups!). Then they can “talk” to each other.
  6. Read the name of the robot arm on the little sticker (e.g. YMA) and check in the top right corner in the black box that…
    • … it says the name of the hub (e.g. ”ZKD”) and not ”not connected” 
    • … the hub has found at least one module. By pressung the i-button you can see names and signal status on the modules found. Try it! 

Note: after a while of inactivity the module will automatically “shut off”. Then “modules” will read: “0 found”. Reconnect by pressing the light up logo on the robot.

Part 1. Driving straight ahead (same speed on both wheels) 

1.1 How quickly does the robot drive? Calibrating the speed

  1. First, we have to get the wheels on the Spin Module to spin. Go to the menu Loops and Actions and find the blocks needed to create this program:
  1. Press the ”play”-button to start the program. What happens? 
  2. What happens, if you change the operational sign on one of the numbers?
  3. Put the module on the floor and make it go forwards and backwards.
  4. The numbers you input in the block above, is a unit of speed for the robot. The higher the number, the higher the speed. Numbers can be set between 0 and 100. But how fast does the robot actually drive when it says 20 or 30? We need to calibrate the speed scale – the means to find a translation from the programming numbers to actual speed. In maths that means, to find a function f, that turns a programming number x, between the interval [0,100] into the number f(x), which is the robot’s speed measured in metre per second (m/s)
    1. According to the Get started guide the function f is a proportionality. That means that the graph for should be a ___________ line, that goes through the point _________. To find this out, you now have to find some points on the graph:
    2. Mark a set driving distance on the floor. It could be something like 1,5 m or 2 m. Measure how long the robot module takes to travel this distance at different speed settings. Fill in the table and calculate the speed!
Speed setting x Driving distance s in metre Driving time t in seconds Speed v in m/s
    1. Make a plot of v as a function of i your x CAS tool
    2. Now you should have four points of a coordinate system. Describe the tendency in your data. Is it a linear tendency? Could there be proportionality?
    3. If data looks like it falls in a straight line, you can have your CAS tool make a linear regression. Write down the function here _________________ and show it to your teacher before you continue.
  1. Practicing using the calibration function f:
    1. Use the function from 5.e to determine which speed the robot will drive at if x=30.
    2. What is the maximum speed of the Spin module? 
    3. Use the function to determine thex-value, the module should be programmed to, if you want the speed to be v=0,25ms. (Note: it’s important to be good at this exercise, if you want to win the competition in the end )
  1. To recap: the function we have made is called a calibration. Consider how the term calibration can be used on an old fashioned thermometer.

1.2 Driving a predetermined stretch at a predetermined time

  1. The formula for average speed is v=st , where s is the distance driven, and t is the time it takes. If you want the robot to drive the distance s=3 m in the time t=12 s, which speed should it drive at?
  2. Programme the robot to drive at this speed – and check that it is correct!
  3. Use the speed formula v=xt to find out, how long it will take for the robot to drive the distance s=2 m with the speedv=0,15ms. Have the robot do it – and measure the time! Was it right? Note: it’s important to be good at this exercise, if you want to win the competition in the end )

Part 2. Driving in circles (different speeds on the two wheels) 

2.1 How big does the circle become?

  1. Programme the two wheels to drive at different speeds. What happens when the module drives on the floor=?
  2. Make one wheel drive at 80% speed of the other wheel. Find the centre of the circle and measure how far it is from the centre to circle perimeter of the outer wheel. This measurement is calledR.
  3. Measure the period of revolution – that is the time T it takes to go around in the circle once.
  4. Also measure the distance d  between the two wheels.
  5. Explan the two formulas vouter=2πRT og vinner=2π(R-d)T
  6. Use the measured values of R, d and T to calculate vouter and vinner.
  7. Explain how we expect that vinner=0,80⋅vouter, and check if it’s correct!

2.2 Get the robot to drive in a specific circle with a specific speed

  1. Use the formulas from 2.1.5 to calculate vouter og vinner if the robot should drive in a circle with an outer radius of R= 1 m and the time to go around once should take T=30 s.
  2. Make the robot drive like this! Is it correct?
  3. Now make the robot drive the same circle but at half the speed. (NB: this is not a difficult task, if you have understood what proportionality means…)

Part 3. Competition!

First event: Drive straight ahead

Each group will be given a note, where it says a distance and a time.

The task is to make to robot drive that distance in exactly that time – both forwards and backwards.

Second event: Drive in circles

Each group will be given a note, where it says a radius and a time.

The task is to make the robot drive a circle with that exact radius and that exact time.

Part 4. Additional Maths about spirals

  • Take a piece of paper and draw a spiral
  • Is there an even space between each turning of the spiral?
  • Try again: now make your spiral have exactly 2 cm between each of the turnings. Start from the centre. Use a ruler.
  • This type of spiral is called an Archimedean spiral (name after the greek philosopher and mathematician Archimedes (app. 250 b.c.) 
  • Make the robot drive in an Archimedean spiral!
  • There are also other types of spirals. Try to look up ”Logarithmic spirals” on Wikipedia. Do you know anything from nature which resembles a logarithmic spiral?
  • Can you make the robot drive in a logarithmic spiral?

Part 5. Additional Physics about centripetal acceleration

  • Attach a wireless accelerometer to the robot and measure the centripetal acceleration while it drives in a circle.
  • You can also use your phone and let Fable read of the phone’s accelerometer.

Make a series of measurements and find out if ac=v2R.

Subject and grade: Mathematics and science


Length: Around 2-3 x 90 minutes


Recent Entries

Want to stay in the loop?
Sign up to our Newsletter

We value your privacy. We never send you any spam or pass your information onto 3rd parties.