A method for optimal coverage path planning, the method comprising: receiving, by a processor, data from one or more sensors associated with at least one robot in a region, wherein the data is captured in a plurality of poses from a plurality of viewpoints in the region; assigning, by the processor, a priority cost for each viewpoint of the plurality of viewpoints based on at least: one or more objects detected in the data captured in a corresponding pose and a region of interest in the one or more objects captured by the one or more sensors in the corresponding viewpoint; identifying, by the processor, a set of optimal viewpoints from the plurality of viewpoints using one or more objective functions, wherein the one or more objective functions is based on at least the priority cost associated with each viewpoint of the plurality of viewpoints and a coverage value for each corresponding viewpoint, wherein the coverage value for a viewpoint indicates an area of the region captured by the one or more sensors from the corresponding viewpoint and the coverage value for a viewpoint comprises cell indices of one or more cells of a plurality of cells in the region captured by the one or more sensors from the corresponding viewpoint; and generating, by the processor, a coverage path for the at least one robot based at least on the set of optimal viewpoints, wherein the at least one robot is configured to traverse the coverage path; characterised in that the one or more objective functions is further associated with a visibility matrix and at least one threshold value, and the visibility matrix is constructed based on the coverage value computed for each viewpoint of the plurality of viewpoints such that rows of the visibility matrix represent cell indices and columns of the visibility matrix represent the plurality of viewpoints. receiving, by a processor, data from one or more sensors associated with at least one robot in a region, wherein the data is captured in a plurality of poses from a plurality of viewpoints in the region; assigning, by the processor, a priority cost for each viewpoint of the plurality of viewpoints based on at least: one or more objects detected in the data captured in a corresponding pose and a region of interest in the one or more objects captured by the one or more sensors in the corresponding viewpoint; identifying, by the processor, a set of optimal viewpoints from the plurality of viewpoints using one or more objective functions, wherein the one or more objective functions is based on at least the priority cost associated with each viewpoint of the plurality of viewpoints and a coverage value for each corresponding viewpoint, wherein the coverage value for a viewpoint indicates an area of the region captured by the one or more sensors from the corresponding viewpoint and the coverage value for a viewpoint comprises cell indices of one or more cells of a plurality of cells in the region captured by the one or more sensors from the corresponding viewpoint; and generating, by the processor, a coverage path for the at least one robot based at least on the set of optimal viewpoints, wherein the at least one robot is configured to traverse the coverage path; characterised in that the one or more objective functions is further associated with a visibility matrix and at least one threshold value, and the visibility matrix is constructed based on the coverage value computed for each viewpoint of the plurality of viewpoints such that rows of the visibility matrix represent cell indices and columns of the visibility matrix represent the plurality of viewpoints.