Automated Robotic Inspection
Automated Robotic Inspection
control system and software architecture in section IV. A more detailed description of the supported operations is given in section V. The paper concludes in section VI, where future work is also outlined. II. PROBLEM DESCRIPTION Large steel and aluminium plates are used extensively in industry. Typical usage is in ship-building, oil storage tanks and oil tanker ships, as well as in automotive industry for car panels and other components. Several such plates are often welded together, as typically happens in oil tanks. A pertinent problem in industry is the presence of weld defects or corrosion on the plates. Extensive corrosion or damage in welded plates can have profound environmental or financial consequences, especially in the case of above ground oil storage tanks. Brand new plates have to be inspected for quality control, whereas regular inspection of plates in oil tanks is even required by regulations. Inspection for corrosion and weld defects is usually carried out manually using ultrasonic or electromagnetic techniques. The time required to manually place the various scanners over large surfaces is quite long and the whole procedure costly. For example, automated inspection at manufacturing stage involves large scanning systems costing in excess of 1m Euros, while manual inspection with operators carrying scanner trolleys are lengthy and prone to subjective operator errors. There is a clear need for automated NDT inspection systems for inspecting steel plates. The work reported in this paper forms part of the work of the Robot Inspector project (EU G1ST-CT-2002-50183). The project is developing an automated NDT system for the inspection of large steel plates for corrosion and weld defects. The main idea is to employ a mobile robot platform, customised to carry and deploy appropriate NDT equipment in order to perform scanning of the plate surface for corrosion and of the welded parts for defects. For this purpose, three different NDT probes are utilised. First, a drycoupled ultrasonic wheel probe from Sonatest is employed for corrosion scanning. Second, phased array (PA) ultrasonic from TWI and an Alternating Current Field Measurement (ACFM) probes developed by TSC Inspection Systems are employed for weld inspection. The weld scanning probes are appropriately mounted within a probe holder frame. The wheel probe is carried by a separate holder, which enables raster scan movements to be executed. The weld inspection
I. INTRODUCTION Robotic solutions are increasingly replacing humans in carrying out non-destructive testing (NDT) inspection tasks. The advantages are profound as automated inspection can reduce risks posed to human operators, costs involved in laborious manual inspections and errors introduced by the operators. Examples have been reported in steel structure inspections [1], nuclear power stations [2], pipe inspection [3] and sewer inspection [4], to name a few. Oil storage tank inspection has also been the focus of development effort for robotic solutions [5], [6]. Our work focuses on automating the inspection of steel plates. Such places are inspected extensively during manufacture and fabrication. Oil storage tank floors are also composed by welded steel plates. Their inspection is often carried out manually by skilled personnel. Such difficult conditions may reduce the operating ability of technicians, leading to poor performance and low-quality subjective assessments. Therefore, automating the inspection task is desirable. Such a research effort is reported in this paper. The system under development is based on a mobile robot platform and is designed to carry and deploy ultrasonic and electromagnetic sensors in order to scan plates for corrosion and welds for defects. The robot control is designed to facilitate three different types of weld scanning plus inspection for corrosion. This paper is structured as follows: Section II provides a brief problem description. In section III the hardware configuration is outlined, followed by a description of the
probes are deployed by pneumatic actuators, while the frame itself is also pneumatically controlled to perform vertical and horizontal movements. Two different types of scans are considered, surface scanning for corrosion detection and linescanning for weld inspection. In order to tailor weld scanning for oil tank floor inspection, three separate weld scan modes are considered, namely fillet, overlap and butt weld scanning. The two probe holders are deployed via pneumatically actuated arms: one located in the front of the mobile platform for corrosion scanning; and one to the side of the platform, for weld scanning.
microcontroller board with RTOS, a PC 104, P800 on board computer with 128Mb RAM, 20Gb HD, Win XP and 802.11b WLAN. The platform had to be customised to carry two different arms for deploying the various probes. One front arm, carrying the holder with the wheel probe and a side arm for deploying the holder with the phased array and ACFM probes. Both arms are pneumatically actuated and their valves are software-controlled. The front arm supports a servo-driven sweeper, elevated via a solenoid. The side arm supports a more complex probe holder carrying the ACFM and two phased array probes, one for fillet and overlap welds and one for butt welds. The ACFM itself is design by TSC Inspection Systems so that it can be employed for all three types of weld scanning. The design concept of the side arm can be seen in Fig. 2.
Fig. 1: The NDT probes employed; Left: Sonatest wheel probe; Middle: TSC ACFM probe; Right: TWI phased array probe
A description of the probes (Fig. 1) will not be included here but will be provided in a separate paper. Here the interest is in the different requirements posed by the probes and their functionality in terms of deployment and scanning movement. The wheel probe is attached to a holder and can perform raster scans from left to right. The mobile robot will have to move forward a small distance and then stop to perform a scan from left to right or vice versa. While scanning, the wheel probe should be pressed towards the floor. A sequence of such scans results in an overall surface scan. The weld scans are quite different. During weld scanning the robot has to move with an approximately constant slow speed of up to 20mm/sec. During this movement the probe holder should be kept at such a position, so that the phased array and ACFM probes are aligned to the weld. This alignment poses different restrictions and requirements for the robot and side arm movements, depending on whether fillet, overlap or butt weld scanning is performed. These were taken into account in the choice of the mobile platform and the design and implementation of both the supporting arms and the robot control. The robotic platform and arms will be described in the next section, while the software architecture and robot control in section IV. III. HARDWARE CONFIGURATION The mobile platform employed is the P3AT platform from ActiveMedia. It is a skid-steer mobile robot with 4-wheel drive, 14kg weight and a nominal payload of 40kg, equipped with a LMS200 SICK laser rangefinder. Wheel movement is provided by DC motor servos with reduction drives and encoders. The platform hardware also comprises an H8S
Fig. 2: Side arm design: vertical movement for deploying the probe holder; lateral movement for extending/contracting arm during scanning; head rotational movement for compliance during oblique wall following
A NSK hardened steel rail together with a pair of linear guides was selected to operate on top of a support plate. A standard BOSCH aluminium profile was chosen to be the support arm, attached to the rail and the actuation system that provides the vertical movement of the probe holder. A Festo DSN type pneumatic actuator with 300 mm stroke is attached in such a way so as to act as a pneumatic spring, connected to the side of the aluminium beam via an angle bracket. A SIKO wire potentiometer is attached to the same bracket in order to feedback the extension of the lateral arm during the fillet and lap weld tracking. The probe holder is mounted at the end of two cross-mounted standard profiles attached to the small plate of the two rod ends. The rods serve as guides to the vertical movement actuated by the pneumatic actuator. The lateral arm implements two main types of movement. Up and down movement, enabling the deployment of the probe holder; and lateral movement, allowing compliant robot motion to be implemented, as supported by the developed robot controllers. It also supports a 30 / +30 rotation of
the probe holder head, so as to allow oblique fillet weld scanning. All movements are controlled by the developed software, via a FESTO CP10 valve bank. The arm extension is measured via the SIKO wire potentiometer, while the probe holder rotation via a standard 10k linear potentiometer. Fillet weld tracking was implemented by pressing the holder against the wall. The tracking was facilitated by the pneumatic actuator, functioning as a pneumatic spring, with the arm extension being fed back to the software controlling the robot motion. The holder head rotation angle was also fed back to the controller. Lap weld tracking was implemented in a similar way, but mechanical tracking was now implemented directly by a couple of cam followers mounted at the bottom side of the probe holder.
IV. SOFTWARE ARCHITECTURE The robot software executes on three interacting computer systems: 1. A microcontroller that handles interfacing with the robot electronics and low-level control functions 2. An on-robot PC that processes laser sensor input and handles higher-level robot functions, such as behavioural and fuzzy control, localization, path planning and Non Destructive Testing (NDT) specific functions 3. An off-robot PC that handles user interfacing and integration with NDT signal processing software
RiClient RiClientServices
When scanning a fillet weld, the robot moves roughly in parallel to the wall, pressing the holder against it. If the wall has a curvature, as happens in round above ground storage tanks, the arm contracts and the pneumatic actuator acts as a spring. Both the extension of the arm, as well the rotation of the probe holder head are measured via the potentiometers and they are employed as inputs to the robot control system, whose objective is to keep track of the wall, ensuring almost parallel to the wall orientation. Appropriate electronic boards have also been designed and incorporated to provide conditioning for the controller inputs, 24V power generation from 12V batteries and the necessary I/O functionalities. The front scanner arm design and implementation was much simpler, compared to that of the side scanner. The front arm is required to have sufficient lifting strength to carry and lift the wheel probe scanner. The final implementation of the integrated robot with the front and side arms is shown in Fig. 3. An additional air tank is incorporated for increased autonomy.
802.11b
ARNL
AROS
Fig. 4: The Robot Software Architecture
The microcontroller communicates with the on-robot PC via a serial interface which in turn communicates with the offrobot PC via an 802.11b wireless network or a standard wired Ethernet connection.
The overall architecture is presented in Fig. 4. The AROS layer runs on the H8S microcontroller board. It includes a real time operating system with drivers for the robot sensors and actuators and low-level PID linear controllers that implement velocity and acceleration control along the robot longitudinal axis and around the robot yaw axis. The real time operating system (OS) produces an information packet at a constant sampling rate (10 Hz) and sends it over the serial interface to the ARIA layer running on the on-robot PC. The on-robot PC runs the MS Windows 2000 OS, which, although not a real time OS, it is synchronized to a constant sampling rate by the information packet sent to it by AROS. This is achieved by assigning the thread that services the serial connection input higher priority than the other threads running on the PC. The ARIA layer receives sensor input from AROS, passes the information to the higher level layers running on the on-robot PC (ArNetworking, ARNL, SPIU and RAF) receives command input for the robot from these higher layers and forwards it to AROS. The services that ARIA provides to the higher levels include a subsumption based architecture manager [7] for behavioural control, interfacing to the laser rangefinder, a common interfacing class for accessing the robot state and a range data collection service for map building. The ArNetworking layer provides services that allow a client-server architecture to be implemented with the software running on the on-robot PC acting as the server. The client is implemented on the off-robot PC. The ARNL layer provides navigation and localization services. The navigation is performed using an on-line pathplanning algorithm based on gradient descent. The obstacles currently detected by the laser are combined with those stored in the pre-constructed map of the workspace and used to guide the robot. The localization algorithm is based on Monte-Carlo techniques where a stochastic estimate of the robot pose is used to transform of the current laser range data to the absolute coordinate system of the workspace map and compared to the map. The best robot pose estimate is taken as the current robot pose. The SPIU (Software Platform Interface Utilities) layer provides the implementation of a number of primitive behaviours that the robot supports. A notable type of such a (relatively) primitive behaviour is that of a Mamdani fuzzy controller, multiple instances of which are used to perform non-linear tracking of welded joints. This layer also encapsulates the hardware and lower level software specific features of the robot architecture, isolating the higher level algorithms (in the RAF layer) making them platform independent. The RAF (Robot Action Facilities) layer implements platform general robotic guidance and control operations and
NDT specific operations in a manner that is mostly independent from the underlying platform. This layer includes the implementations of multiple, composite behavioural controllers based on the subsumption principle. These are organized as states of higher level sequential (Finite State Machine, FSM) controllers, one subsumption based behavioural controller per state. At least one high priority behaviour in each state may cause a transition to some other state. Each such FSM is in turn considered a discrete mode of operation and is selected by the system operator who may asynchronously terminate it at any time from the client. These modes of operation are discussed further in the next section. The RiServer is the actual executable task running on the on robot PC. It implements 5 threads of computation: 1. 2. 3. 4. A main thread that sets up the software subsystem, starts the other threads and provides sensor calibration services A robot control thread that executes the behavioural and fuzzy controllers registered to it by the main thread A laser interface thread that handles communication with the laser rangefinder A localization thread that executes a new run of the localization algorithm whenever the robot has moved (or rotated) a specified distance (degrees) or when the operator explicitly requests it A path planning (and re-planning) algorithm that computes a path to an operator specified goal and re-computes it whenever the lower level controllers can not execute it. This may be due to unexpected obstacles (not on the pre-constructed map) or localization errors.
5.
On the client side implemented on the off-robot PC, the lower RiClientServices layer implements a combination of faade and proxy, providing access to the various server modes of operation. As a faade the RiClientServices API provides a uniform interface to the robot supplied operational capability. As a proxy it packages operator requests into message packets that are sent to the server and receives information packets from the server that are made available to the client side developer. This layer also includes a very high level motion planner that computes a path as a set of intermediate waypoints. When these waypoints are visited in turn, the robot is forced to visit all the accessible unoccupied space. This mechanism provides a path for scanning the tank bottom plates for corrosion. The RiClient is the application running on the client that uses services provided by the RiClientServices layer and by similarly structured faade-proxies for each type of NDT
sensor and integrates them providing a common graphical user interface and a defect mapping service. V. SOFTWARE-SUPPORTED OPERATIONS The functionality supplied by the Robot Inspector software can be succinctly described from the NDT software developer and end user points of view as a set of operations grouped into 7 subsets of related operations. These subsets may in turn be separated into two general groups: General Operations and NDT Specific Operations
the localization subsystem and position querying. The map building operations permit the construction of a map of the work area (tank) before the actual NDT test. B. NDT Specific Operations The path planning operation constructs a set of waypoints that describe a path along the free surface of the work area that if fully traversed by the robot will lead to a complete scan of specified and accessible free surface. The welded joint operations i.e. ScanFillet, ScanLap and ScanButt, implement NDT scanning of the respective type of weld. The ScanStripe operation scans a stripe (corridor) of free (not occluded by obstacles) tank bottom for corrosion and plate thinning. The pneumatics control operations allow the integrated NDT and robot control application software (RiClient) developer to control the side and front arm pneumatic actuators. VI. EXAMPLE: THE SCAN FILLET OPERATION The FilletScan operation is described as an example of a rather complex NDT specific operation. This operation is implemented at the next lower level as a finite state machine FSM with three states: 1. Approach 2. Align 3. Perform Two inputs are available, the arm extension and holder head orientation in respect to the arm. Two outputs are provided the translational velocity of the robot and the desired relative heading to which the robot should be steered. Upon operation invocation the system enters the Approach state where it moves towards the fillet joint at a constant translational velocity and a zero desired relative heading. Once the fillet joint has been reached and the compliant arm is retracted by pressure against the joint the system enters the Align state where the robot rotates to align the sensor head with the joint. An appropriate relative heading is set as a setpoint input to the lower PID rotational velocity controller. A zero translational velocity is also specified. Once the scanner head is aligned to the fillet joint a Mamdani fuzzy tracking controller takes over and implements a nonlinear 2-input, 1 output MISO control function. The output is the desired robot relative heading. This controller gives
A. General Operations The movement subgroup of operations permits tele-operation of the robot at higher velocities with obstacle avoidance enabled or at lower velocities without obstacle avoidance for accurate placement (Drive operations). They also support automated movement with obstacle avoidance and on-line path planning (Goto operations). The localization operations support operator intervention in
General Operations
priority to reducing the sensor holder alignment error and then tries to reduce the sensor holder lateral positioning error. The inputs are mapped onto 3 membership functions each and a full rule set (9 rules) is used. There are three output membership functions. These are three linear weight vectors applied upon the controller inputs corresponding to three different linear controllers with overlapping applicability domains. The fuzzy system produces the fuzzy superposition of the linear controller outputs. If the controller fails to track the fillet joint for some reason (such as a major gap in the joint, an obstacle or moving for the maximum allowable distance), control passes back to the invoking software (operator) and facilities are provided to diagnose the system state. VI. CONCLUSION AND FUTURE WORK A mobile robot-based automated non-destructive testing system has been developed for the inspection of large steel plates in factory and in-situ. Three different NDT probes are employed, mounted on two probe holders. The probe holders are themselves mounted on the front or top side of the robot via appropriately designed and controlled supporting arms. The whole system is controlled by software implemented according to a layered client / server architecture. Different scanning modes are supported and individual fuzzy behavioural controllers have been developed for this purpose. Currently the Robot Inspector system is undergoing testing This includes operating the robot in a specially designed test arrangement, containing samples of good and faulty plates, as well of fillet, overlap and butt welds. Future testing will also include end-user site testing, possibly in an oil tank. Upon successful site testing, further rugedisation of the initial research prototype will be sought by the partners. VII. ACKNOWLEDGMENTS This research was sponsored by the EU grant G1ST-CT2002-50183, Robot Inspector, which is a collaboration between ZENON SA, TWI, Sonatest, TSC Inspection Systems, Ideasis Ltd, Tecnitest Ingenieros, Isotest and Technical University of Sofia. The authors are thankful to all partners for the smooth collaboration. Particular thanks are due to Bruce Blakeley, Davide Kleiner and Geoff Cunnigham at TWI, Martin Lugg and Dylan Osborne at TSC, as well as to the whole ZENON team and especially Yiannis Markopoulos, Angelos Tzimopoulos, Panos Chatzakos and Alex Lagonikas for the enthusiasm shown during the prototype development. VIII. REFERENCES [1] A. McRea, D. Chamberlain, and R. Navon, Automated inspection and restoration of steel bridges - a critical review of methods and enabling
[2]
[3]
[4]
[5]
[6] [7]
technologies, Automation in Construction, vol. 11, pp. 351-373, 2002. N. Kita, Visual attention control for nuclear power plant inspection, presented at Proceedings of the International Conference on Pattern Recongition, 2000. R. Murayama, S. Makiyama, M. Kodama, and Y. Taniguchi, Development of an ultrasonic inspection robot using an electromagnetic acoustic transducer for lampb wave and an SH-plate wave, Ultrasonics, vol. 42, pp. 825-829, 2004. O. Moselhi and T. Shehab-Eldeen, Automated detection of surface defects in water and sewer pipes, Automation in Construction, vol. 8, pp. 581588, 1999. G. La Rosa, M. Messina, G. Muscato, and R. Sinatra, A low-cost lightweight climbing robot for the inspection of vertical surfaces, Mechatronics, vol. 12, pp. 71-96, 2002. H. Schempf, B. Chemel, and N. Everett, Neptune: above-ground storage tank inspection robot system, IEEE Robotics & Automation Magazine, 1995. R. A. Brooks, A Robust Layered Control System For A Mobile Robot, IEEE Journal Of Robotics And Automation, vol. 2, pp. 14-23, 1986.