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 () provided by the control system (see Figure 1).
Figure 1.
NGC structure augmented with the actuation system and sensorial stage.
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 () provided by the mission controller to compute the error function (). The control system is then in charge of computing the desired force () 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 (), which should be as close as possible to . Note that, in this paper, the desired force () and resulting force () are () vectors and include force and torque elements. Inside the AS block, referring to Figure 2, the desired force () is the output of the controller. Then, the dispatcher () considers the actuator allocation method (and eventually, redundancy management) to compute the desired actuator force () that each actuator has to produce. The inverse actuator characteristics are then considered in order to compute the actuator inputs (). Once applied, can produce actuator forces (). The resulting force is produced with respect to the actuator configuration (). 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, will be an () matrix where ). 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 (). Then, there are different solutions () to produce an identical resulting force (). Indeed, is one of the multiple possible inverses of , classically , where 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].
Figure 2.
Actuation system scheme.
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 ( space) to a body-frame vector ( 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 .
Figure 3.
Actuator configuration mapping.
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.
Figure 4.
A given robot configuration.
Table 1.
Notations.
3. Problem Formulation
The relation between the desired force () and resulting force () 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., ;
- 2.
- The dispatcher is the Moore–Penrose pseudo-inverse of the actuators’ configuration, i.e., if the actuators’ configuration is the matrix, the dispatcher is ;
- 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 and the distance 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 with respect to the body-frame as in Figure 5, and the ith thruster induces a force with the magnitude denoted as . The relation of the thruster force vector and resulting force vector (note that this space includes force elements () and torque elements ()) is described in Equation (1).
where , , , and m is the number of thrusters, . The configuration matrix is described as:
where and are submatrices of , which correspond to the force and torque elements, respectively. It is obvious to see that . This is one constraint of the configuration matrix.
Figure 5.
Actuator configuration model.
In this paper, we assumed that all distances from the thruster positions to the center of the body-frame are the same, . Without loss of generality, we can assume that .
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, , and torque space, , were investigated separately. However, because of our assumption on , the manipulability index is defined as the condition number of the configuration matrix:
where and are the maximum and minimum singular values of the configuration matrix, , respectively.
Figure 6.
Manipulability ellipsoid with mapping.
Following Figure 6, the manipulability index investigates the resulting force ellipsoid, which is realizable by the thruster forces () such that (see Theorem in Appendix A). If , the robot is isotropic, or if , 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, , 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):
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, (), 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.
Figure 7.
The rotation of the unit desired vector in the 3D sphere.
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:
where is a unit vector in spherical coordinates with and .
According to these two cases, the norm of the thruster force vector was also divided into two cases as follows:
The energetic index is defined as:
where S is the area of the three-dimensional sphere, , are the subvectors of corresponding to the force sphere and the torque sphere case, respectively, and and 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 space, denoted as . By properly choosing the configuration matrix, , the volume of the resulting force space for the force, the space, and the resulting force space for the torque, the 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.
Figure 8.
Space mapping ( is denoted as the vertex).
In general, the set of thruster forces is known (with the given saturations of thrusters), so is a polytope and and are also polytopes (under the and linear transform actions). We define the workspace index as:
where is the volume of a polytope and and 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, . Normally, the set is convex and its vertices are known. It is easy to find the vertices of and . Of course, and 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 (ideally, ). Suppose that the robot is traveling in a direction with a set of thruster forces induced from desired force vector . The robot wants to change to another direction (or the same direction with a different magnitude) with the desired force vector , so the thrusters have to produce another set of thruster forces . The two-norm of the deviation of the thruster forces, , 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 to is closer than that from to (in the linear section, the dead-zone of the thruster characteristics is neglected in this paper). Hence, we have:
Figure 9.
Thruster characteristics’ approximation.
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, . We define the reactive index as:
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 vector, there always exists a vector to satisfy the equation , and is as close as possible to .
We have:
where is the ith column of the matrix and is the force magnitude of the ith thruster.
When one or more thrusters completely fail, the value of . Note that in the case that the ith thruster has partly failed, the value of remains small (not addressed in this paper). This is equivalent, as we considered that a corresponding column of the configuration matrix equals the zero vector. Therefore, Equation (13) is equivalent to:
where the matrix is the matrix with one or more corresponding columns equal to the zero vectors.
We discuss hereafter two questions: What are the conditions of the matrix 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 are ) and variables, because the matrix is , where k columns are zero vectors. It is obvious to see that if , for a given , there always exits such that and is as close as possible to . This can be interpreted as or . 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: ;
- 2.
- Robustness condition: the rank of the configuration matrix always equals six, i.e., , if any columns, from one to a maximum of , of the matrix equal the zero vectors. If , 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:
where is the matrix where the maximum number of columns being zero is . 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:
where is the objective function vector. is the feasible set of the configuration matrix () including the constraints of the configuration matrix () and the robustness index. The reciprocal of the workspace index, , 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, . 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:
The problem (17) is to minimize an objective vector , including the manipulability index, the energetic index, the reciprocal of the workspace index, and the reactive index, with respect to configuration matrix, , 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 and vectors for . These vectors can be extracted from configuration matrix , 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 has the form:
We have:
is an symmetric matrix where each element is denoted as . We have:
where is the ith eigenvalue of matrix .
In the case of manipulability index optimization, the condition of configuration matrix is one, . This means that the maximum singular value equals the minimum singular value, . Note that the matrix is the matrix with . The matrix has n nonzero singular values (we have to guarantee that ), then the matrix has n nonzero eigenvalues and zero eigenvalues.
In the optimization case of the manipulability index, , we have (). Equation (21) is rewritten as:
Considering the fact that , we have:
Therefore, we have when .
In the singular-value decomposition of a matrix, when , the matrix can be written as:
where , are orthogonal matrices,
The pseudo-inverse of matrix is and can be written as:
where
Our objective for the reactive index was to minimize . From Equation (25), the reactive index , 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 has the following structure:
where is like-diagonal and ; and are orthogonal matrices (). 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 be a matrix (), . For all , if , where are orthogonal matrices, , then .
Proof.
We have:
With :
We have:
where is a identity matrix.
Therefore, . □
The energetic index is stated as:
Choosing (because the desired force vectors, , are units), we have:
In the case in which the reactive index and the manipulability index are minimum, the configuration matrix has the form of Equation (26); therefore, the pseudo-inverse matrix has the following structure:
where are orthogonal matrices.
It is clear that matrix satisfies the condition of Proposition 1. Applying this proposition, we have: and . Therefore, Equation (32) becomes:
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, , when the configuration matrix 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 and , respectively. Recall that the objective of the workspace index is to maximize the volume of the resulting force space ( space), including the resulting space for the force and the resulting space for the torque with given thrusters’ force (the space).
The fact that for all vectors , . The volume of the resulting force space is maximum when the equality holds.
Following Figure 10, the volumes of the resulting force spaces () (the force and torque spaces) are always less than the volumes of the exterior hypersphere of spaces of the force and torque (this may be the circumscribed spheres or not). This means that:
where and are Euclidean balls of radius and of radius , respectively; is composed of the first three rows of , and is composed of the last three rows of .
Figure 10.
Upper-bound of the resulting force space.
The volume of a Euclidean ball of radius R in n-dimensional Euclidean space is [21]:
where .
Proposition 2.
If the configuration matrix has the form of (26), then and .
Proof.
We have:
On the other hand:
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:
where , i.e., the feasible set of configuration matrices, , without robustness index , is a slack vector variable, and is the desired objective vector, is an attainment vector, which can be chosen. The goal-attainment method with two objective functions is illustrated in Figure 11. By altering vector, we searched for the Pareto-optimal solutions.
Figure 11.
Goal-attainment method with two objective functions.
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 thrusters and 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 and , respectively. The desired values of the performance indices were subsequently (; see Table 2 for more details).
Table 2.
Desired values of the indices.
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 , the constraint set , and the attainment vector . 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 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.
Figure 12.
Positions and directions of the thrusters (general case) (XI-axis = -axis; YI-axis = -axis; ZI-axis=-axis).
Figure 13.
Attainable spaces in the general case (Fx-axis = -axis; Fy-axis = -axis; Fz-axis = -axis). (a) Force space. (b) Torque space.
Table 3.
Configuration matrix in the general case.
5.1.2. Phase 2
In this phase, the robustness index was checked. The optimal configuration matrix 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.
Figure 14.
Robot design with the directions of the thrusters (given position case) (XI-axis = -axis; YI-axis = -axis; ZI-axis = -axis).
Figure 15.
Attainable spaces in the given position case (Fx-axis = -axis; Fy-axis = -axis; Fz-axis = -axis). (a) Force space. (b) Torque space.
Table 4.
Configuration matrix in the given position case.
5.2.2. Phase 2
The optimal configuration matrix 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 ) 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 configuration, denoted as , is shown in Equation (41).
The second one (denoted as ) is an optimal configuration, denoted as , 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).
Figure 16.
Thruster characteristics (BlueRobotics) [24].
Note that the configuration matrices and 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 and are illustrated in Figure 17a,b. It is obvious that the configuration is more isotropic than the configuration. However, for some specific points of the attainable force and torque spaces, the configuration is better than the configuration.
Figure 17.
Attainable spaces for different configurations (X-axis = -axis; Y-axis = -axis; Z-axis = -axis). (a) (blue), (red). (b) (blue), (red).
Thanks to the properties of matrices and (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 configuration are better than . Because of the calibration (the distance is different between the motors), the manipulability index () 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.).
Table 5.
Comparison between the two configurations ( shows the maximum number of thrusters that can fail to make sure that ).
In order to verify the attainability of the two configurations (workspace index), incremental torques were applied about the -, -, and -axis, respectively (Figure 18a, Figure 19a and Figure 20a), and the corresponding Pulse-Width Modulation (PWM) inputs () 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 - and -axis. However, the configuration showed better performance for the rotation about the -axis. In fact, the thrusters with the configuration reached saturations very earlier in comparison with the thrusters with the configuration (Figure 20b,c).
Figure 18.
The simulation of the cube rotation about the -axis for and (X-axis = -axis). (a) Applied torque about the -axis. (b) PWM inputs of . (c) PWM inputs of .
Figure 19.
The simulation of the cube rotation about the -axis for and (Y-axis = -axis). (a) Applied torque about the -axis. (b) PWM inputs of . (c) PWM inputs of .
Figure 20.
The simulation of the cube rotation about the Z-axis for and (Z-axis = -axis). (a) Applied torque about the -axis. (b) PWM inputs of . (c) PWM inputs of .
In order to validate the robustness of the optimal configuration () in comparison with the normal configuration (), the rank of matrices and 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 configuration fails, the robustness is not guaranteed.
6. Experimental Results
Experiments were carried out on the cube robot to compare between the two configurations, (see Figure 21) and (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.
Figure 21.
of the cube robot.
Figure 22.
of the cube robot.
Figure 23.
Cube robot in the water https://www.youtube.com/watch?v=RKiWUOxDKdw (accessed on 18 October 2019).
6.1. Attainability Validation
The incremental torques about the -axis, -axis, and -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 -axis (Figure 24), the attainability of configurations and was almost the same: all thrusters operated in a feasible region. Otherwise, for rotating about the -axis or -axis, the attainability of configuration was better than that of . In particular, with the -axis experiment (Figure 25), the cube robot with stopped the mission earlier than with (at Time Step 771) because one thruster reached saturation. The same thing happened with the -axis experiment (at Time Step 451) (see Figure 26).
Figure 24.
The cube rotates about the -axis for and (X-axis = -axis).
Figure 25.
The cube rotates about the -axis for and (Y-axis = -axis).
Figure 26.
The cube rotates about the Z–axis for and (Z-axis = -axis).
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:
where m is the number of thrusters, T is the time of the experiment, and is the PWM inputs of the ith thruster.
Table 6 shows the energy consumption of the robot during the three rotation experiments. For -axis rotation, the attainability of the two configurations was the same, but the energy consumption of was lower than that of . For -axis and -axis rotations, the duration of the experiments of was longer than that of , and the energy consumption, therefore, was higher.
Table 6.
Energy consumption of the two configurations.
Table 7 shows the comparison of the energy consumption of the two configurations with the same time duration. For the -axis rotation, the energy value of was lower than that of . However, for the -axis, the energy value of was higher. This happened because the robot dived deeper in in the experiment of the -axis rotation, and the robot had to deliver more power to maintain a greater constant depth.
Table 7.
Energy consumption of the two configurations with the same time duration.
6.3. Robustness and Reactive Validation
This section validates the robustness and reactivity of the optimal configuration () in comparison to the normal one (). For robustness, the robot performed a mission, and one or two thrusters were turned off. For the normal configuration , the mission would fail, and for the optimal configuration , 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 -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 -axis, and after that, rotates about the -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 -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 and are shown in Figure 27, Figure 28 and Figure 29. In the case of one or two motors stopped, the depth control performances of and were almost the same (see Figure 27). The differences are clear in the case of three thrusters stopped (Figure 29): the performance of was not guaranteed (Figure 28) and violations of the PWM values occurred (see Figure 29a).
Figure 27.
Depth control for and 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 28.
Depth control for and with three motors stopped.
Figure 29.
PWM evaluation for and with 3 motors stopped. (a) PWM of . (b) PWM of .
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 was faster than that of . 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 was smaller than that of (see Figure 31 and Figure 32).
Figure 30.
Angular velocity evaluation for and : diving, rotating about the -axis, and rotating about the diagonal-axis (; ; ). (a) Angular velocities of . (b) Angular velocities of .
Figure 31.
Angular velocity evaluation for and : diving, rotating about the -axis, and rotating about the -axis (; ). (a) Angular velocities of . (b) Angular velocities of .
Figure 32.
Angular velocity evaluation for and : diving, rotating about the -axis, and rotating about the -axis (; ).
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:
| AS | Actuation System |
| NGC | Navigation–Guidance–Control |
| DoFs | Degrees of Freedom |
| AUVs | Autonomous Underwater Vehicles |
| CM | Center of Mass |
| PWM | Pulse-Width Modulation |
Appendix A
Theorem A1.
The image of the unit hypersphere under any matrix is a hyperellipsoid.
Proof.
Let be an matrix with rank r. Let be a singular-value decomposition of . The left and right singular vectors of are denoted as and , respectively. Since , the singular values of have the properties: and .
Let be an unit vector in . Because is an orthogonal matrix and is also, we have that is an unit vector (it is easy to see that ). Therefore, .
On the other hand, we have . Therefore:
where denotes the and .
From (A1), we have: (since is an orthogonal matrix). Moreover, has the following property:
Specifically:
- 1.
- If (of course, we must have ), the equality in Equation (A2) holds, and the image of the unit hypersphere forms the surface of a hyperellipsoid;
- 2.
- If , the image of the unit hypersphere corresponds to a solid hyperellipsoid.
This completes the proof. □
References
- Lapierre, L. Robust diving control of an AUV. Ocean Eng. 2009, 36, 92–104. [Google Scholar] [CrossRef]
- Lapierre, L.; Jouvencel, B. Robust nonlinear path-following control of an AUV. IEEE J. Ocean. Eng. 2008, 33, 89–102. [Google Scholar] [CrossRef]
- Levine, W.S. The Control Systems Handbook: Control System Applications; CRC Press: Boca Raton, FL, USA, 2010. [Google Scholar]
- Johansen, T.A.; Fossen, T.I. Control allocation—A survey. Automatica 2013, 49, 1087–1103. [Google Scholar] [CrossRef] [Green Version]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Yoshikawa, T. Foundations of Robotics: Analysis and Control; MIT Press: Cambridge, MA, USA, 1990. [Google Scholar]
- Kumar, A.; Waldron, K. The workspaces of a mechanical manipulator. J. Mech. Des. 1981, 103, 665–672. [Google Scholar] [CrossRef]
- Paden, B.; Sastry, S. Optimal kinematic design of 6R manipulators. Int. J. Robot. Res. 1988, 7, 43–61. [Google Scholar] [CrossRef]
- Park, F.C.; Brockett, R.W. Kinematic dexterity of robotic mechanisms. Int. J. Robot. Res. 1994, 13, 1–15. [Google Scholar] [CrossRef]
- 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]
- Kharrat, H. Optimization of Thruster Configuration for Swimming Robots. Master’s Thesis, Rice University, Houston, TX, USA, 2015. [Google Scholar]
- 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]
- 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]
- 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]
- Yoshikawa, T. Manipulability of robotic mechanisms. Int. J. Robot. Res. 1985, 4, 3–9. [Google Scholar] [CrossRef]
- 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]
- Trefethen, L.N.; Bau, D., III. Numerical Linear Algebra; Siam: Philadelphia, PA, USA, 1997; Volume 50. [Google Scholar]
- 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]
- BlueRobotics. Available online: https://bluerobotics.com/ (accessed on 20 December 2018).
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).