Reliability Approach to Optimal Thruster Configuration Design for Spacecraft Attitude Control Subsystem

Thrusters are used in the attitude control subsystem (ACS) of spacecrafts as a control actuator due to their agility and the high level of provided force and therefore torque. Without using the thrusters, most of the tasks of ACS are not doable because of the relative low level of torque provided by other control actuators. Utilizing thrusters in the ACS of a spacecraft has been prevalent in recent years, due to the increasing control accuracy of the thrusters, and their decreasing response time. However, the high mass and low reliability of thrusters in comparison to the other control actuators are the major obstacle to use them. The high mass of the thrusters is owing to energy supply sources as well as the sometimes a lot of elements of their pneumatic circuit. In recent years, attempts have been made to remove this problem by using electrical energy sources as well as the use of new technologies to increase the specific impulse (Goebel and Katz 2008). On the other hand, in the ACS, which has the highest failure among other subsystems, thrusters have the highest percentage of failure among its actuators. This indicates the low reliability of the thrusters (Tafazoli 2009). In more recent times, many efforts have been made to increase the reliability of the thrusters, which can be used to increase the operating lifetime of each thruster, using accelerated lifetime tests. Although these ways are effective, another way is to use redundant thrusters that are more effective in terms of cost, time, and reliability. However, effect of imposing mass, due to https://doi.org/10.5028/jatm.v12.1112 ORIGINAL PAPER


INTRODUCTION
Thrusters are used in the attitude control subsystem (ACS) of spacecrafts as a control actuator due to their agility and the high level of provided force and therefore torque. Without using the thrusters, most of the tasks of ACS are not doable because of the relative low level of torque provided by other control actuators. Utilizing thrusters in the ACS of a spacecraft has been prevalent in recent years, due to the increasing control accuracy of the thrusters, and their decreasing response time. However, the high mass and low reliability of thrusters in comparison to the other control actuators are the major obstacle to use them. The high mass of the thrusters is owing to energy supply sources as well as the sometimes a lot of elements of their pneumatic circuit. In recent years, attempts have been made to remove this problem by using electrical energy sources as well as the use of new technologies to increase the specific impulse (Goebel and Katz 2008). On the other hand, in the ACS, which has the highest failure among other subsystems, thrusters have the highest percentage of failure among its actuators. This indicates the low reliability of the thrusters (Tafazoli 2009). In more recent times, many efforts have been made to increase the reliability of the thrusters, which can be used to increase the operating lifetime of each thruster, using accelerated lifetime tests. Although these ways are effective, another way is to use redundant thrusters that are more effective in terms of cost, time, and reliability. However, effect of imposing mass, due to 2 the redundant thrusters, on the increasing reliability should be investigated. Undoubtedly, this is related to how to use redundant thrusters in an appropriate configuration to increase the reliability. Crawford (Crawford 1969a;1969b) has answered this question. He has tried to proof their role at improving the performance of the system, by examining different configuration. Wiktor et al. (Wiktor et al. 1990;Wiktor 1991;1992;1994;Jin et al. 1994) has introduced attainable torque and proposed the role of control allocation in the performance of the configuration of redundant thrusters. Durham et al. (Durham 1993;1994a;1994b;Bordingnon and Durham 1995;Durham 2001;Nelson and Durham 2001) have focused on optimal methods in control allocation in order to maximize attainable torque and therefore improving performance. In the following years, many works have been conducted to clarify the place of redundancy in the field of fault tolerant systems (Wang and Xie 2010;Liu et al. 2018;Yoshimura 2018;Zhou et al. 2018).
Although the above-mentioned works have taken important steps to specify the application of configuration of the redundant thrusters, this paper presents a way of designing the configuration of the thrusters to achieve desired reliability of spacecraft by considering main design parameters such as mass, attitude performance, and the redundancy level. In the design process, the reliability is increased by maximizing the active states of thrusters in addition to minimize fuel consumption in the optimization process. Then, the feasibility of resulted configuration from design process is investigated along with conventional configurations. Finally, the desirable configuration with preferred performance and considering total mass of propulsion is selected.

ALLOCATION OF RELIABILITY
Reliability is a probability that a system can perform the expected task under specified operating conditions in a specific time interval, without errors or satisfactorily (Aggarwal 2012). The "probability" is the reliability assessment index. Therefore, the reliability of a system such as a spacecraft should be a specific number, which is specified by the high-level requirements of the system and should be finally allocated to each part used in the spacecraft. In this paper, it is assumed that reliability is consecutively allocated to subsystems, sets, and groups, in order to determine the reliability of the thrusters. In other words, the reliability is allocated to the ACS and then the propulsion set, and finally to the groups such as tank, regulator, filter, relief valve, thrusters, etc., according to the series/parallel configuration, in order to determine the desired reliability of the thrusters. By specifying the desired reliability of the thrusters, the maximum and minimum number of required thrusters is determined using the mission profile and thrusters failure rate as shown in Table 1. The thrusters are assumed one-sided and by a pessimistic assumption, the time of operation of each thruster is considered equal to the total duration of the mission. In order to specify the maximum number of required thrusters, it is assumed that at least two thrusters are required to control any dimension of mission or control axis. Therefore, in total, six thrusters are at least required. Since the failure of each thruster results in a defeat of the three-axis attitude control process, these thrusters have a series configuration. Hence, the real reliability of the thrusters is calculated as Eq. 1 (Aggarwal 2012): (1) where the real reliability of each thruster is (Eq. 2): (2) Since the time of mission and failure rate of all thrusters are considered equal, therefore, their real reliability is also equal. Therefore, according to the Eqs.1 and 2, and the values in Table 1, real reliability of each thruster is 0.9607 and real reliability of the thrusters is 0.7866. As can be seen, using six thrusters with the above-mentioned specifications, the attainable real reliability is 78% which is less than 99.5%. Therefore, the propulsion set needs a redundant thruster.
The number of redundant thrusters is defined as one thruster less than the minimum number of thruster failures, which can defeat a propulsion set, which is considered as redundancy level. In general, if a propulsion set tolerates any n r failures but certain combinations of n r +1 failures defeat it, it has n r redundant thrusters (Bordignon 1996). It is important to note that, in this paper, redundant thrusters are considered active. This means that they operate at the same time with the main thruster and are not used as standby or passive. Using the desired reliability of the thrusters, the dimensions of the mission, and Eq. 1, the desired reliability for each thruster is determined as Eq. 3: (3) Therefore, the number of required thrusters for each positive and negative control channel (m) can be obtained by Eq. 4: (4) The number of redundant thrusters is also obtained by the following equation (Eq. 5): As a result, maximum number of required thrusters is as follows (Eq. 6): Finally, the value of desired reliability of each thruster is 0.9991. For m=3, number of redundant thrusters is two and thus, maximum number of required thrusters by assuming independent thrusters for each control channel is eighteen.
Considering a configuration in which each thruster participates in several control channels to reduce the number of thrusters, which are required for performing the given mission. The minimum number of required thruster is determined by Eq. 7 (Crawford 1969b): For a configuration of thrusters to be able to cover every point of the required torque space, for each D-1 dimensional hyperplane through the origin, which divides the required torque space into two half-spaces, there must be at least n r +1thruster on each side of that hyperplane, except thrusters which are in the hyperplane (Crawford 1969a). This general theory is a basis for the derivation of Eq. 7. Therefore, according to Eq. 7, the minimum number of required thrusters for the given mission with the redundancy level of two is equal to eight thrusters.

INVESTIGATION OF CONFIGURATIONS
As can be seen in the previous section, the minimum and maximum number of required thrusters to meet the desired reliability are eight and eighteen thrusters, respectively. A typical configuration of eighteen thrusters (Pasand et al. 2017) is shown in Fig. 1, which is called configuration 1 in this paper. For the configuration of eight thrusters, there are different choices. In this paper, two configurations are posed. One, as shown in Fig. 2 and is called configuration 2, is inspired by an operational configuration (Pasand et al. 2017). This configuration does not necessarily confirm the level of redundancy two. Nevertheless, the other configuration of eight thrusters, named configuration 3, has the level of redundancy two. This configuration is the result of an optimization process in which the level of redundancy is considered, as a constraint and maximization of reliability and minimization of fuel consumption are the objective functions. In other words, while covering the required torque space, maintaining the desired level of redundancy, and minimizing fuel consumption, reliability of the thrusters can be maximized. In the optimization process, the reliability is increased by maximizing the active states of thrusters. In other words, it arranges the configuration in such a way that, while achieving the n r redundancy level, it can lose the n r +1 redundancy level with the least defeat states. Active state means a state in which if some combination of thrusters fails, the others thrusters could perform the mission successfully. For the configurations of eight thrusters, the optimal configuration 3 is shown in Fig. 3. The genetic algorithm is used as an optimizer to solve this multi-objective optimization problem. As said before the objective functions of the optimization are maximizing reliability and minimize fuel consumption. Constraints of the problem also include feasibility of configuration as well as geometrical constraints and desired reliability, which are shown in Table 2. The parameters used for the genetic algorithm are shown in Table 3. The matrix of configuration 3 is also given in Table 4, along with the matrix of configuration 1 and 2. It must be noted that a configuration matrix is a matrix that its columns are equal to number of thrusters and its rows are equal to mission dimensions. ⎡ 0 0 -r r -z z -z 0 0 0 0 0 r -r z 0 0 0 ⎤ ⎢ -z z 0 0 0 0 0 r -r z -z z 0 0 0 -r r z ⎥ ⎣ -r r 0 0 0 -r r 0 0 0 r -r 0 0 0 0 0 0" ⎦ 18 1

FEASIBILITY OF CONFIGURATIONS
The feasibility of performing the mission using above mentioned configurations is done in two steps. First, one needs to make sure that the configuration covers the required torque space, regardless of the magnitude of thrust of each thruster.
In other words, it should provide the accessibility to each of the points in the required torque space in terms of the direction of thrust. In the second step, taking into account the magnitude of thrust of each thruster, the total coverage of the required torque space in terms of the magnitude of thrust should also be provided. These steps are doable using two methods: algebraic (Servidia and Pena 2002) and geometric (Glaze 1998). The algebraic method in which by using matrix algebra and examining the matrix of configuration, the feasibility of a configuration could be obtained. Nevertheless, in the geometric method, in which the feasibility of the configuration is observable by plotting the maximum available torque space, two steps evaluate at the same time.

ALGEBRAIC METHOD
The algebraic method is based on the main theory of Eq. 7. Although Crawford had recognized this theory as a necessary and sufficient condition, he himself has also stated that the condition is not very useful as a practical test procedure, because there are an infinite number of hyperplanes. Therefore he proposed the following alternative conditions (Crawford 1969b): • There must be at least one subset of D activity vectors, which is a linearly independent set (the term activity vector is used to represent the effectiveness of individual thrusters in providing impulsive changes); • Each of these subsets uniquely determines a D-1 dimensional hyperplane containing all of them. In each case, the remaining n-(D-1) vectors must include at least 2(n r +1) vector not in the hyperplane with at least n r +1 of them to each side. First condition which is a necessary condition, is implemented using full rank concept in matrix algebra (Servidia and Pena 2002). That means the rank of the matrix of configuration should be first examined. If it is not full rank, it does not cover the required torque space and, for this reason, the configuration is not feasible. If it is full rank, the second condition (sufficient condition) must be evaluated. Of course, it is also important to note that if two-sided thrust actuators are used, then there is no longer a need to examine the second condition, and it is merely sufficient to examine first condition.
Although, from Crawford's point of view, examining the second condition is possible and simple, its translation into null space in linear algebra has led this condition to have a more appropriate process (Wiktor 1992). According to this process, providing torque is (Eq. 8): where, M consists of the torques provided by the configuration of the thrusters, B is the matrix of configuration, and T is the vector of magnitude of thrust. If T is always considered positive, it means that the actuators are always one-sided. Therefore, if it is supposed that N is the null space of matrix of configuration, B, this value should always be positive (Eq. 9): The existence of the positive null space suggests that zero torque can be provided by one-sided thrusters, without turning off all thrusters. In this case, the thrusters have been able to cover the center of the required torque space and, by changing the magnitude of thrust, will certainly be able to cover greater torque space. Therefore, it can be concluded that, if there is a positive T for all M values in Eq. 8, the matrix of configuration B has the full rank and the null space of the matrix of configuration B is positive. Hence, the two conditions for the matrix of configurations are examined, and if the conditions are true, covering the required torque space is feasible without the constraint of the magnitude of thrust. These results are presented in Table 5. As can be seen, all three configurations have a full rank and positive null space. Therefore, they are feasible for covering the required torque space without the constraint of magnitude of thrust. Evaluating second step using algebraic method has been described thoroughly (Pena et al. 2000;Servidia and Pena 2005; Wang and Xie 2010).  [ 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5] T 3 (Full rank) 3

GEOMETRY METHOD
As said before in the geometry method that is based on the constrained control allocation geometry, both steps are simultaneously performed. Therefore, in addition to the matrix of configuration, the magnitude of thrust should also be determined.

CONSTRAINED CONTROL ALLOCATION
According to Eq. 7, the minimum number of required thrusters to perform a D-dimensional mission is one thruster more than its dimension. Therefore, there is a nonsquare matrix whose number of columns, i.e. number of thrusters is more than the rows, i.e. dimension of the mission. This matrix of configuration and the vector of magnitude of thrust determine the available torque. When the controller determines the required torque for the given mission, the thrusters should provide this required torque. Thus, the required contribution of each thruster in providing the required torque should be specified. In a configuration such as the configuration 1, each thruster belongs to only one control channel. However, in a configuration such as configuration 2 or configuration 3, the thrusters are coupled and the number of unknowns is more than the number of equations. Therefore, there may be infinite solutions or the solution does not exist. When there are many solutions, the control allocation algorithm obtains the optimal solution among the infinite solution or, in the absence of solution, estimates the solution. Consequently, it can be said that in the control allocation problem, there is an optimization problem that can be solved using various methods. In any control allocation problem, while providing required torque, the magnitude of thrust, flow rate or power of thrusters can be optimized or considered as constraints. Hence, the solution is dependent on configuration, constraint and control allocation algorithm. In this paper, cold gas thrusters are used and, hence, the magnitude of thrust is considered as constraint. The linear programming control allocation algorithm is also utilized.

GEOMETRY OF CONSTRAINED CONTROL ALLOCATION
The maximum torques that thrusters could produce is called the maximum available torque, which depends on configuration, control allocation algorithm and the constraints. If provided torques is depicted as points in the D-dimensional space and then a convex polygon is plotted from the outermost points, the resulted convex hull is the maximum available torque. Different allocation algorithms result in different maximum available torque. Durham and her colleagues (Scalera and Durham 1999;Nelson and Durham 2001;Beck 2002;Durham et al. 2017) have compared different allocation algorithms in terms of maximum available torque space. By introducing a direct allocation (geometric) method, he could obtain the largest maximum available torque space, and used this method as a benchmark for comparing other methods. In order to investigate the feasibility of configurations, the generalized inverse control allocation algorithm (Durham et al. 2017) is used as the most common control allocation method. This algorithm usually has the smallest maximum available torque space. Hence, if the resulted maximum available torque space covers the required torque space, it can be ensured that any other control allocation algorithm could also cover. In Figs. 4-6, maximum available torque space is plotted as polygon shape and it is also plotted by considering two thruster failures in Figs. 7-9 for each configuration. It should be noted that in all three configurations the magnitude of thrust of all thrusters is the same, and its value is obtained based on the coverage of required torque space, which is plotted as a sphere, in the worst combination of the thruster failures in a try and error process as depicted in the figures.  The required torque space for the given mission is shown in Figs. 4-6, with a sphere of the same radius 0.1, because required torque is 0.1 N.m in all three control axes. As depicted in Figs. 4-6, the required torque space (sphere) is surrounded by maximum available torque space (polygon). Therefore, the mission is feasible in the absence of any failures.  As can be seen in Fig. 7 and Fig. 9, although the maximum available torque space covers smaller space after the first and eighth thrusters failure, the polygon completely covers the required torque space (sphere) and therefore a configuration is feasible with a redundancy level of two. Nevertheless, for configuration 2, it can be seen that the configuration could not cover the required torque space after the first and eighth thrusters failure. Thus, this configuration is infeasible with a redundancy level of two.

SIMULATION
As said before, the attitude performance of each configuration is examined using the software simulation. The schematic diagram of the implemented software simulation is shown in Fig. 10.

MODEL OF SYSTEM
Governing equations of attitude motions of a rigid spacecraft are obtained by Eq. 10 (Sidi 1997): where M → is the external torque exerted on the spacecraft along the body axes, [l] is the matrix of inertia moment of spacecraft, and ω → is the body angular velocity, which is ω → =[p q r] T . Since the thrusters are the actuators of spacecraft, the external torques can be defined in terms of the thrust provided by thrusters that are as follows (Eq. 11): where, T is thrust of thruster, d is the distance from the thrust axis to the center of mass of the spacecraft. By combining Eqs. 10 and 11, body angular accelerations can be extracted by thrusters in terms of thrust and torque provided along different axes.
In derivation of Eq. 12, it is assumed that the center of the rotation of spacecraft coincides to its center of mass, and according to Table 6, the matrix of inertia moment is also diagonal which its components are as follow (Eq. 13): The kinetic Eq. 12 are related to kinematics equations in term of Euler angles thorough Eq. 14 (Sidi 1997): (14)

CONTROL LAW AND MODULATOR DESIGN
The conventional proportional-derivative (PD) controller is utilized as control law due to simplified dynamic modeling, structural simplicity, reliability, and the favorable ratio between performance and cost. This controller operates on the basis of the value and error rate between the given value and the measured value and is adjustable by the two parameters, K p and K d . This control law can be defined as follows (Sidi 1997;Krovel 2005): where φ com , θ com and ψ com are the Euler command and φ ⋅ , θ ⋅ and ψ ⋅ are the Euler angular rates. Nevertheless, it is notable that the Euler angular rates cannot be directly measured and body angular velocity are usually measured instead. So, the attitude of the spacecraft is expressed in terms of the direction cosine matrix [A s ]relative to reference frame in which the attitude maneuver is to be commanded and achieved. On the other hand, suppose that a vector has the components a 1 , a 2 , a 3 in the reference frame a = [a 1 , a 2 , a 3 ] T , and that the spacecraft is to be maneuvered so that its final direction cosine matrix will coincide with a known and defined matrix [A T ]. Thus, the vector a can be expressed in the spacecraft frame and in the target frame as a s and a t in the following way (Eq. 16): By combining the two equations in Eq. 16, Eq. 17 can be written: As a result, Eq. 15 can be rewritten as follows (Sidi 1997): In Eq. 18, a ijE are the components of 3 × 3 [A E ] matrix. The values are selected for controller parameters are tabulated in Table 6 using the method which is presented in the reference (Mirshams et al. 2015). Since the thrusters are activated in an on-off mode, they can be used in a quasi-linear mode by modulating the width of the activated reaction pulse proportionally pulse width modulation (PWM) principle (Hu 2007). A related design technique is based on the well-known Schmidt trigger, which implements a pulse width pulse frequency (PWPF) modulation in which the distance between the pulses is also modulated. Thus, with certain assumptions, the area of the reaction pulse can be approximated as an impulse. The structure of a PWPF modulator is shown in Fig. 11 and it is composed of a Schmidt trigger, a pre-filter, and a feedback loop.
The values of the parameters which are used in this paper, are given in Table 7 according to the reference (Mirshams et al. 2015). U on and U off are shown in Fig.11. K m and T m are the pre-filter coefficients (Hu 2007).

CONTROL ALLOCATOR
The main purpose of the control allocator is to find the thrusters that satisfy Eq. 8. For systems with redundant thrusters, in general, there are an infinite number of the combinations of thrusters that can provide desired torques. Some of these combinations are inaccessible due to constraints on the magnitude of thrust, which are expressed in the form of a bound on T.
There are different methods for solving allocation problem (Enns 1998;Fossen and Johansen 2006;Oppenheimer et al. 2006;Johansen and Fossen 2013;Kishore et al. 2013). One of the best categorizations for these methods is in four categories, grouping method, daisy chaining method, direct method, and based on optimization method. In grouping methods, which are also used in classical approaches, thrusters perform mission in predefined groups that, in the simplest of case, can be referred to the thrusters assigned to each control channel. This method is not feasible for all configurations. Daisy chaining method can also be used for systems with different actuators. This method operates sequentially and is appropriate for the case in which different actuators such as reaction wheel and thruster are used. But the direct method is not operational because of the high computational burden. In the meantime, there are different methods based on optimization. The pseudo-inverse, weighted pseudo-inverse, generalized inverse and linear programming methods are the most important of them. The linear programming methods with the simplex algorithm are among the most practical algorithm for real-time solving, due to fast convergence. This algorithm has an extremely desirable quality in that it is guaranteed to find an optimal solution in a finite period of time. The simplex algorithm moves from one basic feasible solution of the constraint set to another, in such a way that the value of the objective function is continually decreased until a minimum is reached. The number of iterations of the simplex algorithm to find a solution is, assuming no basic feasible solution is repeated, at most

s! D!(s-D)!
where s=2n+6, n is the number of thrusters. Anticycling can be used to ensure that the same basic feasible solutions are not encountered more than once (Levine 2010).
In this paper the linear programming methods with the simplex algorithm has been used as a control allocator. The standard form of allocation problem to linear programming methods is (Eq. 19) (Durham et al. 2017): (19) Due to the being one-sided of the thrusters, the unknown variables of T are always positive and are limited by equality constraints, BT=M. The cost function, c, will also be considered same for all thrusters.

RESULT AND DISCUSSION
In this paper, reliability, mass and also attitude performance are the main parameters in finding the appropriate configurations. In this section, first, the available reliability of each configuration is calculated. Then, the attitude performance of each configuration is examined by simulation of the spacecraft whose specifications are presented in Table 8. Then, by achieving the mass of fuel consumption in each configuration from the simulation and using an approximated dry mass of each configuration, the total mass of propulsion set is compared.

RELIABILITY
The available reliability of the configuration 1 considering failure rate of the thrusters and the time of mission is (Eq. 20): (20) Therefore, according to Eq. 20, R TA1 =0.9996. As can be seen, the available reliability of the configuration 1 is more than the desired reliability. However, in order to calculate the available reliability of the two other configurations, according to the participation of each thruster in different control channels, the above-mentioned equation is not applicable and other methods should be used. In general, the reliability of a system can be calculated by analytical and experimental methods. In the experimental method, the real behavior of the system is addressed and requires test as well as high cost and time. For this reason, this method is used when the solution could not be obtained using the analytical method. In the analytical method, using mathematical models, the problem is addressed. Among analytical methods, state space based methods are the most significant methods that can be used for simple and complex systems (Aggarwal 2012). In this paper, the independent elements method is used.
In a case in which the state of each element can be considered independently from the states of all other elements, a reliability of the system can be expressed by three basic principles of probability theory (Crawford 1969b;Birolini 2017). • The probability of occurrence the combination with the number of independent events is equal to the product of the probabilities of each of them; • The probability of a logical sum of a number of mutually exclusive events is equal to the sum of the probabilities of each of them; • The sum of probabilities of a set of events that includes all possible outputs of a problem will be equal to one.
In the first step, all the possible states for the thrusters should be determined. For example, a configuration with eight thrusters e.g. configuration 2 and 3, assuming that each thruster has one failure mode, and its failure is only considered as lack of providing the thrust or so-called not-opening of thrusters, then, the sum of thrusters possible states are obtained by Eq. 21 (Crawford 1969b): (21) where, Q is the number of failure modes and considered equal to one in this paper, and E is the number of the thrusters and considered equal to eight, corresponding to the configuration 2 and 3. Therefore, in total, there are 256 possible states for the eight thrusters. Now, out of 256 possible states, it should be specified in which states, the thrusters could perform the mission, and which states can defeat the mission. The states in which the thrusters are able to continue the mission are categorized. These states are called active states and are shown in Table 9. According to Table 9, a configuration with eight thrusters is still able to continue the mission with only four thrusters in the specific active states which is titled as "the minimum thruster required for controlling the three-axis attitude" (Sidi 1997). In addition, by obtaining the active modes of the two configurations, before calculating the available reliability, it can be found that configuration 2 will not be able to achieve desired reliability, due to the lack of achieving redundancy of level two. That means out of twenty-eight possible states in two thruster failures, and out of eight thrusters, the configuration 2 can stay in the active states only in sixteen states and failures in the remaining states. This problem can also be clearly seen in the feasibility section of the configurations in the failure of first and eighth thrusters (Fig. 9). In order to determine the available reliability of the configuration 2 and 3, the probability of occurrence of each active state is calculated, so that the sum of the states specifies the available reliability of each configuration. Hence, according to Eq. 2, Eq. 22 can be written: Given the assumption of the equality of the time of mission and failure rate of all the thrusters, for simplicity, the available reliability of the first thruster is presented in the calculations. Therefore, for the configuration 2, Eq. 23 can be written: And therefore R TA2 =0.9829. It can be seen that the available reliability of the configuration 2 is less than the desired reliability and, as already indicated, this configuration does not have the feasibility of achieving the desired reliability due to the lack of redundancy level of two. To calculate the available reliability of the configuration 3, Eq. 24 can also be written: And therefore R TA3 =0.9991. Like the configuration 1, the available reliability of the configuration 3 is more than the desired reliability, and with regard to their redundancy, this was already predictable. The available reliability of the configurations 1 is also higher than the configuration 3.

RESULTS OF SIMULATION
In this subsection, the attitude performance and total mass of the propulsion set of each configuration are compared using the software simulation and a rough estimate of the dry mass of the propulsion set. To do this, at first, a similar attitude control maneuver has been defined to examine the attitude performance and fuel consumption of all three configurations. When starting the maneuver, the spacecraft is in the attitude of [0° 0° 0°] T , and the desired final attitude is [10° 20° -15°] T along the axes of yaw, pitch and roll. The time history of the Euler angles, the body angular velocity (p, q, and r), and fuel consumption during the maneuver are shown in Figs. 12-15.
As depicted in Fig. 12 and Fig. 13, the attitude performance of the configurations 1 and configurations 2 are almost the same and, while following the desired final attitude, have also appropriate stability. Nevertheless, in Fig. 14, although the desired final attitude is well followed, it has less stability, which is clearly visible in the fluctuation of body angular velocity. These fluctuations are mainly due to the fact that the thrusters have component in different control channels which leads the most of the thrusters should be turned on and off, in order to counterbalance the unnecessary thrust components in the mission duration. This results in continuous fluctuation at body angular velocity and, accordingly, instability in achieving the desired final attitude. As can be seen from Fig. 15, the effects of turning on and off the thrusters of configuration 3 on increasing fuel consumption are significant, which, of course, the most of this increasing is due to the higher magnitude of thrust of the thrusters of configuration 3. More precisely, in the configuration 1 and configuration 2 the thrusters are 0.7N and 0.5N, respectively, while configuration 3 uses 2.8N thrusters, and these thrusters will have a high mass flow rate compared to other those of two configurations. In the simulation, this mass flow rate has been obtained from Eq. 25 (Humble et al. 1995): (25) In which by assuming the use of cold gas thrusters, specific impulse is considered as 72 s for all three configurations.
It is important to have a correct estimate of the total mass of the propulsion set from each of the three configurations, which can be a proper criterion for evaluating the optimality of the mass of each configuration. As shown in Fig. 16, the type of propulsion set is considered to be cold gas (Mirshams et al. 2015). Hence, according to this type, an estimate of the mass of its essential elements is given in Fig. 17, in order to compare the mass of these three configurations (Mueller and Mueller 1997;Bayt and Breuer 2000;Bzibziak 2000;Ketsdever and Micci 2000;Mueller et al. 2008).

Nitrogen Tank
Valve Regulator Filter Nozzle Solenoid Accumulator Figure 16. Schematic of the cold gas propulsion set (Mirshams et al. 2015).  Although the configuration 3 has more fuel consumption than two other configurations, in estimating the total mass of the propulsion set, the configuration 3 has less mass than that of configuration 1. Of course, this rating can be shifted by increasing the time of mission and accordingly, increasing fuel consumed. Therefore, in terms of the total mass of the propulsion set, in this mission, the configuration 2 and configuration 3 have the lowest mass, which, due to the inability of the configuration 2 to perform the mission, as previously mentioned, it could be concluded that the configuration 3 is the best choice from the mass perspective.

Number of thrusters
To complete the comparison, the redundancy level of thrusters in each configuration should be evaluated. In the previous section, redundancy level was determined as a requirement for achieving the desired reliability, which was observed that only the configurations 1 and 3 had this level of redundancy. However, to ensure that the calculations are done and the investigation of attitude performance of each configuration with two thruster failures, the attitude performance of all three configuration is evaluated by repeating the simulated maneuver, and removing two thrusters (first and eighth thrusters). The results of this evaluation are shown in Figs. 18-21. In Figs. 18-20, it can be seen that attitude performance of configuration 2, as already indicated, is not able to follow the desired attitude, and Euler angles are divergent. While the attitude performance of the configurations 1 and 3 is similar to the simulated maneuver before the two thruster failures, indicating the success of these two configurations in achieving redundancy level of two. It should be noted that these two configurations have the same performance in all combinations of the two thruster failures. This combination of failures is shown as a sample for one of the failure states of configuration 2 by considering the two thruster failures.  Figure 21 shows a substantially increase in fuel consumption of configuration 3 after the two thruster failures, which indicates that the thrusters stay open when failures the first and eighth thrusters, in order to compensate the missing components of thrust. Nevertheless, the configuration 1 experienced a reduction of fuel consumption, since the configuration with a smaller number of thrusters follows the purpose. But it is not evident in the required time interval for achieving the desired final attitude. The configuration 2 also consumes less fuel, because this configuration unable to control and therefore the thrusters are turned off.

CONCLUSION
In this paper, a design way for optimal configuration of thrusters of attitude control system is presented in order to satisfy the desired reliability of the spacecraft as well as achieving appropriate attitude performance, low mass, and the redundancy level. Based on a specific desired reliability for thrusters, by means of the mission profile and thrusters failure rate, the maximum and minimum number of required thrusters is determined which are eight and eighteen thrusters, respectively. According to these numbers, three configurations are presented and feasibility of them is examined utilizing algebraic and geometry methods. One of them is not feasible (configuration 2), because this configuration is not achieved, the redundancy level of two, which is necessary for satisfying desired reliability of thrusters. Although configurations with eighteen thrusters are trivial, configuration 3, which has minimum number of thrusters and is also feasible is generated in an optimization process. All three configurations are utilized in order to calculate the reliability and it is shown that the configuration 2 does not meet the condition of desired reliability.
By evaluating attitude performance of the configurations, it also appears that configuration 2 was not able to control the attitude of spacecraft after two thruster failures, while the other two configurations have preferred performance. In order to select the appropriate configuration between the remaining two configurations, total mass of propulsion set is estimated and can be seen that configuration 3 has lower total mass. Therefore, by examining the attitude performance of these two configurations as well as the total mass comparison, it can be concluded that third configuration is desirable for the mission. It is noteworthy to mention that, for a mission with long duration and several maneuvers, the results of the paper can be changed, which will be investigated in the future.