1. Introduction
Underwater tasks are commonly related to pulling out objects from the seabed, waste cleaning, rescuing objects and/or people, underwater manufacturing, and construction and mining [
1,
2]. These tasks usually require a mobile platform to approach and interact with the underwater environment or with the objects. However, such platforms face various challenges, including securing their position in restless water and remote operation in the deep ocean [
3,
4]. For some time now, the scientific community has been proposing various systems, referred to as underwater vehicle manipulator systems (UVMS) [
5]. A UVMS is a mobile platform with manipulation capabilities aimed at meeting the needs of the maritime industry [
6].
In [
7,
8], solutions for problems such as exploring the seabed, collecting objects, and assisting divers in industrial underwater scenarios are given. For these activities, the mobile platform should have the technical characteristics required to hold their position and to manipulate different objects in underwater conditions. These conditions could be different from those required by the grounded robots, e.g., in terms of sea currents, leading to limitations in the use of vision and perception algorithms, as shown in [
9,
10,
11]. The demand for a control strategy to guarantee the stability and the position of the robot represents a challenge to the technical proposal during the design process for this kind of robot.
The controller must be able to guarantee the position of the robot, which is important for the manipulation process. The interaction with the environment is a relevant challenge that has been previously described, as shown in [
12]. Taking into account the problem of grasping in underwater environments, our research group designed and patented a robot with two arms as an approach to this issue [
13]. The proposed robot has a special complexity in terms of the mechanical structure, having a modular design and two arms with more than three degrees of freedom (DOF) per arm.
Based on this proposal, we decided to redesign the underwater modular drone, simplifying its design and adapting the fabrication to be as cheap as possible. In the process, we created
UDrobot, short for underwater drone robot, which can be seen in
Figure 1. UDrobot is an underactuated underwater robot which has four thrusters, similar to an aerial drone, tethered with two lines: one for data and another one for powering. The combined force from the four oriented thrusters enables its spatial motion in
; however, the number of actuators is less than the robot’s DOF, and so the robot has the condition of being an underactuated system. Furthermore, the UDrobot has one DOF arm mounted on its bottom which allows interaction with the underwater environment, as is recommended in the previous literature.
As mentioned above, the robot has four thrusters allowing it to be driven. A sufficiently detailed model development was carried out, similar to the one presented by Alkamachi [
14], where a controller for an air drone with thrusters is proposed with a light inclination to improve the contribution of the thrust around the vertical angle. For this strategy, it is required to know the model of the robot, which can be decoupled into two subsystems: the altitude system and the attitude system. However, for underwater systems, this could be a problem because the coupled effects are more significant according to the physical parameters or the current state of the system. To obtain a model that is more faithful to reality, an identification process developed by the research team at Cely was carried out [
15]. Another method that can be used for the identification of hydrodynamic parameters was developed by Gibson [
16], validated with real robots. When the hydrodynamic parameters are known, the systems could be modelled in more detail, which would allow new model-based control strategies to be proposed.
The robot having the condition of being underactuated raises a specific scheme in the control condition, which drones also have in the air. This process was also developed by Chocron, where, according to the structural variation in the thruster allocation, the matrix achieves a better approximation for each desired case [
17]. Another approach was proposed by Doniec [
18], suggesting the reconfiguration of the thrusters to achieve a greater incidence of forces in each of the components of a
group. A process similar to that proposed by us was developed by Jin [
19,
20], where a quadrotor with inclined thrusters was controlled. These references show how the process for air drones has been carried out by different research teams, but the process for underwater systems has not yet been addressed in the same way, this being the field in which our research group has worked for more than fifteen years.
As already described, UVMS have become a popular case study, especially when it is necessary to conduct the analysis and control of robotic manipulators, for the specific case when the robot used is in the form of a drone. Simetti provided a description of the UVMS and discussed the challenges to be overcome, such as the control and planning of the trajectories [
6]. Another development was described by Jiao [
21], where a drone is controlled with a robotic arm suspended from it, and its robustness is analysed. Knowing the model and the conditions that make the UDrobot a UVMS, we propose simplifying the physical model to be controlled with strategies that are different to those proposed in the literature, based on physical characteristics, achieving subsystems that allow the model to be analysed and controlled in a more direct way. A specific case was developed by Barbalata [
22], where the decoupling of a physical model for a UVMS was proposed. With a network of sensors on the surface of the robot, Nelson managed to measure the hydrodynamic forces on the rigid body and proposed a decoupling according to the measured values [
23]. When the dynamics of a system model are highly coupled, that is to say, the effects on one analysis plane are indirectly perceived in another, a decoupling method can be developed, which Nielsen described in the research [
24].
In the case of control in this type of system, it is possible to achieve control using conventional strategies, but one controller is required for each generated subsystem. Garcia proposed a system based on sliding mode control that manages to eliminate the disturbances, but to be able to adapt to these disturbances, a neural network must be used to re-tune the controller’s gains [
25]. On the other hand, Labbadi managed to achieve decoupled control in a quadrotor, but it only decouples in two subsystems: altitude and attitude [
26].
To solve the various problems experienced by the controllers, the scientific community has proposed improvements to each. To eliminate the effects of the load on the control, Perez proposed an adaptive control to be able to compensate for this value [
27]. Manzanilla was more focused on the pilot as a source of error when teleoperating the system, and proposed a certain degree of autonomy for manipulation tasks using artificial vision [
28]. Without a doubt, the system can track trajectories if it has a controller that guarantees the desired position, and this can be achieved with a configuration such as the one that has been proposed; this was validated by Yahya’s research [
29]. The systems to operate the manipulators are usually composed of electrical motors, as shown by Skaldebo [
30]; however, for this case, the method used to transfer the power is based on our patent to transfer movement [
31].
This article seeks to demonstrate the implementation of a control scheme that uses the acceleration feedback, applied to each one of the decoupled subsystems to reduce the complexity of the model. The results obtained allow the recognition of this type of control as valid for underwater grasping tasks. The detailed development of each of the components of the robot dynamic model had to be carried out, and, according to various physical considerations, a set of four models decoupled from each other was proposed. After this, the implementation of a controller based on previous developments was achieved, and the values of the hydrodynamic coefficients obtained from experiments prior to this control were integrated. For the validation of the system, a methodology was carried out in which an object was captured, lifted, and transported on a route for which the pilot had one decision to make. The items that were chosen to be captured and carried by the robot were a ball, a metal bottle, and a plant. For each of the objects, a description of the results is provided, allowing the comparison of the effects generated by the load of each of the elements to be carried, including the effects of the acceleration on the angles and the control action around the yaw angle.
The article is structured as follows: We begin with the detailed development of the model, where clarity is provided on each of the components that can affect the dynamics. After this, a description of the proposed simplified model is given. Then, a description of the controller is given based on the acceleration feedback, denoting how to obtain its gains to ensure convergence. The following is a description of the methodology implemented to carry out each experiment, with each of the stages proposed for this purpose. The following section describes the results obtained from the experimentation. The final section is dedicated to discussing the results obtained, and some conclusions are drawn according to the objectives.
2. Modelling of the Underwater Robot
UDrobot is an underwater drone-shaped robot designed to carry out various tasks. It has an arm with one DOF on its underside that can be used for pulling out objects from the seabed. The robot is composed of two waterproof enclosures containing electronics relative to the control of the robot and the electronic control board for the arm. These enclosures are held in two frames that support the arm and the thrusters. The robot is drone-shaped in that it has four T200 thrusters from BlueRobotics, oriented upward with a low frontward orientation for the thruster on the front side and a backward orientation for thrusters on the backside. This generates an effect in more than one axis, as described in
Section 2.5. For a complete description of the elements used in the modelling,
Figure 2 shows the nomenclature for each axis. The angles are measured with an inertial unit measure (IMU) on an autopilot board in the robot, where there is a depth sensor. Communications and power are carried through the robot by a pair of cables.
The inertial-fixed frame is given by , where the position and orientation of the UDrobot are denoted by and , respectively. We denote the position relative to by the general form . While the velocity is described on using a SNAME (Society of Naval Architects and Marine Engineers) convention, where with translational velocities in and z for the body-fixed frame correspondingly, for the angular velocities, the description is based on being the angular velocity for each axis.
2.1. 6-Dof Kinematics
There are different options for referring to the orientation of the rigid body in an inertial-fixed frame. For this case, we use a rotation matrix composed of Euler angles (
). For this representation, we use
as
and
as
, with each
being a Euler angle. The rotation matrix
from the inertial frame to the body frame is described in (1).
The rotational matrix is used to transform the velocities into the derivates of the position; nevertheless, to convert angular velocities to angular derivates, a matrix is required, described by
, where the structure is shown in (
2).
To obtain a bigger matrix that relates the transformation between the referred body velocities and the position derivates, let us define
as a matrix for which the structure is composed of the rotational matrix and an angular velocity transformation matrix (
), as defined in (
3):
Finally, the transformation could be defined as shown in (
4):
2.2. Dynamics Modelling
The dynamic model of a rigid body could be defined by how the behaviour of the body is reflected in the relationship between forces and torques, with kinematic elements being fundamental parts of this description. In this case, the analysis was carried out by taking into account the hydrodynamic effects, which we will describe. The general nature of the dynamic model described by [
32] can be seen in (
5), where
F is the forces vector and
is the torques vector,
is the distance between the centre of mass and the body-fixed frame, and
is the inertial tensor:
However, the dynamic model could be rewritten in different ways. We use a parametrisation for the rigid body as an equation of motion with mass effects and Coriolis effects, both of them equal to forces and torques. The first element in the dynamic model is the effect generated by the mass and inertia. Let us define the
mass matrix or
inertial matrix as shown in (
6), where
S means a
skew-antisymmetric matrix:
where
m is the body mass,
is an identity matrix of the third order and
is the inertial tensor. For the Coriolis effect, we use a parametrisation based on the mass matrix as defined in (7), where the submatrices
are based on the mass matrix:
One way to describe the dynamic behaviour of the rigid body is to use the equation of motion (8), which is a relevant way to describe the relationship between the forces and physical parameters of the rigid body. In this case, we define the gravitational vector (
) as a product of the hydrostatic force, which will be described in another subsection. On the other hand, the hydrodynamic forces vector is taken as a load force vector, which will also be defined in the next subsection:
2.3. Hydrodynamics Effects
The hydrodynamic effects are the effects generated by a fluid when a submerged rigid body is moving within it. The most important hydrodynamic effects are added mass and viscous damping. The added mass can be defined as a virtual mass that generates more mass on the rigid body, with these values denoted by
, defined for translational displacement using a coefficient (
), where
i means the axis of the coefficient, and for angular displacement as the double of the inertial value for this angle:
where
is the fluid density, ∇ is the volume of the rigid body, and
represents each diagonal component of the inertial tensor. For the Coriollis case, we can denote this as
, and its structure is based on the parametrisation in the rigid body, as shown in (10):
where the submatrices
are based on the added mass matrix. The representation of these effects is achieved in the same way as in rigid body modelling. The second effect is viscous damping, the best known representation of which is the drag force. In this case, we select a coefficient to be packaged into the matrix representation, as shown in (11):
where
is the quadratic coefficient for each axis, which is multiplied by the absolute velocity on the axis. The values for added mass and for viscous damping are obtained as described in [
15].
2.4. Gravitational and Buoyancy Effects
The gravitational effect is present when the rigid body is under the effects of a gravitational field; however, in this case there is another effect, which is a function of the gravity acceleration: the buoyancy. For modelling these effects, we define weight as
and buoyancy as
, where
m is mass,
is gravity acceleration in vector form,
is fluid density, ∇ is the volume of the rigid body, and
is a unit vector facing downward. The force and torque vector generated are shown in (12) and (13), respectively:
To merge both effects into a simple vector in order to then integrate it into the equation of motion, we can rewrite the gravitational effect. In this case, we define
as the distance from the centre of mass to the body-fixed frame and
as the distance from the centre of buoyancy to the body-fixed frame. The vector description is shown in (14):
2.5. Thruster Allocation Matrix
The allocation matrix is the name of the matrix that relates the input values with the effects per each degree of freedom. In the case of the drones, this matrix is also called the
mixer matrix or
thruster allocation matrix. For this specific case, we have to remember the orientation of each thruster. In
Figure 3, we can see the angle and how it modifies the thrust orientation.
The allocation matrix is denoted by
, where its structure is visible in (15). In this case, this matrix has two special characteristics: the dimensions of the matrix are the number of degrees of freedom and the number of inputs to the system, this being the most important characteristic because it defines the system as an
underactuated system; the other characteristic is that it is a function of
. However, the values are constants and they do not change if the orientation of the thruster does not change; here, for every experiment, the value was constant at 5 degrees. The values of
and
are the perpendicular distance between the thruster location and the denoted axis:
2.6. Matrix Form
A compact method to represent the dynamic behaviour of the rigid body is to join every term analysed in this section, such as mass and Coriolis in a rigid body, hydrodynamic effects and gravitational effects, and for the required forces, the allocation matrix and the system input. Let us define
and
; we can then define a matrix form, as is shown in (16), where
u is the input vector, that for this case is
:
However, for determinate cases, we need the model to refer to the inertial-fixed frame. To conduct this transformation, we have to multiply each element referring to the body-fixed frame by a rotation matrix, which adds complexity to the model, making its analysis more difficult. The components relative to the mass matrix and Coriollis matrix have a large number of cross terms, meaning that there are many terms which can have effects in an axis different to the one being analysed. If certain physical conditions are satisfied, it is possible to disengage the model, simplifying its analysis.
7. Discussion
7.1. Implementation of the Controller
In this article, we show the results for different elements taken from the pool bottom, and provide a description of these results for each case. The metrics used to draw comparisons between them are RMS error and physical characteristics. Regarding the proposed structure of the control, its implementation was relatively easier than that of other kinds of control structure, which means that the controller could have a complex structure, but its implementation could be achieved without a problem. Measurements, such as stabilisation time and the shape to be reached, were more difficult to take, possibly due to the dynamics of the robot, which is faster than other kinds of systems. The method for calculating the gain is based on the model, where the hydrodynamics parameters were fully fundamental. If there are modelled values that vary with respect to the real values, this allows the control response to be different. It is possible that the disengagement of the model is the best way to design a controller around one point, but if the model is carried to a nonlinear zone, the robust controller will provide evidence that the system could be not controlled. The analysis of robust controllers is required to achieve a better response to disturbance for this kind of controller.
According to our experimental results, the proposed control strategy improved the position error values compared with the literature [
11]. However, under simulation conditions or testing with filters such as EKF, the performance of the error signal could be worse compared with [
28]. The values of error obtained with elements such as the plant were greater due to the volume and mass of the object to be caught. The absence of gravity compensation could be one of the error source to catch objects, then to include the gravitational effect into the controller could improve the performance in the task.
7.2. Catching the Ball
Figure 15 shows the behaviour when the ball, which is the lighter object, is picked up by the robot. Even though the robot has a suitable performance, the controller is not able to follow the given reference. A potential solution to catch these objects could be to consider the value of mass as a disturbance, or as a parameter to refresh the controller.
The pitch controller used to catch the ball gives us a response with high values of noise; these values reached up to 0.8 radians in magnitude. The value of noise could be neglected if the value of the inertial tensor for this axis is able to break the effect of inertia generated by the controller, taking into account that the controller uses the inertial value as gain for the acceleration feedback. With respect to the shape of the response, the different disturbances could come from catching the ball. For the roll response, the negative offset described in the results is possible because the centre of mass is not contemplated as an assumption, meaning that the centre of mass is moved leftward and there is a load torque. This is possible due to the disengagement of the model because the error in the middle of the test was lower than when the ball was not caught. The yaw control response has some correspondence with the reference, with a greater value of error. It is possible that the main source of this error is the cable torque, which is not measured, the value of which could be higher than that given to the system by the controller. To solve this issue, there are two solutions: the first is to use a controller with an adaptative component to make the system more robust, and the second is to identify the cable torque to be added to the model so that the controller has the ability to manage its effect.
7.3. Catching the Bottle
In the case of the bottle, the depth controller took longer than it did for the ball experiment. The value of noise was higher than the other tested depth controllers, and the error in the steady state was also higher, but the possible source of error was not visible. The system is controlled because the signal follows the reference; in this case, the load mass is higher than that in the ball experiment. The possible solution could be to include the value of the load mass, which is yet to be proposed for the ball experiment.
The attitude controller used to catch the bottle shows the pitch signal to have the least error of all experiments; however, the possible source of error for this case is based on the value of inertia. The roll response keeps the error shown in the ball experiment, and the same level of noise is also present. For the yaw controller, the same response happens as for the ball experiment.
7.4. Catching the Plant
In terms of the response of the depth controller in the case of catching the plant, the error was bigger than in the other cases, which is possibly due to the relationship between the loads. The plant has a relative density bigger than that of the bottle or the ball, and this object was more complicated to grasp for the robot. When the pilot gave the order to take it off, the motor did not have enough power to reach the reference. It is possible that if an integral component was used, the error in the steady state would be lower or even zero, but achieving this requires that the power of the thrusters is higher.
The response of the attitude controller in terms of the pitch angle showed two moments when the response was dissimilar to that of the reference. One possible reason could be the effect of the load at this angle; if the controller knew that the load had been caught, the gains could be modified and refreshed. The roll response exhibited the same problem, meaning that the controller did not contemplate the possibility of there existing an error in some assumptions.