HW5. Nondeterministic and Probabilistic Information Spaces¶
Due date: 2026-02-20 23:59.
Recommended Resources:
- SF: Sensing and Filtering, Steven M. LaValle, PDF
Kalman Filters¶
Recall that with a Kalman filter the robot's motion is modeled with
x_{k+1} = A_kx_k + B_ku_k + w_k
\\\
And the robot's sensing is modeled with
y_{k+1} = C_{k+1}x_{k+1} + v_{k+1}
\\\
In which
xₖrepresents the robot's position at stepkuₖrepresents the action taken at stepkwₖrepresents the motion noise at stepkyₖrepresents the sensor observation at stepkvₖrepresents the sensor noise at stepk
Kalman Script 1¶
These exercises will use the following interactive script.
This script shows how the Kalman filter's information state evolves on a simple robot with the following state space
X, action space U, and observation space YX = Y = U = \mathbb{R}^2
\\\
This script has four actions:
- "Set to this distribution". Sets an initial Gaussian probability distribution with a particular mean and covariance. This should be used after starting up the script.
- "Set these noise parameters". Sets the covariance matrices for the movement noise and sensor noise. This can be altered at any point without resetting the existing estimation of the robot's state and state covariance.
- "Apply this movement". Applies a robot's movement to the information space and updates the mean and covariance. The robot moves the specified distance along the x and y axes subject to the movement noise.
- "Apply this sensor reading". Applies a sensor reading to the information space and updates the mean and covariance. The sensor reports the robot's position in the state space subject to the sensor noise.
To use the script, first set the initial Gaussian probability distribution by setting a mean position and an initial covariance matrix and hit the "Set to this distribution" button. A green dot indicates where the mean estimation of the robot's position is and a heatmap shows the probability distribution of the potential robot states.
Kalman Script 2¶
These exercises will use the following interactive script.
This script is intended to show the performance of the Kalman filter under different levels of sensor and movement noise. One of the models is intentionally broken. The movement and sensor errors for this model are not Gaussian.
To use the script, select a model. Hitting "next step" will cause the robot to move and a sensor reading to be taken. The chart will show four different points:
- filter mean - This is the filter's current guess as to the robot's location based on the movement and sensor history.
- movement model prediction - This was the filter's guess as to the robot's location after applying the most recent movement but before applying the most recent sensor reading.
- sensor data - This was where the most recent sensor reading placed the robot.
- actual location - This is the robot's actual location. This usually would not be available in real applications, but it is being shown here to show how well the filter is doing at tracking the robot's position.
There are four models. Run each of them and then answer the following four questions (each model is the answer to one question).
Additional Questions about Kalman Filters¶
Nondeterministic Information Spaces, Localization, Mapping¶
The next few questions will use the following environments, action sets, and observation set.
Each environment is a 4x4 grid in which each square can be uniquely identified by a letter+number. For example, A3 or B1.
After the robot moves, it takes a sensor reading. The robot's sensors can detect the color of the square it is in (red, green, yellow, clear). A unique sensor reading (blocked) is returned if the robot attempts to make a movement that would take it off the edge of the grid (in this case, the robot remains in the square that it started in). The set of observations is shown in the diagram below as the set
Y.The three environments
E₁, E₂, E₃ are shown in the diagram. Each square is labelled by the sensor reading the robot receives when it moves into the square. The robot is able to move into the grey squares, but the sensor reading associated with each grey square is not known in advance. They can be considered spaces that were "unexplored" at the start of the robot's movements. The robot cannot start in a grey square.
So,
- Each square in the environment is assigned a color (red, green, yellow, or clear).
- The robot's sensors have no error.
- The color of the grey squares are not known until they are visited.
- The robot cannot start in a grey square.
A robot might be using one of three action sets. Each action within these action sets can have more than one possible outcome for where the robot moves. The set
U₁ contains only one action, "move", in which the robot tries to move to one of the four squares adjacent to its current location. The set U₂ contains the actions "horizontal" (in which the robot attempts to move left or right) and "vertical" (in which the robot attempts to move up or down). The set U₃ contains the actions "down/left" (in which the robot attempts to move down or left) and the action "up/right" (in which the robot attempts to move up or right).
Authors¶
Hannah Erickson
Give feedback on this content
Leave your comments below: