# Metody lokalizacji

Ćwiczenia mają na celu implementację mechanizmu particle filtering lub filtru Kalmana do estymacji położenia użytkownika mobilnego w pomieszczeniu, przy wykorzystaniu symulowanego środowiska z trzema beaconami.

Bazujemy na repo: Trilateracja

## Trilateracja (model idealny)

Imagine you build a a robot that will serve as an ambien assistant. It has a map of a building where it operates, but it needs to localize itself on the map.

### Oszacowanie odległości od Baconów

Fortunately, there are beacon stations planted around the building, which have known location. They send their locations in messages that the robot can receive. Additionally, the robot can measure the strength of the signal called RSSI. What is more, it knows that the dependency between the RSSI and distance to the beacon station is expressed with the following equation:

Where A is a known beacon station power also encapsulated in the message. The n is a constant that characterizes the building and is also encapsulated in the message.

Write a program to determine the robot location.

### Wyznaczenie punktu styku

Fill int the following function which is located in Robot class

`public Location determineLocation(RSSI tower1Message, RSSI tower2Message, RSSI tower3Message){...}`

#### Exercise 1

Use following dependency:

Assumed that tower 1 and 2 are on the same line, we have following circle equations:

By subtracting the second equation from the first, x is attained. Substituting this value back into the first equation will result in values for y:

Solving this will make two solutions (see the plus/minus sign). But substituting these two combinations to the third equation will allow us to discard wrong answer.

#### Ecercise II

Change the location of the second tower to (750,300) and do the same. Note, that now the first and the second tower are not at the same line, so computations may become nasty.

## Particle filtering (model zaszumiony)

Turn on the noise by setting the

`public static final double NOISE_RATIO`

in class Simulator to value between 0 and 1, and try do the same.

See branch particle-filtering of the project.

Change particle filtering mehod to use Kalman filtering. Are there are any changes in results?

pl/dydaktyka/aml/lab7_2017.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)