CodingTrain / CodingTrain/Suggestion-Box
Kalman Filtering / SLAM
- 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.