CodingTrain / CodingTrain/Suggestion-Box

Kalman Filtering / SLAM

Open
#930 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
570
Forks
85
PR merge metrics
No merged PRs in 30d

Description

If you know a robot's initial position, and the instructions you are giving it, you should be able to predict its location at a later time. However, things can interfere with the robot perfectly executing the task (there might be a gust of wind, or the wheels might slip etc.) This is called _process noise_. Over time, you have less and less confidence in the robot's position.
You can try to fix this by using sensors on your robot which can give updates about its current position. However, these might be noisy themselves (_measurement noise_). Also, your sensors might not give full information about your environment (for example, it might be a laser that only gives the distance to the closest wall).
A Kalman Filter is one common way of working out how much to trust your model of where you are vs where your sensors are telling you you are. It can be extended to solve the problem of Simultaneous Localization and Mapping (SLAM), building a map of the environment while also working out your position in it.
A linear Kalman Filter might be a good topic for a coding challenge or series. For example, you could build agents like in challenge 69, Evolutionary Steering Behaviours, and intentionally corrupt the sensing inputs that the agents are receiving and/or add random gusts of wind etc., then design an algorithm to help them understand where they are despite corrupted or limited senses. Or you could have a set of landmarks in the environment and try to build a map of the environment from only the information the agents are receiving.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.