2017 25th Mediterranean Conference on Control and Automation (MED)
July 3-6, 2017. Valletta, Malta
A semi-analytic approach to spacecraft attitude guidance ⋆
Helen C. Henningera ,
a
James D. Biggsa ,
Dipartimento di Scienze e Tecnologie Aerospaziale, Politecnico di Milano, Via La Masa 34 - 20156 Milano, Italy
Abstract - Attitude slew motions for spacecraft are usually
undertaken using feedback control where only the desired final attitude is stated. In this paper attitude guidance is considered which could be used, in addition to feedback control, to
enhance the efficiency of slew motions by pre-planning timedependent attitude motions. This is achieved using a threestep method in which the angular velocities are expressed as
analytic functions in terms of free parameters (on the virtual
time domain), and the boundary conditions on the rotation
are matched using a shooting method based on a discretized
form of Rodrigue’s formula. Following this, the virtual time
is reparametrized. This is applied to design a rest-to-rest twoimpulse slew manoeuver and a slew motion using only two
reaction wheels.
Index terms: Attitude control; spacecraft; algebraic and
geometric methods
and not the entire time-dependent motion during the manoeuvre. Although such proportional-type controls are robust and
commonly used on board spacecraft they are not optimal and
do not account for actuator faults. In this paper, the use of
attitude guidance to pre-plan an efficient motion is considered
which can then be tracked to enhance the efficiency of the slew
manoeuvre.
In this paper, a general semi-analytical method is presented
that defines the angular velocities of the spacecraft in the
body frame in terms of a number of free parameters that
can be selected numerically to match boundary conditions
and minimize prescribed cost functions. In our examples numerical shooting with different values of these parameters is
used to match the boundary conditions on the rotation. Due
to the analytical description of the angular velocities, timeparameterization can be used to ensure that the motion is
dynamically feasible and potentially further minimize a pre1 I NTRODUCTION
scribed cost function. The method is used to design an efficient
rest-to-rest slew motion for a nano-spacecraft using only two
This paper is motivated by the prospect of using small spaceimpulses; one delivered by a thruster at the beginning of the
craft to replace much larger spacecraft to undertake Earth
motion to initialize it and one at the end to bring it to rest
observation and space science missions. In particular, nanowhen it arrives naturally at its desired attitude. The method
spacecraft (1-10kg) are being considered to significantly reitself is able to calculate the initial and final impulsive torque
duce launch costs. However, with any significant reduction
required to exactly perform the motion efficiently. In addiin size of a spacecraft there is usually a significant reduction, the method is used to design a slew motion using only
tion in capability. For example, the attitude control of nanotwo reaction wheels. In this case the angular velocities are
spacecraft is challenging as they have much harder constraints
analytically defined in terms of several parameters by solvin terms of fuel usage, either when thrusters are used to coning a non-holonomic optimal kinematic control problem. The
trol the attitude directly or when they are used to de-saturate
boundary conditions are then satisfied by numerical shooting
reaction wheels in deep-space missions. Furthermore, their acof these parameters.
tuators are far more likely to fail since the dogma of reliabilityWhile the applications considered here consider spacecraft atbased design on large spacecraft is relaxed in favour of effititude guidance, this method could be applied to several other
ciency design.
systems with constraints defined on matrix Lie groups, for exIn the case of attitude slewing, spacecraft use feedback-control
ample attitude pointing constraints [2], the wheeled robot with
where the control is proportional to a prescribed error function
sliding constraints [3], the planar Kirchhoff elastic rod held at
between the current attitude of the spacecraft and the desired
each end by a robotic gripper [4] and underwater vehicles [5].
attitude [1]. Furthermore, the implementation of these conThe dynamic equations of motion of a spacecraft controlled
trollers usually only requires the specification of the final state
⋆ Corresponding author H. C. Henninger. Tel. +39 3420270338.
Email Addresses:
[email protected]
(Helen C. Henninger),
[email protected]
(James D. Biggs)
1
978-1-5090-4533-4/17/$31.00 ©2017 IEEE
1231
By using basis functions on the angular velocities only and
solving numerically for the curve R(t) in the group SO(3),
the necessity of having to introduce co-ordinates such as Euler angles to express R(t) is avoided. Step B: The boundary
conditions in (4) are matched by using numerical shooting.
In [6], [7], [11] and [2] the corresponding rotations are derived
analytically and the boundary conditions matched through numerical optimization. However, this requires a corresponding
analytical solution R ∈ SO(3) which generally cannot be obtained. The shooting method will be used to determine the initial angular velocities ω 0 (in the case of natural motions) or λ0
(in the case of the optimal control problem). In order to do this,
an initial guess for ω 0 (or λ0 ) is used to calculate the corresponding solution R(t). In our method, the numerical solution
of (2) is determined using the discrete representation [12]
(6)
Ri+1 = Ri exp(Ωi h)
by reaction wheels and thrusters can be represented by the
equation
J ω̇ = −ω × (Jω + h) − ḣ + d + u
(1)
where ω = [ω1 , ω2 , ω3 ]⊤ is the angular velocity vector in the
body-fixed frame, J is the inertia tensor, h is the angular momentum vector of the reaction wheels, d denotes the disturbing torque and u is the external torque delivered by thrusters
(impulsive in our examples).
Expressing the attitude kinematics of the spacecraft on the
Direct Cosine Matrix R(t) ∈ SO(3) where SO(3) is the special orthogonal group, the matrix Lie group consisting of the
set of all orthogonal matrices of determinant 1, we have
dR
(t) = R(t) (ω1 (t)A1 + ω2 (t)A2 + ω3 (t)A3 )
dt
(2)
where R(t) ∈ SO(3), and
⎡
0
A1 = ⎣ 0
−1
0
0
0
⎤
⎡
1
0
0 ⎦ , A 2 = ⎣0
0
0
0
0
−1
⎤
⎡
0
0
1 ⎦ , A 3 = ⎣1
0
0
−1
0
0
computed on the virtual time domain t ∈ [0, 1] where h is a
chosen step-size, ti = h i and
Ωi = ω1i A1 + ω2i A2 + ω3i A3
(7)
⎤
0
0⎦
0
(3)
where ω1i , ω2i , ω3i are the analytic expression of the velocities evaluated at time ti . Solving equation (2) in the form of
is the standard basis of the Lie algebra so(3).
We develop a 3-step method which solves the attitude guid- equation (6) ensures R(t) satisfies the orthonormality property
ance problem of determining the desired ω or h analytically for all t, which is not guaranteed when solving numerically
and solving equations (2) numerically such that the boundary by Runge-Kutta schemes. In order to increase computational
speed, rather than computing the exponential at every step, Roconditions
(4) drigue’s formula is used, which gives an explicit expression for
R(0) = R0 , R(tf ) = Rd
the matrix exponential on the group SO(3) for constant time:
(where R0 is the prescribed initial attitude and Rd the desired
final attitude) are satisfied. Step A: The angular velocities are
(8)
Ri+1 = Ri (I + Ωi sin(h) + Ω2i (1 − cos(h)))
expressed as functions of time and parameters that can be chosen to optimize a prescribed cost-function or match the bound- (h is equal to the angle of rotation about a fixed axis). This
ary conditions (4). The analytical expressions for the angular rotation is then used to construct the shooting function
(9)
S(ω 0 ) = tr(I − R(1)Rd⊤ ),
velocities can be described in a number of ways (i) Angular
velocities that describe natural motions can be solved when which is zero when the boundary condition R(1) = Rd . We
u = 0, h = 0, d = 0 (as in [6]) (ii) Analytically defined solve for this root using the iterative Newton’s method: set
angular velocities that describe solutions to optimal kinematic ∆ = S(ω00 ) (where DS(ω 0 ) is the Jacobian of the shooting
0
i
DS(ω 00 )
control problems on SO(3) ( [7], [2]). Moreover, kinematics
function (9) which we compute numerically) for the starting
of the form (2) with cost functions of the form
guess ω 00 . The algorithm can be applied iteratively to obtain
tf
S(ω 0n )
ω ⊤ Q ω dt
(5)
J=
ω 0n+1 = ω 0n −
0
DS(ω 0n )
where Q is a positive-definite matrix have extremal equations
for n = 1, 2, 3, ..... Step C: In our computations the time dothat are always integrable [8]. In our case we will choose Q
main is scaled with respect to true final time so that time reto be a diagonal matrix Q = diag(c1 , c2 , c3 ) where ci are
mains in the interval [0, 1]. This scaled time is denoted by t to
weights. (iii) Where the angular velocities are expressed in
differentiate it from the real time τ . A time-reparametrization
terms
of some basis function such as a standard polynomial
is used where F (·) : [0, Tf ] → [0, 1] is some continuous funcn
ωi = j=0 aij tj or a Legendre polynomial. The aij are then
tion of the true time τ , i.e.
solved for by using a shooting method in order to meet the
boundary conditions. The use of polynomials is not addressed
t = F (τ )
(10)
in this paper but will be a feature in future work. Polynomial functions have been used as basis functions in motion where a new rotation is then defined as R∗ (τ ) = R(F (τ )),
interpolation problems in Euclidean space. However, the stan- provided the corresponding real angular velocity
dard basis functions do not naturally parameterize SO(3) or
dF (τ )
(11)
ω ∗ (τ ) = ω(F (τ ))
the quaternions due to the structure on these spaces [9], [10].
dτ
2
1232
satisfies the form of the equation (1) used in the problem. The
final time Tf is then tuned to ensure a feasible motion, given
the actuator constraints.
This procedure is used to plan two different types of attitude motions. In section 2 a rest-to-rest slew motion using
only two impulses is designed. Section 3 designs a rest-to-rest
optimal slew motion using only two reaction wheels.
2
α11=
α21=
α31=
β 1=
m1 =
T WO - IMPULSE REST- TO - REST SLEW MOTION
= Id
= exp( π4 A1 ) exp( π5 A2 ) exp( π2 A3 )
= 0, tf = 1.
M −2HJ3
sgn(ω10 )
J1 (J1 −J3 )
M −2HJ3
J2 (J2 −J3 )
2HJ1 −M
J3 (J1 −J3 )
α12=
sgn(q(ω 0 , J)) α22=
sgn(ω30 )
α32=
(2HJ1 −M )(J2 −J3 )
J1 J3 J2
(J1 −J2 )(M −2HJ3 )
(J2 −J3 )(2HJ1 −M )
β 2=
m2 =
M −2HJ3
J1 (J1 −J3 )
2HJ1 −M
J2 (J1 −J2 )
2HJ1 −M
J3 (J1 −J3 )
sgn(ω10 )
sgn(q(ω 0 , J))
sgn(ω30 )
(M −2HJ3 )(J1 −J2 )
J 1 J3 J2
(J2 −J3 )(2HJ1 −M )
(J1 −J2 )(M −2HJ3 )
(17)
ω 0 ω 0 (J −J )
(the function q(ω 0 , J) = 1 3 J21 3 ), from which the constraints J1 > J2 > J3 are obtained (so that the coefficients in
(17) are real). The inequalities in H, M, J1 , J2 , J3 in (15) and
(16) are required in order to fulfill the constraints 0 < mi < 1,
i = 1, 2 required by the Jacobi elliptic functions. Note that
there are two possible forms of the solution: Cases I and II
together can be seen to represent all possible solutions of the
angular velocity equations for that ordering of moments of inertia Ji since the first condition in Case I is inverted for Case
II.
The value of γ is chosen such that at time t = 0, sn(γ) =
ω2 (0)
−α2 ; thus
2.1 Spacecraft natural motion The approach here is to compute the exact initial and final torque required for the spacecraft to perform a natural motion which could reduce the fuel
requirement of spacecraft using thrusters for attitude slews [6].
If (J1 , J2 , J3 ) are the principal moments of inertia of the body,
the dynamic equation of motion of the spacecraft in natural
motion is given by equation (1) where h = 0, d = 0 and
u(t) = 0 where t ∈ (0, tf ) i.e. Euler’s equations of motion. The aim of our problem is to determine the initial torque
u(0) and the final torque u(tf ) required to bring a spacecraft
from its initial position R(0) = R0 at rest to a prescribed final
position R(tf ) = Rd at rest, where the kinematics are given
by equation (2). The values J1 = 0.141728 kg/m2 , J2 =
0.153784 kg/m2 , J3 = 0.079546 kg/m2 are chosen to reflect
the inertias of typical Cubesat spacecraft [13], and we cover
the particular problem
⎧
⎪
⎨ R0
Rd
⎪
⎩
t0
γ = F sin−1
ω2 (0)
−α2
,m
where F(·, ·) is the incomplete elliptic integral of the
x dt
Since sn(βt + γ, m) =
first kind F(x, m) = 0 1−m
2.
−1 ω2 (0)
ω2 (t)/(−α2 ), then F sin
, m < F π2 , m and
−α2
it follows that 0 < cn(γ, m) < 1 (since cn(0, m) = 1 and
the first real root of cn(·, m) is at cn(F ( π2 , m), m) = 0). The
signs of square roots are obtained by noting that since dn(·)
, then sgn(α3 ) =
is always positive, and dn(βt + γ) = ωα3 (t)
3
sgn(ω3 (0)). Taking t = 0, then ω1 (0) = α1 cn(γ, m), giving sgn(ω10 ) = sgn(α1 ). Finally, sgn(
ω̇2 (0)) = sgn(α2 ); but,
J3 −J2
sgn(ω10 )sgn(ω30 ). Thus
from (1), sgn(ω̇2 (0)) = sgn
J1
0 0
2
it follows that sgn(α2 ) = sgn J3J−J
ω
ω
.
1
3
1
(12)
2.2 Analytic expressions of the angular velocities The Euler
equations are an integrable system [8], and consequently the
angular velocities ω(t) can be determined analytically in terms
of Jacobi elliptic functions sn(·, m), cn(·, m) and dn(·, m)
[14].
The system of equations (1) (where h = d = u = 0) has
the following first integrals:
2.2.1 Calculating the angular velocities In this example,
1
H =
J1 ω12 + J2 ω22 + J3 ω32
(13) the angular velocities take the form (15), i.e.
2
(18)
ω(t) = (α11 cnF(t), −α21 snF(t), α31 dnF(t)).
M = J12 ω12 + J2 ω22 + J3 ω32 .
(14)
One assumes the general form of the solutions to the Euler Using the function (9) to match the boundary conditions in
0
equations of motion, where F(t) = βt+γ; there are two cases (12), the optimal initial value ω = 1.772 0.635 3.591
is obtained using the shooting method in the case
J = 0.141728 kg/m2 , J2 = 0.153784 kg/m2 , J3 =
1
1
1
1
1
1
Case I : ω(t) = (α1 cn(F (t), m ), −α2 sn(F (t), m ), α3 dn(F (t), m )) 1
0.079546 kg/m2 . In the discretized computation of R(t) re
(J −J )(M −2HJ )
0 < ((J2 −J1 )(2HJ −M3 )) < 1
1
3
2
(15) quired for the shooting function, using the stepsize h = 0.01.
where :
F (t) = β 1 t + γ
The angular velocities obtained are then
Case II : ω(t) = (α21 dn(F (t), m2 ), −α22 sn(F (t), m2 ), α23 cn(F (t), m2 ))
ω1 = 1.859 cn(1.660 t − 0.305, 0.099) rad · s−1
(J1 −J3 )(2HJ2 −M )
0 < (J −J )(M −2HJ ) < 1.
ω2 = −2.115 sn(1.660 t − 0.305, 0.099) rad · s−1
2
1
3
where :
(16)
F (t) = β 2 t + γ
ω3 = 3.607 dn(1.660 t − 0.305, 0.099) rad · s−1 .
(19)
for which
The initial and final impulses required to perform the slew
3
1233
are
u0 = [0.071, −0.236, 0.007]⊤ N · m
utf = [−0.219, −0.057, −0.006]⊤ N · m
x1
(20)
x2
x3
1
(21)
to ensure that the initial and final impulses required by the
guidance scheme are feasible within the bounds of the actuators with reaction wheel capable of the maximum torque magnitude 10 mNm, we reparametrize time along the curve.
x()
0.5
0
-0.5
2.3 Feasible rest-to-rest manoeuvers It is assumed that
-1
0
1
2
3
4
5
F (τ ) = t/Tf in (10). Thus the angular velocities in terms
time (s)
of real time are given by
τ
1
ω ∗ (τ ) =
ω
.
(22)
Figure 1: Pointing directions xi (τ ) (where x(τ ) = R(τ ) · [0, 0, 1] )
Tf
Tf
This reparametrization can be seen to satisfy the Euler equations since
3 U NDERACTUATED REST- TO - REST SLEW MOTION
ω̇ ∗ (τ ) =
1
ω̇
Tf2
τ
Tf
From [15], [11], the dynamic slew motion of a spacecraft with
reaction wheels is given by (1) where h is the angular momentum provided by the reaction wheels. In this case we assume
that d = 0, u = 0; thus the dynamic equation (1) reduces to
J ω̇ = −ω × (Jω + h) − ḣ.
(28)
Assuming without loss of generality that there are just two
reaction wheels along the X and Y axes such that h =
[h1 , h2 , 0]⊤ then the spacecraft is controllable by the two
wheels if and only if the total angular momentum is zero [15]
Jω + h = 0 ⇔ J ω̇ = −ḣ.
(29)
(23)
and so
J ω̇ ∗ (τ ) + ω ∗ (τ ) × (Jω ∗ (τ )) =
τ
τ
1
(J ω̇
+ω
× (Jω
Tf2
Tf
Tf
τ
)) = 0.
Tf
Thus the initial and final torques in real time are given by
τ
Ji
u∗ (τ ) = 2 ω̇
(24) Thus from here on it is assumed that ω3 = 0. Expressing the
, τ = 0, Tf .
Tf
Tf
attitude kinematics of the spacecraft R(t) ∈ SO(3), in this
case
This equation (24) allows us to pick a feasible final time Tf
Ṙ(t) = R(t) (ω1 A1 + ω2 A2 )
(30)
that reduces the values of u∗ (0), u∗ (Tf ) to below the feasible
magnitude. The final time Tf = 5s is found to be sufficient; where A1 , A2 are given by (3). The aim of this underactufor this time, the initial and final impulsive torques required ated re-pointing problem is to determine the angular velocities
ωi (t) required to re-point a spacecraft from its initial position
for the transfer are
0
⊤
R(0)
= R0 to a prescribed final position R(tf ) = Rd while
u = [−0.0028, 0.0095, −0.00027] N · m (25)
minimizing the cost function
tf
⊤
u
= [0.0088, 0.0023, 0.00022] N · m
(26)
1 tf
c1 ω12 + c2 ω22 dt
(31)
J =
The angular velocities in this case are given by
2 0
where c1 , c2 > 0 are constant weights. Varying the weights ci
ω1 (τ ) = 0.372 cn(1.660 τ − 0.305, 0.099) rad · s−1
allows us to produce a range of different curves between R0
ω2 (τ ) = −0.424 sn(1.660 τ − 0.305, 0.099) rad · s−1
and Rd which can be tuned in the presence of path constraints.
ω3 (τ ) = 0.723 dn(1.660 τ − 0.305, 0.099) rad · s−1 .
(27) However, for a simple example of the method we fix c1 = 1,
c2 = 0.25, and focus on the optimal control problem
The pointing direction R(τ ) · [1, 0, 0]⊤ is plotted against
⎧
time for this feasible manoeuver in Figure 1, where R(τ ) is
R0 = Id
⎪
⎪
computed using equation (2) with the angular velocities aris⎪
⎨
Rd = exp(−0.897A2 ) exp(− π2 A3 )
ing from equation (27). From this Figure we can see that the
(32)
⎪
t0 = 0, tf = 1
initial direction [x1 , x2 , x3 ] = [1, 0, 0] to the desired final di⎪
⎪
⎩
rection [−0.500, 0, 0.866] using only a two-impulse torque.
c2 = 0.25, c1 = 1.
4
1234
We make use of Pontryagin’s Maximum Principle [16],
a necessary condition for optimality which is most naturally
expressed in the non-canonical formulation exploiting the geometry of the cotangent bundle of a Lie group, in this case
T ∗ SO(3) of SO(3) [8]. The cotangent bundle T ∗ SO(3) can
be trivialized such that T ∗ SO(3) = SO(3) × so(3)∗ , where
so(3)∗ is the dual space of the Lie algebra so(3). The dual
space so(3)∗ has a natural Poisson structure, called the minus
Lie-Poisson structure, given by
{F, G}(p) = −p([dF (p), dG(p)])
(33)
∗
1
∗
for p ∈ so(3) and F, G ∈ C (so(3) ). (Note that dF (p) is a
linear function on so(3)∗ and so is an element of so(3)) where
[·, ·] is the Lie bracket on so(3), [A, B] = AB − BA for all
A, B ∈ so(3).
Minimizing the function (31) leads to a Hamiltonian (in
the non-canonical form):
1
(34)
H = λ̂, fˆ(ω1 , ω2 ) − (c1 ω12 + c2 ω22 )
2
where fˆ(ω1 , ω2 ) = R(t)T Ṙ(t) = −(ω1 A1 + ω2 A2 ) ∈ so(3)
with λ̂ = λ1 A1 + λ2 A2 + λ3 A3 and A, B = − 12 tr(AB) the
inner product on so(3) [8].
3.0.1 Calculating the angular velocities Similarly as in section 2, the set of equations (40) has two integrals of motion:
the Hamiltonian function in (36), and the function
M = λ21 + λ22 + λ23 ,
(41)
meaning the system (40) is integrable, and the solutions can be
found in terms of Jacobi elliptic functions:
Case I : λ(t) = (α1 sn(F (t), m), α2 cn(F (t), m), α3 dn(F (t), m)
(c −c )(2Hc −M )
0 < ((c 1−c 2)(−2Hc3 +M )) < 1
3
1
2
(42)
where :
F (t) = βt + γ
Case II : λ(t) = (α1 sn(F (t), m), α2 dn(F (t), m), α3 cn(F (t), m))
((c −c )(−2Hc +M ))
0 < (c3 −c1 )(2Hc 2−M ) < 1.
1
2
3
(43)
where :
F (t) = βt + γ
For the values given in (32), the inequalities for Case II are
satisfied and so this solution has the form
(λ1 (t), λ2 (t), λ3 (t))
= (α1 sn(F(t), m), α2 cn(F(t), m), α3 dn(F(t), m))(44)
for which the coefficients are
⎧
√
0
0
−1
⎪
2Hc1
⎨ α1 = sgn λ2 · λ3 · c2
√
0
α2 = sgn(λ2 ) 2Hc2
⎪
⎩
α3 = sgn(λ03 ) (M − 2Hc2 )
From the Maximum Principle and given that H is a concave function in ω1 , ω2 , the necessary conditions for optimality are:
λ1
∂H
∂h1 = 0 ⇒ ω1 (t) = c1
(35)
λ2
∂H
∂h2 = 0 ⇒ ω2 (t) = c2 .
⎧
2
⎪
β = M −2Hc
⎪
⎨
c1 c 2
(2H(c1 −c2 ))
m =
M −2Hc2
⎪
⎪
⎩
λ0
γ = F(asin α11 , m).
(45)
Using
the function (9), the optimal initial value λ0 =
0.930 1.095 −2.151 is obtained using the iterative Newton method, and so the angular velocities (which are related to
the curves λ(t)) by equation (35)) take the form
Substituting (35) into (34), the optimal Hamiltonian is obtained as a function of the co-states,
λ2
1 λ21
H=
+ 2 .
(36)
2 c1
c2
It is well known that the Hamiltonian vectors fields can be
constructed using the Poisson bracket for arbitrary coordinates
zi ∈ SO(3) × T ∗ SO(3) where SO(3) × T ∗ SO(3) is the cotangent bundle where SO(3) is the manifold and T ∗ SO(3) is
the co-tangent space such that:
żi (t) = {zi (t), H} ,
(37)
ω1 (t) = −0.183 sn(4.594t + 0.410, 0.805)
ω2 (t) = −0.337 cn(4.594t + 0.410, 0.805).
(46)
3.0.2 Dynamically feasible rest-to-rest curves For a problem which takes place in real time (in seconds) τ ∈ [0, Tf ],
the real time can be parametrized again such that τ = F (κ)
where the general equation for the Poisson bracket of two where κ ∈ [0, Tf ]. Particularly, choosing the parametrization
functions H, G in arbitrary co-ordinates can be stated as:
2πκ
Tf
sin
F (κ) = κ −
,
(47)
∂F
∂H
2π
Tf
{F, H} =
{zi , zj }
.
(38)
∂zi
∂zj
the resulting angular velocities have the form
In the case of the Hamiltonian (34) which is defined on so(3)∗
2πκ
)).
(48)
ω ∗ (κ) = ω(F (κ))(1 − cos(
then the Poission bracket is defined in terms of the Lie bracket
Tf
as in equation (33). This allows us to compute the Hamiltonian It is clear that under this parametrization, ω ∗ (0) = 0,
vector fields corresponding to H using the relation [8]
ω ∗ (Tf ) = 0, i.e. the transfer is rest-to-rest and does not reλ̇i = {λi , H}
(39) quire impulsive torques at the end-points.
From the condition in equation (29), the torques are given
which gives rise to the set of extremal equations
by
ḣ
i . Thus, we differentiate equation (46) and derive the
λ̇1 = − c12 λ2 λ3
torques applied to the reaction wheels
(40) ḣ1 = 0.84cn(4.59t + 0.41, 0.81) · dn(4.59t + 0.41, 0.81)
λ̇2 = c11 λ1 λ3
c
−
c
1
2
ḣ2 = −1.55sn(4.59t + 0.41, 0.81) · dn(4.59t + 0.41, 0.81).
λ̇3 = c1 c2 λ1 λ2 .
5
1235
Making use of the time reparametrization t = Tτf and the
feasible rest-to-rest reparametrization τ = F (κ) in equation
(47), the torques take the form
⎞
⎛
2πκ
pulses that are applied at the beginning and at the end of the
motion, while no torque is required during the motion. The
method allows the computation of the exact initial and final
torque impulse that should be applied to the system to achieve
Tf sin T
2
f
κ
−
2πκ
Ji
⎜
⎟ the exact rotation given the prescribed boundary conditions.
2π
1 − cos
λ̇i ⎝
ḣ∗i (κ) =
The second class of angular velocities considered are solutions
2
c i Tf
Tf
Tf
⎞
⎛
to an optimal control problem that describe optimal rotations
Tf sin 2πκ
Tf
for a spacecraft with only two reaction wheels. This guidance
κ
−
2πκ
2πJi
⎜
⎟
2π
λi ⎝
sin
+
. (49) method could be useful in the event of actuator failure where
2
c i Tf
Tf
Tf
the spacecraft is left with only two working reaction wheels.
which allows us to pick a feasible time Tf to bring our torque Future work will involve using different types of basis funcvalues back into alignment with feasible reaction wheel val- tions to represent the angular velocities such as polynomials.
Using basis functions that are simple and computationally efues. The final time Tf = 17.2 s is found to be sufficient.
In Figure 2 the rest-to-rest angular velocities and the re- ficient will allow different types of attitude guidance problems
sulting feasible toques are shown: it can clearly be seen that to be considered.
the torques remain below the feasible maximum torque over
R EFERENCES
the time interval κ ∈ [0, Tf ].
1
2
u
3
0.4
0.01
0.2
0.005
torque (Nm)
angular velocity (rad/s)
0
-0.2
-0.4
1
u
2
u
[1] Bullo, F., and A. Lewis. (2005). "Modeling, Analysis, and Design for
Simple Mechanical Control Systems." Geometric Control of Mechanical
Systems (Texts in Applied Mathematics) 49.
[2] Biggs, J. D. and L. Colley (2016). Geometric Attitude Motion Planning
for Spacecraft with Pointing and Actuator Constraints. J Guid Control Dynam, 39(7), 1672-1677.
[3] Dubins, L. E. (1957). On curves of minimal length with a constraint on
average curvature, and with prescribed initial and terminal positions and
tangents. Am J Math, 79, 497–516.
[4] Bretl, T. and Z. McCarthy (2014). Quasi-Static Manipulation of a Kirchhoff Elastic Rod Based on a Geometric Analysis of Equilibrium Configurations. Int J Robot Res, 33(1), 48-68.
[5] Biggs, J., and W. Holderbaum. (2009). Optimal kinematic control of an
autonomous underwater vehicle. IEEE transactions on automatic control
54(7), 1623-1626.
[6] Maclean, C., D. Pagnozzi, and J. D. Biggs. (2014). Planning natural repointing manoeuvres for nano-spacecraft. IEEE T Aero Elec Sys, 50(3),
2129-2145.
[7] Biggs, J. D., and N. Horri. (2012). "Optimal geometric motion planning
for a spin-stabilized spacecraft." Syst Control Lett. 61(4), 609-616.
[8] Jurdjevic, V. (1997). Geometric Control Theory, Cambridge University
press, UK.
[9] Caubet, A., and J. Biggs. (2015). "A motion planning method for spacecraft attitude maneuvers using single polynomials." in AAS/AIAA Astrodynamics Specialist Conference, Vail, USA, 1-17.
[10] Boyarko, G., M. Romano, and O. Yakimenko. (2011). "Time-optimal
reorientation of a spacecraft using an inverse dynamics optimization
method." J Guid Control Dynam. 34(4), 1197-1208.
[11] Biggs, J. D., Y. Bai and H. C. Henninger. Attitude guidance and tracking
for spacecraft with two reaction wheels. International Journal of Control,
accepted February 2017. doi/full/10.1080/00207179.2017.1299944
[12] Lee, T., M. Leok, and N. H. McClamroch. (2008). "Optimal attitude
control of a rigid body using geometrically exact computations on SO (3)."
Journal of Dynamical and Control Systems 14(4) 465-487.
[13] Meissner, D. M. (2009). "A three degrees of freedom test-bed for
nanosatellite and Cubesat attitude dynamics, determination, and control."
M.Sc. disseration, Naval Postgraduate school, Montery, CA.
[14] Lawden, J. (2013). Elliptic Functions and their Applications. Springer
Science & Business Media, New York.
[15] Horri, N. M., P. Palmer, and S. Hodgart. (2012). "Practical implementation of attitude-control algorithms for an underactuated satellite." J Guid
Control Dynam 35(1), 40-45.
[16] Boltyanskii, V., R. Grigor’evich, V. Gamkrelidze, and L. S. Pontryagin. (1960). The Theory of Optimal Processes: I. The Maximum Principle.
TRW Space Technology Labs, Los Angeles, California.
3
0
-0.005
-0.01
0
5
10
time (s)
15
0
a.)
5
10
time (s)
15
b.)
Figure 2: a.) Rest-to-rest angular velocities b.) Feasible torques for
rest-to-rest transfer
The plots in Figure 2 show that using an underactuated
guidance scheme can provide a feasible reorientation for a
nano-spacecraft with low torque in a reasonable time interval.
4
C ONCLUSION
This paper has presented an attitude guidance method that uses
analytic forms to represent angular velocities in terms of free
parameters. The free parameters are then chosen to match
boundary conditions via a proposed structure preserving numerical shooting method. Due to the analytic form of the angular velocities the speed along the curves can be adjusted to
ensure dynamic feasibility. Although any basis functions for
the angular velocities can be used, this paper investigates two
problems where the angular velocities are described in terms
of Jacobi elliptic functions. The first class of angular velocities define natural motions which could be used to design fuel
efficient attitude motions. These motions consist of two im-
6
1236