The answersDownload the PDF
Worksheet

U7.1 Where am I?

Localisation · University · about 25 min

BugBotLab
NameClassDate

What this lesson is about

Tracking against global localisation, and why one Gaussian is not enough for the second.

Questions 6 marks in all

  1. [1 mark]Why can a Kalman filter not represent the belief of a robot that has just woken up somewhere unknown on the mat?

    1. AIts belief is a single Gaussian, which has one peak, and the true belief can have several separate peaks
    2. BIt needs a linear motion model, and a robot that has been picked up has no motion model
    3. CIt needs far more computation than a particle filter for the same state
    4. DIt cannot use range sensors, only odometry
  2. [1 mark]The robot roughly knows where it is and only wants to keep knowing, with a small error and a single blob of belief. What does the page call this localisation problem?

  3. [1 mark]The robot faces the far wall and reads its distance. Which set of places on the mat is consistent with that single reading?

    1. AA stripe across the mat at one value of y, covering every x
    2. BA stripe up the mat at one value of x, covering every y
    3. CA single point, since the reading has a definite value
    4. DA circle of that radius around the middle of the far wall
  4. [1 mark]What does this program print?

    measured = 130.0
    possible = 0
    for gy in range(0, 200, 10):
        for gx in range(0, 200, 10):
            if abs((200 - gy) - measured) < 8:
                possible += 1
    print(possible)
    
  5. [1 mark]A robot sits in one corner of a square room with four identical corners. What resolves which corner it is in?

    1. AMoving some distance and taking further readings, so most candidates become inconsistent with the set
    2. BAveraging many readings from the same spot to reduce the noise
    3. CUsing a range sensor with a smaller standard deviation
    4. DUsing more particles so that every corner is covered
  6. [1 mark]Which of these beliefs can a single Gaussian represent without behaving badly?

    Tick every answer that is true.

    1. A"I am at (100, 60), give or take 3 cm"
    2. B"I am on a line somewhere"
    3. C"I am in one of four corners"
    4. D"I have no idea"

The task: which places are possible?

Standing still, print reading:, the distance the robot measures ahead, and possible:, how many positions on a 10 cm grid across the mat would give that same reading to within a few centimetres.

from bugbot import *
connect()

readings = []

Plan your program here, then type it in and press Run.

QR code
Do it on the robot
www.bugbotlab.com/learn/u7-1-where-am-i/
The simulator checks it and tells you when it passes. Nothing to install, no account.

Challenges

  1. Add a second sensor reading, to one side, by turning 90 degrees. Take it once the turn has finished: a reading taken part way round is at a slant and matches neither wall. How many places survive both?
  2. Work out how many places survive if the robot also knows its heading to within 10 degrees.
  3. Describe, in one sentence, a mat on which no number of readings from one spot would ever be enough.