Abstract
Working in underwater environments poses many challenges for robotic systems. One of them is the low bandwidth and high latency of underwater acoustic communications, which limits the possibility of interaction with submerged robots. One solution is to have a tether cable to enable high speed and low latency communications, but that requires a support vessel and increases costs. For that reason, autonomous underwater robots are a very interesting solution. Several research projects have demonstrated autonomy capabilities of Underwater Vehicle Manipulator Systems (UVMS) in performing basic manipulation tasks, and, moving a step further, this chapter will present a unifying architecture for the control of an UVMS, comprehensive of all the control objectives that an UVMS should take into account, their different priorities and the typical mission phases that an UVMS has to tackle. The proposed strategy is supported both by a complete simulated execution of a test-case mission and experimental results.
Access provided by CONRICYT-eBooks. Download chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
1 Introduction
Underwater operations are costly and demanding. Remotely Operated Vehicles (ROVs) are usually employed in lieu of professional divers to perform these tasks. The advantages of this solution are clearly an inherently higher safety (no human involved) and an higher operational time. On the downside, ROVs require a support vessel equipped with a dynamic positioning system and a tether management system for handling the tether cable connecting the vessel to the ROV. In an effort to reduce costs of underwater operations, marine robotic research has taken two main paths: on the one hand improving ROVs autonomy , on the other hand paving the way for the use of autonomous UVMSs (Underwater Vehicle Manipulator Systems).
The DexROV project [1] is a recent EU Horizon 2020 (H2020) project that has the goal of reducing the costs of ROVs operations by increasing their autonomy. In this way, crew numbers onboard the ship can be reduced and can be transferred to an onshore control facility, from where they can control the ROVs operations. Naturally, controlling the ROV from a remote station through a satellite communication channel introduces heavy latency that must be properly taken into account. DexROV plans to solve this problem by using an advanced environment simulator, integrating a physics engine and a haptics engine. This environment will support a model-mediated teleoperation approach. Furthermore, as a robust approach to address communication latencies and disruptions, a cognitive engine relying on probabilistic movement/feedback manipulation primitives will be developed to analyze, interpret, and anticipate user interactions with the simulated environment and translate them into consistent high level commands that the ROV can execute autonomously in the real environment.
Another relevant project on the topic of underwater manipulation task is the recently started EU H2020 ROBUST project [2], whose main objective is to develop an autonomous, reliable, cost effective technology to map vast terrains, in terms of mineral and raw material contents, which will aid in reducing the cost of mineral exploration, currently performed by ROVs and dedicated support vessels and crew. Another objective is to identify, in an efficient and nonintrusive manner (minimum impact to the environment), the most rich mineral sites. To tackle these objectives, the ROBUST project proposes to use a fully autonomous UVMS. The robot should dive, identify the resources to be scanned and autonomously perform qualitative and quantitative in situ analyses, by positioning a laser, mounted on the end-effector of a manipulator, in close proximity of the rocks to be analyzed.
Research in the field of autonomous or semi-autonomous intervention is of course not limited to H2020 projects, but has roots that go back to early 90s, with the works of Woods Hole Oceanographic Institute on design and control of compliant underwater manipulators [3] and coordinated vehicle/arm control for teleoperation [4]. During that decade, two milestones were achieved. The AMADEUS project [5] demonstrated underwater dual arm autonomous manipulation in water tank experiments [6]. The second milestone was instead achieved within the UNION project [7], where for the first time the mechatronic assembly of an autonomous UVMS took place.
The following decade marked two further important milestones in underwater manipulation. The SAUVIM project [8, 9] tackled, for the first time, the problem of autonomous floating operations. However, considering the mass of the vehicle was 6 tons, while the arm weighted only 65 kg, the two subsystems were practically decoupled from a dynamic point of view. The second milestone was instead achieved within the EU project ALIVE [10, 11], which demonstrated how an UVMS could autonomously dock at a ROV-friendly panel, and successively perform fixed-base manipulation tasks.
The current decade has seen another important milestone, represented by the EU project TRIDENT [12, 13], where autonomous floating manipulation has been performed like in the SAUVIM project, but with the important difference that the arm and vehicle were much closer in terms of masses. The final demonstration took place in a harbor environment and the UVMS successfully recovered a mock-up of a black box from the seafloor [14, 15].
Finally, the authors have been involved in an Italian research project named MARIS [16], whose main objective was the development of control algorithms capable of integrating single [17], dual arm [18] and cooperative UVMSs [19] within a common control framework [20].
In this chapter, the kinematic control layer that has been used for the MARIS project, and is currently used and enhanced within the DexROV [21] and ROBUST projects will be presented. The focus is the kinematic control layer, because most ROV and arm commercial systems can only be controlled through velocity commands. A dynamic control layer (DCL) based on independent PI (proportional integrative) loops will be assumed, as this is the kind of control laws implemented by the commercial systems of the aforementioned projects.
The chapter is structured as follows. Basic definitions are reported in Sect. 2. Section 3 presents the common phases and control objectives in typical intervention missions. The successive Sect. 4 introduces the kinematic control layer and its core concepts, such as the phase definition, the activation functions, and the task hierarchy resolution. Section 5 reports a complete simulated execution of an intervention mission, as well as one free floating experiment of the MARIS project. Finally, the last section draws some conclusions and future line of developments.
2 Definitions and Preliminaries
2.1 Notation
Vectors and matrices are expressed with a bold face character, such as \(\mathbf M \) for matrices or \(\varvec{v}\) for vectors, whereas scalar values are represented with a normal font such as \(\gamma \). Given a matrix \(\mathbf M \) and a vector \(\varvec{v}\):
-
\(M_{(i,j)}\) indicates the element of \(\mathbf M \) at the i-th row and j-th column;
-
\(v_{(k)}\) refers to the k-th element of \(\varvec{v}\);
-
\(\mathbf M ^\#\) is the exact generalized pseudoinverse (see [22] for a review on pseudoinverses and their properties), i.e., the pseudoinverse of \(\mathbf M \) performed without any regularizations .
Further, less used notation will be introduced as needed.
2.2 Definitions
Let us consider a free floating UVMS, such as the one depicted in Fig. 1, and let us first introduce some basic definitions, often used throughout the chapter:
-
the system configuration vector \(\varvec{c} \in \mathbb {R}^n\) of the UVMS as
$$\begin{aligned} \varvec{c} \triangleq \begin{bmatrix} {\varvec{q}} \\ \varvec{\eta } \end{bmatrix}, \end{aligned}$$(1)where \(\varvec{q} \in \mathbb {R}^{l}\) is the arm configuration vector and \(\varvec{\eta } \in \mathbb {R}^6\) is the vehicle generalized coordinate position vector, which is the stacked vector of the position vector \(\varvec{\eta }_1\), with components on the inertial frame \(\langle 0 \rangle \), and the orientation vector \(\varvec{\eta }_2\), the latter expressed in terms of the three angles yaw, pitch and roll (applied in this sequence) [23]. From the above definitions it results \(n = l + 6\);
-
the system velocity vector \(\dot{\varvec{y}} \in \mathbb {R}^n\) of the UVMS as
$$\begin{aligned} \dot{\varvec{y}} \triangleq \begin{bmatrix} \dot{\varvec{q}} \\ \varvec{v} \end{bmatrix}, \end{aligned}$$(2)where \(\dot{\varvec{q}} \in \mathbb {R}^{l}\) is the joint velocities and \(\varvec{v} \in \mathbb {R}^{6}\) is the stacked vector of the vehicle linear and angular velocity vectors, with components on the vehicle frame \(\langle v \rangle \). To simplify the discussion, this chapter will assume the vehicle fully actuated, and the system velocity will be used as control vector. Details on how the proposed algorithm can be adapted for under-actuated vehicles are given in the Appendix;
-
a configuration dependent scalar variable \(x(\varvec{c})\) is said to correspond to an equality control objective when it is required to satisfy
$$\begin{aligned} x(\varvec{c}) = x_0, \end{aligned}$$(3)or to an inequality control objective when it is required to satisfy
$$\begin{aligned} x(\varvec{c}) \ge x_m \qquad \text {or}\qquad x(\varvec{c}) \le x_M, \end{aligned}$$(4)where the m and M subscripts indicate a minimum and maximum value respectively.
Note that if m different variables \(x_i(\varvec{c})\) are considered, each of them corresponding to the i-th component of a vector \(\varvec{p} \in \mathbb {R}^m\), then it is possible to control the vector to any desired value. Thus, limiting the discussion to scalar objectives does not influence the generality of the approach. Furthermore, if \(x(\varvec{c})\) is the modulus of a certain vector \(\varvec{p}\), then it can be used to require a particular value for the norm of \(\varvec{p}\) (e.g., to nullify it), or to be below or above a given threshold. To ease the notation, the dependency of x on \(\varvec{c}\) is dropped from now on;
-
for such variables, we also consider the existing Jacobian relationship between x and the system velocity vector \(\dot{\varvec{y}}\) as
$$\begin{aligned} \dot{x} = \varvec{g}^T(\varvec{c}) \dot{\varvec{y}}, \end{aligned}$$(5)where \(\varvec{g} \in \mathbb {R}^n\) is a vector. To simplify the notation, the dependency of \(\varvec{g}\) on \(\varvec{c}\) will not be repeated in the following.
-
a task is defined as tracking a given feedback reference rate \(\dot{\bar{x}}\) (see the remarks below), capable of driving the associated variable x toward the corresponding objective. Thus, for instance, a task is tracking at best a velocity reference rate generated to bring the arm’s end-effector in the required Cartesian position; The control objectives may have different priorities and the same holds for their associated tasks. The achievement of a task with lower priority should not interfere with the achievement of an active task (see Sect. 4.2) with higher priority, and tasks with the same priority should be achieved simultaneously, if possible. A set of tasks with different priorities is also called a hierarchy of tasks.
Remark 1: If our objective is zeroing the norm of a vector \(\varvec{p} = \begin{bmatrix}p_1,&\ldots ,&p_m\end{bmatrix}\), since the following equivalence holds
instead of imposing its norm to be zero with a single equality objective, we can also consider separately all of its m components to be zero. The main difference between these two approaches is that in the first case we have to employ only one degree of freedom (d.o.f.) in the Cartesian space, while in the latter use m d.o.f. since we are separately controlling each of its components.
Remark 2: For equality or inequality control objectives, a suitable feedback reference rate \(\dot{\bar{x}}\) that drives our x toward any arbitrary point \(x^*\), where the objective is satisfied, is
where \(\gamma \) is a positive gain to control the convergence speed. For inequality control objectives, Sect. 4.2 will explain how to disregard the reference rate whenever the variable lies within the desired range, in order to avoid overconstraining the system.
3 Underwater Intervention Missions and Related Control Objectives
3.1 Reference Mission and Relevant Phases
A typical reference mission carried out by an UVMS, involving manipulation and transportation, can be decomposed into the following sequential phases:
-
1.
navigation: the vehicle should get in close proximity with the target object to be manipulated;
-
2.
grasping: the UVMS must perform the grasping of the object;
-
3.
transportation: the UVMS must transport the object to the target area;
-
4.
deployment: whenever in close proximity with the target area, the object must be deployed in the required position.
Another mission, involving the inspection of a certain subsea structure, can be decomposed as follows:
-
1.
navigation: the vehicle should get in close proximity with the target object to be inspected;
-
2.
docking: the UVMS might need to dock to the underwater structure using an auxiliary arm;
-
3.
inspection: the UVMS should perform the interaction with the structure (e.g., turn valve, plug connector, move a sensor on a surface).
At the end of the above phases, the UVMS can leave the target area and each of them can be assigned to a new mission.
In general, the execution of complex missions leads to identify different control phases, each one with its own control objectives. Obtaining a smooth transition between two consecutive phases will constitute a particular challenge to be solved.
3.2 Control Objectives Categories
The control objectives of the UVMS can be divided in five broad categories, which are listed in their natural descending order of priority:
-
physical constraints objectives, i.e., interacting with the environment;
-
system safety objectives, e.g., avoiding joint limits or obstacles;
-
objectives that are a prerequisite for accomplishing the mission, e.g., maintaining the manipulated object in the camera angle of view;
-
mission-oriented objectives, i.e., what the system really needs to execute to accomplish the user defined mission;
-
optimization objectives, i.e., objectives that do not influence the mission, but allow to choose between multiple solutions, if they exists.
3.3 Typical Underwater Control Objectives
This section reports some of the control objectives that a UVMS has to tackle in a typical mission, without a particular ordering. For each objective, the type (equality/inequality) and its category are reported in brackets:
-
Joint Limits (inequality, safety): the arm must operate within its joint limits, which means having the following inequality control objectives fulfilled:
$$\begin{aligned} q_{i,m} \le q_i \le q_{i,M} \quad i = 1, \ldots , l \end{aligned}$$(8)where \(q_i\) is the i-th joint variable, \(q_{i,m}\) and \(q_{i,M}\) are the lower and higher joint bounds, and l is the total number of joints of the manipulator.
-
Manipulability (inequality, prerequisite): the arm must operate as far as possible from kinematic singularities, which means to keep the manipulability measure \(\mu \) [24] above a minimum threshold, i.e., \(\mu > \mu _m\).
-
Arm Reference Shape: maintain the arm in a preferred shape, which allows to perform repetitive tasks minimizing the internal motions and can also be used as an alternative method to ensure good manipulability.
-
Camera Occlusion (inequality, prerequisite): keep the arm links away from the camera system’s cone of vision to avoid unnecessary occlusions of the target object frame \(\langle o \rangle \), e.g., to avoid arm elbow interferences with the camera well before the grasping phases.
-
Force Regulation (equality, physical constraint): regulate to a constant value the force exerted by the end-effector. Let us define \(\lambda ^*\) as the desired force that the end-effector must exert on the environment and \(\lambda \) as the actual force, then the objective is to have \(\lambda = \lambda ^*\). Note that this regulation has to be done at kinematic level, since the underlying DCL is assumed as given.
-
Camera Centering (inequality, prerequisite): a stereo vision system is often used to obtain the position of the objected to be manipulated. To help in guaranteeing continuous visual contact with the target while approaching it, the norm of the misalignment vector between the camera and object frames \(\varvec{\xi }\) should be maintained lower than a given bound, e.g., \( \left\| \varvec{\xi }\right\| \le \xi _{M}\).
-
Horizontal Attitude (inequality, safety): avoid vehicle overturning. The norm of the misalignment vector \(\varvec{\varphi }\) between the absolute world frame z axis and the vehicle’s one should be lower than a give value, i.e., \(\left\| \varvec{\varphi } \right\| \le \varphi _M\). For vehicles and arms with comparable masses, such thresholds should be big enough to avoid excessive energy consumption whenever the arm moves its joints away from the center of buoyancy, tilting the vehicle. This objective should be considered only for fully actuated vehicles since for under-actuated ROVs or AUVs passively stable in roll and pitch these d.o.f. are not controllable.
-
Vehicle Position (inequality, mission execution): has the vehicle frame \(\langle v \rangle \) roughly aligned with a particular goal frame \(\langle g_v \rangle \). This could be required in order to bring the vehicle close to the area where the manipulation needs to be carried out. This goal requires the achievement of the following inequality conditions:
$$\begin{aligned} \left\| \varvec{r}_v \right\| \le r_{v,M}, \quad \left\| \varvec{\vartheta }_v \right\| \le \vartheta _{v,M}, \end{aligned}$$(9)where \(\varvec{r}_v\) is the position error and \(\varvec{\vartheta }_v\) the orientation error.
-
End-effector/Tool-frame Position (equality, mission execution): this objective requires that the tool frame \(\langle t \rangle \), rigidly attached to the end-effector space, converges to a given goal frame \(\langle g \rangle \). In other words, the following two equality objectives must be eventually satisfied
$$\begin{aligned} r_{(i)} = 0,\, i = 1,2,3\,;\quad \vartheta _{(i)} = 0,\,i = 1,2,3\,; \end{aligned}$$(10)where \(\varvec{r}\) is the position error and \(\varvec{\vartheta }\) the orientation error between the tool and goal frames. Note that the component by component zeroing has been used, in lieu of the norm zeroing, for achieving a straight convergence to the target (especially important for grasping tasks).
Moreover there can also be tasks directly specified at velocity level, which are useful for better controlling the overall behavior of the system, i.e.:
-
Arm motion minimization (equality, optimization ): in some cases (e.g., during transportation) it might be better if the arm minimizes its movements, leaving to the vehicle most of the work to move the end-effector. This allows to use the arm d.o.f. to compensate for the vehicle controller errors in tracking its reference velocity, as explained in Sect. 4.4;
-
Vehicle motion minimization (equality, optimization): it might be preferred to have the vehicle roughly stationary (e.g., during grasping and manipulation), since usually the arm exhibits better control performances than the vehicle.
In order to prioritize one of the two subsystems these two task should be mutually exclusive. Let us also remark that these tasks exploit any residual arbitrariness on their relevant control variables so it is a good practice to place them at the bottom of the task hierarchy, since all the higher priority tasks are related to the safety of the system (e.g., joint limits, force regulation, vehicle attitude) or a prerequisite to complete the mission (e.g., manipulability, camera centering).
4 A Unifying Control Framework
The control of an UVMS is achieved by solving a sequence of optimization problems, following the assigned priority of each control objective. This mechanism descends from the original task priority framework [25] that has been extended to also encompass scalar tasks corresponding to inequality control objectives [15], where each of them is assigned with a different priority, and successively to include clusters of control objectives with equal priorities [18, 26]. We will now recall the basic steps behind the algorithmic structure of the task priority based control layer.
4.1 Phase Control Priorities and Unified Task List
Each phase of a mission is characterized by its control objectives, and consequently by a hierarchy of tasks. Two phases may have multiple tasks in common, despite they might have a different priority order within each list. For instance, consider the following two lists of tasks (now abstractly labeled with alphabetic letters) for two different phases, where \(A \prec B\) denotes that A has higher priority than B:
where A, C, D are in common, but with D at a different priority ordering w.r.t. C. Now consider the following merged list:
It is clear that, through insertion/deletion of some of the entries, the two original lists can be reconstructed. To do so, the mechanism of activation functions will be exploited, as explained in the next section.
Before concluding, from now on tasks at the same priority level will be stacked together forming a so-called multidimensional task \(\dot{\bar{\varvec{x}}}_i\), where i indicates the priority level. For generality, we will consider scalar tasks as a particular case of the multidimensional ones, and consequently we shall indicate a prioritized task list simply as \(\dot{\bar{\varvec{x}}}_1, \ldots , \dot{\bar{\varvec{x}}}_N\). and the Jacobians relevant to the actual task velocities \(\dot{\varvec{x}}_1, \ldots , \dot{\varvec{x}}_N\) as \(\mathbf J _1, \ldots , \mathbf J _N\).
4.2 Activation Functions
Let us consider a multidimensional task, and let us consider an activation function associated to each j-th of its components, called \(a_{(j)}\), to be then organized in a diagonal activation matrix \(\mathbf A \), whose meaning is the following:
-
if \(a_{(j)} = 1\), the associated scalar task is called active and the corresponding actual \(\dot{x}_{(j)}\) should therefore track \(\dot{\bar{x}}_{(j)}\) as close as possible;
-
if \(a_{(j)} = 0\), the scalar task is termed inactive and the actual \(\dot{x}_{(j)}\) should be unconstrained;
-
if \(0< a_{(j)} < 1 \) the scalar task is termed in transition and the actual \(\dot{x}_{(j)}\) should smoothly evolve between the two previous cases.
In particular, the overall activation function \(a_{(j)}\) is the product of two functions
which have the following specific purposes:
-
\(a^i_{(j)}\) is a function of the control objective variable \({x}_{(j)}\), and its purpose is to deactivate the task whenever the inequality objective is satisfied, to avoid overconstraining the system. Note that for equality control objectives it clearly holds that \(a^i_{(j)} = 1\);
-
\(a^p_{(j)}\) is a function of the mission phases, and is used to activate or deactivate a task during a phase transition. For example, it can be a function of the time elapsed within the current phase, allowing the proper activation of new tasks, and deactivation of objectives that are not anymore relevant.
More specifically, \(a^i_{(j)}\) is defined as follows for objectives of the type \(x_{(j)} \le x_{(j),M}\) (a similar function can be constructed for objectives \(x_{(j)} \ge x_{(j),m}\)):
where \(s_j(x)\) is any sigmoid function exhibiting a continuous behavior from 0 to 1. The \(\varDelta _{(j)}\) value allows to create a buffer zone, where the inequality is already satisfied, but the activation value is still greater than zero, to prevent any chattering problem around the inequality control objective threshold. An example of such a function is reported in Fig. 2.
Let us briefly clarify how the activation function mechanism works with inequality control objectives through an example. Suppose that \(x_{(j),M} = 0.1\) and \(\varDelta _{(j)} = 0.05\) (this is the case depicted in Fig. 2). Then if we consider \(x^*\) in (7) equal to \(x_{(j),M}-\varDelta _{(j)} = 0.05\) (note that 0.05 is inside the validity region of the inequality objective) we have the following behavior:
-
When \(x_{(j)} > 0.1\), the task is active \(a^i_{(j)} = 1\) and the feedback reference rate defined in (7) will drive \(x_{(j)}\) toward the region where \(x_{(j),M} < 0.1\), in particular toward the point \(x^* = 0.05\).
-
When \(0.05< x_{(j)} < 0.1\), the task is in the transition zone \(0< a^i_{(j)} < 1\). The feedback reference rate will still try to drive \(x_{(j)}\) towards the point \(x^* = 0.05\). However, the priority of this task is not any longer fully enforced. Indeed, as \(a^i_{(j)}\) decreases from 1 to 0, lower priority tasks will have the opportunity to influence the current task, possibly pushing it to either its lower bound (0.05, not in conflict with the current task) or its upper bound (0.1, in conflict with the current task).
Let us for a moment consider a continuous time, purely kinematic system. In the former case, the task will be simply completely deactivated. In the latter case \(x_{(j)}\) will decrease until the point where lower priority tasks’ influence on the current task matches the feedback reference rate, achieving a stable condition within the transition zone, where by definition the inequality control objective is satisfied. This behavior is enforced by the specific regularization mechanism that will be briefly presented in Sect. 4.3 and that can be found in [26].
In practice, discrete time control system has to be used both at kinematic and dynamic velocity control level, where the latter is usually characterized by higher control rates. For given dynamic performances, which will depend on the control rate, gains and specific dynamic controller structure, a tuning of both kinematic gains and activation functions parameters is actually required to ensure that chattering phenomena do not appear. Since this may sometime result into a tedious trial-and-error process, research effort are currently devoted toward the possible formalization of specific procedures for the problem in hand.
-
Finally, when \(x_{(j)} < 0.05\), the task is inactive and the task velocity is determined only by the rest of the task hierarchy.
Remark: We have implicitly considered objectives of the type \(x_m< x < x_M\) as two separate ones. Note that if \(x_m\) and \(x_M\) are sufficiently spaced, i.e., \(x_m + \varDelta < x_M - \varDelta \), then they can be considered together by using as activation function the sum of the two activation functions, and by choosing an arbitrary point inside the validity of both inequality to construct the common reference rate in (7). This is actually what is done for the joint limits task implementation, since the minimum and maximum limits satisfy the above conditions.
4.3 Solution of the Task Hierarchy Problem
In the previous sections different concepts have been introduced. The UVMS needs to fulfil different control objectives. Tracking suitable feedback reference rates allows the UVMS to meet these objectives. We have termed this need as task. We have also seen that tasks should be activated and deactivated for two main reasons: either the current control phase does not require that specific objective and its related task, or the task corresponds to an inequality objective which is currently satisfied. For the reasons outlined above, whenever that situation occurs we do not want the control to be overconstrained. To comply with this need, activation functions have been introduced, which describe whether a given task should or not be fulfilled.
Having said that, the problem becomes that of tracking the given reference velocities, following the required priority order, and taking into account their corresponding activation values. The solution of this problem can be found solving the following sequence of minimization problems:
where \(S_{k-1}\) is the manifold of solutions of all the previous tasks in the hierarchy.
The solution of each problem in (13) is not straightforward. It is well known that minimization problems can be invariant to weights (such is the role of \(\mathbf A _k\)) [27, 28]. For that reason, we have used the notation \(\mathrm {R\text {-}}\min \), to highlight the fact that we employ a special regularized pseudoinverse solution of that problem, as defined in [26]. In fact, the solution of the regularized minimization problem exploits the following definition of pseudoinverse operator \(\mathbf X ^{\#,\mathbf A ,\mathbf Q }\) for given non-negative definite matrices \(\mathbf A , \mathbf Q \), with dimensions equal to the rows and columns of \(\mathbf X \) respectively:
where \(\mathbf V \) is the right orthonormal matrix of the SVD decomposition of \(\mathbf X ^T\mathbf A \mathbf X + (\mathbf I -\mathbf Q )^T(\mathbf I -\mathbf Q )\). The matrix \(\mathbf H \) is a diagonal (singular value-oriented regularization ) matrix, whose elements \(h_{(i,i)}\) are bell-shaped, finite support functions (similar to the activation functions) of the corresponding singular value of the same mentioned SVD decomposition. As a brief insight, let us remark how the pseudoinverse operator explicitly depends on the weights \(\mathbf A \) (the activation function) and \(\mathbf Q \) (the nonorthogonal projection matrix). This fact allows the operator to avoid the problems of discontinuity arising from the invariance of the minimization w.r.t. the weights. The interested reader can find more details in [26].
Using the above operator for solving a hierarchy of tasks, a methodology termed iCAT task priority framework, results in the following algorithm:
then for \(k = 1, \ldots , N\)
where
-
\(\varvec{\rho }_k\) is the control vector, which is computed in an iterative manner by descending the various priority levels;
-
\(\left( \dot{\bar{\varvec{x}}}_k - \mathbf J _k \varvec{\rho }_{k-1} \right) \) is the modified task reference that takes into account the contribution of the control vector \(\varvec{\rho }_{k-1}\) established at the previous iteration;
-
\(\mathbf Q _{k-1}\) is the projection matrix that is used to take into account the control direction (totally or partially) used by the higher priority tasks;
-
\(\mathbf W _k\) is a \(m \times m\) matrix, where m is the row-dimension of the task at the current priority level, whose effect is to modify the task reference \(\left( \dot{\bar{\varvec{x}}}_k - \mathbf J _k \varvec{\rho }_{k-1} \right) \) to avoid discontinuities between priority levels.
A further improvement that can be applied to this technique is to take into account velocity saturations at each priority level, following the methodology first proposed in [29]. To do so, the update equation of \(\varvec{\rho }_k\) is redefined as follows:
where the function Sat(\(\cdot \)) implements the saturation proposed in [29].
The above task hierarchy resolution ends with the N-th manifold \(S_N = \{\dot{\varvec{y}} = \varvec{\rho }_N + \mathbf Q _N \dot{\varvec{z}}_N\,;\,\forall \dot{\varvec{z}}_N\}\). To ensure the continuity, a final minimization on the control vector needs to be performed [26], leading to the following final velocity control vector:
4.4 Vehicle Velocity Tracking Error Compensation Scheme
An important consideration when dealing with UVMS is that the two subsystem are characterized by very different dynamic performances. Indeed, it is well known that thrusters have nonlinear properties [30,31,32]. This nonlinearity, coupled with the higher mass of the vehicle compared to the manipulator’s one, makes the velocity control of the vehicle far less accurate than the arm’s one.
The proposed algorithm (16) solves the task hierarchy considering the vehicle and arm velocity together in the stacked vector \(\dot{\varvec{y}}\). However, for reasons states at the start of this section, inevitable vehicle velocity tracking errors will occur. To overcome this problem, the idea is to add, in parallel to (16), another task hierarchy resolution, where only the arm variables are subject to optimization . The actual vehicle velocity, as measured by onboard sensors, is used as a parameter to solve the task hierarchy.
This procedure leads to the following set of equations:
where now \(\varvec{\rho }_k \in \mathbb {R}^l\) contains only the arm joint velocities and each Jacobian \(\mathbf J _k\) has now been considered as its two separate vehicle contributions, i.e., \(\mathbf J _k \triangleq \begin{bmatrix} \mathbf J ^{a}_k&\mathbf J ^{v}_k \end{bmatrix}\). The resulting arm control law (19), since parametrized by the vehicle velocity \(\varvec{v}\), results to be the optimal one in correspondence of any vehicle velocity.
5 Simulation and Experimental Results
A series of experiments performed using the proposed task priority based kinematic controller are presented in this section. Experimental results on underwater grasping taken from the MARIS project are reported in the first subsection. The successive one presents a simulation of underwater pipe inspection with force regulation taken from the DeXROV project.
5.1 Approaching and Grasping
The following section presents the data collected during the MARIS project. The setup consisted in a UVMS composed of an under-actuated vehicle with controllable d.o.f. x, y and yaw angle \(\psi \), and a 7 d.o.f. manipulator, with a 3-fingered gripper attached as shown in Fig. 3. Note that the z axis of the vehicle was disabled for safety reasons, since the trials were done in a pool with only 3 m of water. The vehicle was controlled at 10 Hz rate, while the arm was controlled at 33 Hz. The reference mission was approaching and grasping an underwater pipe, whose position was estimated using an onboard stereo camera [33] at an approximate frequency of 3 Hz.
The first trial, depicted in Fig. 4 shows the generated joint velocities using the approach presented in Sect. 4, with the vehicle velocity compensation of Sect. 4.4. It can be noted that the vehicle feedback was particularly noisy on the angular velocity components. In order to compensate for the noisy feedback, the arm moved quite quickly, inducing actual oscillations in the system due to the dynamic coupling with the floating base.
To cope with the above problem, a simple first-order filter on the vehicle feedback was introduced, with a cut-off frequency at angular frequency of 50 rad/s. New trials were then performed; one of these is depicted in Fig. 5a, where now the filtered velocity feedback is compared to the reference one along with the reference velocities for the arm. Let us note how the control successfully completed the grasp sequence despite the vehicle tracking inaccuracies thanks to the proposed compensation technique. From the Fig. 5b, it is possible to see that the generated joint velocities are smoother compared to the first trial, even though the multi-rate nature of the control and feedback can be appreciated. Figure 5c shows the time behavior of the activation function of the manipulability task. A video showing one of the experiments can be seen at the URL https://youtu.be/b3jJZUoeFTo.
Finally, it must be noted how the experiments were necessarily preceded by a general tuning of all the parameters, ranging from the control gains of each task reference rate, to the size of the activation functions buffers \(\varDelta \).
5.2 Force Regulation
A series of simulations were carried out to test the effectiveness of the proposed algorithm including a force regulation task. The reference mission is the inspection of a pipeline weld. To carry out the inspection, a sensor attached to the end-effector must be put in contact with the pipe along all the weld. The shape of the inspected object is not known, although the knowledge of a two-dimensional reference path defined on an known underlying surface was assumed. The UVMS must regulate the force to a given reference value to maintain contact with the pipe without damaging the sensor’s probe and adapting to the unknown surface. We recall that this regulation is performed at kinematic level, with a dedicated task at the top of the task hierarchy. This is done by measuring the force normal, and generating a velocity along that direction proportional to the force error. This reference velocity, at dynamic level, will become an actual force. This further ensures that lower priority task do not generate velocity references along the direction of the physical constraint.
Compared to previous results [34], this simulation includes realistic saturation values for the vehicle generalized force/moments resulting at the vehicle frame and arm joint torques, other than an hydrodynamic model of the UVMS. The thruster dynamics have not been modeled; the vehicle tracking accuracy are attributed only to the inertia effects and dynamic control performances. In any case, the proposed velocity compensation technique takes into account the resulting effect and would not be different if the thruster dynamic was included in the simulation (Fig. 6).
In the simulation, the underlying DCL implements a PI control law. This case reproduces the actual implementation of DexROV, where the arm and vehicle DCLs are provided by the respective manufacturers and implementing global dynamic controllers, such as a computed torque, are not possible. The regulation of the force is done through a proportional term, since the underlying dynamic level already contains an integral part. The simulation shows that the regulation is accomplished despite different tasks are being activated and deactivated during the trial, e.g., the joint limits and manipulability ones. The proposed controller implements the saturation of reference joint and vehicle velocities as proposed in (17), to avoid generating unrealistic values. Finally, the simulation implements a multi-rate control, where the kinematic control is run at 100 Hz, while the DCL and the dynamic simulation runs at 1 kHz.
Figure 7a shows the force exerted on the pipe, which is very close to the desired value of 10 N. The spikes are in correspondence of the end of the legs, where the vehicle needs to move in a difference direction and where most of the vehicle velocity tracking inaccuracies occur. Those spikes were present also in the simulations presented in [34]; however, the saturation on the actuators increase this effect. Further investigations on how to mitigate these spikes despite saturation are currently ongoing. Finally, Fig. 7b presents the activation values of some tasks that are being activated and deactivated during the mission.
6 Concluding Remarks
Oceans cover approximately 70% of Earth’s surface and represent an important source of resources. Unfortunately, the underwater environment poses great challenges to robotic systems, due to high pressures and hydrodynamic forces that are both nonlinear. A further important constraint is the low bandwidth of acoustic communications, which are the de facto standard since electromagnetic communications only work at very short ranges.
Despite such premises, underwater robotic systems capable of performing autonomous intervention tasks are a very active topic of research. In the future, the difference between ROV systems with advanced autonomy capabilities and completely autonomous UVMSs is expected to be less prominent. In fact, one of the trends is to imagine hybrid solutions where the robotic system autonomously navigates toward a target area, docks with a subsea structure and a tether cable, and then performs as a semi-autonomous ROV system. Such a solution is very interesting to reduce the maintenance costs of permanent underwater structures, especially for offshore platforms.
The employment of UVMSs can be of course predicted also for applications that do not target the offshore market. For example, exploration for resources with the possibility of in situ measurements, such as what is proposed in the ROBUST project, is very interesting and promising. Other applications might include the use of UVMSs for deep-sea archaeological sites.
This chapter has presented the overall kinematic control strategy of an UVMS, supported both by experimental results of the TRIDENT and MARIS projects, which is now currently refined in the scope of the DexROV and ROBUST projects. More investigation efforts are still necessary for what concerns interaction tasks with the environment, especially under the presence of saturation effects.
The chapter covered only control issues. However, perception, navigation , communication, and dynamic modeling are other fundamental topics for the development of autonomous underwater robotic systems. The interested reader can find further readings on these topics in the following survey papers and books [35,36,37,38,39,40].
References
Gancet, J., Weiss, P., Antonelli, G., Pfingsthorn, M.F., Calinon, S., Turetta, A., Walen, C., Urbina, D., Govindaraj, S., Letier, P., Martinez, X., Salini, J., Chemisky, B., Indiveri, G., Casalino, G., Di Lillo, P., Simetti, E., De Palma, D., Birk, A., Fromm, T., Mueller, C., Tanwani, A., Havoutis, I., Caffaz, A., L, Guilpain: Dexterous undersea interventions with far distance onshore supervision: the dexrov project. In: 10th IFAC Conference on Control Applications in Marine Systems. IFAC, vol. 49, no. 23, pp. 414–419. Elsevier, Trondheim, Norway (2016)
ROBUST website. http://eu-robust.eu (2016). Accessed 25 Oct 2016
Yoerger, D.R., Schempf, H., DiPietro, D.M.: Design and performance evaluation of an actively compliant underwater manipulator for full-ocean depth. J. Robot. Syst. 8(3), 371–392 (1991)
Schempf, H., Yoerger, D.: Coordinated vehicle/manipulator design and control issues for underwater telemanipulation. In: Applications in Marine Systems (CAMS 92), Genova, Italy (1992)
Lane, D.M., Davies, J.B.C., Casalino, G., Bartolini, G., Cannata, G., Veruggio, G., Canals, M., Smith, C., O’Brien, D.J., Pickett, M., Robinson, G., Jones, D., Scott, E., Ferrara, A., Angelleti, D., Coccoli, M., Bono, R., Virgili, P., Pallas, R., Gracia, E.: Amadeus: advanced manipulation for deep underwater sampling. IEEE Robot. Autom. Mag. 4(4), 34–45 (1997)
Casalino, G., Angeletti, D., Bozzo, T., Marani, G.: Dexterous underwater object manipulation via multi-robot cooperating systems. In: IEEE International Conference on Robotics and Automation, 2001. Proceedings 2001 ICRA, vol. 4, pp. 3220–3225. IEEE (2001)
Rigaud, V., Coste-Manière, È., Aldon, M.-J., Probert, P., Perrier, M., Rives, P., Simon, D., Lang, D., Kiener, J., Casal, A., et al.: Union: underwater intelligent operation and navigation. Robot. Autom. Mag. IEEE 5(1), 25–35 (1998)
Yuh, J., Choi, S., Ikehara, C., Kim, G., McMurty, G., Ghasemi-Nejhad, M., Sarkar, N., Sugihara, K., Design of a semi-autonomous underwater vehicle for intervention missions (SAUVIM). In: Proceedings of the 1998 International Symposium on Underwater Technology, pp. 63–68. IEEE, Tokyo, Japan (1998)
Marani, G., Choi, S.K., Yuh, J.: Underwater autonomous manipulation for intervention missions AUVs. Ocean Eng. 36, 15–23 (2008)
Evans, J., Redmond, P., Plakas, C., Hamilton, K., Lane, D.: Autonomous docking for Intervention-AUVs using sonar and video-based real-time 3D pose estimation. In: Oceans 2003, vol. 4, pp. 2201–2210. IEEE (2003)
Marty, P., et al.: Alive: An autonomous light intervention vehicle. In: Advances in Technology for Underwater Vehicles Conference. Oceanology International, vol. 2004 (2004)
Casalino, G., Zereik, E., Simetti, E., Torelli, S., Sperindé, A., Turetta, A.: A task and subsystem priority based control strategy for underwater floating manipulators. In: IFAC Workshop on Navigation, Guidance and Control of Underwater Vehicles (NGCUV 2012), pp. 170–177, Porto, Portugal (2012)
Casalino, G., Zereik, E., Simetti, E., Torelli, S., Sperindé, A., Turetta, A.: Agility for underwater floating manipulation task and subsystem priority based control strategy. In: International Conference on Intelligent Robots and Systems (IROS 2012), pp. 1772–1779, Vilamoura, Portugal (2012)
Simetti, E., Casalino, G., Torelli, S., Sperindé, A., Turetta, A.: Experimental results on task priority and dynamic programming based approach to underwater floating manipulation. In: OCEANS 2013. Bergen, Norway (2013)
Simetti, E., Casalino, G., Torelli, S., Sperindé, A., Turetta, A.: Floating underwater manipulation: developed control methodology and experimental validation within the trident project. J. Field Robot. 31(3), 364–385 (2014). May
Casalino, G., Caccia, M., Caiti, A., Antonelli, G., Indiveri, G., Melchiorri, C., Caselli, S.: Maris: A national project on marine robotics for interventions. In: 22nd Mediterranean Conference of Control and Automation (MED). IEEE, 864–869 (2014)
Casalino, G., Caccia, M., Caselli, S., Melchiorri, C., Antonelli, G., Caiti, A., Indiveri, G., Cannata, G., Simetti, E., Torelli, S., Sperind, A., Wanderlingh, F., Muscolo, G., Bibuli, M., Bruzzone, G., Zereik, E., Odetti, A., Spirandelli, E., Ranieri, A., Aleotti, J., Lodi Rizzini, D., Oleari, F., Kallasi, F., Palli, G., Moriello, L., Cataldi, E.: Underwater intervention robotics: an outline of the italian national project MARIS. Mar. Technol. Soc. J. 50(4), 98–107 (2016)
Simetti, E., Casalino, G.: Whole body control of a dual arm underwater vehicle manipulator system. Annu. Rev. Control 40, 191–200 (2015)
Manerikar, N., Casalino, G., Simetti, E., Torelli, S., Sperindé, A.: On autonomous cooperative underwater floating manipulation systems. In: International Conference on Robotics and Automation (ICRA 15), pp. 523–528. IEEE, Seattle, WA (2015)
Simetti, E., Casalino, G.: Manipulation and transportation with cooperative underwater vehicle manipulator systems. IEEE J. Ocean. Eng. (2016)
Di Lillo, P.A., Simetti, E., De Palma, D., Cataldi, E., Indiveri, G., Antonelli, G., Casalino, G.: Advanced rov autonomy for efficient remote control in the DexROV project. Mar. Technol. Soc. J. 50(4), 67–80 (2016)
Ben-Israel, A., Greville, T., Generalized Inverses: Theory and Applications, vol. 15. Springer, Berlin (2003)
Perez, T., Fossen, T.I.: Kinematic models for manoeuvring and seakeeping of marine vessels. Model. Identif. Control 28(1), 19–30 (2007)
Yoshikawa, T.: Manipulability of robotic mechanisms. Int. J. Robot. Res. 4(1), 3–9 (1985)
Siciliano, B., Slotine, J.-J.E.: A general framework for managing multiple tasks in highly redundant robotic systems. In: Proceedings of the Fifth International Advanced Robotics ’Robots in Unstructured Environments’, 91 ICAR. Conference, pp. 1211–1216. IEEE, Pisa, Italy (1991)
Simetti, E., Casalino, G.: A novel practical technique to integrate inequality control objectives and task transitions in priority based control. J. Intell. Robot. Syst. 84(1), 877–902 (2016)
Doty, K.L., Melchiorri, C., Bonivento, C.: A theory of generalized inverses applied to robotics. Int. J. Robot. Res. 12(1), 1–19 (1993)
Mansard, N., Remazeilles, A., Chaumette, F.: Continuity of varying-feature-set control laws. IEEE Trans. Autom. Control 54(11), 2493–2505 (2009)
Antonelli, G., Indiveri, G., Chiaverini, S.: Prioritized closed-loop inverse kinematic algorithms for redundant robotic systems with velocity saturations. In: IEEE/RSJ International Conference on Intelligent Robots and Systems: IROS 2009, pp. 5892–5897. IEEE (2009)
Whitcomb, L.L., Yoerger, D.R.: Comparative experiments in the dynamics and model-based control of marine thrusters. In: OCEANS, vol. 2, pp. 1019–1028. IEEE (1995)
Whitcomb, L.L., Yoerger, D.R.: Preliminary experiments in model-based thruster control for underwater vehicle positioning. IEEE J. Ocean. Eng. 24(4), 495–506 (1999)
Bachmayer, R., Whitcomb, L.L., Grosenbaugh, M.A.: An accurate four-quadrant nonlinear dynamical model for marine thrusters: theory and experimental validation. IEEE J. Ocean. Eng. 25(1), 146–159 (2000)
Rizzini, D.L., Kallasi, F., Oleari, F., Caselli, S.: Investigation of vision-based underwater object detection with multiple datasets. Int. J. Adv. Robot. Syst. 12(77), 1–13 (2015)
Simetti, E., Galeano, S., Casalino, G.: Underwater vehicle manipulator systems: control methodologies for inspection and maintenance tasks. In: OCEANS 16. IEEE, Shanghai, China (2016)
Yuh, J.: Design and control of autonomous underwater robots: a survey. Auton. Robots 8(1), 7–24 (2000)
Yuh, J., West, M.: Underwater robotics. Adv. Robot. 15(5), 609–639 (2001)
Antonelli, G.: Underwater Robots. Springer Tracts in Advanced Robotics, vol. 96. Springer, Berlin (2014)
Kinsey, J.C., Eustice, R.M., Whitcomb, L.L.: A survey of underwater vehicle navigation: recent advances and new challenges. In: IFAC Conference of Manoeuvering and Control of Marine Craft, vol. 88 (2006)
Bonin-Font, F., Ortiz, A., Oliver, G.: Visual navigation for mobile robots: a survey. J. Intell. Robot. Syst. 53(3), 263–296 (2008)
Partan, J., Kurose, J., Levine, B.N.: A survey of practical issues in underwater networks. ACM SIGMOBILE Mob. Comput. Commun. Rev. 11(4), 23–33 (2007)
Acknowledgements
This work has been supported by the MIUR (Italian Ministry of Education, University and Research) through the MARIS prot. 2010FBLHRJ project and by the European Commission through the H2020-BG-06-2014-635491 DexROV project and the H2020-SC5-2015-690416 ROBUST project.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix
Appendix
1.1 Under-Actuated Vehicles
This chapter has presented UVMS control algorithms under the assumption of fully actuated vehicle. However, in many cases the vehicles are passively stable in some d.o.f. (typically roll and/or pitch). The algorithm (16) can easily cope with this situation, by using a slightly different initialization. As an example, in lieu of (15) consider the following initial values for a vehicle with roll and pitch not actuated:
The idea is that the solution \(\varvec{\rho }\) is initialized with the actual angular velocities of the vehicle, as measured by onboard sensors. At the same time, to force the task hierarchy resolution to avoid changing these values, the corresponding diagonal values of the matrix \(\mathbf Q \) are set to zero. This effectively inhibits the algorithm from changing the initial values. Note that all the tasks will properly take into account the nonactuated d.o.f. velocities due to the term \(\left( \dot{\bar{\varvec{x}}}_k - \mathbf J _k \varvec{\rho }_{k-1} \right) \).
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Casalino, G., Simetti, E., Wanderlingh, F. (2017). Robotized Underwater Interventions. In: Fossen, T., Pettersen, K., Nijmeijer, H. (eds) Sensing and Control for Autonomous Vehicles. Lecture Notes in Control and Information Sciences, vol 474. Springer, Cham. https://doi.org/10.1007/978-3-319-55372-6_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-55372-6_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-55371-9
Online ISBN: 978-3-319-55372-6
eBook Packages: EngineeringEngineering (R0)