In this exercise, we will use ergodic control as an exploration mechanism for a point mass agent.
The goal is to analyze how ergodic control can be used to find a small object with an unknown location but with a prior knowledge on the possible location of this object, in the form of a distribution. The location of the object is made visible to you, but is unknown to the robot. The time took by ergodic control to find this object is shown below the animation.
Ergodic control uses a prior information on the location of the object in the form of a probability distribution. In this exercise, a mixture of Gaussians is used as distribution (represented as pink ellipsoids to represent the contours of two standard deviations).
Ergodic control computes control commands that will generate a movement so that the agent will spend time in the different location of the workspace in proportion to the given target spatial distribution. Namely, if we would discretize the workspace and count the number of times the agent passed in each cell of this grid, the controller will ensure that over time, the resulting histogram will match the desired spatial distribution (optimal coverage).
param.nbGaussian
, param.Mu
, param.Sigma
and the initial position of the agent param.x0
(point in black in the animation). Observe the resulting search behavior.
param.target
to be a sample from the mixture of Gaussians (with equal mixing coefficients), the means param.Mu
and the covariance matrices param.Sigma
.param.nbGaussian
to first choose the Gaussian component to sample from. You can then draw a random sample from this Gaussian distibution.