Pathfinding robot (Python, ROS)

I created this project as a submission for a robotics course. It is implemented using Python within ROS (robot operating system) framework and runs in a simulation.

The goal of the robot is to visit 6 points placed on the map. The robot has access to the map and calculates a desirable path using A* and closest neighbour heuristic to calculate a desirable path. Simulation applies an odometry error to the robot - because of that it needs to use AMCL particle swarm to estimate its position and stick to the path.