Next Article in Journal
A Convolutional Autoencoder Topology for Classification in High-Dimensional Noisy Image Datasets
Next Article in Special Issue
A Distributed Algorithm for Real-Time Multi-Drone Collision-Free Trajectory Replanning
Previous Article in Journal
Presentation Attack Detection on Limited-Resource Devices Using Deep Neural Classifiers Trained on Consistent Spectrogram Fragments
Previous Article in Special Issue
Universal Path-Following of Wheeled Mobile Robots: A Closed-Form Bounded Velocity Solution
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Over-Actuated Underwater Robots: Configuration Matrix Design and Perspectives †

1
Laboratory of Informatics, Robotics and MicroElectronics (LIRMM) (UMR 5506 CNRS—UM), Université Montpellier, 161 rue Ada, CEDEX 5, 34392 Montpellier, France
2
Reeds Company, 199 rue Hélène Boucher, 34170 Castelnau-Le-Lez, France
*
Authors to whom correspondence should be addressed.
The manuscript is extended by our publication Dang, H.T.; Lapierre, L.; Zapata, R.; Lepinay, P.; Ropars, B. Configuration Matrix Design of Over-Actuated Marine Systems. In Proceedings of the OCEANS 2019, Marseille, France, 17–20 June 2019; pp. 1–10, doi:10.1109/OCEANSE.2019.8867445.
Sensors 2021, 21(22), 7729; https://doi.org/10.3390/s21227729
Submission received: 15 October 2021 / Revised: 12 November 2021 / Accepted: 18 November 2021 / Published: 20 November 2021

Abstract

:
In general, for the configuration designs of underwater robots, the positions and directions of actuators (i.e., thrusters) are given and installed in conventional ways (known points, vertically, horizontally). This yields limitations for the capability of robots and does not optimize the robot’s resources such as energy, reactivity, and versatility, especially when the robots operate in confined environments. In order to optimize the configuration designs in the underwater robot field focusing on over-actuated systems, in the paper, performance indices (manipulability, energetic, reactive, and robustness indices) are introduced. The multi-objective optimization problem was formulated and analyzed. To deal with different objectives with different units, the goal-attainment method, which can avoid the difficulty of choosing a weighting vector to obtain a good balance among these objectives, was selected to solve the problem. A solution design procedure is proposed and discussed. The efficiency of the proposed method was proven by simulations and experimental results.

1. Introduction

The Actuation System (AS) is an important part of marine robots. The AS groups the different actuators carried by the system. Following the generic Navigation–Guidance–Control (NGC) structure, the AS is in charge of realizing the desired force ( F B d ) provided by the control system (see Figure 1).
Following Figure 1, the sensorial stage using sensors measurement and prior knowledge of the environment provides to the navigation system the necessary information to compute an estimation of the system state ( η ^ ). Then, the guidance system uses this estimation and the reference system state ( η d ) provided by the mission controller to compute the error function ( ε ). The control system is then in charge of computing the desired force ( F B d ) in order to reduce the error function to zero. Note that classically, this desired force is expressed in the body-frame. Afterwards, the actuation system produces in the environment a resulting force ( F B ), which should be as close as possible to F B d . Note that, in this paper, the desired force ( F B d ) and resulting force ( F B ) are ( 6 × 1 ) vectors and include force and torque elements. Inside the AS block, referring to Figure 2, the desired force ( F B d ) is the output of the controller. Then, the dispatcher ( D ) considers the actuator allocation method (and eventually, redundancy management) to compute the desired actuator force ( F m d ) that each actuator has to produce. The inverse actuator characteristics are then considered in order to compute the actuator inputs ( c m ). Once applied, c m can produce actuator forces ( F m ). The resulting force F B is produced with respect to the actuator configuration ( A ). The properties of the AS are indeed dependent on the actuator configuration (position and attitude of the actuators with respect to the body-frame), actuator dynamics (response characteristics), and dispatcher (control allocation, redundancy management) (see Figure 2) and afford the system different properties. Let us consider in the following that n is the number of Degrees of Freedom (DoFs) of the system and m is the number of actuators. If the system carries less actuators than DoFs, it is said to be underactuated (in that case, A will be an ( n × m ) matrix where n > m ). Long-range Autonomous Underwater Vehicles (AUVs) and, for the terrestrial case, unicycle wheeled vehicles belong to this category [1]. In that case, specific nonlinear guidance strategies have to be used [2]. If the system carries more actuators than DoFs, it is said to be redundant ( n < m ). Then, there are different solutions ( c m ) to produce an identical resulting force ( F B ). Indeed, D is one of the multiple possible inverses of A , classically D = A + , where A + is the Moore–Penrose pseudo-inverse. The properties of the AS play a pivotal role in the system performances, in terms of achievable dynamics, maneuverability, robustness, and dependability. The properties of an overactuated system have been studied in aerospace control, where critical safety is required [3], and for marine vehicles [4], where the harsh oceanic condition may easily produce actuator failure. Redundancy was also used in [5] in order to compensate different and unknown actuator responses. The domain of robotic manipulators has also extensively studied this question of redundancy, especially with recent works on humanoid robotics, where the task function approach [6] has been used to concurrently achieve equilibriums [7], walking pattern following [8], and multicontact management [9].
For a global evaluation of an actuation system, we should of course consider many factors, including redundancy management, the control allocation method, the actuator characteristics (inverse and direct), and the actuator configuration. This paper focuses on the study of the actuator configuration; for other problems, the readers can refer to [5] and the references therein.
Different performance criteria related to the actuator configuration design have been proposed. For mobile manipulation, the manipulability index [10] measures the manipulation capability of the end-effector. Intuitively, this index regards the set of all end-effector velocities, which is realizable by joint velocities. This set is called the hyper-manipulability ellipsoid. This index is quantified by computing the hyper-manipulability ellipsoid’s properties. Based on these properties, there are different ways to quantify the manipulability index, including the volume of the hyper-manipulability ellipsoid, the ratio of the minimum and maximum radii of the hyperellipsoid, and the minimum radius of the hyperellipsoid. The selection depends on the purpose of evaluation. When the uniformity of manipulating ability is important, the ratio of two radii of the hyperellipsoid is chosen (the optimal value will be close to one). Otherwise, the minimum radius of the hyperellipsoid is suited for the case where the minimum manipulating ability might be critical [11]. Another criterion, attainability [12,13,14], was studied using workspace volume estimation.
In the underwater robotics field, the manipulability index, energetic index, and force index were introduced in [15], and the manipulability index was applied in [16]. Specifically, the manipulability index is used to measure the system’s ability to exert a desired force with a specific actuator configuration. Therefore, the closer to one this index is, the better the robot’s isotropy is, i.e., the robot can exert the same forces/torques in any direction. The energetic index is a measurement of the variation of system energy when the direction of the desired force changes. This is evaluated by measuring the energy consumption when the direction of a normalized desired force changes over a 3D sphere. The basic idea of the energetic index is to keep the system’s energy consumption constant and as low as possible when the direction of action changes. The force index is used to measure the ratio between the actual maximum value and the minimum value of realizing forces. However, these studies only considered a given and fixed actuator configuration. Regarding the design of the actuator configuration of an overactuated underwater robot, a general problem is how to achieve an optimal configuration considering different performance indices. This is a challenging issue that raises two specific questions:
1.
How do we define general and typical indices to evaluate an actuator configuration of an overactuated underwater robot?
2.
How do we solve the complex optimal problem, which is normally nonconvex and has some conflicting objectives?
This paper focuses on the design of the actuator configuration for an overactuated underwater robot with the contributions outlined below:
1.
We propose performance indices to evaluate the actuator configuration of underwater robots;
2.
We optimize an actuator configuration design of an overactuated underwater robot with respect to different performance indices simultaneously.
This paper focuses on the design of an actuator configuration of an overactuated underwater robot, which optimizes different performance indices. Mathematically, an actuator configuration is a mapping from an actuator force vector to a resulting force vector (note that these vectors include force and torque elements). Since we considered an underwater robot equipped with thrusters, the mapping is from a thruster force vector ( F m space) to a body-frame vector ( F B space) (see Figure 3). The mapping operator is a matrix, which has different names in the literature such as: control effectiveness matrix [4,17], static transformation matrix [18], geometrical distribution of thrusters [19], configuration matrix [16]. In this paper, the mapping of an actuator configuration is called a configuration matrix, denoted as A .
The paper is organized as follows. The notations are given in Section 2. The problem formulation and performance indices are described in Section 3. The problem’s solution is displayed in Section 4. Simulation results and analyses are depicted in Section 5. Real experiments are depicted in Section 6. Finally, conclusions and future works are discussed in Section 7.

2. Notation

This section provides most of notations used in the whole paper. However, further notations are introduced when needed. In order to illustrate the notations, a given robot configuration is shown in Figure 4, and detailed explanations are given in Table 1.

3. Problem Formulation

The relation between the desired force ( F B d ) and resulting force ( F B ) depends on different elements (see Figure 2). This paper only focuses on the actuator configuration. Therefore, three assumptions were considered:
1.
The inverse characteristics and direct characteristics of the actuators are perfectly known, i.e., F m d = F m ;
2.
The dispatcher is the Moore–Penrose pseudo-inverse of the actuators’ configuration, i.e., if the actuators’ configuration is the A matrix, the dispatcher is D = A + ;
3.
All actuators have the same characteristics.

3.1. Model of the Actuator Configuration

This part describes how to model an actuator configuration of an overactuated underwater robot equipped with thrusters. A thruster is modeled by the position and direction of the force produced with respect to the body-frame of the robot. The position of the ith thruster is described by a unit position vector r i and the distance d i to the system’s Center of Mass (CM) in the body-frame. The direction of the ith thruster is represented by a unit direction vector u i with respect to the body-frame as in Figure 5, and the ith thruster induces a force with the magnitude denoted as F m , i . The relation of the thruster force vector and resulting force vector (note that this space includes force elements ( F ) and torque elements ( Γ )) is described in Equation (1).
F B = A F m = F Γ
where F B = [ F u F v F w F p F q F r ] T R 6 , A R 6 × m , F m = [ F m , 1 F m , 2 F m , m ] T R m , and m is the number of thrusters, m > 6 . The configuration matrix A is described as:
A = u 1 u 2 u m d 1 r 1 u 1 d 2 r 2 u 2 d m r m u m = u 1 u 2 u m τ 1 τ 2 τ m = A 1 A 2
where A 1 and A 2 R 3 × m are submatrices of A , which correspond to the force and torque elements, respectively. It is obvious to see that τ i T . u i = 0 . This is one constraint of the configuration matrix.
In this paper, we assumed that all distances from the thruster positions to the center of the body-frame are the same, d i = d j = c o n s t , i , j = 1 , , m . Without loss of generality, we can assume that d i = 1 , i = 1 , , m .

3.2. Manipulability Index

As mentioned before, the manipulability index was first introduced in [20] for manipulator mechanisms, and there are different ways to quantify the manipulability index. This paper focuses on the isotropic property of a marine robot. Then, the ratio between the maximum and minimum radii of the manipulability ellipsoid was chosen (see Figure 6). Because of the units’ consistency, the matrices that relate to the force space, A 1 , and torque space, A 2 , were investigated separately. However, because of our assumption on d i , the manipulability index is defined as the condition number of the configuration matrix:
I m = C o n d ( A ) = σ m a x σ m i n
where σ m a x and σ m i n are the maximum and minimum singular values of the configuration matrix, A , respectively.
Following Figure 6, the manipulability index investigates the resulting force ellipsoid, which is realizable by the thruster forces ( F m ) such that F m 1 (see Theorem in Appendix A). If I m = 1 , the robot is isotropic, or if I m = , the robot cannot act along at least one direction.

3.3. Energetic Index

Energy is very important for marine robots, and the energy consumption of robots depends on many factors such as the mechanical design, the environmental effects, and the specific mission. In order to evaluate the energy performance of an underwater robot, the energetic index was introduced in [15]. Being different from this, in our paper, the two-norm of the thruster force vector, p E = F m 2 , was used to quantify the energy that an underwater robot consumes to produce forces and torques, which can be calculated as follows in Equation (4):
p E = F m 2 = i = 1 m F m i 2 = A + . F B d 2
The energetic index is proposed to measure the variation of the energy consumption of an underwater robot when the direction of the desired force changes. It is quantified by computing the energy consumption when a unit desired force vector, ( F B d ), changes over the unit hypersphere (see Figure 7 for a 3D sphere). Because of the units’ consistency, however, the force and torque sphere were computed separately.
For the force sphere case, the unit desired force vector includes a unit vector of force elements and a zero vector of torque elements. For the torque sphere case, the unit desired force vector includes a zero vector of force elements and a unit vector of torque elements. Intuitively, this can be expressed as:
F B d = F Γ = u s 0 , for   the   force   sphere 0 u s , for   the   torque   sphere .
where u s = [ cos α cos β sin α cos β sin β ] T is a unit vector in spherical coordinates with α [ π , π ] and β [ π / 2 , π / 2 ] .
According to these two cases, the norm of the thruster force vector was also divided into two cases as follows:
p E = p E f = A + u s 0 , for   the   force   sphere   case p E Γ = A + 0 u s , for   the   torque   sphere   case .
The energetic index is defined as:
I e = 1 S S ( w e f p E f + w e Γ p E Γ ) d S
where S is the area of the three-dimensional sphere, p E f , p E Γ are the subvectors of p E corresponding to the force sphere and the torque sphere case, respectively, and w e f and w e Γ are the weighting coefficients. Note that the weighting coefficients were chosen to normalize the difference between the force and torque spheres. These choices depends on the robot’s characteristics. However, because of the normalization of the spheres, it is normal to assign one to these coefficients.

3.4. Workspace Index

The term workspace volume was first introduced in [13] for manipulator mechanisms. In this paper, the work space index was used to measure the volume of the attainable regions of the resulting force space with respect to (w.r.t.) the body-frame. In general, the characteristics of thrusters always have limitations, namely saturations and dead-zones (in this index, the dead-zone is not considered). This yields the polytope of the thruster force space, the F m space, denoted as M . By properly choosing the configuration matrix, A = ( A 1 A 2 ) T , the volume of the resulting force space for the force, the F F space, and the resulting force space for the torque, the F T space, can be maximized (see Figure 8). Note that the resulting spaces for the force and torque were studied separately because of the units’ consistency.
In general, the set M of thruster forces is known (with the given saturations of thrusters), so M is a polytope and F F and F T are also polytopes (under the A 1 and A 2 linear transform actions). We define the workspace index as:
I w = ω w f V o l ( F F ) + ω w τ V o l ( F T )
where V o l is the volume of a polytope and ω w f and ω w τ are the weighting coefficients.
In control perspectives, the larger the space’s volumes are, the less control effort is need. The design objective was to maximize the workspace index, I w . Normally, the set M is convex and its vertices are known. It is easy to find the vertices of F F and F T . Of course, F F and F T are also convex sets (because of the linear transformation). This problem becomes a volume computation of convex polytopes.

3.5. Reactive Index

The reactive index quantifies how fast the actuation system is able to change the orientation of the resulting force F B (ideally, F B d ). Suppose that the robot is traveling in a direction with a set of thruster forces F m 1 induced from desired force vector F B 1 d . The robot wants to change to another direction (or the same direction with a different magnitude) with the desired force vector F B 2 d , so the thrusters have to produce another set of thruster forces F m 2 . The two-norm of the deviation of the thruster forces, F m = F m 1 F m 2 = [ F m 1 F m 2 · · · F m m ] T , is considered as the reactive capability of the robot. Referring to the approximation of the characteristics of the thrusters, as Figure 9, the change from F m 1 to F m 2 is closer than that from F m 1 to F m 3 (in the linear section, the dead-zone of the thruster characteristics is neglected in this paper). Hence, we have:
F m = A + ( F B 1 d F B 2 d ) = A + F B d
F m = A + F B d A + F B d
F m F B d A +
From Equation (11), the sensitivity of the thruster forces with respect to the desired forces, in other words the variation of the thruster forces w.r.t. the desired forces, is upper-bounded by the norm of the pseudo-inverse of the configuration matrix, A + . We define the reactive index as:
I r e = A +
It is obvious to see that if this index is lower, the robot is more reactive. Then, the objective of the design process is to minimize the reactive index.

3.6. Robustness Index

This criterion measures the robustness level of the AS of an underwater robot. This means that if any thruster of the robot fails, the remaining ones can still perform the robot’s mission. In particular, for any F B d vector, there always exists a F m vector to satisfy the equation F B = A F m , and F B is as close as possible to F B d .
We have:
F B = A F m = i = 1 m a i F m , i
where a i is the ith column of the matrix A and F m , i is the force magnitude of the ith thruster.
When one or more thrusters completely fail, the value of F m , i = 0 . Note that in the case that the ith thruster has partly failed, the value of F m , i remains small (not addressed in this paper). This is equivalent, as we considered that a corresponding column a i of the configuration matrix A equals the zero vector. Therefore, Equation (13) is equivalent to:
F B = A F m
where the A matrix is the A matrix with one or more corresponding columns equal to the zero vectors.
We discuss hereafter two questions: What are the conditions of the matrix A to guarantee the robustness? What is the maximum number of failed thrusters?
To address these two questions, we supposed that k thrusters fail, and Equation (14) is a linear equation system with six equations (the dimensions of F B are 6 × 1 ) and ( m k ) variables, because the matrix A is 6 × m , where k columns are zero vectors. It is obvious to see that if r a n k ( A ) = 6 , for a given F B d , there always exits F m such that F B = A F m and F B is as close as possible to F B d . This can be interpreted as m k 6 or k m 6 . The condition on the configuration matrix and that on the maximum number of failed thruster that guarantee the robustness of an underwater robot are stated as:
1.
The maximum failed thrusters: m 6 ;
2.
Robustness condition: the rank of the configuration matrix always equals six, i.e., r a n k ( A ) = 6 , if any columns, from one to a maximum of ( m 6 ) , of the A matrix equal the zero vectors. If r a n k ( A ) < 6 , the system becomes underactuated, and the guidance and control have to change to guarantee the robot’s mission. This problem is not addressed in this paper.
We define the robustness index as:
I r o = r a n k ( A | m 6 ) = 6
where A | m 6 is the A matrix where the maximum number of columns being zero is ( m 6 ) . This index is verified in the solving process of the problem.

3.7. Configuration Matrix Design Problem

With all the performance indices discussed above, we propose the following design problem:
min A V ( A ) = min A [ I m I e 1 I w I r e ] T s . t A A
where V ( A ) is the objective function vector. A is the feasible set of the configuration matrix ( A ) including the constraints of the configuration matrix ( A ) and the robustness index. The reciprocal of the workspace index, 1 I w , is in Equation (16), because we wanted to maximize the workspace index.
This is a multi-objective optimization problem, and the unique solution belongs to the convexity of each objective function in the objective vector and the feasible set, A . Note that this optimization problem is with respect to a matrix variable (matrix optimization), not a vector variable. However, the optimization techniques for vector variables (vector optimization) can be applied here because we do not lose the physical meaning when converting a matrix variable to a vector variable in this optimization problem (because of the independency of each column in the matrix derived from the independent positions and orientations of the thrusters).
Specifically, Equation (16) can be rewritten as:
min A V ( A ) = min A [ I m I e 1 I w I r e ] T s . t u i = 1 , i = 1 , 2 , , m τ i 1 , i = 1 , 2 , , m τ i T u i = 0 , i = 1 , 2 , , m I r o = r a n k ( A | m 6 ) = 6
The problem (17) is to minimize an objective vector V ( A ) , including the manipulability index, the energetic index, the reciprocal of the workspace index, and the reactive index, with respect to configuration matrix, A , and to satisfy the constraints of the matrix structure itself and the robustness index. It is clear that this is a nonconvex and multi-objective optimization problem, which normally has many solutions. In the following sections, we propose a mathematical analysis and a method for solving the multi-objective optimization problem.

4. Problem Solution

Our final objective was to find a distribution (position and orientation) of the thrusters of an underwater robot. This means obtaining the u i and r i vectors for i = 1 , 2 , , m . These vectors can be extracted from configuration matrix A , which is the solution of the problem (17). Recall that our problem (17) is the multi-objective optimization problem with nonconvexity, and theoretically, this problem has infinitely many Pareto-optimal solutions. Our objective was to find one Pareto-optimal solution to build the robot. Analyzing the underlying mathematical properties of the problem helped us simplify the solving process. Thus, the mathematical analysis of the problem is shown in the next section.

4.1. Mathematical Analysis

The configuration matrix A has the form:
A = u 1 u 2 u m τ 1 τ 2 τ m
We have:
B = A T A = u 1 u 2 u m τ 1 τ 2 τ m T u 1 u 2 u m τ 1 τ 2 τ m
B is an m × m symmetric matrix where each element is denoted as b i j . We have:
T r ( B ) = i = 1 m b i i = i = 1 m λ i
where λ i is the ith eigenvalue of matrix B .
From Equations (19) and (20), we have:
i = 1 m λ i = i = 1 m u i T u i + τ i T τ i = i = 1 m u i 2 + τ i 2 i = 1 m λ i = i = 1 m ( 1 + τ i 2 )
In the case of manipulability index optimization, the condition of configuration matrix A is one, c o n d ( A ) = 1 . This means that the maximum singular value equals the minimum singular value, σ m a x = σ m i n . Note that the matrix A is the n × m matrix with n < m . The matrix A has n nonzero singular values (we have to guarantee that r a n k ( A ) = n ), then the matrix B has n nonzero eigenvalues and m n zero eigenvalues.
In the optimization case of the manipulability index, c o n d ( A ) = 1 σ m a x = σ m i n , we have λ i = λ m a x = λ m i n = λ ( σ = λ ). Equation (21) is rewritten as:
n λ = m + i = 1 m τ i 2 λ = m n + 1 n i = 1 m τ i 2
Considering the fact that τ i 2 1 , we have:
λ 2 . m n
Therefore, we have λ m a x = 2 m n when τ i 2 = 1 .
In the singular-value decomposition of a matrix, when c o n d ( A ) = 1 , the matrix A can be written as:
A = U S V T = U [ σ ] n × m V T
where U R n × n , V R m × m are orthogonal matrices, S = [ σ ] n × m = σ 0 0 σ 0 0 σ 0 R n × m
The pseudo-inverse of matrix A is A + and can be written as:
A + = V S + U T = V [ 1 σ ] m × n U T
where S + = [ 1 σ ] m × n = 1 σ 0 1 σ 0 0 0 1 σ 0 0 R m × n
Our objective for the reactive index was to minimize A + . From Equation (25), the reactive index I r e = A + = 1 σ , and the minimum value of the reactive index is equivalent to the maximum value of σ . This leads to the equality of Equation (23).
In order to minimize the reactive index and the manipulability index, the configuration matrix A has the following structure:
A = U S V T = U σ 0 0 0 0 0 σ 0 0 0 0 0 σ 0 0 0 0 0 σ 0 0 V T
where S ( n × m ) is like-diagonal and σ = λ = 2 m n ; U ( n × n ) and V ( m × m ) are orthogonal matrices ( U U T = I , V V T = I ). This result can be used as the initial value of the numerical optimization process and is useful for solving the problem.
We continue to discuss the energetic index. First, we introduce a proposition as follows:
Proposition 1.
Let M be a p × q matrix ( p q ), M R p × q . For all x R q , if M = P Σ Q T , where P R p × p , Q R q × q are orthogonal matrices, Σ = μ 0 0 0 μ 0 0 μ 0 0 0 μ 0 0 0 0 R p × q , then M x = M x .
Proof. 
We have:
M x 2 = ( M x ) T ( M x ) = x T M T M x
With M = P Σ Q T :
M x 2 = x T ( P Σ Q T ) T ( P Σ Q T ) x = x T Q Σ T P T P Σ Q T x = x T Q Σ T Σ Q T x
We have:
Σ T Σ = μ 0 0 0 μ 0 0 μ 0 0 0 μ 0 0 0 0 T μ 0 0 0 μ 0 0 μ 0 0 0 μ 0 0 0 0 = μ 2 0 0 0 μ 2 0 0 0 μ 2 = μ 2 I
where I is a q × q identity matrix.
Replacing Equation (29) to (28), we have:
M x 2 = x T V μ 2 I V T x = μ 2 x T x = M 2 x 2
Therefore, M x = M x .   □
The energetic index is stated as:
I e = 1 S S ( w e f A + ( F B d ( f ) + w e Γ A + F B d ( Γ ) ) d S
Choosing w e f = w e Γ = 1 (because the desired force vectors, F B d ( f ) , F B d ( τ ) , are units), we have:
I e = 1 S S ( A + F B d ( f ) + A + F B d ( Γ ) ) d S
In the case in which the reactive index and the manipulability index are minimum, the configuration matrix A ( n × m ) has the form of Equation (26); therefore, the pseudo-inverse matrix A + ( m × n , m > n ) has the following structure:
A + = V S + U T = V 1 σ 0 0 0 1 σ 0 0 1 σ 0 0 0 1 σ 0 0 0 0 U T
where V , U are orthogonal matrices.
It is clear that matrix A + satisfies the condition of Proposition 1. Applying this proposition, we have: A + F B d ( f ) = A + F B d ( f ) and A + F B d ( Γ ) = A + F B d ( Γ ) . Therefore, Equation (32) becomes:
I e = 1 S S ( A + F B d ( f ) + A + F B d ( Γ ) ) d S = 1 S A + S ( F B d ( f ) + F B d ( Γ ) ) d S = 2 A +
From the aforementioned mathematical analysis of the energetic index, we can see that the energetic index belongs to the norm of the pseudo-inverse of the configuration matrix, I r e = 2 A + , when the configuration matrix A has the form of (26).
We then discuss the upper-bound of the workspace index. For the units’ consistency, the workspace index for the force space and that for the torque space were investigated separately, denoted as I w f and I w τ , respectively. Recall that the objective of the workspace index is to maximize the volume of the resulting force space ( F B space), including the resulting space for the force and the resulting space for the torque with given thrusters’ force (the F m space).
The fact that for all vectors F m R m , A F m A F m . The volume of the resulting force space is maximum when the equality holds.
Following Figure 10, the volumes of the resulting force spaces ( F B ) (the force and torque spaces) are always less than the volumes of the exterior hypersphere of F B spaces of the force and torque (this may be the circumscribed spheres or not). This means that:
I w F V o l ( B ( R 1 ) ) I w T V o l ( B ( R 2 ) )
where B ( R 1 ) and B ( R 2 ) are Euclidean balls of radius R 1 = A ( 1 : 3 , : ) F m = A 1 F m and of radius R 2 = A ( 4 : 6 , : ) F m = A 2 F m , respectively; A ( 1 : 3 , : ) is composed of the first three rows of A , and A ( 4 : 6 , : ) is composed of the last three rows of A .
The volume of a Euclidean ball of radius R in n-dimensional Euclidean space is [21]:
V n ( R ) = π k k ! R 2 k , if n = 2 k 2 k + 1 π k ( 2 k + 1 ) ! ! R 2 k + 1 , if n = 2 k + 1 .
where ( 2 k + 1 ) ! ! = 1.3 . 5 , , ( 2 k 1 ) . ( 2 k + 1 ) .
Proposition 2.
If the configuration matrix A has the form of (26), then c o n d ( A 1 ) = c o n d ( A 2 ) = 1 and A 1 = A 2 = σ .
Proof. 
We have:
A A T = ( U S V T ) ( U S V T ) T = U S V T V S T U T = U S S T U T = σ 2 I
On the other hand:
A A T = A 1 A 2 A 1 A 2 T = A 1 A 2 ( A 1 T A 2 T ) = A 1 A 1 T 0 0 A 2 A 2 T
From (37) and (38), we have:
A 1 A 1 T = σ 2 I 1 A 2 A 2 T = σ 2 I 2
where I 1 and I 2 are partitioned matrices of matrix I .
From (39) and the uniqueness of singular-value decomposition [22], it is obvious to see that the structures of A 1 and A 2 are the same as (26) with different dimensions. Therefore, c o n d ( A 1 ) = c o n d ( A 1 ) = 1 and A 1 = A 2 = σ .   □
From (35) and (36) and Proposition 2, it is obvious to obtain the upper-bound of the resulting spaces of the force and torque of the system and then the upper-bound of the workspace index. Normally, the weighting coefficients in the workspace index are chosen as one because of our assumption of d i .

4.2. Problem Solution

Based on the above mathematical analysis, the goal-attainment method was chosen to solve the problem with the given desired values. The idea of this method is to minimize the deviation of the desired values and the obtained values. One advantage of the goal-attainment method is that the problem does not need to be normalized to a dimensionless problem. The solution of this method has been proven to be Pareto-optimal. This method is also suitable when the feasible objective set is nonconvex [23]. All Pareto-optimal solutions may be found by changing the attainment vector; however, this depends on the properties of the problem.
Our problem using the goal-attainment method becomes:
min A , γ γ s . t A A ¯ V ( A ) w γ V g o a l
where A ¯ = A \ I r o , i.e., the feasible set of configuration matrices, A , without robustness index I r o , γ is a slack vector variable, and V g o a l = [ I m d I e d 1 I w d I r e d ] is the desired objective vector, w is an attainment vector, which can be chosen. The goal-attainment method with two objective functions is illustrated in Figure 11. By altering w vector, we searched for the Pareto-optimal solutions.
Therefore, our solving process included two phases:
1.
Phase 1: Find one Pareto-optimal solution of the configuration matrix with the goal-attainment method;
2.
Phase 2: Check the robustness index of the chosen solution in Phase 1.
The optimization toolbox in the MATLAB environment was used to solve our problem. Note that our problem was formulated as a multi-objective optimization problem. One objective has one desired value excluding the robustness index, which is as a constraint, and therefore, the desired vector is set up. The goal-attainment method was used to solve the problem. An attainment vector was chosen as a trade-off between the underachievement and overachievement of the objective functions. In multi-objective optimization, an optimal solution depends on a decision maker. Theoretically, there is no method for this choice. In our work, this vector was selected by trial and error. In particular, for the manipulability, reactivity, and energetic indices, we know exactly the desired values, so the corresponding values in the attainment vector were chosen as zero, which means that these are hard constraints. For the workspace index, we only know the upper-bound of the desired value; therefore, a positive value was chosen for underachievement.

5. Simulation Results

We designed an overactuated underwater robot with m = 8 thrusters and n = 6 degrees of freedom. Two cases were simulated: the general case and the given position case. In the general case, we have to identify both the positions and orientations of eight thrusters optimizing the performance indices. In the given position case, the thrusters are installed at the corners of a cube, and we only have to determine the directions of the thrusters. In this simulation, the thruster characteristics were chosen as in [5], then the maximum and minimum values of the thrusters forces were F i m a x = 1.1 N and F i m i n = 0.4 N , respectively. The desired values of the performance indices were subsequently I m d = 1 , I e d = 1.2248 , I w F d = 597.7 , I w T d = 597.7 , I r e d = 0.6124 ( σ m a x = 2 m n = 1.6330 ; see Table 2 for more details).

5.1. General Case

In this case, the robot is called a ball robot, and the positions and orientations of the thrusters are not known. The problem (40) is solved as follows.

5.1.1. Phase 1

The optimization toolbox was used to solve the problem (40) with the desired goal vector, and the constraints were V g o a l = [ I m d I e d 1 I w d I r e d ] = [ 1 1.2248 0.0033 0.6124 ] T , the constraint set A ¯ = { A R 6 × 8 / u i = 1 , τ i 1 , τ i T u i = 0 } , and the attainment vector w = [ 0 0 0 0.0036 ] T . The attainment vector allows setting the overachievement or underachievement of the individual goals. At the moment, there is no general method to choose this attainment vector. It was chosen by trial and error. By our approach, we found that some values of this vector can be assigned zero (this imposes hard constraints), except the workspace index (because of the upper-bound value).
The simulation results are shown in Figure 12 and Figure 13a,b. The configuration matrix A and optimal values are shown in Table 3. Specifically, in Figure 12, the positions of the thrusters are at the top of the blue line, and the orientations of the thrusters are shown as the red arrow. Furthermore, we can see that the isotropic property of the robot is guaranteed (see Figure 13a,b) with the sphere shapes of the attainable spaces of the forces and torques. From Table 3, the obtained values of the manipulability index, the energetic index, and the reactive index were almost the same as the desired values. However, the obtained workspace index was smaller than the desired one.

5.1.2. Phase 2

In this phase, the robustness index was checked. The optimal configuration matrix A in Table 3 satisfies the robustness constraint. Specifically, the maximum number of thrusters that are acceptable (for failures) is two.

5.2. Given Position Case

In this case, the robot is called the cube robot, and the positions of thrusters are at the corners of the cube. We only had to find their orientations. The number of variables in the problem (40) was reduced. The desired objective vector and attainment vector were the same as in general case. The results are presented in the sequel.

5.2.1. Phase 1

The optimization toolbox was used to solve our problem, and the simulation results are shown in Figure 14 and Figure 15a,b and Table 4. The directions of the thrusters are depicted as red arrows in Figure 14. Being similar to the general case, the isotropic property is also guaranteed in this case (see Figure 15a,b). One Pareto-optimal configuration matrix is shown in Table 4. We can see that the obtained objective values in Table 4 are the same as the general case.

5.2.2. Phase 2

The optimal configuration matrix A in Table 4 satisfies the conditions of the robustness index. Similarly, the maximum number of thrusters that can fail is two.

5.3. A Comparison of Two Configurations

In this section, a comparison of two configurations is illustrated. The choice of the configurations corresponds to a real robot (cube robot), which is used in the experiments in the next section. The first one is a normal configuration (denoted as C 1 ) in which the thrusters are distributed vertically or horizontally (in practice, this configuration is easier to install, as Figure 21 shows). The configuration matrix of the C 1 configuration, denoted as A 1 , is shown in Equation (41).
A 1 = ( 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0.27 0 0.27 0.27 0.27 0.27 0 0.27 0 0.27 0.27 0 0 0.27 0.27 0.27 0.27 0.27 0 0.27 0.27 0 0.27 0 )
The second one (denoted as C 2 ) is an optimal configuration, denoted as A 2 , which is a solution of the optimization problem (given position case) thanks to the thruster characteristics of BlueRobotics (Figure 16), and the optimal configuration matrix is shown in Equation (42).
A 2 = 0.6616 0.8122 0.4785 0.0836 0.0836 0.4785 0.8122 0.6616 0.7452 0.3337 0.3337 0.7452 0.7452 0.3337 0.3337 0.7452 0.0836 0.4785 0.8122 0.6616 0.6616 0.8122 0.4785 0.0836 0.1608 0.0111 0.2459 0.3708 0.3642 0.2015 0.0011 0.1658 0.0989 0.3556 0.3633 0.0989 0.1056 0.3508 0.3456 0.1056 0.3906 0.2292 0.0044 0.1583 0.1649 0.0254 0.2392 0.3708
Note that the configuration matrices A 1 and A 2 were calibrated with the corresponding geometrical properties of the real cube robot at the LIRMM Institute, Montpellier University. The attainable force space and torque space corresponding to the two configurations C 1 and C 2 are illustrated in Figure 17a,b. It is obvious that the C 2 configuration is more isotropic than the C 1 configuration. However, for some specific points of the attainable force and torque spaces, the C 1 configuration is better than the C 2 configuration.
Thanks to the properties of matrices A 1 and A 2 (Equations (41) and (42)) and the thruster characteristics (Figure 16), Table 5 shows the values of the performance indices for both configurations. The performances of the C 2 configuration are better than C 1 . Because of the calibration (the distance d i is different between the motors), the manipulability index ( I m ) is larger than one (Note that, theoretically, the distances of all thrusters with respect to the center of mass were assumed the same (without loss of generality, they were assigned one). However, in practice, for our cube robot, these distances were not completely the same, and we had to calibrate the configuration matrix.).
In order to verify the attainability of the two configurations (workspace index), incremental torques were applied about the u -, v -, and w -axis, respectively (Figure 18a, Figure 19a and Figure 20a), and the corresponding Pulse-Width Modulation (PWM) inputs ( c m ) of the eight thrusters were computed. The results are shown in Figure 18b,c, Figure 19b,c and Figure 20b,c, in which the two PWM saturation values of the thrusters (upper saturation value: 1900, lower saturation value: 1100) are plotted with two bold lines. We can see that the performances of the robot with the two configurations are almost the same for the rotation about the u - and v -axis. However, the C 2 configuration showed better performance for the rotation about the w -axis. In fact, the thrusters with the C 1 configuration reached saturations very earlier in comparison with the thrusters with the C 2 configuration (Figure 20b,c).
In order to validate the robustness of the optimal configuration ( C 2 ) in comparison with the normal configuration ( C 1 ), the rank of matrices A 1 and A 2 was checked when one or two arbitrary columns have been nullified. When the resulting matrices are rank deficient, this means that the robustness is not guaranteed because one direction is not actuated. Therefore, we cannot control all 6 DoFs independently. The robustness index in Table 5 shows the checking results. In particular, when the fifth thruster of the C 1 configuration fails, the robustness is not guaranteed.

6. Experimental Results

Experiments were carried out on the cube robot to compare between the two configurations, C 1 (see Figure 21) and C 2 (see Figure 22), in the swimming pool at Montpellier University. The cube in the water and a video link for the cube’s operations can be seen in Figure 23.

6.1. Attainability Validation

The incremental torques about the u -axis, v -axis, and w -axis were applied to cube robot respectively, and angular velocities and PWM input values were stored to evaluate these two configurations. For safety, the experiments were stopped when one thruster reached the saturation values. The experimental results are shown in Figure 24, Figure 25 and Figure 26. For rotating about the u -axis (Figure 24), the attainability of configurations C 1 and C 2 was almost the same: all thrusters operated in a feasible region. Otherwise, for rotating about the v -axis or w -axis, the attainability of configuration C 2 was better than that of C 1 . In particular, with the v -axis experiment (Figure 25), the cube robot with C 1 stopped the mission earlier than with C 2 (at Time Step 771) because one thruster reached saturation. The same thing happened with the w -axis experiment (at Time Step 451) (see Figure 26).

6.2. Energetic Validation

In this section, we verify the energy consumption during these experiments for the two configurations. An energy-like criterion is proposed:
E = i = 1 m t = 0 T | P W M i ( t ) 1500 | d t
where m is the number of thrusters, T is the time of the experiment, and P W M i ( t ) is the PWM inputs of the ith thruster.
Table 6 shows the energy consumption of the robot during the three rotation experiments. For u -axis rotation, the attainability of the two configurations was the same, but the energy consumption of C 2 was lower than that of C 1 . For v -axis and w -axis rotations, the duration of the experiments of C 2 was longer than that of C 1 , and the energy consumption, therefore, was higher.
Table 7 shows the comparison of the energy consumption of the two configurations with the same time duration. For the v -axis rotation, the energy value of C 2 was lower than that of C 1 . However, for the w -axis, the energy value of C 2 was higher. This happened because the robot dived deeper in C 2 in the experiment of the w -axis rotation, and the robot had to deliver more power to maintain a greater constant depth.

6.3. Robustness and Reactive Validation

This section validates the robustness and reactivity of the optimal configuration ( C 2 ) in comparison to the normal one ( C 1 ). For robustness, the robot performed a mission, and one or two thrusters were turned off. For the normal configuration C 1 , the mission would fail, and for the optimal configuration C 2 , the mission would be guaranteed. Specifically, for the robustness index, we carried out the following experiments:
1.
The cube robot dives to a predefined depth with all motors being in the normal operating conditions;
2.
The cube robot dives to the same predefined depth with one vertical motor being stopped;
3.
The cube robot dives to the same predefined depth with two vertical motors being stopped;
4.
The cube robot dives to the same predefined depth with three motors being stopped (two vertical motors and one arbitrary motor);
5.
The cube robot simultaneously dives to the same predefined depth and rotates about the w -axis with three motors being stopped (two vertical motors and one horizontal motor)
For the reactive index, we measured how fast the robot changed missions. The following experiments were carried out:
1.
The cube robot goes down to the predefined depth and goes up to another predefined depth, then goes down again to the former predefined depth;
2.
In the sequel, the cube robot goes down to the predefined depth, rotates about the u -axis, and after that, rotates about the v -axis. The rotation time of each axis should be 60 s or longer;
3.
Next, the cube robot goes down to the predefined depth, rotates about the u -axis, and after that, rotates about the diagonal-axis (diagonal of the cube robot). The rotation time of each axis should be 60 s or longer.
The experimental results for the robustness validation of C 1 and C 2 are shown in Figure 27, Figure 28 and Figure 29. In the case of one or two motors stopped, the depth control performances of C 1 and C 2 were almost the same (see Figure 27). The differences are clear in the case of three thrusters stopped (Figure 29): the performance of C 1 was not guaranteed (Figure 28) and violations of the PWM values occurred (see Figure 29a).
The results for the reactive validation are shown in Figure 30, Figure 31 and Figure 32. We measured the reactive time of the angular velocities when the directions of the cube’s actions changed. It is clear that the reactive time of C 2 was faster than that of C 1 . Specifically, the reactive time is the region formed by the vertical dashed lines in Figure 30, Figure 31 and Figure 32. It is obvious that the reactive time of C 2 was smaller than that of C 2 (see Figure 31 and Figure 32).

7. Conclusions and Future Work

In this paper, an approach for designing an optimal configuration matrix (which depends on the positions and directions of the thrusters) of overactuated underwater robots was presented. The performance indices (related to manipulability, energy, workspace, reactivity, and robustness) were proposed and analyzed. Specifically, the manipulability index shows the isotropic properties of a robot; the energetic index minimizes the energy consumption under some assumptions; the workspace index is related to the attainable spaces (i.e., the force and torque spaces) of the robot; the reactive index presents how fast the robot changes the direction of the resulting actuation force; finally, the robustness index is related to the capacity of the robot to maintain its performance in the case of failures (i.e., some thrusters are completely stopped). It was formulated as a multi-objective optimization problem. Because the different indices exhibit different magnitudes and physical meanings, the goal-attainment method was chosen to find one Pareto-optimal solution. Simulation and experimental results showed that the performances of the optimal configuration were better than a “normal” configuration, which is often used (thrusters are installed vertically or horizontally). Because of the nonconvexity of the problem, finding all Pareto-optimal solutions, the Pareto front, remains a challenging problem and will be future work. Moreover, a design problem relaxing the assumptions (i.e., perfectly known characteristics of the actuators, pseudo-inverse dispatcher) is also an interesting direction for future research.

Author Contributions

Conceptualization, T.D., L.L., and R.Z.; methodology, T.D., L.L., and R.Z.; software, T.D., B.R., and P.L.; validation, T.D., L.L., R.Z., B.R., and P.L.; writing—original draft preparation, T.D.; writing—review and editing, L.L.; supervision, L.L. and R.Z.; project administration, L.L.; funding acquisition, L.L. All authors have read and agreed to the published version of the manuscript.

Funding

This project was supported by the LabEx NUMEV (ANR-10-LABX- 0020) within the I-SITE MUSE (ANR-16-IDEX-0006) and the Region Occitanie (french FEDER funds).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors would like to thank Numev Labex, MUSE, Montpellier University; Region Occitanie; and FEDER for supporting this research.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ASActuation System
NGCNavigation–Guidance–Control
DoFsDegrees of Freedom
AUVsAutonomous Underwater Vehicles
CMCenter of Mass
PWMPulse-Width Modulation

Appendix A

Theorem A1.
The image of the unit hypersphere under any n × m matrix is a hyperellipsoid.
Proof. 
Let A be an n × m matrix with rank r. Let A = U S V T be a singular-value decomposition of A . The left and right singular vectors of A are denoted as u 1 , u 2 , , u n and v 1 , v 2 , , v m , respectively. Since r a n k ( A ) = r , the singular values of A have the properties: σ 1 σ 2 , , σ r > 0 and σ r + 1 = σ r + 2 = , , = σ m = 0 .
Let x = x 1 x m be an unit vector in R m . Because V is an orthogonal matrix and V T is also, we have that V T x is an unit vector (it is easy to see that V T x = x ). Therefore, ( v 1 T x ) 2 + ( v 2 T x ) 2 + , , + ( v m T x ) 2 = 1 .
On the other hand, we have A = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + , , + σ r u r v r T . Therefore:
A x = σ 1 u 1 v 1 T x + σ 2 u 2 v 2 T x + , , + σ r u r v r T x = ( σ 1 v 1 T x ) u 1 + ( σ 2 v 2 T x ) u 2 + , , + ( σ r v r T x ) u r = y 1 u 1 + y 2 u 2 + , , + y r u r = U y
where y i denotes the σ i v i T x and y = y 1 y r .
From (A1), we have: A x = U y = y (since U is an orthogonal matrix). Moreover, y has the following property:
( y 1 σ 1 ) 2 + ( y 2 σ 2 ) 2 + , , + ( y r σ r ) 2 = = ( v 1 T x ) 2 + ( v 2 T x ) 2 + , , + ( v r T x ) 2 1
Specifically:
1.
If r = m (of course, we must have m n ), the equality in Equation (A2) holds, and the image of the unit hypersphere forms the surface of a hyperellipsoid;
2.
If r < m , the image of the unit hypersphere corresponds to a solid hyperellipsoid.
This completes the proof.   □

References

  1. Lapierre, L. Robust diving control of an AUV. Ocean Eng. 2009, 36, 92–104. [Google Scholar] [CrossRef]
  2. Lapierre, L.; Jouvencel, B. Robust nonlinear path-following control of an AUV. IEEE J. Ocean. Eng. 2008, 33, 89–102. [Google Scholar] [CrossRef]
  3. Levine, W.S. The Control Systems Handbook: Control System Applications; CRC Press: Boca Raton, FL, USA, 2010. [Google Scholar]
  4. Johansen, T.A.; Fossen, T.I. Control allocation—A survey. Automatica 2013, 49, 1087–1103. [Google Scholar] [CrossRef] [Green Version]
  5. Ropars, B.; Lapierre, L.; Lasbouygues, A.; Andreu, D.; Zapata, R. Redundant actuation system of an underwater vehicle. Ocean Eng. 2018, 151, 276–289. [Google Scholar] [CrossRef] [Green Version]
  6. Nakamura, Y.; Hanafusa, H.; Yoshikawa, T. Task-priority based redundancy control of robot manipulators. Int. J. Robot. Res. 1987, 6, 3–15. [Google Scholar] [CrossRef]
  7. Adorno, B.V.; Fraisse, P.; Druon, S. Dual position control strategies using the cooperative dual task-space framework. In Proceedings of the IROS’10: International Conference on Intelligent Robots and Systems, Taipei, Taiwan, 18–22 October 2010; pp. 3955–3960. [Google Scholar]
  8. Agravante, D.J.; Sherikov, A.; Wieber, P.B.; Cherubini, A.; Kheddar, A. Walking pattern generators designed for physical collaboration. In Proceedings of the ICRA 2016: 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 1573–1578. [Google Scholar]
  9. Pham, T.H.; Caron, S.; Kheddar, A. Multicontact Interaction Force Sensing From Whole-Body Motion Capture. IEEE Trans. Ind. Inform. 2018, 14, 2343–2352. [Google Scholar] [CrossRef]
  10. Yoshikawa, T. Dynamic manipulability of robot manipulators. In Proceedings of the 1985 IEEE International Conference on Robotics and Automation, St. Louis, MO, USA, 25–28 March 1985; Volume 2, pp. 1033–1038. [Google Scholar] [CrossRef]
  11. Yoshikawa, T. Foundations of Robotics: Analysis and Control; MIT Press: Cambridge, MA, USA, 1990. [Google Scholar]
  12. Kumar, A.; Waldron, K. The workspaces of a mechanical manipulator. J. Mech. Des. 1981, 103, 665–672. [Google Scholar] [CrossRef]
  13. Paden, B.; Sastry, S. Optimal kinematic design of 6R manipulators. Int. J. Robot. Res. 1988, 7, 43–61. [Google Scholar] [CrossRef]
  14. Park, F.C.; Brockett, R.W. Kinematic dexterity of robotic mechanisms. Int. J. Robot. Res. 1994, 13, 1–15. [Google Scholar] [CrossRef]
  15. Pierrot, F.; Benoit, M.; Dauchez, P. Optimal thruster configuration for omni-directional underwater vehicles. SamoS: A Pythagorean solution. In Proceedings of the OCEANS ’98 Conference Proceedings, Nice, France, 28 September–1 October 1998; Volume 2, pp. 655–659. [Google Scholar] [CrossRef]
  16. Kharrat, H. Optimization of Thruster Configuration for Swimming Robots. Master’s Thesis, Rice University, Houston, TX, USA, 2015. [Google Scholar]
  17. Stephan, J.; Fichter, W. Fast Exact Redistributed Pseudoinverse Method for Linear Actuation Systems. IEEE Trans. Control Syst. Technol. 2017, 27, 451–458. [Google Scholar] [CrossRef]
  18. Grechi, S.; Caiti, A. Comparison between Optimal Control Allocation with Mixed Quadratic & Linear Programming Techniques. In Proceedings of the 10th IFAC Conference on Control Applications in Marine SystemsCAMS, Trondheim, Norway, 13–16 September 2016; Volume 49, pp. 147–152. [Google Scholar] [CrossRef]
  19. Ropars, B.; Lasbouygues, A.; Lapierre, L.; Andreu, D. Thruster’s dead-zones compensation for the actuation system of an underwater vehicle. In Proceedings of the Control Conference (ECC), Linz, Austria, 15–17 July 2015; pp. 741–746. [Google Scholar]
  20. Yoshikawa, T. Manipulability of robotic mechanisms. Int. J. Robot. Res. 1985, 4, 3–9. [Google Scholar] [CrossRef]
  21. Olver, F.W.; Lozier, D.W.; Boisvert, R.F.; Clark, C.W. NIST Handbook of Mathematical Functions Hardback and CD-ROM; Cambridge University Press: Cambridge, UK, 2010. [Google Scholar]
  22. Trefethen, L.N.; Bau, D., III. Numerical Linear Algebra; Siam: Philadelphia, PA, USA, 1997; Volume 50. [Google Scholar]
  23. Gembicki, F.; Haimes, Y. Approach to performance and sensitivity multiobjective optimization: The goal-attainment method. IEEE Trans. Autom. Control 1975, 20, 769–771. [Google Scholar] [CrossRef]
  24. BlueRobotics. Available online: https://bluerobotics.com/ (accessed on 20 December 2018).
Figure 1. NGC structure augmented with the actuation system and sensorial stage.
Figure 1. NGC structure augmented with the actuation system and sensorial stage.
Sensors 21 07729 g001
Figure 2. Actuation system scheme.
Figure 2. Actuation system scheme.
Sensors 21 07729 g002
Figure 3. Actuator configuration mapping.
Figure 3. Actuator configuration mapping.
Sensors 21 07729 g003
Figure 4. A given robot configuration.
Figure 4. A given robot configuration.
Sensors 21 07729 g004
Figure 5. Actuator configuration model.
Figure 5. Actuator configuration model.
Sensors 21 07729 g005
Figure 6. Manipulability ellipsoid with mapping.
Figure 6. Manipulability ellipsoid with mapping.
Sensors 21 07729 g006
Figure 7. The rotation of the unit desired vector in the 3D sphere.
Figure 7. The rotation of the unit desired vector in the 3D sphere.
Sensors 21 07729 g007
Figure 8. Space mapping ( v i is denoted as the vertex).
Figure 8. Space mapping ( v i is denoted as the vertex).
Sensors 21 07729 g008
Figure 9. Thruster characteristics’ approximation.
Figure 9. Thruster characteristics’ approximation.
Sensors 21 07729 g009
Figure 10. Upper-bound of the resulting force space.
Figure 10. Upper-bound of the resulting force space.
Sensors 21 07729 g010
Figure 11. Goal-attainment method with two objective functions.
Figure 11. Goal-attainment method with two objective functions.
Sensors 21 07729 g011
Figure 12. Positions and directions of the thrusters (general case) (XI-axis = u -axis; YI-axis = v -axis; ZI-axis= w -axis).
Figure 12. Positions and directions of the thrusters (general case) (XI-axis = u -axis; YI-axis = v -axis; ZI-axis= w -axis).
Sensors 21 07729 g012
Figure 13. Attainable spaces in the general case (Fx-axis = u -axis; Fy-axis = v -axis; Fz-axis = w -axis). (a) Force space. (b) Torque space.
Figure 13. Attainable spaces in the general case (Fx-axis = u -axis; Fy-axis = v -axis; Fz-axis = w -axis). (a) Force space. (b) Torque space.
Sensors 21 07729 g013
Figure 14. Robot design with the directions of the thrusters (given position case) (XI-axis = u -axis; YI-axis = v -axis; ZI-axis = w -axis).
Figure 14. Robot design with the directions of the thrusters (given position case) (XI-axis = u -axis; YI-axis = v -axis; ZI-axis = w -axis).
Sensors 21 07729 g014
Figure 15. Attainable spaces in the given position case (Fx-axis = u -axis; Fy-axis = v -axis; Fz-axis = w -axis). (a) Force space. (b) Torque space.
Figure 15. Attainable spaces in the given position case (Fx-axis = u -axis; Fy-axis = v -axis; Fz-axis = w -axis). (a) Force space. (b) Torque space.
Sensors 21 07729 g015
Figure 16. Thruster characteristics (BlueRobotics) [24].
Figure 16. Thruster characteristics (BlueRobotics) [24].
Sensors 21 07729 g016
Figure 17. Attainable spaces for different configurations (X-axis = u -axis; Y-axis = v -axis; Z-axis = w -axis). (a) C 1 (blue), C 2 (red). (b) C 1 (blue), C 2 (red).
Figure 17. Attainable spaces for different configurations (X-axis = u -axis; Y-axis = v -axis; Z-axis = w -axis). (a) C 1 (blue), C 2 (red). (b) C 1 (blue), C 2 (red).
Sensors 21 07729 g017
Figure 18. The simulation of the cube rotation about the u -axis for C 1 and C 2 (X-axis = u -axis). (a) Applied torque about the u -axis. (b) PWM inputs of C 1 . (c) PWM inputs of C 2 .
Figure 18. The simulation of the cube rotation about the u -axis for C 1 and C 2 (X-axis = u -axis). (a) Applied torque about the u -axis. (b) PWM inputs of C 1 . (c) PWM inputs of C 2 .
Sensors 21 07729 g018
Figure 19. The simulation of the cube rotation about the v -axis for C 1 and C 2 (Y-axis = v -axis). (a) Applied torque about the v -axis. (b) PWM inputs of C 1 . (c) PWM inputs of C 2 .
Figure 19. The simulation of the cube rotation about the v -axis for C 1 and C 2 (Y-axis = v -axis). (a) Applied torque about the v -axis. (b) PWM inputs of C 1 . (c) PWM inputs of C 2 .
Sensors 21 07729 g019
Figure 20. The simulation of the cube rotation about the Z-axis for C 1 and C 2 (Z-axis = w -axis). (a) Applied torque about the w -axis. (b) PWM inputs of C 1 . (c) PWM inputs of C 2 .
Figure 20. The simulation of the cube rotation about the Z-axis for C 1 and C 2 (Z-axis = w -axis). (a) Applied torque about the w -axis. (b) PWM inputs of C 1 . (c) PWM inputs of C 2 .
Sensors 21 07729 g020
Figure 21. C 1 of the cube robot.
Figure 21. C 1 of the cube robot.
Sensors 21 07729 g021
Figure 22. C 2 of the cube robot.
Figure 22. C 2 of the cube robot.
Sensors 21 07729 g022
Figure 23. Cube robot in the water https://www.youtube.com/watch?v=RKiWUOxDKdw (accessed on 18 October 2019).
Figure 23. Cube robot in the water https://www.youtube.com/watch?v=RKiWUOxDKdw (accessed on 18 October 2019).
Sensors 21 07729 g023
Figure 24. The cube rotates about the u -axis for C 1 and C 2 (X-axis = u -axis).
Figure 24. The cube rotates about the u -axis for C 1 and C 2 (X-axis = u -axis).
Sensors 21 07729 g024
Figure 25. The cube rotates about the v -axis for C 1 and C 2 (Y-axis = v -axis).
Figure 25. The cube rotates about the v -axis for C 1 and C 2 (Y-axis = v -axis).
Sensors 21 07729 g025
Figure 26. The cube rotates about the Z–axis for C 1 and C 2 (Z-axis = w -axis).
Figure 26. The cube rotates about the Z–axis for C 1 and C 2 (Z-axis = w -axis).
Sensors 21 07729 g026
Figure 27. Depth control for C 1 and C 2 with one and two motors stopped. (a) Depth control of two configurations with one motor stopped. (b) Depth control of two configurations with two motors stopped.
Figure 27. Depth control for C 1 and C 2 with one and two motors stopped. (a) Depth control of two configurations with one motor stopped. (b) Depth control of two configurations with two motors stopped.
Sensors 21 07729 g027
Figure 28. Depth control for C 1 and C 2 with three motors stopped.
Figure 28. Depth control for C 1 and C 2 with three motors stopped.
Sensors 21 07729 g028
Figure 29. PWM evaluation for C 1 and C 2 with 3 motors stopped. (a) PWM of C 1 . (b) PWM of C 2 .
Figure 29. PWM evaluation for C 1 and C 2 with 3 motors stopped. (a) PWM of C 1 . (b) PWM of C 2 .
Sensors 21 07729 g029
Figure 30. Angular velocity evaluation for C 1 and C 2 : diving, rotating about the u -axis, and rotating about the diagonal-axis ( Wx = p ; Wy = q ; Wz = r ). (a) Angular velocities of C 1 . (b) Angular velocities of C 2 .
Figure 30. Angular velocity evaluation for C 1 and C 2 : diving, rotating about the u -axis, and rotating about the diagonal-axis ( Wx = p ; Wy = q ; Wz = r ). (a) Angular velocities of C 1 . (b) Angular velocities of C 2 .
Sensors 21 07729 g030
Figure 31. Angular velocity evaluation for C 1 and C 2 : diving, rotating about the u -axis, and rotating about the v -axis ( Wx = p ; Wy = q ). (a) Angular velocities of C 1 . (b) Angular velocities of C 2 .
Figure 31. Angular velocity evaluation for C 1 and C 2 : diving, rotating about the u -axis, and rotating about the v -axis ( Wx = p ; Wy = q ). (a) Angular velocities of C 1 . (b) Angular velocities of C 2 .
Sensors 21 07729 g031
Figure 32. Angular velocity evaluation for C 1 and C 2 : diving, rotating about the u -axis, and rotating about the v -axis ( Wx = p ; Wy = q ).
Figure 32. Angular velocity evaluation for C 1 and C 2 : diving, rotating about the u -axis, and rotating about the v -axis ( Wx = p ; Wy = q ).
Sensors 21 07729 g032
Table 1. Notations.
Table 1. Notations.
AConfiguration matrix
A + Moore–Penrose pseudo-inverse of A matrix
u i ( 3 × 1 ) unit vector of the direction of the ith thruster
r i ( 3 × 1 ) unit vector of the position of the ith thruster
F m ( m × 1 ) force vector of m thrusters
F m d ( m × 1 ) desired force vector of m thrusters
F m , i Force magnitude of the ith thruster
F B d ( 6 × 1 ) desired force (force and torque elements) w.r.t. the body-frame
F B = F Γ ( 6 × 1 ) resulting force (force and torque elements) w.r.t. the body-frame
c m ( m × 1 ) input vector of thrusters
Cross product
· Euclidean norm
· p p-norm
mNumber of thrusters
nNumber of Degrees of Freedom (DoFs)
F ( 3 × 1 ) vector of force elements in the resulting force F B
Γ ( 3 × 1 ) vector of torque elements in the resulting force F B
D Dispatcher
d i Distance of the ith thruster to the center of the body-frame
c o n d ( A ) Condition number of the matrix A
V o l ( . ) Volume of a space
r a n k ( . ) Rank of a matrix
Table 2. Desired values of the indices.
Table 2. Desired values of the indices.
IndexOptimal Formula and ConditionDesired Value
I m d σ m a x = σ m i n 1
I e d 2 A + 1.2248
1 I w d see Equations (35) and (36) and 1 I w d = 1 I w F d + 1 I w T d 0.0033
I r e d 1 σ m a x 0.6124
Table 3. Configuration matrix in the general case.
Table 3. Configuration matrix in the general case.
Configuration MatrixOptimal ValueAttainment Factor
A = 0.8891 0.3645 0.5438 0.9879 0.3134 0.0148 0.0495 0.6090 0.0985 0.3036 0.5911 0.0608 0.9493 0.0515 0.8919 0.7158 0.4471 0.8803 0.5957 0.1429 0.0260 0.9986 0.4495 0.3417 0.4308 0.4701 0.8386 0.0379 0.1336 0.5628 0.9972 0.4758 0.5107 0.7561 0.4103 0.9868 0.0712 0.8259 0.0690 0.0149 0.7441 0.4554 0.3583 0.1577 0.9885 0.0342 0.0272 0.8794 F v a l = 1.0000 1.2200 0.0050 0.6124 0.3896
Table 4. Configuration matrix in the given position case.
Table 4. Configuration matrix in the given position case.
Configuration MatrixOptimal ValueAttainment Factor
A = 0.0836 0.6616 0.8122 0.4785 0.6616 0.0836 0.4785 0.8122 0.7452 0.7452 0.3337 0.3337 0.7452 0.7452 0.3337 0.3337 0.6616 0.0836 0.4785 0.8122 0.0836 0.6616 0.8122 0.4785 0.8122 0.4785 0.0836 0.6616 0.4785 0.8122 0.6616 0.0836 0.3337 0.3337 0.7452 0.7452 0.3337 0.3337 0.7452 0.7452 0.4785 0.8122 0.6616 0.0836 0.8122 0.4785 0.0836 0.6616 F v a l = 1.0000 1.2200 0.0050 0.6124 0.3868
Table 5. Comparison between the two configurations ( I r o shows the maximum number of thrusters that can fail to make sure that r a n k ( A = 6 ) ).
Table 5. Comparison between the two configurations ( I r o shows the maximum number of thrusters that can fail to make sure that r a n k ( A = 6 ) ).
No.Indices C 1 C 2
1 I m 7.122.559
2 I e 3.322.09
3 I w 6,511,536.4510,919,428.13
4 I r e 4.051.56
5 I r o 02
Table 6. Energy consumption of the two configurations.
Table 6. Energy consumption of the two configurations.
No.Rotation E C 1 E C 2
1 u 7.2303  × 10 4 6.9603  × 10 4
2 v 7.5480  × 10 4 1.0590  × 10 5
3 w 3.1637 × 10 4 7.4350  × 10 4
Table 7. Energy consumption of the two configurations with the same time duration.
Table 7. Energy consumption of the two configurations with the same time duration.
No.Rotation E C 1 E C 2
1 v 7.5480  × 10 4 7.2715  × 10 4
2 w 3.1637  × 10 4 3.3312  × 10 4
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Dang, T.; Lapierre, L.; Zapata, R.; Ropars, B.; Lepinay, P. Over-Actuated Underwater Robots: Configuration Matrix Design and Perspectives. Sensors 2021, 21, 7729. https://doi.org/10.3390/s21227729

AMA Style

Dang T, Lapierre L, Zapata R, Ropars B, Lepinay P. Over-Actuated Underwater Robots: Configuration Matrix Design and Perspectives. Sensors. 2021; 21(22):7729. https://doi.org/10.3390/s21227729

Chicago/Turabian Style

Dang, Tho, Lionel Lapierre, Rene Zapata, Benoit Ropars, and Pascal Lepinay. 2021. "Over-Actuated Underwater Robots: Configuration Matrix Design and Perspectives" Sensors 21, no. 22: 7729. https://doi.org/10.3390/s21227729

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop