## 1 Introduction  
In certain applications in robotics and autonomous vehicles, we desire to cover an area, and we would like to obtain a path by which the entire area is covered in the best way using some metric such as the shortest distance, lowest travel time, or energy expenditure. Examples of such applications include vacuum cleaner robots covering the floor, lawnmower robots cutting grass on a lawn, plowing robots covering a field, inspection of underwater oil rigs and pipelines using autonomous submarines, and so on. This generic problem is called coverage path planning. Ref. [1] gives an overview of the generic applications of coverage path planning. In the case of inspection applications where the sensor is held at a distance, what we desire to know is a set of viewpoints from which the entire surface can be inspected using the sensor at those viewing points. This problem is generically known as the View Planning Problem (VPP) and in case we need to plan a route from one viewpoint to another (such that all viewpoints are covered), then that problem is a subset of the Traveling Salesman Problem (TSP). Both VPP and TSP are well known to be NP hard problems and their combination TVPP (Traveling View Planning Problem) is thus also NP hard [2]. There are also other ways of framing the problem such as the art gallery problem, the watchman route problem, and so on (see [1]) but the common solution to these is based on numerical optimization. Ref. [3] is another survey on coverage path planning algorithms, but this too covers mostly optimization-based techniques. The problem addressed here is the imaging of a curved panel for the purpose of Non-Destructive Testing (NDT), so as to cover the entire surface. We assume that the imaging will be done by a device like a camera. The device (camera-based NDT system) will be moved to a set of viewpoints, oriented at the appropriate angle and then the images would be taken. Since the viewpoint can be placed anywhere in space and oriented in any direction, in general, there may be an infinite number of viewpoints from which the surface may be viewed. In our paper [4], we show a method for planning the coverage by manually selecting each viewpoint. Figure 1a shows a generic viewpoint at which a camera is placed and oriented with its viewing frustum capturing the image of the panel from that viewpoint (according to the parameters of the view camera). Considering that a surface mesh is a discrete representation of the panel surface consisting of surface elements like polygons, we can reduce the solution space by just assuming a single viewpoint for each surface element which is normal to the surface at that point. This is shown in Figure 1b, where we have generated a viewpoint for each surface patch (the surface patch here being one triangle of a triangle mesh) using the normal to the surface. Each viewpoint can capture more than one surface patch (in this example, viewpoint V6 covers surface patches S4 to S8). Then the optimization problem becomes a matter of choosing a minimum number of viewpoints such that all the surface patches are viewed. If we use the above approach with the surface modeled as a triangle mesh we will be having thousands of surface elements and viewpoints even for a simple surface and these will all be variables for optimization and thus would need a commercial solver to solve it in any reasonable amount of time. Ref. [2] shows a typical approach to solving TVPP with numerical optimization using IBM Cplex solver, which is not only expensive but difficult to integrate into custom applications. Another example [5] explores the topic of coverage path planning of outdoor structures with UAVs using optimization-based methods, the results of which can be seen in Figure 2A. In [5], the church model has been simplified to just 200 triangles in order to keep the optimization algorithm from taking a massive amount of time. Ref.