Implementation of a Robotic Mobile Manipulator moving a NDT probe inside Steel Cylinder Concrete Pipes for Corrosion Assessment

This paper presents the full implementation of a mobile robotic manipulator moving a probe inside steel cylinder concrete pipes (SCCP) for corrosion assessment. Mechanical prototype based on an off-the-shelf mobile base and a custom-designed manipulator, control and monitoring software architecture, posture control and manipulation inside SCCP are presented. Simulations and testing under realistic operating conditions demonstrate a reliable solution providing repeatable results with high positioning accuracy.


Introduction
One of ACES European research project (grant agreement n • 900012) objectives is to assess the corrosion of SCCP.Such pipes, used to carry chloride contaminated water from nuclear power plants, are made waterproof with a steel liner incorporated between 2 cylindrical layers of concrete.The outer surface of this steel liner is reinforced with a grid of steel rebars, preventing it from being accessible from the outside.As it is subject to corrosion damages due to chlorides, inspection from inside the pipe is essential for detecting corroded zones in early stages, before waterproofing is compromised.Until now, non-destructive techniques (NDT) are operated manually against the pipe concrete inner wall.This is a long and tedious procedure in narrow pipes between 600mm and 1000mm internal diameter, hence the interest to automate it.The main objective is to implement a robotic solution to simplify steel layer corrosion assessment.
Considering this specific context, a robotic solution was designed based on a former study [8], which proposes a state-of-the-art leading to a robotic solution consisting of a customized manipulator integrated on a commercially available mobile platform.
In the following, the manipulator solution developed is presented, along with its integration and operation.In particular, hardware and software architectures are exposed, including monitoring interfaces.Finally, details of the accurate localization and control of the mobile platform in a steel cylinder concrete in-pipe environment are outlined.

Robotic mobile manipulator solution
Figure 1 shows the actual solution implemented.The mobile platform is a commercially available Clearpath Jackal base.A manipulator arm is integrated on it, with its own controller, motors and sensors, and it is powered from the mobile platform's batteries.• A stereo camera on the rear of the robot, with a patterned laser to enhance RGB-D precision, two infrared sensors and an RGB sensor.This camera is used to locate the robot.• A 2D lidar at the rear of the robot, used to detect surrounding walls.
• A Panoramic camera for a remote real-time view of the entire 360 • environment.
• A Pan-Tilt-Zoom (PTZ) camera to monitor the moving base or the arm in operation.
For safety, a remote emergency stop allows the power to be cut off at any time.

Manipulator
A three-degree-of-freedom (DOF) manipulator is custom-designed to move an NDT probe against the inner surface of the pipe's concrete wall.
Sensors dedicated to arm control are displayed in Figure 2. Apart from the probe (6), the arm has 3 optical incremental encoders on the 3 motor shafts: (1) for vertical Axis 1, (2) for rotation Axis 2, and (3) for coupled translation Axis 3-4; an absolute encoder for the rotation of the arm (4); and a switch detecting the contact of the probe with the wall (5).
Then, one of the two probes listed below is attached to one end of the manipulator for corrosion measurement.
2.2.Software architecture 2.2.1.Software application Two embedded computers control the mobile platform and the manipulator respectively.The mobile platform computer uses ROS Noetic middleware.The manipulator computer uses the CEA's CORTEX (Component Oriented Real-Time Execution engine) middleware (see an overview in Figure 2 of [4]), dedicated to remote manipulation.A CORTEX-ROS API enables manipulator control directly from the mobile platform computer via a dedicated ROS node.A third computer using ROS Noetic middleware enables remote monitoring and control of the robotic system via a graphical user interface (GUI).

Communication interfaces
The mobile platform controller communicates via Ethernet with the manipulator controller and on-board sensors, as well as with the remote computer, which can also communicate via Wifi.There is no communication interface between the robotic platform and the two NDT probes, which use a closed proprietary software application.

Inside pipe assisted moving application
The aim is to assist the operator to maneuver the robot in complex SCCP in-pipe environment and to carry out the measurement process.The software application must be intuitive, efficient and reliable to avoid damage to the arm or mobile platform.

Measurement process description
Movements of the manipulator are always performed with the mobile platform stopped.The procedure is as follows: • Centering step : At the start of the process, the manipulator's rotation axis is centered with the axis of the cylindrical pipe by moving the vertical translation axis.This setting can be maintained for further measurements.

• Measurement steps :
-Probe at the end of the manipulator is placed against the wall of the pipe for a measurement by extending the two coupled radial translation axes.
-After a punctual measurement, radial translation axes are retracted and the manipulator is rotated a few degrees with rotation axis.-Probe is placed against the wall again for another measurement.
-Previous steps are repeated until measurements have been performed on all 360 • of the pipe inner wall circumference.• End of measurement step : The manipulator radial translation axes are retracted and the mobile platform is ready to move to a new measurement location.

Available functionalities
The operator controls the robot using a joystick and a remote GUI.An assistance mode enabling to perform a set of measurements can be activated by pressing buttons on the joystick.The following functionalities are also available from the joystick: onboard lights; manual centering process trigger; PTZ camera axis movement control to observe the environment; reset of the assisted mode steps to restart a new measurement session; setting of acceleration and speed of manipulator joint axes.
The ROS application developed allows to modify some twenty parameters for the assisted in-pipe mode.These include accuracy tolerance, measurement sequence, speed, acceleration, number of measurements per rotation, and so on.In addition, the monitoring interface records measurements relevant to measurement analysis and to the safety of the moving system.

Monitoring interface
The robotic platform is controlled and monitored from the GUI displayed in Figure 3.It uses ROS tools Rviz and RQT.In addition, part of the interface is implemented using Tkinter [3], a reliable and simple python library, for starting up and controlling the manipulator, as well as viewing application logs.This GUI contains the following elements: (1).Buttons for managing the manipulator software application via a ROS interface node.
Launch the ROS node, power up the manipulator, perform calibration and change the manipulator's axis of rotation control gains according to the on-board probes, which have different weights and dimensions.(2).Visualization of the system logs from the robot's various ROS nodes using Tkinter.
(3).Monitoring of the robot's configuration in space and visual feedback of 2D lidar measurements, as well as three camera video streams, using Rviz.(4).Setting up and moving the PTZ camera using RQT-reconfigure.PTZ camera control is also available from the joystick.(5).Visualization of topics of interest using RQT-Plot.

Longitudinal positioning
A first objective is to control the curvilinear abscissa travelled by the robot longitudinally in a SCCP.First, a visual SLAM (Simultaneous Localization and Mapping) algorithm returns an estimate of the robot's absolute 3D position relative to its environment.From this estimate, the curvilinear abscissa of the robot is computed, taking into account the cylindrical geometry of a SCCP.Finally, the longitudinal speed of the mobile platform is controlled on the basis of the difference between this current curvilinear abscissa value and the one to be reached for the next corrosion measurement.

Visual localization
A visual SLAM solution locates the robot and provides a 3D map of its surrounding pipe.This is ORB-SLAM3, the most accurate open-source algorithm [6] which, according to [5], performs well in a pipe environment.It uses an on-board Intel Realsense D435i camera in stereo mode.This mode delivers both infrared streams directly.The laser emitter is deactivated to avoid distorting localization results.

Curvilinear abscissa computation
The aim is to transform an absolute position given by the visual SLAM into a longitudinal travel distance relative to the SCCP, meaning the curvilinear abscissa (CA) covered by the robot.Let L be the CA travelled, ds an elementary distance, and V(t) the longitudinal speed of the robot over time.The discretized expression of L is then given in eq.(1) by the sum of small displacements ds i along displacement vector −−→ ∆X i , depending on the speed sign: For these computations, a simplifying assumption of perfect trajectory tracking has been used, enabling direct use of the robot's displacement information.Then, to limit computation errors due to this assumption, any newly calculated displacement vector whose roll error exceeds a certain threshold is projected onto a correctly oriented previous vector.As an example given in eq. ( 2), if the robot is properly oriented at t and then exhibits a significant roll error at t + 1 with its two respective displacement vectors −−→ ∆X t and − −−− → ∆X t+1 , then displacement ds t+1 is projected such that: Note that this projection remains valid for a reasonable convergence hypothesis of the angular error, hence the importance of a lateral control, in particular to prevent any oscillation situation.
Note also that such a method of summing a sequence of displacements is bound to drift progressively due to an accumulation of successive measurement errors.It is therefore recommended to have a periodic absolute correction measurement, for example by means of a regular marking of the SCCP inner wall.

Trapezoidal velocity control
Longitudinal speed control is defined in trapezoidal shape [7] as a function of the robot's longitudinal position relative to the target one.

Lateral positioning
The robot has to move forward while remaining centered in the pipe.Thus, a model-based predictive controller (MPC) is used to optimally correct angular and lateral errors.

Modeling
The kinematic model computed for the control synthesis of this skid-steering mobile robot is a simplification of a previous more general model [9] adapted to a unicycle system (see Figure 4).
The error state vector y = y s θ includes lateral and angular errors, C m is the current curvature of the reference trajectory, and by definition y ′ s = θ (with (.) ′ representing a derivative with respect to the curvilinear abscissa).The system state model in error space is thus given by eq. (3): This state equation is rewritten more concisely in eq. ( 4) below: with u = θ ′ m the control term for the yaw derivative with respect to the curvilinear abscissa.

Lateral positioning control
The lateral positioning control is based on a model-based predictive controller (MPC), which consists of two steps (see Figure 6) : (i) Compute u: model future states over a given prediction horizon and optimize control setpoints u to minimize future errors.Given the cylindrical environment, instead of defining a conventional reference path, it is set as the robot's current longitudinal position, with zero lateral error.In particular, lateral error is calculated from the roll angle ϕ and the pipe radius R using eq.( 5) below (see Figure 5): (ii) Provide ω: supply the robot with the yaw rate setpoint.This is equal to the u command multiplied by the linear velocity setpoint v.Here v is defined independently in section 3.1.The tests are carried out with few visual cues to approximate SCCP conditions.An initial batch of tests, consisting of locating the robot in a straight line, show millimetric accuracy.A second, more sophisticated batch of tests, consisting of locating the robot during a curvilinear displacement (Figure 8), produces also accurate results.For each measurement point, the position obtained by manual triangularization is compared with the position given by ORB-SLAM3.Results can be seen in Figure 7, with an average positive error of 14.9mm.

Lateral positioning validation tests
To evaluate the performance of lateral positioning control with MPC, several tests are conducted in 600mm diameter SCCP (see Figure 11).After a series of parameter tuning, tests are carried out with a non-zero initial lateral error (that is equivalent to roll error in a cylindrical pipe), and a negligible yaw angular error.The curves of Figure 9 show that MPC corrects both lateral and angular errors, making them converge towards zero within 2.5m of distance.It can also be observed that from curvilinear abscissa equal to 1.7m to 2.5m,the lateral error is already reduced to zero, but meanwhile the yaw rate decreases from 0.0rad/s to −0.2rad/s.This is because MPC is still correcting the angular error, which is not yet zero.As a result, compared with conventional PID control, MPC not only corrects lateral (or roll) errors but also takes yaw angular errors into account, which proves beneficial for navigation in curved pipes.

Longitudinal positioning and point-by-point measurement process validation tests
These tests assess the probe positioning accuracy against the inner wall of an SCCP.A real SCCP is used to get as close as possible to real robot operating conditions.The inner wall of the SCCP is precisely marked beforehand (see Figure 11).During testing, the probe is first positioned manually against the inner wall of the SCCP at one of the robot's vertical reference points.It is assumed that this starting point has zero angular and longitudinal errors.The measurement procedure is then started, with the robot taking 5 measurements per revolution and moving forward 10cm, repeating these two operations 4 times.Each time the probe is brought into contact with the wall, angular and longitudinal errors are measured.Results can be seen in Figure 10.A millimetric longitudinal accuracy corresponding to the ORB-SLAM3 validation test is observed, as well as an average angular accuracy of 3.1deg with 720deg repeatability corresponding to one turn clockwise and one turn counter-clockwise.

Conclusion and perspective
A reliable hardware and software solution was implemented for corrosion assessment in SCCP environments.Both autonomous navigation and measurement processes were addressed, while allowing an intuitive operator remote monitoring.Thus, the robotic manipulator measurement process is fully operational inside a cylindrical pipe.In particular, a visual SLAM algorithm is implemented for this use case, control of the posture is ensured by taking into account the dimensions of the robot for collision avoidance, the longitudinal position is controlled with high precision, and accurate contact of the probe with the inner wall is achieved despite many parameter uncertainties (tire pressure, arm joints position, imperfect posture in the pipe, wall irregularities).Next, a feature to be developed is the reuse of an operational map to visually control the appearance of the inner wall surface and increase positioning accuracy.

Figure 1 .
Figure 1.The robot in operation Figure 2. Manipulator sensors

Figure 9 .
Figure 9. Angular (left) and lateral (middle) errors measured for yaw rate control inputs (right) during navigation tests with PID (red dots) or MPC (blue dots) controller