Autonomous mobile robot for visual inspection of MEP provisions

Quality control inspection is an imperative procedure in the construction industry. During construction, to get the plaster clearance of a specified area, the quality control engineer has to validate the mechanical, electrical and, plumbing (MEP) provisions laid out in the construction site with an engineering drawing approved by the consultant. The proposed system illustrates the implementation of an autonomous mobile robot (AMR) for inspecting MEP provisions amidst the construction phase. Power distribution, heating, ventilation, air conditioning (HVAC), telecommunications, water supply, and drainage are few examples of MEP engineering subsystems. In this paper, the main focus is on the inspection of plumbing services. These include provisions for washbasin and faucet in washrooms and sink in the kitchen area. The feedback program generated gives the evaluation result on the count of plumbing provisions inspected.


Introduction
Industrial revolution 4.0 brings in automation of conventional practices by using modern technologies. Like any other sector, robotic solutions and automation processes have made its presence felt in the construction industry. But, there are still many departments within the construction industry that follows conventional ways. One such area is the quality control department. The quality control department is in charge of inspection work on the construction site. It is also responsible for granting clearance to civil or plastering contractors.
Nowadays, a large proportion of construction projects are tendered to specialization companies. These include mechanical, electrical and plumbing (MEP) contracting companies that works on MEP services and civil contracting companies which deals with concrete and plastering work. Both the MEP contractor and civil contractor have to work together for efficient and effective tracking at each phase to facilitate a smooth flow of work. The MEP contractor assigns an inspection engineer to check whether all the provisions of their services are put together effectively before providing clearance to the civil contractor. The first stage is the placement of thermocol in the space assigned by the civil contractor, with the aid of MEP engineering drawing. Engineering drawings for each service is drafted during the initiation phase of the project. The MEP services include water supply, television, drainage, phone, LPG, etc. In the second stage, the MEP inspector is provided with the drawing that contains the MEP provisions. The inspector will visit the site and verify the placement of service provisions in the construction site with that of the engineering drawing. This quality inspection ensures the effective mapping of the services from the engineering drawing sheet to the real world. Inspection of small-scale projects such as a single apartment would be an easy task. However, most of the construction projects consist of multiple towers with more than ten floors. When there are many areas to inspect, the engineer may lose interest eventually as the process is tedious and could affect the efficiency and quality of the inspection. Quality control inspection is one of the indispensable procedures in the construction of a building. Inspection occurs at every stage of the construction phase. Majority of the post-construction inspections are already automated [1][2][3]. However, there has been relatively little breakthrough in the implementation of robotic solutions in inspection procedures during the construction phase.
This paper proposes the implementation of an autonomous mobile robot (AMR) for automating MEP inspection during the construction phase. ArUco markers mark the provisions for the services. Detection of these ArUco markers validates and inspects the service provisions. A robot operating system (ROS)-based simulation is done on Clearpath Husky A200 mobile robot platform with sensors such as laser scanner and camera mounted on it. Adaptive Monte Carlo Localization (AMCL) algorithm is used to avoid dynamic obstacles in the construction site. An algorithm is developed to provide feedback on the number of water supply provisions the AMR has detected. Section II discusses the literature survey. Section III explains the overall system. Section IV and V discusses the methodology adopted and simulation results respectively.

Related Works
In construction and facility management, mechanical, electrical, and plumbing (MEP) engineering make up a large part of a building's structure. MEP engineering has a direct impact on efficiency, protection, and energy consumption of the building [1]. Power distribution, telecommunications, fire protection, water supply, HVAC and drainage are examples of MEP engineering subsystems. Automation of construction quality assessment is one of the areas of interest for researchers. Lili Liu et al. [2] surveyed the state-of-the-art post-construction quality assessment methods and concluded that infrared thermography and 3D laser scanner are useful tools for automated robotic systems. An example of the automated robotic system is discussed by R.J.Yan et al. [3,4]. The QuicaBot can search an entire space autonomously using cameras and laser scanners to detect structural flaws such as hollowness, cracks, evenness, alignments, and inclination. Most of these research works suggest solutions for automation of the inspection process post-construction. This paper proposes a robotic system for automating MEP inspection during the construction phase.
The research paper by S.Garrido-Jurado et al. [5] put forward a new fiducial marker named ArUco marker developed to overcome the problem of occlusion. The ArUco marker is a synthetic square marker composed of a wide black border and an inner binary matrix that determines its identifier (id). The paper also proposed a method to automate the detection of the markers. P.Krishna et al. developed a new method for extracting the license plate region from a vehicle's picture taken from the rear end. Digital image labelling was used to segment the characters on the license plate, and template matching was used to recognize them [6]. In the research conducted by M.Sani et al. [7], they developed a system to navigate a quadrotor automatically and land in an indoor environment by employing an ArUco marker in the landing area. An improved method of adding four-function circles on the diagonal of the ArUco marker was proposed by Y.Wang et al. The centres of the circles are fitted into a straight line using the least square method to change the ArUco marker's corners [8]. It was concluded that the 3 measurement's robustness and stability have improved after using the improved marker for ranging. Another research [9] conducted by A.Zakiev et al. proposed a detection comparison between April tag and ArUco markers under the effect of noisy sensor data. Upon ideal Gaussian noise, both could be detected with the same accuracy. At a moderate Gaussian noise level, ArUco markers were detected thrice faster than that for April tags.
From the literature survey, it is concluded that a fiducial marker could help the AMR in the proposed system to successfully identify the target from the surrounding world in the construction site. Since the research discussed in this paper focuses on construction sites where noise is unavoidable, ArUco markers are preferred over other fiducial markers.

Robot Model
The construction sites are exposed to rough terrain and rapid movements. Husky Unmanned Ground Vehicle (UGV) is built in a way to tackle challenging real-world terrain with high precision control [10]. Husky is a mobile robotic platform that supports ROS. ROS provide various packages for robot control, description, navigation, etc. Sensor plugins such as laser scanners and cameras are readily available with these packages. The data from the laser scanner is used by the AMCL algorithm for the localization of the robot. The camera gathers visual data that help in ArUco marker detection. Fig.1 shows the husky robot model in the virtual world. is an open-source platform that enables researchers and developers to construct and reuse code between robotics applications. It is a cross-collaborative platform. In ROS, the software is organized into packages [11]. A package includes ROS nodes, ROS-independent library, data-set, configuration files, software from the third party, and other technically useful modules. The purpose of these packages is to include useful features in an easyto-consume way so the program can be reused easily. In this research work, existing packages Gazebo is a well-designed simulator that makes it possible to test algorithms, design the robots, and conduct regression testing in diverse indoor and outdoor settings [12]. Gazebo offers users a powerful physics engine, high-quality graphics, and simple programmatic and graphical interfaces at their fingertips.
AutoCAD is used for a wide range of design processes as a computer-aided drafting program. One of the applications includes the drawing of electronic versions of the real world. All the functional services inside the building are a result of multiple stages of clearance tests. A simple CAD drawing can be used to trace back all the stages, which makes AutoCAD an inevitable tool in the construction process. The MEP drawings of the building are of utmost importance even after several years of completion of construction, as it plays an important role in the maintenance of the building. Fig.2 represents an overview of the system used in the current research.

ROS Packages
3.3.1. follow waypoints: The 'follow waypoints' node listens to waypoints given as poses and follows them one after another by publishing them as goals to ROS 'move base' package. The 'move base' package executes the robot navigation when instructed. For sequential navigation to all waypoints, 'follow waypoints' will buffer 'move base' goals until instructed. This package stores the destination pose values in sequence and navigates to each of them after completing the former one. The package helps the navigation of AMR to the inspection area, rather than traversing the entire apartment. The location coordinates of the provisions to be inspected are stored in a separate file. Path planning of the AMR to these locations is done by publishing the file to the '\start journey' topic.

aruco ros:
'aruco ros' is a package, as well as ROS wrapper explicitly designed for the ArUco, augmented reality marker detector. It helps in the tracking of high frame rate AR markers. They can generate markers of required size and when there are more markers to track, this will optimize minimal perceptive ambiguity. Since each marker has a unique id, it can be assigned to denote individual water supply provisions and can be used for their detection. In OpenCV, the ArUco module has a total of 25 predefined marker dictionaries. In a dictionary, all markers contain the same number of blocks or bits (4x4, 5x5, 6x6, or 7x7), and each dictionary contains a fixed number of markers (50, 100, 250, or 1000). Also, there are many online marker generators available as well. In this work, markers are generated based on the DICT ARUCO ORIGINAL dictionary.  In the next phase, a world is generated using the OGM and the building editor tool from Gazebo. The map is loaded and localization is made effective by implementing Adaptive Monte-Carlo localization (AMCL). ArUco markers are placed in the generated environment, and evaluation is done. Each MEP service is assigned with ArUco markers with a particular set of id's. Table 1 shows the marker IDs used in the Gazebo world for water supply provisional inspection.

Simulation
The simulation of the proposed system consists of three stages. The first part is the localization of the robot from its home position to the location of different water supply provisions in the gazebo world. The second part deals with the identification of ArUco markers fixed in place of the MEP provisions. The final stage involves informing the inspector about the detected ArUco markers/MEP provision. This part is achieved by manually creating a node that subscribes to the '\aruco ros\result'. The algorithm informs the inspector about the count of MEP service provisions detected in the area visited by the AMR.

Path Planning
Navigating autonomously into the desired areas of the inspection is carried out by the 'follow waypoints' package. The destination values are loaded into a separate 'pose.csv' file which publishes these values into the '\start journey' topic. They provide the position and orientation values of the robot along the path to be traversed for carrying out the inspection. The orientation values provided by Gazebo are Euler angles. These are converted into quaternion functions before feeding them into the 'pose.csv' file. The 'follow waypoints' package then uses the AMCL and the 'move base' packages of ROS to carry out the robot navigation.
The robot is initially at the home position located in the lobby area. The robot starts its journey from the home position to its first goal position. The first goal for inspection is the washbasin provision inside the toilet area, marked with ArUco marker id 210. Upon completing the first goal, the robot reroutes its path to the next water supply provision. The process is repeated until the robot detects all the three remaining provisions in the simulation which are marked with ArUco marker id's 220, 230 and 240 respectively. After detecting the last ArUco marker inside the kitchen area, the robot traverses back to its home position.

Marker Detection
Each ArUco marker has a unique identification number based on the dictionary that has been used to generate them. ArUco markers are fixed in those areas where service provisions are needed. The markers used in this research are solely for visual detection. To gather the visual data, an Intel RealSense camera module plugin attached to the robot is used. The raw image data from the sensor is used by the 'aruco ros' package to carry out the ArUco marker detection. It continuously search for the ArUco markers and provides feedback when an ArUco marker is detected.

Results and Discussions
The proposed system aimed at using an AMR to inspect the MEP services on the construction site is simulated successfully. Fig.5 shows the different phases of each service during the simulation at a particular instant. The visualization in Rviz is shown in fig.5 (Left), and the gazebo view at the same instant is given in fig.5 (Centre). The visual data feed from the camera module mounted on the robot is shown in fig.5 (Right). A blue line in the Rviz view represents the path planned to traverse the robot to the next water supply provision that needs to be inspected. In fig.5(a), the robot has started its journey towards the first provision located inside  Fig.5(b) shows the completion of the first goal position and rerouting towards the new goal, which is the location for the second water supply provision. The detection of washbasin (id 210) and water closet (id 220) can be seen in fig.5(b) (Right). Fig.5(c) shows the path planning and traversal taken by the robot to inspect the third water supply provision marked by the id 230(bath tub). The detection of the provision id 230 can be seen in Fig.5(c) (Right). The final water supply provision is located in the kitchen area. The Rviz view of fig.5(d) shows the path planned to reach this goal. The gazebo view in Fig.5(e) (Left) shows the robot at the entrance of the kitchen. The detection for the fourth and final ArUco marker of id 240 is shown in Fig.5(e) (Right). After completion of this goal, the robot plans the path for returning to its home position. Fig.6 shows an effectiveness test carried out for the detection of ArUco marker from angles varying from 0 degrees to 180 degrees over an area spanning up to 9 sq.meters. A test ArUco marker of id 250 placed at the marker frame origin is detected by the robot's camera as shown in the fig.6. Marker is detected successfully from 2m to 8.5m when the robot's camera frame is 90 degrees away from it. The test shows that the detection takes place even at acute angles of 15 degrees, at 2m. Detection takes place even at 1m distance but only when the angle is at 60 degrees. From the test, it can be inferred that when the robot is placed at an optimum distance of 2m to 4m, it can detect ArUco marker with orientation ranging from 20 degrees to 160 degrees. The test shows that an optimum critical value for detection is 20 degrees as the detection of marker at this angle happened at distances from 2m to 4m. This helps in generating waypoints to where detection is required and has been used in the test case for simulation.

Conclusion and Future Work
The research paper proposed the usage of an autonomous mobile robot in the quality inspection of MEP service provisions at the construction site. Simulation and analysis of the proposed system are carried out successfully for plumbing service provisions. The minimum distance and angle for the detection of the arUco marker by the AMR are identified. The research work is a stepping stone in automating the first fix of MEP installation inspection. Future work includes the implementation and testing of the algorithm on an AMR in the construction site. In addition, the application of machine learning and computer vision algorithms can help in automating the second and third fixes of MEP installation inspection.