A processor-implemented method for free space detection for robotic path planning, comprising: fetching, via one or more hardware processors, sensor data pertaining to a location of at least one obstacle in an area being scanned by a robot; generating an occupancy grid map of the area based on the sensor data, via the one or more hardware processors, wherein the at least one obstacle is inscribed in a bounding box, in the occupancy grid map; marking, via the one or more hardware processors, all unit geometric grids of the occupancy grid map which are fully or partially inscribed in the bounding box, as occupied; seeding the occupancy grid map, via the one or more hardware processors, comprising: analyzing the occupancy grid map and collecting data pertaining to the unit geometric grids which are not marked as occupied and which are outside the one or more bounding boxes in the occupancy grid map and marking them as free unit geometric grids; generating a plurality of unified segments, wherein each of the plurality of unified segments is generated by merging the free unit geometric grids, wherein merging is performed starting from a free unit geometric grid from left most corner in a row of the occupancy grid map to all other free unit geometric grids in the same row of the occupancy grid map; identifying a center of each of the plurality of unified segments; and marking the identified center of each of the plurality of unified segments as a seed of the corresponding unified segment; the method further comprising the steps of: identifying the free space by executing a convex expansion in the occupancy grid map, via the one or more hardware processors, comprising: creating a convex region around each seed within each unified segment; iteratively expanding the convex region within the corresponding unified segment in all directions, such that the convex expansion is terminated when each edge of the convex region touches at least one obstacle; and identifying an area covered by all the convex regions in the occupancy grid map as the free space. fetching, via one or more hardware processors, sensor data pertaining to a location of at least one obstacle in an area being scanned by a robot; generating an occupancy grid map of the area based on the sensor data, via the one or more hardware processors, wherein the at least one obstacle is inscribed in a bounding box, in the occupancy grid map; marking, via the one or more hardware processors, all unit geometric grids of the occupancy grid map which are fully or partially inscribed in the bounding box, as occupied; seeding the occupancy grid map, via the one or more hardware processors, comprising: analyzing the occupancy grid map and collecting data pertaining to the unit geometric grids which are not marked as occupied and which are outside the one or more bounding boxes in the occupancy grid map and marking them as free unit geometric grids; generating a plurality of unified segments, wherein each of the plurality of unified segments is generated by merging the free unit geometric grids, wherein merging is performed starting from a free unit geometric grid from left most corner in a row of the occupancy grid map to all other free unit geometric grids in the same row of the occupancy grid map; identifying a center of each of the plurality of unified segments; and marking the identified center of each of the plurality of unified segments analyzing the occupancy grid map and collecting data pertaining to the unit geometric grids which are not marked as occupied and which are outside the one or more bounding boxes in the occupancy grid map and marking them as free unit geometric grids; generating a plurality of unified segments, wherein each of the plurality of unified segments is generated by merging the free unit geometric grids, wherein merging is performed starting from a free unit geometric grid from left most corner in a row of the occupancy grid map to all other free unit geometric grids in the same row of the occupancy grid map; identifying a center of each of the plurality of unified segments; and marking the identified center of each of the plurality of unified segments as a seed of the corresponding unified segment; creating a convex region around each seed within each unified segment; iteratively expanding the convex region within the corresponding unified segment in all directions, such that the convex expansion is terminated when each edge of the convex region touches at least one obstacle; and identifying an area covered by all the convex regions in the occupancy grid map as the free space.