# Consideration of Three-Dimensional Attitude and Position Control for a Free-Floating Rigid Body Using Three Thrusters

Authors: Takashi Matsuno; Yasuhiro Yoshimura; Shinji Hokamoto
Journal: International Journal of Aerospace Engineering
 (2018)

---

## Abstract

The study examines the control algorithm of a three-dimensional attitude and position of a free-floating rigid body with three thruster forces in which the force directions are fixed with respect to the body. This study provides a theory to develop a control method of an underactuated satellite with the minimum thruster number. In the procedure, three switching controllers are used in conjunction with motion planning in the final angular-rate deceleration phase to individually control the six state variables to the target values. The switching controllers have a hierarchical structure by using invariant manifolds as switching surfaces. The state variables in higher class manifolds that include lower class ones are adjusted by repeatedly adding intentional disturbances while the lower class state variables are returned to the original values by using lower class invariant manifolds. This study describes methods to define the invariant manifolds and also the intentional disturbance for achieving the forementioned control strategy. Finally, the motion planning in the angular-rate deceleration phase from a remained single-axis rotation finalizes the six state values of the body to the target values. Numerical simulations verify the proposed method.


---

## Body

## 1. Introduction

What is the minimum number of thrusters required to control both the attitude and position of a rigid satellite? What strategies can be applied and what kind of motion is controlled for a satellite in which there are few remaining thrusters? These questions motivated us to pursue the current investigation because nonlinear underactuated control makes these satellites fault-tolerant with respect to thruster malfunctions and enables continuity of the respective missions.Most satellites are equipped with a sufficient number of thrusters to control the attitude and position in three dimensions because of the following reasons. In typical thrusters, the force directions are fixed to a satellite body and the magnitudes are restricted as positive. This implies that another thruster is required to generate a force in the opposite direction. Consequently, more than twelve thrusters are required for a satellite to guarantee the six degrees of freedom in motion and to ensure the robustness of the system in simple control logic. However, the number of thrusters can be reduced by applying nonlinear control methods. Hence, combined attitude and position control based on the nonlinear motion of a satellite can achieve a significant reduction in the number of actuators.A few underactuated systems in which the degrees of freedom of motion exceed the number of actuators can be potentially completely controlled by utilizing their nonholonomic constraints [1, 2]. A free-floating satellite is a type of an underactuated system, and its attitude and position dynamics are represented as nonintegrable second-order differential equations that act as nonholonomic constraints [3]. Several intensive studies focused on the attitude motion control of a satellite by utilizing nonholonomic constraints. Several extant studies indicate that two independent torques successfully control a three-dimensional satellite attitude. Tsiotras and Longuski [4] proposed new attitude parameters termed as “wz-parameters,” and then Tsiotras and Doumtchenko [5] developed a discontinuous control law that utilized the parameters. In another study, Morin and Samson [6] designed a smooth time-varying feedback control. Recent studies shifted to more practical ones including a controller for the underactuated CMG satellite system [7], implementation of the kinematic planning scheme [8], and an optimal process for state stabilization [9]. The strategies indicate that two bidirectional control torques (i.e., both positive and negative directional torques are generated) with independent magnitude can control three attitude parameters of a satellite. Therefore, the problem of satellite attitude control is transformed into the number of thrusters that are required to generate independent torques with respect to the two principal axes. Sidi [10] presented a pioneering study related to this problem that numerically demonstrated that four thrusters produce independent torques with respect to three principal axes. In [11], we analytically confirmed the forementioned results and indicated that three thrusters that satisfy a configuration produce bidirectional torques with respect to two independent axes. This implies that when the nonholonomic dynamics of a satellite are considered, three thrusters control the three-dimensional attitude of a satellite. Hence, Matsuno et al. [11] and Yoshimura et al. [12] demonstrated an attitude control strategy and developed feedback controllers although a zero or unidirectional (only positive or negative directional) torque was generated under the thruster configuration around the third axis owing to the coupling effect with the other two axes.The present study focuses on the simultaneous attitude and position control of an underactuated satellite. In two-dimensional motion, at least two thrusters are required to accelerate and decelerate the rotation of a satellite. Essentially, the same type of controllers in [13–15] is applied to obtain a controller with two thrusters for the in-plane attitude and position motion of a free-floating satellite. The study numerically verified that a switching controller that utilizes an invariant manifold achieves a two-dimensional attitude and position control by using positive albeit variable magnitudes of thruster forces. The study was extended in [16] for two on/off types of thrusters in which the input magnitudes are fixed.In contrast to the two-dimensional cases, only a few studies discuss three-dimensional attitude and position control for underactuated satellites. With respect to a satellite with four thrusters, the previous study [17] described a design procedure of motion planning for the simultaneous control of the attitude and position. However, in the case with three thrusters, the three-dimensional attitude and position control is quite challenging because of the following reason. Three thruster configurations that guarantee bidirectional control torques for two principal axes generate dependent torque with respect to the third principal axis of a satellite. Specifically, the attitude control proposed in the present requires a series of complex nonlinear processes. Furthermore, thruster forces are unidirectional, and thus, the controllability of the system is uncertain. It should be noted that although the theorem of Sussman [18] or Goodwine and Burdick [19] provides sufficient conditions for the controllability of nonholonomic systems, they cannot be applied in this study owing to the nonnegative restriction of the thruster forces.Given the above background, the present study develops a switching controller by using three invariant manifolds and provides a motion planning scheme in the final phase. This paper deals with the problem to control a free-floating rigid body in three-dimensional space using three thruster forces (hereafter, we refer to this type of rigid body model as “FFRB”). In this simplified problem, the proposed method achieves both attitude and position control by using only three thrusters in which the directions are fixed with respect to the body. The effectiveness of the method is numerically certified in ideal conditions (constant mass and nonlimited positive thruster force). This study is the first to demonstrate that the three-dimensional attitude and position of a rigid body can be controlled with three fixed thrusters, although the following problems remain in the future. The proposed controller includes a few heuristic processes; rigorous certification of the control strategy is required, and it sometimes results in an extremely long controlling time to the target states. We believe that the concept of this controller explained in this study contributes to significantly decreasing number of thrusters in practical underactuated satellites.The remainder of this paper is organized as follows. In Section2, the formulations of the kinematic and dynamic equations of a FFRB are discussed. The procedure consists of a combination of the three hierarchical feedback steps and motion planning. Furthermore, the effects of the design parameters in each step are discussed. In Section 4, numerical simulations are conducted to verify the proposed controller, and a summary of the study is presented in Section 5.


## 2. Three-Dimensional Model of a FFRB (Free-Floating Rigid Body with Three Force Inputs)

### 2.1. Thruster Configuration

In order to simplify the discussion in Section3, this subsection defines the three-thruster configuration for controlling a FFRB. It should be noted that the main purpose of this study is to demonstrate that a range of three-thruster configurations controls both the position and the attitude of a FFRB to the target values.It is assumed that a rigid body has the three thrusters that satisfy the following conditions (i)–(iii) for its torques.(i)
Bidirectional control torques are generated about principal axes I and II of the FFRB.This condition implies that the attitude motion in three dimensions is controlled by applying nonlinear control methods utilizing nonholonomic constraint of a FFRB unless the inertial moments of principal axes I and II are equal. (It is widely known that the attitude motion around the principal axis III is uncontrollable when the inertial moments are equal.)(ii)
With respect to the principal axis III, a unidirectional control torque is generated whenever control torques are applied around the principal axes I and II.This condition simplifies the discussion in Section3. Furthermore, with respect to the translational motion control, the following condition is assumed.
(iii)
In the thruster configuration, the induced force along the principal axis III is bidirectional.First, it is proven below that a range of three-thruster configurations satisfy the conditions (i) and (ii). We consider a thruster placed atri and oriented to di with respect to the body frame (see Figure 1(a)), and it generates a torque moment Ti=ri×di⋅fi with respect to the mass center. Three thrusters form a tetrahedron with their moments, and a range of three-thruster configurations have a projection of the tetrahedron on the I–II plane including the mass center inside the body as shown in Figure 1(b). Subsequently, the combination of the three forces in positive or zero values generates their resultant torque within the extension of the tetrahedron. Thus, this type of three-thruster configurations satisfies the conditions (i) and (ii). It is noted that a vertex of the tetrahedron is the mass center of the FFRB, and therefore, it is impossible to generate bidirectional control torques for all three principal axes with three thrusters as shown in [11, 12].Figure 1
Three-thruster configuration for attitude and position control. (a) Direction of the torque vector. (b) Geometry formed with the three torque vector. (c) Another thruster placement. (d) Three-thruster configuration.
(a)
(b)
(c)
(d)Next, it is shown that there is a three-thruster configuration that satisfies the condition (iii) under the conditions (i) and (ii) as follows. As described above, the moment vectorTi is defined as the outer product between the thruster’s position vector ri and orientation vector di. However, as shown in Figure 1(c), there are numerous combinations for the two vectors in the plane perpendicular to the vector Ti. This implies that the condition (iii) is satisfied as well as the conditions (i) and (ii) when one of dii=1~3 has a negative component along the axis III (as shown in Figure 1(a)) and one of the others has a positive component (as shown in Figure 1(c)). Figure 1(d) illustrates an example of this configuration. It should be noted the three-thruster configuration used in the simulations in this study satisfies the three conditions.


### 2.2. Attitude Equations

We consider a FFRB with constant moments of inertia and with the absence of external disturbance forces. Euler equations of the FFRB are described with its principal axes as follows:(1)Jω̇=T+ω~Jω,where
(2)J=JI000JII000JIII,ω~=0ωIII−ωII−ωIII0ωIωII−ωI0.The attitude is defined by the Euler parameterq as follows:
(3)q=qIqIIqIIIqIVT=aIsinψ2aIIsinψ2aIIIsinψ2cosψ2T.The differentiation ofq is expressed with the angular velocity ω as follows:
(4)q̇=Qqω,where
(5)Qq=12qIV−qIIIqIIqIIIqIV−qI−qIIqIqIV−qI−qII−qIII.The total torque inputT is given by the summation of Ti as follows:
(6)T=∑i=13Ti=∑i=13ri×di⋅fi=Bf,where f=f1f2f3T, B=b1b2b3, and bi=ri×di.


### 2.3. Translational Equations

The translational equation of the FFRB is expressed as follows:(7)Mp¨=F.In (7), the translational force F induced by the thrusters is related to the control torque T. For this purpose, we first consider the force vector F′ that is expressed with respect to the body fixed frame. Given that Fi′=di⋅fi, the total translational force vector is expressed as follows:
(8)F′=∑i=13Fi′=∑i=13di⋅fi=Df,where D=d1d2d3. The matrix B in (6) is nonsingular when the three control torques are independent, and thus, the force vector f is formulated as B−1T. Thus, the transformation matrix Aq is used, and the translational force F in the inertial frame is expressed with the control torque T as follows:
(9)F=AqDB−1T,where
(10)Aq=2qIV2+qI2−12qIqII−qIVqIII2qIqIII+qIVqII2qIqII+qIVqIII2qIV2+qII2−12qIIqIII−qIVqI2qIqIII−qIVqII2qIIqIII+qIVqI2qIV2+qIII2−1.Equation (9) indicates that the translational motion of the considering FFRB is induced dependently with the rotational motion.


## 2.1. Thruster Configuration

In order to simplify the discussion in Section3, this subsection defines the three-thruster configuration for controlling a FFRB. It should be noted that the main purpose of this study is to demonstrate that a range of three-thruster configurations controls both the position and the attitude of a FFRB to the target values.It is assumed that a rigid body has the three thrusters that satisfy the following conditions (i)–(iii) for its torques.(i)
Bidirectional control torques are generated about principal axes I and II of the FFRB.This condition implies that the attitude motion in three dimensions is controlled by applying nonlinear control methods utilizing nonholonomic constraint of a FFRB unless the inertial moments of principal axes I and II are equal. (It is widely known that the attitude motion around the principal axis III is uncontrollable when the inertial moments are equal.)(ii)
With respect to the principal axis III, a unidirectional control torque is generated whenever control torques are applied around the principal axes I and II.This condition simplifies the discussion in Section3. Furthermore, with respect to the translational motion control, the following condition is assumed.
(iii)
In the thruster configuration, the induced force along the principal axis III is bidirectional.First, it is proven below that a range of three-thruster configurations satisfy the conditions (i) and (ii). We consider a thruster placed atri and oriented to di with respect to the body frame (see Figure 1(a)), and it generates a torque moment Ti=ri×di⋅fi with respect to the mass center. Three thrusters form a tetrahedron with their moments, and a range of three-thruster configurations have a projection of the tetrahedron on the I–II plane including the mass center inside the body as shown in Figure 1(b). Subsequently, the combination of the three forces in positive or zero values generates their resultant torque within the extension of the tetrahedron. Thus, this type of three-thruster configurations satisfies the conditions (i) and (ii). It is noted that a vertex of the tetrahedron is the mass center of the FFRB, and therefore, it is impossible to generate bidirectional control torques for all three principal axes with three thrusters as shown in [11, 12].Figure 1
Three-thruster configuration for attitude and position control. (a) Direction of the torque vector. (b) Geometry formed with the three torque vector. (c) Another thruster placement. (d) Three-thruster configuration.
(a)
(b)
(c)
(d)Next, it is shown that there is a three-thruster configuration that satisfies the condition (iii) under the conditions (i) and (ii) as follows. As described above, the moment vectorTi is defined as the outer product between the thruster’s position vector ri and orientation vector di. However, as shown in Figure 1(c), there are numerous combinations for the two vectors in the plane perpendicular to the vector Ti. This implies that the condition (iii) is satisfied as well as the conditions (i) and (ii) when one of dii=1~3 has a negative component along the axis III (as shown in Figure 1(a)) and one of the others has a positive component (as shown in Figure 1(c)). Figure 1(d) illustrates an example of this configuration. It should be noted the three-thruster configuration used in the simulations in this study satisfies the three conditions.


## 2.2. Attitude Equations

We consider a FFRB with constant moments of inertia and with the absence of external disturbance forces. Euler equations of the FFRB are described with its principal axes as follows:(1)Jω̇=T+ω~Jω,where
(2)J=JI000JII000JIII,ω~=0ωIII−ωII−ωIII0ωIωII−ωI0.The attitude is defined by the Euler parameterq as follows:
(3)q=qIqIIqIIIqIVT=aIsinψ2aIIsinψ2aIIIsinψ2cosψ2T.The differentiation ofq is expressed with the angular velocity ω as follows:
(4)q̇=Qqω,where
(5)Qq=12qIV−qIIIqIIqIIIqIV−qI−qIIqIqIV−qI−qII−qIII.The total torque inputT is given by the summation of Ti as follows:
(6)T=∑i=13Ti=∑i=13ri×di⋅fi=Bf,where f=f1f2f3T, B=b1b2b3, and bi=ri×di.


## 2.3. Translational Equations

The translational equation of the FFRB is expressed as follows:(7)Mp¨=F.In (7), the translational force F induced by the thrusters is related to the control torque T. For this purpose, we first consider the force vector F′ that is expressed with respect to the body fixed frame. Given that Fi′=di⋅fi, the total translational force vector is expressed as follows:
(8)F′=∑i=13Fi′=∑i=13di⋅fi=Df,where D=d1d2d3. The matrix B in (6) is nonsingular when the three control torques are independent, and thus, the force vector f is formulated as B−1T. Thus, the transformation matrix Aq is used, and the translational force F in the inertial frame is expressed with the control torque T as follows:
(9)F=AqDB−1T,where
(10)Aq=2qIV2+qI2−12qIqII−qIVqIII2qIqIII+qIVqII2qIqII+qIVqIII2qIV2+qII2−12qIIqIII−qIVqI2qIqIII−qIVqII2qIIqIII+qIVqI2qIV2+qIII2−1.Equation (9) indicates that the translational motion of the considering FFRB is induced dependently with the rotational motion.


## 3. Controller Design

### 3.1. Strategy

Without loss of generality, the target state can be set asq=000±1T and p=000T. Furthermore, at the target attitude, the principal axis III of the FFRB coincides with the Z-axis of the inertial flame.The switching controller proposed in this study uses the following three invariant manifolds:S1=0, S2=0, and S3=0. The first one, namely S1=0, corresponds to the manifold and indicates that the FFRB rotates about its principal axis III that coincides with the Z-axis. Hereafter, we refer to this state as “single spinning.” The values of S2 and S3 indicate the remained velocity and position errors, respectively, along the Z-axis when the single spinning stops. Figure 2 shows the schematic image of the control process. It should be noted that maintaining a single spinning (S1=0) under TI=0 and TII=0 after achieving S2=0 and S3=0 causes S2 and S3 to be invariant (this property is explained in the following section). Thus, various time histories of torque TIII are available to stop the single spinning at the target attitude while maintaining S2=0 and S3=0. Proper planning of the TIII history controls the position and velocity along X and Y to the target.Figure 2
Schematic image of theS1, S2, and S3.Figure3 schematically illustrates the switching controller. The controller for achieving S1=0, S2=0, and S3=0 is composed of the following three hierarchical control steps: Step A, Step B, and Step C. In Step A, S1=0 (i.e., qI, qII, ωI, and ωII = 0) is achieved using feedback law. In Step B, intentional disturbances and, in Step A, controls are repeated such that S2=0 is satisfied. Thus, S1=0 and S2=0 are satisfied at the end of Step B. Step C achieves S1=0, S2=0, and S3=0 by disturbing S1 and S2 to nonzero values and by repeating Step B to satisfy S1=0 and S2=0 again. When S1=0, S2=0, and S3=0 are satisfied, Step D finally controls the single spinning angle to the target angle by the time profile of TIII, which is planned beforehand such that the position (X and Y) in the inertial frame coincides with the target positions. These steps are explained individually below given the assumption that the resultant torque component along the principal axis III is always positive, i.e., the three-thruster configuration satisfies TIII>0 as shown in Figure 1(b).Figure 3
Schematic of the control sequence.


### 3.2. Step A: Control to the Single Spinning about the Axis III

DefineS1 as follows:
(11)S1=qI2+qII2+ωI2+ωII2.This implies that atS1=0, only qIII, qIV, and ωIII correspond to nonzero values. Thus, achieving S1=0 implies that the FFRB motion is led into a spinning motion around the axis III, and the axis coincides with the Z-axis of the inertial frame.The following control law forTI and TII as proposed in [11] is adopted to achieve S1=0 in the present study.
(12)TI=−KIωI−JIgI2−JIK¯ωII,(13)TII=−KIIωII−JIIgII2+JIIK¯ωI,where
(14)gI=qIqIV+qIIqIII+2JII−JIIIJIωIIωIII,(15)gII=qIIqIV−qIqIII+2JIII−JIJIIωIIIωI.KI and KII are arbitrary positive gains. K¯ is determined to provide a negative ωIII anytime such that positive TIII reduces the single spinning rate. Reference [11] specifies the K¯ as follows:
(16)K¯=ωIωIIKI/JI+KII/JII+gI/2ωII+gII/2ωI−ωIIIσIωII2+σIIωI2ωI2−ωII2−κsgnωI2−ωII2σIII,where
(17)σI=JII−JIIIJI,σII=JIII−JIJII,σIII=JI−JIIJIII,κ>0.It should be noted that whenωI2−ωII2 approaches zero, the magnitude of K¯ approaches infinity, and subsequently, the magnitudes of TI and TII become extremely high. Thus, in order to avoid this singularity, the control inputs in (12) and (13) should be designed to saturate when ωI2−ωII2 becomes quite low. Furthermore, by setting K¯=0, the control torques TI and TII are used as disturbances. The reason is explained in Step B.


### 3.3. Step B: Control for the Translational Velocity in theZ-Direction

Step B begins after the FFRB is in single spinning, and thus, the principal axis III coincides with theZ-axis in the inertial frame and the control torques around the axes I and II are TI=TII=0. Therefore, the third component of (7) is expressed from (9) as follows:
(18)MZ¨=γ3TIII,where γ1γ2γ3T=DB−1001T denotes the effect of the control torque TIII on the translational motion in the single spinning. Furthermore, from (1) in the single spinning, (18) is reexpressed as follows:
(19)MZ¨=γ3TIII=γ3JIIIω̇III.The above equation implies that the translational motion in theZ-direction depends on the time profile of the angular acceleration around the axis III. When the single spinning ceases, (19) is analytically integrated to derive the velocity variation ΔŻ as follows:
(20)ΔŻ=γ3MJIIIωIII′ωIII′=ωIIIωIII′=0=−γ3MJIIIωIII.Therefore, the translation velocity along theZ-axis in the inertial frame when the single spinning ceases is expressed as follows:
(21)S2=Ż−γ3MJIIIωIII.Conversely, we consider the time differential ofS2 when a control torque vector T=0,0,TIIIT is applied to the FFRB in the single spinning. It is expressed from the third components of (1), (7), and (9) as follows:
(22)Ṡ2=Z¨−γ3MJIIIω̇III=1Mγ1TI+γ2TII+γ3TIII−γ3MTIII+JI−JIIωIωII=1Mγ1TI+γ2TII−γ3JI−JIIωIωII.This implies that the variation ofS2 is generated by TI, TII, ωI, and ωII. Thus, the value of S2 does not change when the FFRB’s single spinning is maintained. Conversely, a disturbance that makes S1≠0 is necessary to change the value of S2. Thus, Step B requires an intentional disturbance that results in a nonzero value of S1 and the process of Step A for returning S1 to zero. The value of S2 should approach zero during a series of these processes.Intentional disturbances that satisfy the above process are shown as follows. Given thatTIII>0 is assumed in this section, the angular rate ωIII around the axis III should approach zero and satisfy ωIII<0. This implies that time integration of ω̇III must be negative and from the third component of (1), the following expression is obtained:
(23)ω̇III=TIIIJIII+σIIIωIωII.The second term (σIIIωIωII) in the right-hand side of the above equation should be negative for a high portion of the trajectory for S1≠0 and S1=0. Therefore, when JI>JII is assumed for the FFRB, the trajectory shown in Figure 4 on the ωI–ωII plane is a solution for the intentional disturbance and mainly in the second or fourth quadrant. However, σIIIωIωII is not analytically integrable, and thus, it is not possible to determine whether this trajectory always provides a negative value in the integration of σIIIωIωII. (In the simulation of Section 4, the negative integration of σIIIωIωII of the trajectory for the designed intentional disturbances is numerically confirmed.) It should be noted that the rotational direction (clockwise or counterclockwise) of the designed trajectory in the ωI–ωII plane dictates the sign of ΔS2 where ΔS2 denotes a variation of S2 in a sequence S1=0→S1≠0→S1=0. Thus, according to the value of (21), the direction to pull S2 towards zero is specified. Additionally, lower disturbance trajectories result in lower variations for S2. Thus, by adjusting the direction and magnitude of intentional disturbance trajectories, S2 converges to zero without overshooting.Figure 4
Trajectory ofωI and ωII in Step B in the case of JI>JII.To derive the above intentional disturbance, law as a general form requires rigorous mathematical analysis. Thus, as an alternative, we preliminarily determine the constants,DIb, DIIb, and DS2, in the following disturbance laws of (24), (25), and (26), respectively, by using numerical simulations as follows:
(24)TI=DIbsgnS2ΩIII,(25)TII=DIIbsgnS2ΩIII,for the time duration corresponding to the following:(26)tS2=DS2S2,where ΩIII denotes the angular velocity around the axis III when intentional disturbances are applied. The disturbances are divided by the magnitude of ΩIII to decrease the effect on ΔS2 (the variation in S2 is proportional to the magnitude of ΩIII owing to the gyro effect). Equation (26) denotes that the intentional disturbance decreases with the magnitude of S2 under positive DS2. The calculation of ΔS2 requires numerical integration in S1≠0, and thus, the setting process of DIb, DIIb, and DS2 is heuristic. Therefore, the saturation of tS2 is desirable to avoid unexpected ΔS2 behavior preliminary calculated by numerical simulations.In order to cancel the effect of theΩIII derivation, the following simple feedback law backs ωIII to the initial ΩIII as follows:
(27)TIII=−KIIIωIII−ΩIII,where KIII denotes the positive gain. As shown in (22), (27) does not affect S2.


### 3.4. Step C: Control of the Position in theZ-Direction

Step C controls the FFRB’s position in theZ-direction in addition to Step B by achieving S1=0, S2=0, and S3=0. In this step, S3 is defined as the FFRB position when the single spinning ceases after the maneuver in Step D. As given below, θ=2nπ is assumed as an identified preferable attitude angle in Step D where n denotes an arbitrary integer that indicates a rotation number in the single spinning.The rotational angleθ about axis III is expressed as follows:
(28)θ=2tan−1qIIIqIV+2nπ.If the stopping maneuver for the spinning begins atθ=θ3+2nπ and ends at θ=2nπ in the single spinning, the variation of the Z-directional position, ΔZ, is derived as follows:
(29)ΔZ=Żτd+JIIIγ3Mθ′θ′=θ3+2nπθ′=2nπ=Żτd−JIIIγ3Mθ3,where τd denotes the time of drift motion before the final stopping maneuver in Step D. From S2=0 in Step C, the drift interval is calculated from (21) as follows:
(30)τd=θ3+2nπ−θωIII=JIIIγ3Mθ3+2nπ−θŻ.Substituting (30) into (29) yields the following expression for ΔZ:
(31)ΔZ=JIIIγ3M−θ+2nπ.Thus,S3 is defined as follows:
(32)S3=Z+ΔZ=ξ1+ξ2n,where
(33)ξ1=Z−JIIIγ3Mθ,ξ2=2πJIIIγ3M.It should be noted thatS3 does not include θ3. Subsequently, the time derivative of S3 is derived as follows:
(34)Ṡ3=ξ̇1=Ż−γ3MJIIIωIII=S2.This equation indicates thatS3 is invariant under S2=0 (S1=0 is also satisfied by the control in Step B).In (32), the value of S3 depends on n. However, specifying a number for n in advance is not possible, because the position variation is uncertain until S3=0 is achieved. In order to solve this problem, S3=0 are divided by ξ2 to obtain ξ1/ξ2+n=0. Subsequently, in order to ensure that n is an integer, S3 is modified without n as follows:
(35)S3=MODξ1,ξ2forξ1<ξ22,MODξ1,ξ2−ξ1forξ1≥ξ22,where MOD indicates the remainder. It should be noted that the modified S3 is also invariant under S2=0, because ξ2 is a constant value. Furthermore, (35) has two forms to avoid discontinuity for the feedback control because the term MODξ1,ξ2 is not continuous at MODξ1,ξ2=0. This discontinuity significantly affects the convergence of S3=0.Given thatS3 is invariant under S2=0, the repetition of the sequence S2=0→S2≠0→S2=0 is necessary to achieve S3=0. The design procedure of the intentional disturbance for S2≠0 is almost identical to that for S1≠0 in Step B. The direction of the disturbance must be in the second or fourth quadrant on the ωI–ωII plane in the case of JI>JII, and the magnitude of the disturbance should be adjusted to avoid generating an excessive variation in ΔS3 in a sequence.Additionally, in Step B, we preliminary determineDIc, DIIc, and DS3 in the following disturbance law of (36), (37), and (38), respectively, by using numerical simulations as follows:
(36)TI=DIcsgnS3ΩIII,(37)TII=DIIcsgnS3ΩIII,for the following time duration:
(38)tS3=DS3S3.


### 3.5. Step D: Reaching the Target State

In Steps A, B, and C,S1=0, S2=0, and S3=0 were achieved, respectively. This means that the attitude angles around the axes I/II and the velocity/position along the Z-direction were adjusted for a target state. Thus, the remaining states correspond to the attitude angle around the axis III and the FFRB positions along X- and Y-directions. The remaining attitude angle is easily controlled by TIII, and thus, Step D adjusts the FFRB velocities/positions along the X- and Y-directions to the target positions by using a properly designed TIII time profile until the single spinning ceases. Although there are various proper histories for TIII, this section proposes a solution for the motion planning problem.The proposed motion planning procedure is composed of a series of control sequences. In each sequence, whileTI=TII=0 to maintain the single spinning state, the following TIII input is used:
(39)TIII=ηθ̇,where η denotes a constant and is selected to satisfy TIII>0. It is assumed that the control maneuver is applied from t=t0 to t=tf. In order to determine the proper η and the time duration, the variations of the velocity and position along the X- and Y-directions are calculated as follows. First, from (7) and (9) for the control torque in (39) with TI=TII=0, the velocity variation Δp⌢̇j generated in the j-th control maneuver is calculated as follows:
(40)Δp⌢̇j=1M∫tj0tjfA¯θγ1γ2TTIIIdt=ηjMsinθjf−sinθj0cosθjf−cosθj0−cosθjf+cosθj0sinθjf−sinθj0γ1γ2,where the subscripts 0 and f represent the values at the beginning and final instance of the j-th control maneuver, respectively. Subsequently, the position variation Δp⌢j is obtained from the integration of (40) as follows:
(41)Δp⌢j=JIIIMγ1Sθθj0,θjf,θ̇j0,ηj+γ2Cθθj0,θjf,θ̇j0,ηj−γ1Cθθj0,θjf,θ̇j0,ηj+γ2Sθθj0,θjf,θ̇j0,ηj+p⌢̇j0Δtj,where Δtj denotes the time interval of this maneuver and p⌢̇j0 denotes the velocity vector at the beginning of the maneuver. With respect to the single spinning control with (39), the interval Δtj is described as follows:
(42)Δtj=JIIIηjln1+θjf−θj0φj,where
(43)φj=JIIIθ̇j0ηj.Furthermore, in (41), Sθθj0,θjf,θ̇j0,ηj and Cθθj0,θjf,θ̇j0,ηj are defined as the time integrations of sinθ and cosθ multiplied by ηj/JIII, respectively, and expressed as follows:
(44)Sθθj0,θjf,θ̇j0,ηj=ηjJIII∫tj0tjfsinθdt=ηjJIII∫tj0tjfsinφjexpηjJIIIt−tj0+θj0−φjdt=Siφj+θjf−θj0−Siφjcosθj0−φj+Ciφj+θjf−θj0−Ciφjsinθj0−φj−sinθj0ln1+θjf−θj0φj,(45)Cθθj0,θjf,θ̇j0,ηj=ηjJIII∫tj0tjfcosθdt=ηjJIII∫tj0tjfcosφjexpηjJIIIt−tj0+θj0−φjdt=Siφj+θjf−θj0−Siφjsinθj0−φj+Ciφj+θjf−θj0−Ciφjcosθj0−φj−cosθj0ln1+θjf−θj0φj,where Si⋅ and Ci⋅ denote the sine and cosine integral functions, respectively, which are defined as follows:
(46)Siθ=∫0θsinttdt,Ciθ=−∫θ∞costtdt.The angular velocityθ̇j+10 at the beginning of the (j+1)-th maneuver in (43) is expressed in an algebraic form with ηj, θj0, and θjf as follows:
(47)θ̇j+10=θ̇j0+∫tj0tjfηjJIIIdθdtdt=θ̇j0+ηjJIIIθjf−θj0,where Δp⌢j and Δp⌢̇j are determined by ηj, θj0, and θjf. In this study, three control sequences j=1–3 are used to design the history of θ. The schematic image of the three sequences is shown in Figure 5. The details to specify the control parameters in each sequence are as follows:Figure 5
Schematic images of motion planning with the three sequences.The first sequence causes the velocities on theX–Y plane to correspond to zero. With respect to this control, η1, θ10, and θ1f are determined from (32) such that the following equation is satisfied:
(48)η1Msinθ1f−sinθ10cosθ1f−cosθ10−cosθ1f+cosθ10sinθ1f−sinθ10γ1γ2=−p⌢̇10,where θ10 and θ1f are specified based on the direction of p⌢̇10 and η1 is determined from the norm of p⌢̇10. Following the maneuver, the FFRB is in rotational drift motion with TIII = 0 until the second sequence begins.Next, the combination of the second and the third sequences achievesp⌢=0. In the second sequence, with respect to θ2f satisfying θ2f–θ20=−2π, (32) indicates that Δp⌢̇2 corresponds to zero (thus, p⌢̇30 also corresponds to zero). Subsequently, given that p⌢̇20=0, Δp⌢2 is expressed as follows:
(49)Δp⌢2=Δp⌢2A¯θ20+ϕ2π,0,θ̇20,η210T,where
(50)Δp⌢2=JIIIMγ12+γ22Sθ22π,0,θ̇20,η2+Cθ22π,0,θ̇20,η2,(51)ϕθj0,θjf,θ̇j0,ηj=tan−1Sθθj0,θjf,θ̇j0,ηjCθθj0,θjf,θ̇j0,ηj,where ϕθj0,θjf,θ̇j0,ηj denotes the direction of the position variation. From (44), (45), (50), and (51), the value of η2 affects the norm of Δp⌢2 and the value of θ20 affects the direction of Δp⌢2. Prior to detailing the procedure to determine η2 and θ20, we explain the third sequence because the value of Δp⌢3 is required to determine η2 and θ20. The third sequence begins when the drift motion brings the FFRB towards Z=0 within a full rotation of θ. In the third sequence, the interval θ3f–θ30 is set as −2π for Δp⌢̇3=0 and θ3f must correspond to 2n+1π to achieve the target attitude when the single spinning is stopped. Thus, η3 is specified from (47) as follows:
(52)η3=JIIIθ̇302π,and Δp⌢3 is expressed as follows:
(53)Δp⌢3=JIIIMγ12+γ22Sθ22π,0,θ̇30,η3+Cθ22π,0,θ̇30,η3A¯ϕ2π,0,θ̇30,η310T.Thus, substituting (52) into (43) derives φ3=−2π. This indicates that Sθ2π,0,θ̇30,η3, Cθ2π,0,θ̇30,η3, and ϕ2π,0,θ̇30,η3 in (53) are not dependent on η3 and θ̇30, and thus, Δp⌢3 is a constant vector specified by a FFRB model and not by control maneuvers. Therefore, η2 and θ20 are determined as follows. In order to obtain p⌢=0, Δp⌢2+Δp⌢3 must correspond to −p⌢20. Subsequently, Δp⌢3 is a constant vector, and thus, Δp⌢2 is adjusted to satisfy Δp⌢2+Δp⌢3=−p⌢20. Consequently, η2 is numerically calculated from (50), and (49) and (51) then yield the value of θ20 for the required Δp⌢2.


### 3.6. Final Form of the Controller with a Supplemental Sequence

It should be noted thatΔp⌢2 has an upper limit that depends on θ̇20. When a required Δp⌢2 exceeds the upper limit, Step D does not achieve the target state. In order to avoid such a situation, minimizing p⌢+Δp⌢3 is mandatory prior to Step D.An idea for this minimization involves adjusting the timing when a sequence of the intentional disturbance and Step A (S1=0→S1≠0→S1=0) begins. As shown above, the attitude angle θ does not affect the controls of Steps A, B, and C. Thus, we switch on the control sequences while numerically predicting p⌢̇ and p⌢ to minimize the following V:
(54)V=ṖPT+Δp⌢3TforV′=PT+Δp⌢32≥L,Ṗ2forV′=PT+Δp⌢32<L,where P and Ṗ denote the positions and velocities, respectively, immediately after each sequence S1=0→S1≠0→S1=0 and V′ denotes the squared distance between p⌢=−Δp⌢3 and p⌢=P. Numerical calculations are performed during the drift motions. The value L was heuristically determined given the following consideration. With respect to V′≥L, V denotes the time derivative of P+Δp⌢32 after each sequence. Thus, it implies that the maneuver begins at the attitude angle that minimizes the velocity vector for p⌢=−Δp⌢3. With respect to V′<L, the maneuver begins at the attitude angle minimizing the norm of p⌢̇. For reference, we also attempted to minimize P+Δp⌢32+Ṗ2, which is a unified form of (54).We emphasize that this supplement sequence is not always successful. Specifically,L requires severe tuning through trial and error in numerical simulations. This is the weak point in our proposed controller, and it is important to solve this problem in a future study.The diagram of these sequences is shown as the “final control form” in Figure6 as a summary of all the control sequences.Figure 6
Diagram of the final control form.


## 3.1. Strategy

Without loss of generality, the target state can be set asq=000±1T and p=000T. Furthermore, at the target attitude, the principal axis III of the FFRB coincides with the Z-axis of the inertial flame.The switching controller proposed in this study uses the following three invariant manifolds:S1=0, S2=0, and S3=0. The first one, namely S1=0, corresponds to the manifold and indicates that the FFRB rotates about its principal axis III that coincides with the Z-axis. Hereafter, we refer to this state as “single spinning.” The values of S2 and S3 indicate the remained velocity and position errors, respectively, along the Z-axis when the single spinning stops. Figure 2 shows the schematic image of the control process. It should be noted that maintaining a single spinning (S1=0) under TI=0 and TII=0 after achieving S2=0 and S3=0 causes S2 and S3 to be invariant (this property is explained in the following section). Thus, various time histories of torque TIII are available to stop the single spinning at the target attitude while maintaining S2=0 and S3=0. Proper planning of the TIII history controls the position and velocity along X and Y to the target.Figure 2
Schematic image of theS1, S2, and S3.Figure3 schematically illustrates the switching controller. The controller for achieving S1=0, S2=0, and S3=0 is composed of the following three hierarchical control steps: Step A, Step B, and Step C. In Step A, S1=0 (i.e., qI, qII, ωI, and ωII = 0) is achieved using feedback law. In Step B, intentional disturbances and, in Step A, controls are repeated such that S2=0 is satisfied. Thus, S1=0 and S2=0 are satisfied at the end of Step B. Step C achieves S1=0, S2=0, and S3=0 by disturbing S1 and S2 to nonzero values and by repeating Step B to satisfy S1=0 and S2=0 again. When S1=0, S2=0, and S3=0 are satisfied, Step D finally controls the single spinning angle to the target angle by the time profile of TIII, which is planned beforehand such that the position (X and Y) in the inertial frame coincides with the target positions. These steps are explained individually below given the assumption that the resultant torque component along the principal axis III is always positive, i.e., the three-thruster configuration satisfies TIII>0 as shown in Figure 1(b).Figure 3
Schematic of the control sequence.


## 3.2. Step A: Control to the Single Spinning about the Axis III

DefineS1 as follows:
(11)S1=qI2+qII2+ωI2+ωII2.This implies that atS1=0, only qIII, qIV, and ωIII correspond to nonzero values. Thus, achieving S1=0 implies that the FFRB motion is led into a spinning motion around the axis III, and the axis coincides with the Z-axis of the inertial frame.The following control law forTI and TII as proposed in [11] is adopted to achieve S1=0 in the present study.
(12)TI=−KIωI−JIgI2−JIK¯ωII,(13)TII=−KIIωII−JIIgII2+JIIK¯ωI,where
(14)gI=qIqIV+qIIqIII+2JII−JIIIJIωIIωIII,(15)gII=qIIqIV−qIqIII+2JIII−JIJIIωIIIωI.KI and KII are arbitrary positive gains. K¯ is determined to provide a negative ωIII anytime such that positive TIII reduces the single spinning rate. Reference [11] specifies the K¯ as follows:
(16)K¯=ωIωIIKI/JI+KII/JII+gI/2ωII+gII/2ωI−ωIIIσIωII2+σIIωI2ωI2−ωII2−κsgnωI2−ωII2σIII,where
(17)σI=JII−JIIIJI,σII=JIII−JIJII,σIII=JI−JIIJIII,κ>0.It should be noted that whenωI2−ωII2 approaches zero, the magnitude of K¯ approaches infinity, and subsequently, the magnitudes of TI and TII become extremely high. Thus, in order to avoid this singularity, the control inputs in (12) and (13) should be designed to saturate when ωI2−ωII2 becomes quite low. Furthermore, by setting K¯=0, the control torques TI and TII are used as disturbances. The reason is explained in Step B.


## 3.3. Step B: Control for the Translational Velocity in theZ-Direction

Step B begins after the FFRB is in single spinning, and thus, the principal axis III coincides with theZ-axis in the inertial frame and the control torques around the axes I and II are TI=TII=0. Therefore, the third component of (7) is expressed from (9) as follows:
(18)MZ¨=γ3TIII,where γ1γ2γ3T=DB−1001T denotes the effect of the control torque TIII on the translational motion in the single spinning. Furthermore, from (1) in the single spinning, (18) is reexpressed as follows:
(19)MZ¨=γ3TIII=γ3JIIIω̇III.The above equation implies that the translational motion in theZ-direction depends on the time profile of the angular acceleration around the axis III. When the single spinning ceases, (19) is analytically integrated to derive the velocity variation ΔŻ as follows:
(20)ΔŻ=γ3MJIIIωIII′ωIII′=ωIIIωIII′=0=−γ3MJIIIωIII.Therefore, the translation velocity along theZ-axis in the inertial frame when the single spinning ceases is expressed as follows:
(21)S2=Ż−γ3MJIIIωIII.Conversely, we consider the time differential ofS2 when a control torque vector T=0,0,TIIIT is applied to the FFRB in the single spinning. It is expressed from the third components of (1), (7), and (9) as follows:
(22)Ṡ2=Z¨−γ3MJIIIω̇III=1Mγ1TI+γ2TII+γ3TIII−γ3MTIII+JI−JIIωIωII=1Mγ1TI+γ2TII−γ3JI−JIIωIωII.This implies that the variation ofS2 is generated by TI, TII, ωI, and ωII. Thus, the value of S2 does not change when the FFRB’s single spinning is maintained. Conversely, a disturbance that makes S1≠0 is necessary to change the value of S2. Thus, Step B requires an intentional disturbance that results in a nonzero value of S1 and the process of Step A for returning S1 to zero. The value of S2 should approach zero during a series of these processes.Intentional disturbances that satisfy the above process are shown as follows. Given thatTIII>0 is assumed in this section, the angular rate ωIII around the axis III should approach zero and satisfy ωIII<0. This implies that time integration of ω̇III must be negative and from the third component of (1), the following expression is obtained:
(23)ω̇III=TIIIJIII+σIIIωIωII.The second term (σIIIωIωII) in the right-hand side of the above equation should be negative for a high portion of the trajectory for S1≠0 and S1=0. Therefore, when JI>JII is assumed for the FFRB, the trajectory shown in Figure 4 on the ωI–ωII plane is a solution for the intentional disturbance and mainly in the second or fourth quadrant. However, σIIIωIωII is not analytically integrable, and thus, it is not possible to determine whether this trajectory always provides a negative value in the integration of σIIIωIωII. (In the simulation of Section 4, the negative integration of σIIIωIωII of the trajectory for the designed intentional disturbances is numerically confirmed.) It should be noted that the rotational direction (clockwise or counterclockwise) of the designed trajectory in the ωI–ωII plane dictates the sign of ΔS2 where ΔS2 denotes a variation of S2 in a sequence S1=0→S1≠0→S1=0. Thus, according to the value of (21), the direction to pull S2 towards zero is specified. Additionally, lower disturbance trajectories result in lower variations for S2. Thus, by adjusting the direction and magnitude of intentional disturbance trajectories, S2 converges to zero without overshooting.Figure 4
Trajectory ofωI and ωII in Step B in the case of JI>JII.To derive the above intentional disturbance, law as a general form requires rigorous mathematical analysis. Thus, as an alternative, we preliminarily determine the constants,DIb, DIIb, and DS2, in the following disturbance laws of (24), (25), and (26), respectively, by using numerical simulations as follows:
(24)TI=DIbsgnS2ΩIII,(25)TII=DIIbsgnS2ΩIII,for the time duration corresponding to the following:(26)tS2=DS2S2,where ΩIII denotes the angular velocity around the axis III when intentional disturbances are applied. The disturbances are divided by the magnitude of ΩIII to decrease the effect on ΔS2 (the variation in S2 is proportional to the magnitude of ΩIII owing to the gyro effect). Equation (26) denotes that the intentional disturbance decreases with the magnitude of S2 under positive DS2. The calculation of ΔS2 requires numerical integration in S1≠0, and thus, the setting process of DIb, DIIb, and DS2 is heuristic. Therefore, the saturation of tS2 is desirable to avoid unexpected ΔS2 behavior preliminary calculated by numerical simulations.In order to cancel the effect of theΩIII derivation, the following simple feedback law backs ωIII to the initial ΩIII as follows:
(27)TIII=−KIIIωIII−ΩIII,where KIII denotes the positive gain. As shown in (22), (27) does not affect S2.


## 3.4. Step C: Control of the Position in theZ-Direction

Step C controls the FFRB’s position in theZ-direction in addition to Step B by achieving S1=0, S2=0, and S3=0. In this step, S3 is defined as the FFRB position when the single spinning ceases after the maneuver in Step D. As given below, θ=2nπ is assumed as an identified preferable attitude angle in Step D where n denotes an arbitrary integer that indicates a rotation number in the single spinning.The rotational angleθ about axis III is expressed as follows:
(28)θ=2tan−1qIIIqIV+2nπ.If the stopping maneuver for the spinning begins atθ=θ3+2nπ and ends at θ=2nπ in the single spinning, the variation of the Z-directional position, ΔZ, is derived as follows:
(29)ΔZ=Żτd+JIIIγ3Mθ′θ′=θ3+2nπθ′=2nπ=Żτd−JIIIγ3Mθ3,where τd denotes the time of drift motion before the final stopping maneuver in Step D. From S2=0 in Step C, the drift interval is calculated from (21) as follows:
(30)τd=θ3+2nπ−θωIII=JIIIγ3Mθ3+2nπ−θŻ.Substituting (30) into (29) yields the following expression for ΔZ:
(31)ΔZ=JIIIγ3M−θ+2nπ.Thus,S3 is defined as follows:
(32)S3=Z+ΔZ=ξ1+ξ2n,where
(33)ξ1=Z−JIIIγ3Mθ,ξ2=2πJIIIγ3M.It should be noted thatS3 does not include θ3. Subsequently, the time derivative of S3 is derived as follows:
(34)Ṡ3=ξ̇1=Ż−γ3MJIIIωIII=S2.This equation indicates thatS3 is invariant under S2=0 (S1=0 is also satisfied by the control in Step B).In (32), the value of S3 depends on n. However, specifying a number for n in advance is not possible, because the position variation is uncertain until S3=0 is achieved. In order to solve this problem, S3=0 are divided by ξ2 to obtain ξ1/ξ2+n=0. Subsequently, in order to ensure that n is an integer, S3 is modified without n as follows:
(35)S3=MODξ1,ξ2forξ1<ξ22,MODξ1,ξ2−ξ1forξ1≥ξ22,where MOD indicates the remainder. It should be noted that the modified S3 is also invariant under S2=0, because ξ2 is a constant value. Furthermore, (35) has two forms to avoid discontinuity for the feedback control because the term MODξ1,ξ2 is not continuous at MODξ1,ξ2=0. This discontinuity significantly affects the convergence of S3=0.Given thatS3 is invariant under S2=0, the repetition of the sequence S2=0→S2≠0→S2=0 is necessary to achieve S3=0. The design procedure of the intentional disturbance for S2≠0 is almost identical to that for S1≠0 in Step B. The direction of the disturbance must be in the second or fourth quadrant on the ωI–ωII plane in the case of JI>JII, and the magnitude of the disturbance should be adjusted to avoid generating an excessive variation in ΔS3 in a sequence.Additionally, in Step B, we preliminary determineDIc, DIIc, and DS3 in the following disturbance law of (36), (37), and (38), respectively, by using numerical simulations as follows:
(36)TI=DIcsgnS3ΩIII,(37)TII=DIIcsgnS3ΩIII,for the following time duration:
(38)tS3=DS3S3.


## 3.5. Step D: Reaching the Target State

In Steps A, B, and C,S1=0, S2=0, and S3=0 were achieved, respectively. This means that the attitude angles around the axes I/II and the velocity/position along the Z-direction were adjusted for a target state. Thus, the remaining states correspond to the attitude angle around the axis III and the FFRB positions along X- and Y-directions. The remaining attitude angle is easily controlled by TIII, and thus, Step D adjusts the FFRB velocities/positions along the X- and Y-directions to the target positions by using a properly designed TIII time profile until the single spinning ceases. Although there are various proper histories for TIII, this section proposes a solution for the motion planning problem.The proposed motion planning procedure is composed of a series of control sequences. In each sequence, whileTI=TII=0 to maintain the single spinning state, the following TIII input is used:
(39)TIII=ηθ̇,where η denotes a constant and is selected to satisfy TIII>0. It is assumed that the control maneuver is applied from t=t0 to t=tf. In order to determine the proper η and the time duration, the variations of the velocity and position along the X- and Y-directions are calculated as follows. First, from (7) and (9) for the control torque in (39) with TI=TII=0, the velocity variation Δp⌢̇j generated in the j-th control maneuver is calculated as follows:
(40)Δp⌢̇j=1M∫tj0tjfA¯θγ1γ2TTIIIdt=ηjMsinθjf−sinθj0cosθjf−cosθj0−cosθjf+cosθj0sinθjf−sinθj0γ1γ2,where the subscripts 0 and f represent the values at the beginning and final instance of the j-th control maneuver, respectively. Subsequently, the position variation Δp⌢j is obtained from the integration of (40) as follows:
(41)Δp⌢j=JIIIMγ1Sθθj0,θjf,θ̇j0,ηj+γ2Cθθj0,θjf,θ̇j0,ηj−γ1Cθθj0,θjf,θ̇j0,ηj+γ2Sθθj0,θjf,θ̇j0,ηj+p⌢̇j0Δtj,where Δtj denotes the time interval of this maneuver and p⌢̇j0 denotes the velocity vector at the beginning of the maneuver. With respect to the single spinning control with (39), the interval Δtj is described as follows:
(42)Δtj=JIIIηjln1+θjf−θj0φj,where
(43)φj=JIIIθ̇j0ηj.Furthermore, in (41), Sθθj0,θjf,θ̇j0,ηj and Cθθj0,θjf,θ̇j0,ηj are defined as the time integrations of sinθ and cosθ multiplied by ηj/JIII, respectively, and expressed as follows:
(44)Sθθj0,θjf,θ̇j0,ηj=ηjJIII∫tj0tjfsinθdt=ηjJIII∫tj0tjfsinφjexpηjJIIIt−tj0+θj0−φjdt=Siφj+θjf−θj0−Siφjcosθj0−φj+Ciφj+θjf−θj0−Ciφjsinθj0−φj−sinθj0ln1+θjf−θj0φj,(45)Cθθj0,θjf,θ̇j0,ηj=ηjJIII∫tj0tjfcosθdt=ηjJIII∫tj0tjfcosφjexpηjJIIIt−tj0+θj0−φjdt=Siφj+θjf−θj0−Siφjsinθj0−φj+Ciφj+θjf−θj0−Ciφjcosθj0−φj−cosθj0ln1+θjf−θj0φj,where Si⋅ and Ci⋅ denote the sine and cosine integral functions, respectively, which are defined as follows:
(46)Siθ=∫0θsinttdt,Ciθ=−∫θ∞costtdt.The angular velocityθ̇j+10 at the beginning of the (j+1)-th maneuver in (43) is expressed in an algebraic form with ηj, θj0, and θjf as follows:
(47)θ̇j+10=θ̇j0+∫tj0tjfηjJIIIdθdtdt=θ̇j0+ηjJIIIθjf−θj0,where Δp⌢j and Δp⌢̇j are determined by ηj, θj0, and θjf. In this study, three control sequences j=1–3 are used to design the history of θ. The schematic image of the three sequences is shown in Figure 5. The details to specify the control parameters in each sequence are as follows:Figure 5
Schematic images of motion planning with the three sequences.The first sequence causes the velocities on theX–Y plane to correspond to zero. With respect to this control, η1, θ10, and θ1f are determined from (32) such that the following equation is satisfied:
(48)η1Msinθ1f−sinθ10cosθ1f−cosθ10−cosθ1f+cosθ10sinθ1f−sinθ10γ1γ2=−p⌢̇10,where θ10 and θ1f are specified based on the direction of p⌢̇10 and η1 is determined from the norm of p⌢̇10. Following the maneuver, the FFRB is in rotational drift motion with TIII = 0 until the second sequence begins.Next, the combination of the second and the third sequences achievesp⌢=0. In the second sequence, with respect to θ2f satisfying θ2f–θ20=−2π, (32) indicates that Δp⌢̇2 corresponds to zero (thus, p⌢̇30 also corresponds to zero). Subsequently, given that p⌢̇20=0, Δp⌢2 is expressed as follows:
(49)Δp⌢2=Δp⌢2A¯θ20+ϕ2π,0,θ̇20,η210T,where
(50)Δp⌢2=JIIIMγ12+γ22Sθ22π,0,θ̇20,η2+Cθ22π,0,θ̇20,η2,(51)ϕθj0,θjf,θ̇j0,ηj=tan−1Sθθj0,θjf,θ̇j0,ηjCθθj0,θjf,θ̇j0,ηj,where ϕθj0,θjf,θ̇j0,ηj denotes the direction of the position variation. From (44), (45), (50), and (51), the value of η2 affects the norm of Δp⌢2 and the value of θ20 affects the direction of Δp⌢2. Prior to detailing the procedure to determine η2 and θ20, we explain the third sequence because the value of Δp⌢3 is required to determine η2 and θ20. The third sequence begins when the drift motion brings the FFRB towards Z=0 within a full rotation of θ. In the third sequence, the interval θ3f–θ30 is set as −2π for Δp⌢̇3=0 and θ3f must correspond to 2n+1π to achieve the target attitude when the single spinning is stopped. Thus, η3 is specified from (47) as follows:
(52)η3=JIIIθ̇302π,and Δp⌢3 is expressed as follows:
(53)Δp⌢3=JIIIMγ12+γ22Sθ22π,0,θ̇30,η3+Cθ22π,0,θ̇30,η3A¯ϕ2π,0,θ̇30,η310T.Thus, substituting (52) into (43) derives φ3=−2π. This indicates that Sθ2π,0,θ̇30,η3, Cθ2π,0,θ̇30,η3, and ϕ2π,0,θ̇30,η3 in (53) are not dependent on η3 and θ̇30, and thus, Δp⌢3 is a constant vector specified by a FFRB model and not by control maneuvers. Therefore, η2 and θ20 are determined as follows. In order to obtain p⌢=0, Δp⌢2+Δp⌢3 must correspond to −p⌢20. Subsequently, Δp⌢3 is a constant vector, and thus, Δp⌢2 is adjusted to satisfy Δp⌢2+Δp⌢3=−p⌢20. Consequently, η2 is numerically calculated from (50), and (49) and (51) then yield the value of θ20 for the required Δp⌢2.


## 3.6. Final Form of the Controller with a Supplemental Sequence

It should be noted thatΔp⌢2 has an upper limit that depends on θ̇20. When a required Δp⌢2 exceeds the upper limit, Step D does not achieve the target state. In order to avoid such a situation, minimizing p⌢+Δp⌢3 is mandatory prior to Step D.An idea for this minimization involves adjusting the timing when a sequence of the intentional disturbance and Step A (S1=0→S1≠0→S1=0) begins. As shown above, the attitude angle θ does not affect the controls of Steps A, B, and C. Thus, we switch on the control sequences while numerically predicting p⌢̇ and p⌢ to minimize the following V:
(54)V=ṖPT+Δp⌢3TforV′=PT+Δp⌢32≥L,Ṗ2forV′=PT+Δp⌢32<L,where P and Ṗ denote the positions and velocities, respectively, immediately after each sequence S1=0→S1≠0→S1=0 and V′ denotes the squared distance between p⌢=−Δp⌢3 and p⌢=P. Numerical calculations are performed during the drift motions. The value L was heuristically determined given the following consideration. With respect to V′≥L, V denotes the time derivative of P+Δp⌢32 after each sequence. Thus, it implies that the maneuver begins at the attitude angle that minimizes the velocity vector for p⌢=−Δp⌢3. With respect to V′<L, the maneuver begins at the attitude angle minimizing the norm of p⌢̇. For reference, we also attempted to minimize P+Δp⌢32+Ṗ2, which is a unified form of (54).We emphasize that this supplement sequence is not always successful. Specifically,L requires severe tuning through trial and error in numerical simulations. This is the weak point in our proposed controller, and it is important to solve this problem in a future study.The diagram of these sequences is shown as the “final control form” in Figure6 as a summary of all the control sequences.Figure 6
Diagram of the final control form.


## 4. Example of the Proposed Controller with Numerical Simulation

This section describes the numerical validation of the control method shown in Section3. The FFRB model and the controllers used in the simulations are summarized below, and the results of the numerical simulations are then shown.


### 4.1. FFRB Model and Initial State Value

According to the basic assumption of the study, the FFRB is assumed as with a constant mass, inertia, and no-upper-limitation thruster forces. In this example, the inertial moments of the FFRB are assumed asJI=15 kg·m2, JII=10 kg·m2, and JIII=20 kg·m2. Furthermore, the FFRB mass M is 20 kg. The placements and directions of the thrusters are set as follows:
Thruster 1:
r1=0.01.0−1.0T, d1=0.00.0−1.0T
Thruster 2:
r2=−1.00.0−1.0T, d2=0.00.0−1.0T
Thruster 3:
r3=0.01–0.01−1.3T, d3=0.43–0.250.87TThe forces of these thrusters are only positive, and their magnitudes are assumed as continuously changeable and without any upper limits. It should be noted again that the thruster configuration satisfies the conditions shown in Section2.1. These model parameters result in Δp⌢3=668383T for Step D.Table1 shows the initial state for the three cases used in simulations. Only the initial attitude is different between cases 1 and 2, and the initial position is different between cases 1 and 3. The angular and translational velocities are zero in all cases.Table 1
Initial state values for the numerical simulations.
qI
qII
qIII
qIV
X (m)
Y (m)
Z (m)
Case 1
0.4
−0.25
0.1
0.876
−200
700
−350
Case 2
0.8
−0.25
0.1
0.536
−200
700
−350
Case 3
0.4
−0.25
0.1
0.876
0.0
0.0
−500


### 4.2. Controller

Step A.
The parameters for the controller in (13) and (14) are set as K1=3.0, K2=3.0, and κ=1.0, respectively.Step B.
The parameters for disturbance law in (24), (25), and (26) are set as DIb = −0.3, DIIb=0.3, and DS2=0.5, respectively. Saturation is applied as tS2 = 0.1 s for ∣S2∣>0.1. Additionally, KIII in (27) is set to 30.Step C.
The parameters for the disturbance law in (36), (37), and (38) are set as DIc=0.1, DIIc = −0.1, and DS3=20, respectively. Saturation is applied as tS3 = 0.1 s for ∣S3∣>0.02.Step D.
As shown in the next subsection for simulations, the maneuver minimizingV that results from switch timing adjustments by using (54) leads to p⌢̇=0 after Step C in all the three cases. Thus, the first sequence to achieve zero velocities along the X- and Y-directions is omitted. The values for θ20 and η2 specified are shown in the following subsection.Supplemental sequence using (54): L in (54) is set to 200,000.


### 4.3. Simulation Results

Figures7–10 show the results for case 1. As shown in Figures 7(a) and 7(b), the attitude successfully achieved the target state. Figure 7(a) indicates that the single spinning was dominant after initially achieving S1=0. Figure 7(c) shows that the attitude velocities were also controlled to zero. Figure 8 verifies the success of the control of the positions. Figure 8 shows the time histories of S1, S2, and S3 after initially achieving S2=0. They confirm that the repetitions of the sequences, disturbances, and controls for S1=0 and S2=0 cause S3 to quasi-asymptotically converge to zero. The thruster forces maintained positive values as shown in Figure 10, and the values of θ20 and η2 were set as 3.27 rad and− 0.174, respectively.Figure 7
Attitude in case 1. (a) Attitude trajectory to the target. (b) Attitude history around the target. (c) Time history of attitude velocity.
(a)
(b)
(c)Figure 8
Position in case 1. (a) Position trajectory to the target. (b) Velocity histories.
(a)
(b)Figure 9
Time history of the three invariant manifolds after first achievingS2=0 in case 1.Figure 10
Time history of thruster forces in case 1. Thruster 1 generatesf1, thruster 2 generates f2, and thruster 3 generates f3.Cases 2 and 3 also show the success of the controls as illustrated in Figures11–14. A significantly long period is involved in the process in case 2 owing to the low velocity in the Z-direction. This problem is caused by the small Ż≈ΩIII, which lengthens the drifting time for approaching the target position, after the first Step A for S1=0. The problem can be solved by adding acceleration step for ΩIII or tuning the parameters for Step A based on the initial states. The thruster forces maintained positive values in both cases 2 and 3 (the figures are omitted here). The values of θ20 and η2 were set as 6.36 rad and −1.085, respectively, in case 2 and 4.55 rad and −0.179, respectively, in case 3.Figure 11
Attitude in case 2. (a) Attitude trajectory to the target. (b) Attitude history around the target.
(a)
(b)Figure 12
Position in case 2. (a) Position trajectory to the target. (b) Velocity histories around the target.
(a)
(b)Figure 13
Attitude in case 3. (a) Attitude trajectory to the target. (b) Attitude history around the target.
(a)
(b)Figure 14
Position in case 3. (a) Position trajectory to the target. (b) Velocity histories around the target.
(a)
(b)


## 4.1. FFRB Model and Initial State Value

According to the basic assumption of the study, the FFRB is assumed as with a constant mass, inertia, and no-upper-limitation thruster forces. In this example, the inertial moments of the FFRB are assumed asJI=15 kg·m2, JII=10 kg·m2, and JIII=20 kg·m2. Furthermore, the FFRB mass M is 20 kg. The placements and directions of the thrusters are set as follows:
Thruster 1:
r1=0.01.0−1.0T, d1=0.00.0−1.0T
Thruster 2:
r2=−1.00.0−1.0T, d2=0.00.0−1.0T
Thruster 3:
r3=0.01–0.01−1.3T, d3=0.43–0.250.87TThe forces of these thrusters are only positive, and their magnitudes are assumed as continuously changeable and without any upper limits. It should be noted again that the thruster configuration satisfies the conditions shown in Section2.1. These model parameters result in Δp⌢3=668383T for Step D.Table1 shows the initial state for the three cases used in simulations. Only the initial attitude is different between cases 1 and 2, and the initial position is different between cases 1 and 3. The angular and translational velocities are zero in all cases.Table 1
Initial state values for the numerical simulations.
qI
qII
qIII
qIV
X (m)
Y (m)
Z (m)
Case 1
0.4
−0.25
0.1
0.876
−200
700
−350
Case 2
0.8
−0.25
0.1
0.536
−200
700
−350
Case 3
0.4
−0.25
0.1
0.876
0.0
0.0
−500


## 4.2. Controller

Step A.
The parameters for the controller in (13) and (14) are set as K1=3.0, K2=3.0, and κ=1.0, respectively.Step B.
The parameters for disturbance law in (24), (25), and (26) are set as DIb = −0.3, DIIb=0.3, and DS2=0.5, respectively. Saturation is applied as tS2 = 0.1 s for ∣S2∣>0.1. Additionally, KIII in (27) is set to 30.Step C.
The parameters for the disturbance law in (36), (37), and (38) are set as DIc=0.1, DIIc = −0.1, and DS3=20, respectively. Saturation is applied as tS3 = 0.1 s for ∣S3∣>0.02.Step D.
As shown in the next subsection for simulations, the maneuver minimizingV that results from switch timing adjustments by using (54) leads to p⌢̇=0 after Step C in all the three cases. Thus, the first sequence to achieve zero velocities along the X- and Y-directions is omitted. The values for θ20 and η2 specified are shown in the following subsection.Supplemental sequence using (54): L in (54) is set to 200,000.


## 4.3. Simulation Results

Figures7–10 show the results for case 1. As shown in Figures 7(a) and 7(b), the attitude successfully achieved the target state. Figure 7(a) indicates that the single spinning was dominant after initially achieving S1=0. Figure 7(c) shows that the attitude velocities were also controlled to zero. Figure 8 verifies the success of the control of the positions. Figure 8 shows the time histories of S1, S2, and S3 after initially achieving S2=0. They confirm that the repetitions of the sequences, disturbances, and controls for S1=0 and S2=0 cause S3 to quasi-asymptotically converge to zero. The thruster forces maintained positive values as shown in Figure 10, and the values of θ20 and η2 were set as 3.27 rad and− 0.174, respectively.Figure 7
Attitude in case 1. (a) Attitude trajectory to the target. (b) Attitude history around the target. (c) Time history of attitude velocity.
(a)
(b)
(c)Figure 8
Position in case 1. (a) Position trajectory to the target. (b) Velocity histories.
(a)
(b)Figure 9
Time history of the three invariant manifolds after first achievingS2=0 in case 1.Figure 10
Time history of thruster forces in case 1. Thruster 1 generatesf1, thruster 2 generates f2, and thruster 3 generates f3.Cases 2 and 3 also show the success of the controls as illustrated in Figures11–14. A significantly long period is involved in the process in case 2 owing to the low velocity in the Z-direction. This problem is caused by the small Ż≈ΩIII, which lengthens the drifting time for approaching the target position, after the first Step A for S1=0. The problem can be solved by adding acceleration step for ΩIII or tuning the parameters for Step A based on the initial states. The thruster forces maintained positive values in both cases 2 and 3 (the figures are omitted here). The values of θ20 and η2 were set as 6.36 rad and −1.085, respectively, in case 2 and 4.55 rad and −0.179, respectively, in case 3.Figure 11
Attitude in case 2. (a) Attitude trajectory to the target. (b) Attitude history around the target.
(a)
(b)Figure 12
Position in case 2. (a) Position trajectory to the target. (b) Velocity histories around the target.
(a)
(b)Figure 13
Attitude in case 3. (a) Attitude trajectory to the target. (b) Attitude history around the target.
(a)
(b)Figure 14
Position in case 3. (a) Position trajectory to the target. (b) Velocity histories around the target.
(a)
(b)


## 5. Summary

This study presented a control method for three-dimensional attitude and position control of a free-floating rigid body using three thruster forces in which the directions are fixed to the body. First, the dynamics of the rigid body were described along with a thruster configuration to generate independent torques for two principal axes. The derived equations of motion for the rotation and translation confirmed that the equations were coupled. Next, a combination of switching controllers and motion planning was proposed. The switching controllers are composed of three hierarchical steps, and three invariant manifolds are used as switching surfaces. A process involving the application of an intentional disturbance and returning the state to on the lower class invariant manifolds is applied, and the states in upper class are individually controlled. In this control scheme, the magnitude of the intentional disturbance is tuned based on the distance to the invariant manifold. Motion planning in the final phase finalizes the state values to target values. The numerical simulation results verified the effectiveness of the proposed methods. In the simulations, the target attitudes and positions were successfully achieved in three cases with different initial states.Although the limitations of this control method were not examined in detail, we first proposed a solution to this challenging problem. We believe that the methodology shown in this paper will contribute a practical satellite control in an underactuated situation due to thruster malfunction. A discussion of the generality of the method and overcoming the limitation will be addressed in the next phase of a future study.



---

*Source: 2825681-2018-10-29.xml*