How to create and use 2D maps for autonomouse robot?

Hi,

I am trying to create a map for my rover in 2D such that it can be saved and loaded whenever needed. The map will contain the landmarks and the current location.

Overview
I am trying to develop a garden-plant watering robot that finds its path along the garden pots and waters them en-route.
These pots are arranged in several arrays. The robot needs to find the path that traverses all the pots and when it comes across any pot, aligns itself to it and waters it, then moves forward to the next pot/next row.
The robot is equipped with GPS, Stereocameras and IMU.

Something similar to this:

Is there a similar pipeline/example that can help me achieve this?