Abstract
Advancements in robotics and autonomous systems are being deployed nowadays in many application domains such as search and rescue, industrial automation, domestic services and healthcare. These systems are developed to tackle tasks in some of the most challenging, labour intensive and dangerous environments. Inspecting structures (e.g. bridges, buildings, ships, wind turbines and aircrafts) is considered a hard task for humans to perform and of critical importance since missing any details could affect the structure’s performance and integrity. Additionally, structure inspection is time and resource intensive and should be performed as efficiently and accurately as possible. Inspecting various structures has been reported in the literature using different robotic platforms to: inspect difficult to reach areas and detect various types of faults and anomalies. Typically, inspection missions involve performing three main tasks: coverage path planning, shape, model or surface reconstruction and the actual inspection of the structure. Coverage path planning ensures the generation of an optimized path that guarantees the complete coverage of the structure of interest in order to gather highly accurate information to be used for shape/model reconstruction. This article aims to provide an overview of the recent work and breakthroughs in the field of coverage path planning and model reconstruction, with focus on 3D reconstruction, for the purpose of robotic inspection.
Introduction
The ongoing developments in the field of autonomous robots have witnessed a growth in utilizing different robotic platforms in real life applications. The interesting application of robotic inspection involves many robotic application domains employing different kinds of robotic systems such as unmanned arial vehicles (UAVs), unmanned ground vehicles (UGVs) and marine robots. Inspecting large structures is particularly important in applications that require maintenance, fault traceability, anomaly and defects detection and model digitizing.
Technically, inspecting structures requires various robotic capabilities such as localization in the environment where the structure exists, path planning and navigation in order to compute a set of achievable routes, sensing and perception in order to gather information about the structure from different viewpoints along the route. As such, it is important to equip the robot with intelligent sensing capabilities that enhance the quality of the information gathered in order to reconstruct and inspect the structure of interest accurately. While utilizing robotic systems in inspection applications, majority of existing approaches attempt to reduce the computational cost (time need to compute and execute the inspection mission), avoid collision with the structure of interest and gather information with sufficient resolution for anomaly detection.
Initial attempts that involve robots inspecting structures in real-life scenarios were done in different environments and for different applications. For instance, Nokia started recently using SecuTronic INSPIRE drones for tower inspection, line of sight testing and radio site planning in order to optimize telecomm networks. 1 San Diego Gas and Electric Company is using drones for inspecting power lines, pipelines and other remote infrastructures. 2 Roads and Maritime Services in Australia is using grit blasting robots for cleaning bridges by scanning areas, creating 3D maps and calculating the sand blasting force. 3 Boeing, the largest aerospace company in the world, started to use a UAV platform for inspecting aircraft for lightning scratches and burns. 4 Performing inspection missions with robotic platforms reduces the cost and time and increases the accuracy in comparison to conventional inspection processes.
The two main challenging research topics related to inspection are coverage path planning (CPP) and workspace 3D reconstruction. CPP is the process of computing a feasible path encapsulating a set of viewpoints through which the robot must pass in order to completely scan the structure of interest. The set of generated viewpoints affects CPP since it defines the positions and orientations of the sensor from which the data will be perceived affecting the overall coverage. The efficiency of the CPP algorithm is measured by the planning completeness and convergence speed. On the other hand, workspace 3D reconstruction is a task during which the set of high-quality data, gathered during the coverage path execution, is fused in a mapping procedure to provide the complete and accurate model to be used for inspection. The accuracy of the reconstructed model is an important inspection performance metric, which is evaluated by the resolution of the gathered information and how close the reconstructed model is to reality. The method of information gathering, whether it is continuous or discrete, and the 3D mapping or reconstruction methods (online or offline) are all considered contributing factors that will affect the model quality and the inspection performance.
The inspection process usually starts by generating a set of viewpoints, together with the optimized path to follow to visit those view points, followed by a data gathering step, during which the robot uses the onboard sensors to collect data about the structure. Next, the data gathered will be used to construct a 3D model of the structure that will be used for inspection. This inspection sequence is depicted in Figure 1. Coverage completeness is used to quantify and evaluate the quality of the 3D reconstruction models and to determine whether all the critical areas have been covered during the inspection. The overall robotic inspection process could be performed manually or autonomously, with or without a reference model, online or offline (coverage path generation) and continuous or discrete (viewpoints generation along the path) based on the application scenario, the nature of the structure of interest and the source of the defects.

The main components of the robotic inspection system.
In this survey article, the main components of the robotic inspection process are defined and reviewed in separate sections. Section ‘CPP’ focuses on CPP and its components. Coverage exploration and viewpoint generation strategies will be reviewed in section ‘Coverage exploration and viewpoint generation’ and coverage completeness in section ‘Coverage completeness’. In section ‘Workspace 3D reconstruction’, different 3D reconstruction methods are discussed including 3D environment mapping in section ‘3D environment mapping’ and 3D structures reconstruction in section ‘3D structures reconstruction’. An overview discussion of the main aspects of robotic inspection is presented in section ‘Discussion’. Finally, conclusions are drawn in section ‘Conclusion’.
CPP
CPP is a task during which a robot must explore in details a workspace, whether it was an environment or a structure of interest, 5 –7 and determine in the process the set of locations to pass through avoiding all possible obstacles. CPP is important in applications where the complete coverage of an area has to be performed, similar to robots used for floor cleaning, lawn mowing, agricultural surveying, surveillance, structure painting, bridge grit blasting, geo-spatial mapping and object reconstruction. Generally in CPP, either a reference model of the structure or the environment is provided in advance or the model is reconstructed using the sensing capabilities of the robot in real time. 5,7
Galceran and Carreras 5 provided an extensive review of the most successful CPP methods discussing their functionalities and the applications using these methods. CPP can be performed either offline using a model encapsulating the static information of a known environment or online where real-time sensor measurements are used to cover the workspace. 5,6 The classical exact cellular decomposition category in the study by Galceran and Carreras 5 describes mainly offline algorithms, while the online algorithms are described under morse-based cellular decomposition, landmark-based topological coverage, contact sensor-based coverage of rectilinear environments and graph-based coverage categories. In addition, grid-based coverage, 3D coverage, optimal coverage, coverage under uncertainty and multi-robot coverage categories include both online and offline algorithms. 5
The main components of CPP include defining the exploration method, generating viewpoints and planning an optimized path, and quantifying the coverage completeness. The viewpoints generation and path planning components depend directly on the exploration method used to cover the structure of interest. Viewpoint generation and coverage exploration will be surveyed in detail in section ‘Coverage exploration and viewpoint generation’. CPP can be divided into discrete path planning and continuous path planning. Discrete CPP attempts to find a discrete set of viewpoints covering the workspace or structure, followed by finding an admissible route passing through the viewpoint set in an optimal manner. 8,9 Continuous CPP includes performing continuous sensing along the trajectory to be followed. 9
Discrete coverage path planning
Discrete CPP algorithms divide the planning problem into two steps: viewpoints generation to generate a discrete set of viewpoints and optimal path generation using multi-goal planning to connect the viewpoints. Discrete CPP algorithms provide sequenced waypoints for the robot to follow. The robot has to stabilize and perceive views at each waypoint in order to avoid missing sensory observations.
The work presented in the study by Englot and Hover, 7 Bircher et al. 8 and Hover et al. 10 uses an offline discrete sampling-based CPP algorithm to provide full sensory coverage of a 3D structure. Bircher et al. 8 inspected different 3D structures like the Big Ben and other structures using a UAV platform equipped with a visual-inertial (VI) camera utilizing the previous mentioned two steps: solving an art gallery problem (AGP) to find well configured viewpoints in space and then computing the optimal path with the lowest computational cost by solving a travelling salesman problem (TSP). Lin-Kirighan heuristic (LKH) TSP solver described in the study by Helsgaun 11 produces high-quality solutions in short time and it was used for solving the TSP in the study by Bircher et al. 8 This TSP solver includes a modified LKH heuristic rules in order to direct and restrict the search and achieve optimality effectively. The search strategy is modified and restricted to select small but large enough candidate sets based on a sensitive analysis of spanning trees. The research conducted in the study by Englot and Hover 7 and Hover et al. 10 inspected a ship hull to detect mines using an underwater robot by solving a coverage sampling problem using watchman route and redundant roadmap algorithms (first step) and then finding the coverage path shown in Figure 2 by solving a multi-goal planning problem using probabilistic road map (PRM) 12 and rapidly exploring random trees (RRT) 13 algorithms (second step). The approaches described in the study by Englot and Hover, 7 Bircher et al. 8 and Hover et al. 10 are iterative approaches used to achieve optimal or asymptotically optimal solutions.

Sampling-based path planning is often used in conjunction with discrete CPP to find a collision free path that passes through the viewpoints optimally. The two main properties that should be analysed for any sampling-based path planning algorithm include the probabilistic completeness and convergence. The most popular sampling-based algorithms that guarantee probabilistic completeness are PRM and RRT. 14 Karaman and Frazzoli 14 introduced the optimal version of the previously mentioned popular algorithms (PRM* and RRT*) by analysing their cost and optimality. RRT* introduced in the study by Karaman and Frazzoli 14 was used in the work of Bircher et al. 8 as a local planner in the case of obstacle existence. Research presented in the study by Papadopoulos et al. 15 proposed a new sampling-based path planning algorithm called random inspection tree algorithm (RITA), used particularly for inspection, and it guarantees both probabilistic completeness and optimal global path convergence. This algorithm deals with the visibility and control problems simultaneously instead of dividing the planning problem into two subproblems. Elizabeth et al. 16 also proposed a new sampling-based planning algorithm that is based on both RRT* and rapidly exploring random graphs (RRG), 17 and it guarantees both optimality and probabilistic completeness. It generates optimal trajectories based on large task specifications represented as deterministic mu calculus.
Continuous CPP
Continuous CPP is mainly focused on following a trajectory while perceiving sensed information continuously. Classical path planning algorithms are the most related algorithms to continuous CPP including cell decomposition, generalized Voronoi diagram and grid-based planning. These algorithms are adapted to satisfy coverage constraints. 5
A grid-based method was used in the study by Valente et al., 6 where a prior known map was decomposed into cells that should be covered by a UAV in an optimal path minimizing: the number of turns, turning angle and coverage completion time, in order to insure the continuity of the path. The grid-based method is easily converted to a grid graph consisting of nodes (representing the centre of the cells) and edges. An optimal solution of this grid graph represents a continuous smooth coverage trajectory that facilitates the continuous sensing of the environment of interest. This trajectory is found in the work of Valente et al. 6 using three solution options including tree-based search, heuristic-based search using wavefront planner and backtracking method and the pedestrian pocket algorithm that divides the grid cells into smaller cells to improve the computational cost. Another example of continuous coverage is illustrated in the studies of Atkar et al., 18,19 where an auto body painting planning method was developed to segment complex 3D models like a car into simple topological pieces (cells) and plan contiguous coverage paths over these segments minimizing geodesic curvature and providing uniform painting. The segmentation part of the algorithm is a cell decomposition performed using a slicing function that depends on surface geometry and topology to generate simple cells. In the study by Cheng et al., 20 a UAV platform was used to cover different urban buildings using planar looping trajectories that minimizes the coverage time considering the dynamics of the UAV. These trajectories are designed by developing simplified coverage models converting the problem to coverage of non-planar surfaces instead of complex 3D structures. Also, they are designed such that the data captured by the sensors mounted on the UAV platform will cover the urban buildings of interest continuously.
Coverage exploration and viewpoint generation
In the majority of the surveyed literature, coverage exploration algorithms are classified into model-based exploration and non-model-based exploration. The model-based exploration methods depend on the existence of a model of the workspace or the structure, while the non-model-based exploration is performed by exploring and planning paths without a prior knowledge of the structure. 21,22
Viewpoints generation and path planning are considered critical in the robotic inspection process since it aims to output an optimized path based on the generation of admissible set of viewpoints that covers the structure or environment of interest. It is performed in the literature using various techniques based on the inspection application and the coverage exploration method used.
Model-based viewpoint generation
The main aim of model-based methods is to provide a set of viewpoints that explores a structure or an environment in such a way that every area of the structure is visible. 21 Many of these approaches consider properties such as sensor specifications that determine frustum field of view (FOV) and shadow effects, object shapes and material properties and image overlapping properties used during image integration. 21,22 Model-based view planning methods are further divided into three categories based on the information embedded in the model of the structure including set theory methods, graph theory methods and computational geometry methods. 21,22
The set theory methods depend on two significant matrices: visibility matrix and measurability matrix. 21,22 The visibility matrix stores the visibility information of each object surface point in the view point space, while the measurability matrix stores measurement quality information based on sensor frustum shape, sensor shadow effects and measurement variations along the frustum. 21,22
The graph theory methods depend on graph data structures that consist of nodes and arcs. 21,22 The nodes represent object aspects that are the viewpoint space regions with equivalent visibility, while the arcs represent the aspects’ adjacency. 21 These aspect graphs introduce computational issues and difficulties, which make them not suitable for representing a view planning problem. 21
The computational geometry methods mainly deal with solving an AGP to generate the set of viewpoints for structure coverage. 22 AGP deals with polygonal areas in order to determine the minimum number of viewpoints that covers a structure or environment. 22
Set theory and computational geometry methods are the two most commonly used categories in the literature to generate an admissible set of viewpoints for coverage planning. Scott 21 presented a multi stage model-based view planning approach using a set theory method and improved the concept of the measurability matrix to reconstruct different object shapes using different laser scanning range cameras with different capabilities. This approach starts with an exploration phase during which a rough model of an object is constructed. The model is then used to scan precisely the object during a measurement phase resulting in a high-quality reconstructed model. In the studies by Englot and Hover, 7,9 Hover et al. 10 and Englot and Hover, 23 a set of stationary views providing full coverage of a ship hull was obtained using a polygonal mesh of the ship hull and solving a set cover problem that generates a redundant roadmap consisting of the viewpoints. In the study by Dornhege et al., 24 different search-based algorithms were used utilizing a known map in order to generate a set of sequenced viewpoints that provide full coverage. It was found that using set cover method with TSP provides the best set of viewpoints in terms of computation time and path cost. 24 Another model-based view planning method related to computational geometry methods was used in the study by Bircher et al. 8 This method uses a triangular mesh of the desired structure to determine the set of viewpoints with the best configurations by solving it as an AGP problem. Moreover, Janousek and Faigl 25 presented another model-based coverage method that uses triangular meshes of the objects of interest, together with the free space tetrahedral divisions in order to generate the motion planning roadmap and the coverage spaces, and finally find the inspection path as shown in Figure 3.

Coverage path generation using self organizing maps: (a) coverage planned path across the objects of interest labeled with red and (b) tetrahedral covering spaces. Source: Reused from the study by Janousek and Faigl. 25
Exploratory-based viewpoint generation
When a robotics system encounters an unknown environment or object, it needs to perform exploratory view planning concurrently with the reconstruction of the environment or the object. The sequence of iterative steps involved in solving this problem include robot localization, scanning, registration and integration and planning the next viewpoint. 26 Next best view (NBV) strategies are popular iterative algorithms used as exploratory-based view planning algorithms to cover and model structures in indoor environments. NBV strategy performs real-time exploratory sensing and decision-making to acquire a suitable sensor view that will be used with all the other previously obtained views to decide on the best location of the next view. 26 –28 In general, exploratory view planning algorithms like NBV are divided into three categories volumetric methods, surface-based methods and global-based methods.
Volumetric methods model the workspace as a grid of voxels and select the viewpoints based on the volume occupied by the structure. Surface-based methods, on the other hand, use the structure’s surface geometry to select the next views. Surface-based methods include three techniques based on the used surface geometry occluded edges, contour following and parametric surfaces. The occluded edges technique detects the geometric jump edges in the range images, indicating surfaces that are not yet sampled based on the premise that occluded edges infer not sampled surfaces. 21,22 The contour following technique involves covering a portion of the object of interest by a sensor while keeping it in close proximity to the surface. This technique works well for simple shapes but struggles with geometrically complex structures due to the complexity of collision avoidance in these structures. The parametric surface representations of super-quadric models are commonly used for simple objects or segmented complex objects since they are known to be flexible and compact in representation.
There has been many recent developments on NBV algorithms to enhance view planning and to make it more efficient. Vasquez-Gomez et al. 26 presented a NBV algorithm that enhances the scanning quality and reduces the navigation distance by following a search-based paradigm where the NBV is selected by evaluating a set of candidate views using a utility function. The utility function evaluates each view against different constraints such as information gain, positioning constraints (view reachability), sensing constraints (sensor FOV) and registration constraints (scans overlapping area). Krainin et al. 27 proposed a NBV method that gathers views by grasping the object of interest and moving it in the camera FOV in order to collect higher quality views, thus increases the dimensionality of the view planning problem. The gathered views incorporate the manipulator motion cost, which tends to increase based on the quality of the views. High-quality poses are selected based on the trade-off between the actuation cost and the view quality.
Another NBV method was proposed in the study by Vásquez and Sucar 28 which also follows the search-based paradigm but plans for good views in the presence of positioning errors in two phases: the first phase evaluates the candidate views, and the second phase preforms another re-evaluation. These views are re-evaluated using the convolution of two functions: the utility function and a Gaussian function that accounts for the positioning errors. A new exploration algorithm called nearest neighbour NBV (NN-NBV) was presented in the study by Quin et al., 29 which reduces the number of evaluated viewpoints considering the closest viewpoints in the configuration space. It also reduces the number of gain calculations, overall computations and the time required to perform the exploration.
Coverage completeness
The completeness of CPP is assessed by quantifying the percentage of the covered part of the structure compared to the original structure model. This component was presented in the literature as a critical part of the planning algorithm iterations and as a significant performance criteria.
The coverage completeness of model-based algorithms can be computed directly based on the baseline used in the planning procedure. Wallar
30
proposed a model-based coverage planner called planner for autonomous risk-sensitive coverage, used by a team of quadcopters to maximize area coverage in the
The non-model-based coverage planning completeness is calculated by evaluating the NBV and computing the termination condition. A coverage and exploration algorithm is proposed in the study by Heng et al, 31 a micro ariel vehicle (MAV) platform equipped with a RGB-Depth (RGBD) sensor to operate in an unknown environment. The coverage is measured by the number of visible voxel faces contained in the viewing frustum given a state position and a discrete yaw angle. The visible faces are found using a similar approach to z-buffering in which the pixels stored in the buffer correspond to the closest voxels with respect to the camera. 31 The algorithm tends to maximize the coverage by enforcing constant changes in the yaw angle as the MAV is moving towards the goal position that is chosen at each iteration according to its information gain (number of unexplored voxels). 31 The work presented in the studies by Vasquez-Gomez et al. 26 and Vásquez and Sucar 28 preformed complete model reconstruction under positioning error by computing NBVs that provide new information or scans, which could be registered and combined with the previous scans using iterative closest point (ICP). The views generated at each iteration are evaluated using a utility function that assesses the view according to the overlapping percentage, the scan quality and the distance travelled from the previous view. All of these comparisons are performed with respect to a voxel map that represents the reconstructed model. 26,28 In this work, the coverage percentage was quantified indirectly utilizing the overlapping percentage at each step. In addition to this, Lee and Lee 32 proposed a hyprid terrain coverage framework (HTCF) that includes a hyprid decision module, which considers the sloped surface conditions and differentiate between gradual and steep terrain in order to apply one of the following techniques: planar terrain coverage algorithm and a spiral path terrain coverage algorithm. The hybrid decision module checks the terrain coverage completeness at each step before deciding the suitable coverage technique until the terrain is completely covered.
Workspace 3D reconstruction
Detailed 3D models are increasingly being required for different kinds of applications such as structure inspection, urban planning, terrain surveillance, indoor mapping and navigation. In general, a workspace 3D reconstruction process involves four steps: viewpoint planning, scanning, registering and integration. 22 The 3D reconstruction depends on localization that is done as part of simultaneous localization and mapping (SLAM), an approach used in most reconstruction and mapping applications. Workspace 3D reconstruction is represented in the literature as a 3D mapping application of an environment or as a 3D reconstruction for a structure or object of interest. 10 We will survey each of these fields separately in the following sections.
3D environment mapping
3D mapping techniques are used in different robotic application scenarios such as search and rescue and surveillance scenarios. In some scenarios, fixed trajectories are followed in order to map an environment, while in others, CPP methods are used to ensure coverage of certain areas. Faessler et al. 33 proposed a system that can perform two significant operations autonomously, executing a given trajectory and providing a live dense 3D map using a UAV platform equipped with a camera. The main aspect of the system is the semi-direct visual odometry (SVO) that consists of two main threads: motion estimation thread that determines the camera position with respect to the map and mapping thread that extends the map while exploring the area. The real-time dense 3D map reconstruction was performed using an algorithm called regularized monocular depth algorithm. This algorithm is used to build dense depth maps in two steps: depth filter formulation and smoothness step utilizing the images and the poses generated by SVO. 33 Similarly, a real-time dense mapping was obtained in the study by Weiss et al. 34 using a single camera mounted on a MAV employing a visual SLAM algorithm. The proposed approach generates a 3D mesh from the extracted point cloud, which is then textured and used during obstacle avoidance and exploration.
Other 3D mapping frameworks are presented in the studies by Hornung et al. 35 (OctoMap) and Khan et al. 36 (RMAP). The OctoMap approach presented in the study by Hornung et al. 35 is based on octree data structure in which volumetric 3D environment models including free and unknown areas are generated using probabilistic occupancy estimation. The RMAP approach presented in the study by Khan et al. 36 is based on Rtrees data structure composed of rectangular cuboids (RCs) hierarchy. In this approach, an occupancy grid and axis aligned RC approximation are used to provide a 3D probabilistic representation of the environment with multi resolution capability. The approach in the study by Khan et al. 36 demonstrated better memory efficiency than 35 due to the fact that RMAP preforms implicit free space modelling. Another more space efficient data structure is represented in the study by Morris et al. 37 based on a multi volume occupancy grid (MVOG). MVOG groups the observations of a 2D laser scanner as vertical volumes to represent free and occupied spaces of 3D rectilinear indoor spaces.
Furthermore, octree-based maps were generated in the studies by Omari et al., 38 Schadler et al.39 and Fossel et al. 40 using and extending the OctoMap 3D mapping framework presented previously in the study by Hornung et al. 35 Omari et al. 38 proposed a navigation system for a UAV platform equipped with a VI sensor that estimates the UAV pose and generates real-time environment 3D maps for industrial inspection. The obtained depth images are converted into a 3D point cloud stored in an octree-based data structure that is updated whenever a new depth image is obtained by raytracing the new point cloud in the octomap. Schadler et al. 39 also proposed an octree-based 3D mapping method in addition to a real time pose tracking method utilizing two rotating laser scanners. The octree-based map representing the environment is a multi-resolution surfel (surface element) map in which the surfels store both shape parameters and reflectance distribution of the surface. The two main steps in registering the local multi resolution surfel maps generated by the 3D laser scans are surface association and pose estimation. An OctoSLAM algorithm was presented in the study by Fossel et al. 40 where an extended version of the octree representation was combined with an online occupancy grid map learning algorithm (scan registration) called Hector SLAM. Different data perceived by various sensors mounted on a UAV platform were fused by the OctoSLAM algorithm to generate the map including 2D laser range finder scans and the altitude and attitude sensor data. In the study by Saarinen et al., 41 a novel 3D spatial online mapping approach was proposed and it is represented as the normal distributions transforms occupancy grid map. It showed a high performance in the number of updates and multi resolution support in comparison to the Octomap approach. The proposed approach provides exact recursive updates and supports multi resolution maps and mapping dynamic areas. Moreover, a pipeline for 3D mapping using a laser range finder mounted on a MAV was presented in the study by Holz and Behnke, 42 where the pipeline consists of two algorithmic components: a pairwise registration algorithm and a global alignment algorithm.
A different approach for 3D mapping was presented in the study by Sehestedt et al. 43 utilizing a depth sensor mounted on a grit-blasting assistive device consisting of a robotic manipulator and a Xion RGBD camera. The mapping was preformed by starting with a workspace fundamental element, such as a roof point cloud, to identify other regions and narrowed down until the map matches a template, thus enhancing the geometrical accuracy of the map. The accuracy of 3D maps was the focus of, 44 where a fusion technique called invariant extended Kalman filter (IEKF) was used to combine RGBD images with motion sensor data to improve localization in order to provide accurate 3D maps. ICP was used for analysing localization error and performing localization using depth images.
3D structures reconstruction
In inspection applications, a 3D model of the structure is usually required. The previously mentioned ship hull inspection performed in the study by Hover et al. 10 reconstructed the vessels stern in order to detect mines. The reconstruction was performed using the data frames coming from a sonar range sensor, filtered and assembled into a point cloud. The point cloud is then subsampled using Poisson disk sampling and used to estimate the normals and determine the orientation of the point cloud. Maurer et al. 45 proposed an image-based 3D reconstruction pipeline that fuses images captured by a MAV with geospatial information in order to create georeferenced semi dense 3D models. The models created are considered an approximation of a digital surface model (DSM). Haala and Kada 46 focused on describing the use of elevation data originated from Light Detection and Ranging (LiDAR) or image matching to preform building roof reconstruction, assuming footprints were extracted before using the data. The described approach in the study by Haala and Kada 46 preformed reconstruction with parametric shapes, segmentation and DSM simplification.
A hybrid novel image-based modelling with a surface parametrization system was described in the study by Nguyen et al. 47 This method generates 3D models using a collection of unconstrained images employing two main approaches: structure from motion (SfM) and bundle adjustments. The stages of the reconstruction according to the literature 47 include camera parameter estimation using bundle adjustments, scene geometry refinement, surface reconstruction using Poisson surface reconstruction algorithm and finally texture reconstruction using surface parametrization. Remondino et al. 48 discussed 3D reconstruction using camera-based images taken during a UAV flight path planned for data acquisition. The camera calibration and image triangulation were performed using bundle adjustments and automatic arial triangulation techniques. The surface reconstruction was performed using automated dense image matching techniques or interactive methods. Different reconstruction projects using Pix4D, a tool that utilizes bundle adjustments approach, were able to reconstruct complex structures using UAV platforms such as mapping Chillon Castle and modelling Matterhorn Mountain in Switzerland. 49 –51 In addition to this, a live dense 3D reconstruction was presented in the study by Wendel et al., 52 where a proposed distributed reconstruction pipeline was used exploiting visual SLAM and depth map fusion methods.
Additional examples of 3D structure reconstruction using depth data perceived by RGBD sensors are presented in the studies by Sehestedt et al., 44 , Silva et al. 53 and Dong et al. 54 Silva et al. 53 proposed an improvement to an existing reconstruction pipeline using noisy RGBD images of an object to provide high-quality real-time reconstructions. This pipeline includes an improvement on the acquisition stage by creating a visual feedback represented by real-time 3D model update using the acquired images fused by KinectFusion implementation. The other improvements include applying a noise reduction technique that uses an edge preserving filter to improve the quality of images and performing offline reconstruction using the resolved data textured using digital camera images. In the study by Dong et al., 54 a visual odometry-based reconstruction method was proposed for generating consistent indoor spaces reconstructions. The proposed method combines the visual odometry data with high-quality RGBD data using KinectFusion.
Discussion
Inspecting structures usually involves navigating through an efficient route to explore the structure of interest, mapping or 3D reconstructing the structure utilizing the information gathered through the viewpoints encapsulated in the route, and analysing the model for anomalies and defects according to the application parameters. Two approaches could be followed based on the analysed literature, and these are summarized in Figure 4.

Literature analysis diagram.
The first approach involves using a priori model to generate a route offline and then execute the route for data gathering to be used in model reconstruction. The second approach involves performing an online route generation, data gathering and model reconstruction all together. In both approaches, a set of viewpoints will be generated either based on a model or an initial model view. Full model coverage and high resolution scans should be guaranteed in order to reconstruct an accurate model for inspection purposes. In both approaches, the reconstructed model is assessed and the coverage percentage is quantified based on the used coverage exploration method. The viewpoints generation and path planning components are critical for the inspection process, since different constraints could affect the generation of viewpoints and coverage paths. These constraints include sensor limitations, localization errors, scan footprint and the standoff distance from the model. Most of the work in the literature performed the path generation by addressing some of these constraints, which affected both the efficiency of the planning algorithm and the resolution of the collected scans.
The quality of the scans should be high enough to facilitate the inspection in a particular application. In the studies by Valente et al., 6 Englot and Hover 7 and Bircher et al., 8 a constant resolution was maintained by executing a route at a fixed distance, without focusing on the quality of the scans. In the study by Cheng et al., 20 a high resolution reconstruction is maintained by simplifying the models of the buildings and utilizing the sensor footprint area, sensor uniform angular resolution and sensor orientation, in order to reconstruct these buildings. The resolution in the study by Cheng et al. 20 is constrained also by the radius of the circular trajectory that was bounded in the experiment by a safety distance of 80 m and a sensor capture area less than 8777.14 pixels. This simplification is not useful while inspecting complex structures, since it could remove critical features that are important for finding anomalies, unlike urban features reconstruction.
Additionally, Galceran et al. 55 performed redundant fixed distance coverages of the same area in order to maintain high resolution. The redundant coverages increase the computational cost and affect the efficiency of the process. Similarly, in the literature, 21 a fine modelling method was proposed to enhance the deficiencies of a model by improving the resolution of the computed view plan. The fine modelling method starts with decimating or segmenting a rough model of the structure, then generating the view points and the view plan and finally executing the plan. After executing the plan, the collected data is evaluated according to the specific scanning objectives, then the low level scanning areas are identified and upgraded with additional targeted scans. For object reconstruction, this method was applied once but in inspection tasks, it was repeated multiple times, thus affecting the computational cost of the process.
CPP completeness is also considered a critical requirement, specially while inspecting complex structures. The complexity of the structure will affect the complexity of the planning procedure, the computational cost, the coverage completeness and the coverage convergence speed. The coverage path of such complex structures should be efficient enough to cover all the generated viewpoints in a short time consuming less resources. The average quadcopter fly time is limited to around 20 min and this should be taken into consideration when preforming real coverage experimentations using UAVs. 56 The method presented in the study Scott 21 took 1 h to reconstruct a complex structure while it took from 3.6 min to 28.1 min to reconstruct different shapes in simulation. In the studies by Englot and Hover 7 and Hover et al., 10 the coverage path distance was reduced using an improvement of RRT* method. Generating the initial path takes around 20 min, while the entire procedure of generating the initial path and preforming the improvements on the path takes around 2 h. The work presented in the study by Papadopoulos et al. 15 proved that the RITA algorithm converges to the optimal path, with completeness performance equivalent to that of RRG. In this method, the convergence gets closer to the optimal path when the algorithm is repeated for around 1 h. From these references, it is noticeable that enhancing the path comes at the expense of computational cost and experimental duration. This is particularly evident when online planning and execution is performed, while performing offline planning will not affect the experiment duration.
In addition to this, the work performed in the study by Dornhege et al. 24 detailed the duration of viewpoints generation and CPP for different location sizes such as a lab, arena and campus. It presented the cost and the timing for these locations using different coverage search algorithms showing that NBV methods take much longer time than using other model-based algorithms. The work presented in the study by Janousek and Faigl 25 showed that increasing the number of epochs shortens the resulting inspection path using self-organizing maps. Moreover, structure segmentation was performed in the studies by Atkar et al., 18 Cheng et al. 20 and Scott 21 to generate coverage plans for each segment, but this will take a long time for complex structures since they contain a lot of critical and small parts.
Another important aspect affecting the duration of path execution is the sensing technique, whether it is performed continuously along the path or discretely at each viewpoint. Most of the analysed literature used discrete sensing, since it allows the robot to stabilize before scanning and avoid missing observations, but following this approach increases the inspection duration as described earlier.
The second important aspect in robotic inspection applications is the 3D reconstruction process, during which the data gathered are combined to create an accurate 3D model of the object or structure of interest. 3D reconstruction could be handled offline, after the coverage path execution and data gathering processes, or online where CPP and data gathering are being performed consequently as described in the diagram shown in Figure 4.
3D reconstruction and mapping algorithms deal with point clouds, 2D images data and other forms of data that are considered complex data, which requires an efficient memory representation to encapsulate the generated model. The literature presented in the studies by Hornung et al., 35 Omari et al. 38 and Fossel et al. 40 used an octree data structure for representing the 3D environment maps. One of the advantages of octree is that the initialization of the map volumes is delayed until the map integration process, unlike fixed grid structures. Another data structure representation illustrated in the work of Khan et al. 36 is the Rtree that consists of RCs instead of voxels. The approach described in the work of Khan et al. 36 generates variable-sized cuboids that reduce the memory complexity and make the memory efficient for axis aligned surfaces. Another efficient data structure discussed earlier is the MVOG presented in the study by Morris et al. 37 for representing rectilinear indoor environments.
Another important part of the 3D reconstruction and mapping procedure is the camera localization, usually preformed by different methods in the surveyed literature. In some of the literature, 34,52 the localization is preformed as part of a visual SLAM algorithm, while searching for corresponding features in the collected scenes. In the literarure, 45,47 SfM was used to determine the camera position and orientation. Another method for localization and motion estimation is the SVO proposed in the study by Faessler et al. 33 for MAV localization in environments containing highly repetitive texture.
The components of the CPP process used in the surveyed work in this article are summarized in Tables 1 and 2. Table 1 summarizes the surveyed research on the model-based approaches, while Table 2 summarizes the surveyed research on the non-model-based approaches. In these tables, each article is summarized in a row, where the columns list the viewpoints generation method, the coverage path generation method, the evaluations of the coverage method and the application performed. Different evaluations are performed in terms of path planning completeness, coverage completeness and convergence and the quality of the scans. The 3D reconstruction work surveyed is summarized in Table 3. In this tables, each article is presented in a row, where the columns list the sensors used, the algorithms developed and additional properties described in that article.
Summary of model-based coverage path planning approach references.
AGP: art gallery problem; TSP: travelling salesman problem; LKH: Lin-Kirighan heuristic; PARCov: planner for autonomous risk-sensitive coverage; UAV: unmanned arial vehicle; FOV: field of view; ROI: regions of interest; SLAM: simultaneous localization and mapping; PRM: probabilistic road map; NBV: next best view; SfM: structure from motion; CSP: Coverage Sampling Problem; WRP: Watchman Route Problem.
Summary of non-model based coverage path planning approach references.
DSM: digital surface model; NBV: next best view; AXBAM: Autonomous exploration to Build a Map.
Summary of the 3D reconstruction approaches references.
DSM: digital surface model; RC: rectangular cuboid; MVOG: multi volume occupancy grid; ICP: iterative closest point; VRIP: volumetric range image processing; IVIA: IMAGO volumetric integration algorithm; SLAM: simultaneous localization and mapping; SfM: structure from motion; EKF: extended Kalman filter; RANSAC: Radom Sample Consensus.
Conclusion
In this article, we have surveyed the literature related to the inspection of structures using robotic systems. The major components of inspection are identified and discussed. The CPP problem has been addressed using different approaches in the literature based on a reference model of the object. The model-based CPP research work reviewed in this article dominates the non model-based research work performed in the application of inspection. The model-based approach utilizes the existence of the priori static knowledge of the structure of interest in order to generate a coverage path that passes through an admissible set of viewpoints and provide maximum coverage for reconstruction and inspection. The non-model based approach evaluates next best candidate views to provide the maximum coverage based on the coverage and information gain using different utility functions. The model-based approach performs the CPP offline, while the non-model based approach performs a cycle of online iterative steps including candidate views generation, evaluation and path planning, scanning and reconstruction. The reconstruction process is performed using different approaches that range from simple structure reconstruction to complex environments mapping and reconstruction. In general, the two main methods for performing inspection using robotics involve finding an optimized short path passing through a set of viewpoints that provide full coverage and high quality scans, and reconstructing an accurate model utilizing the collected scans in order to detect or trace anomalies and faults in the constructed model.
In real-life inspection applications, accuracy and coverage completeness are considered two major concerns. Although several research work preformed CPP and 3D reconstruction in different inspection applications, little attention has been given to incorporating sensor accuracy and coverage completion in CPP methods. In addition to this, most of the reviewed literature either preformed coverage on simple geometrical structures or performed model simplification before applying CPP using the structure model, which in both cases affect the reconstructed model accuracy and coverage completeness. Therefore, incorporating sensors accuracy during coverage planning, and extensively evaluating coverage completeness are still considered open research areas in this field that require further investigation.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
