Research Article Volume 1 Issue 2
School of Aerospace, University of Sydney, Australia
Correspondence: Xiaofeng Wu, School of Aerospace, Mechanical & Mechatronic Engineering, University of Sydney, NSW 2006, Australia
Received: May 15, 2017 | Published: July 21, 2017
Citation: Wu X, Huang Y, Jolly. Customized processor architecture for model predictive control in magnetic actuated small satellites. Aeron Aero Open Access J. 2017;1(2):53-62. DOI: 10.15406/aaoaj.2017.01.00007
Future spacecraft are envisioned as autonomous, miniature, and intelligent space systems. This paper describes the design and implementation of a model predictive control (MPC) system for satellite attitude control. The MPC algorithm is designed to successfully deal with constraints due to the small control torque given by magnetic torques and the Earth’s magnetic field. Laguerre functions are proposed to simplify the implementation of the MPC controller for on-line computation. A control system processor is designed as a peripheral hard core of the system-on-chip for satellite on-board data handling. Targeting the FPGA technology, this processor runs up to 120 MHz.
Keywords: satellite dynamics, nanosatellites, matlab simulations, magnetorquers, vernal equinox direction, orthogonal triad, quaternion method, attitude transformation matrix, euler angle, laguerre functions, hildreth’s quadratic programming, xilinx virtex-4, fpga technology, accumulator
MPC, model predictive control; FPGA, field programmable gate array; MPQPs, multi parametric quadratic programs; CSP, control system processor; MAC, multiply and accumulation; SoC, system-on-chip; OBDH, on board data handling system; MPCSP, model predictive control processor; ECI, earth centred inertial; MIMO, multiple input, multiple output; AMBA, advanced microcontroller bus architecture
Conventional satellite systems are designed and purpose built over many years with significant expense and undertaking, with the result that the technology is obsolete by the time of launch. However, a new approach to satellite development which builds upon the rapid changes in computer hardware technology is quickly taking place around the world within university and government research labs. The development of what is known as nano satellites, with typical mass less than 10kg, is quickly transforming the Space development scene as it allows engineering and science researchers to send into orbit various payloads within a short time at low cost. In particular, in the last 10 years many universities like Stanford1 have carried out university satellite programs, and nano satellites have been built and successfully launched into space. Such small satellite can be controlled by various actuation methods, including thrusters, reaction wheels, magnetic torquers, or a combination of above. Currently electromagnetic actuator is the most effective approach, and has been adopted for many nano satellite missions, e.g. the CanX-1,2 AAUSat,3 Compass One4 and so on.
The magnetic torquer interacts with the earth’s own magnetic field in order to generate a control torque acting on spacecraft. An advantage of magnetic torquers is that they require no fuel and so have virtually unlimited life. They do of course require electrical power, but there is no exhaust pollutant and by providing a couple they are not sensitive to movement of the centre of mass. One drawback of this control technique is that the torques which can be applied to the spacecraft for attitude control purposes are constrained to lie in the plane orthogonal to earth magnetic field, and hence the satellite is under-actuated. In the equatorial plane, the magnetic field line always lie horizontally, north-south. Consequently a spacecraft whose orbit lies in this plane cannot use magnetic torquers to counteract the north-south component of their disturbance torque, or to dump this component of momentum. For an inclined orbit, suitable variation of the magnetic field allows controllability in the long term, but presents a significant challenge from a control perspective.5
A novel approach to the magnetic attitude control problem, based on Model predictive control has been demonstrated as a suitable candidate in many literatures6 presents a thorough review of the area of magnetic control, and develops a closed form solution for MPC based controller under the constraints of earth’s magnetic field. The author also points out that the optimal solution cannot be given in closed form if the constraints on the coils’ magnetic dipoles become active. The systemic method to deal with these equality and inequality constraints in MPC is to operate online quadratic programming.7 However, it has recently been shown that a great deal of the computational effort in traditional MPC can be done offline. Algorithms have been presented for solving multi-parametric quadratic programs (MPQPS) that are used to obtain explicit solutions to the MPC problem. Thus, the explicit model predictive controller accomplishes online MPC functionality without solving an optimization problem at each time step.8 Ref.9 investigates MPC for attitude control using magnetic torque rod. The design is carried out based on the closed form solution for MPC based attitude controller when considering the Earth’s magnetic field. Ref.9 further develops a MPC based magnetic controller to deal with the problem of Low Earth orbiting satellites attitude control under significant disturbances from the external environment including aerodynamic forces, gravity gradient torques and residual magnetic dipoles. However, except the constraint in the Earth’s magnetic field, for Nano satellites the magnetic coil provides very small torque (in the order of 10-9 N-m). Hence, both the actuator saturation and the Earth’s magnetic field constraints should be considered in MPC algorithm design.
The MPC algorithm results in very complex matrix operations, which limit its feasibility for small satellites. In real-time control, to execute extremely fast control laws for feedback systems, a control system processor (CSP) was designed.10,11 The excellent performance of the CSP is achieved by implementing simple mixed data formation, with 24-bit fixed point data for state variables and 11-bit low precision floating data for coefficients. The CSP takes advantage of single processing element, i.e. multiply and accumulation (MAC) to execute all the arithmetic operation. In,12 another dedicated control system processor was developed based on 1-bit processing.13 In this processor architecture, no multiply operation is required, which greatly increased the hardware performance in terms of power, area and speed. In this paper, to effectively implement the MPC, the controller structure is simplified using Laguerre functions.14 At the same time, a system-on-chip (SoC) is proposed for the satellite on-board data handling system (OBDH). This paper presents an innovative model predictive control system processor (MPCSP) as a peripheral hardcore of the SoC for satellite attitude control. The MPCSP is a very efficient design in terms of power, area and speed for real-time control.
The remaining paper is organised as follows. In section 2 three basic reference frames used in satellite attitude control are introduced first, followed by a description of satellite attitude dynamics. Secondly, a linearised dynamic model is presented in Euler angle method. At the end of this section, Earth’s magnetic field model is demonstrated and some constraints on control torque are discussed. Section 3proposes a novel MPC approach using Discrete-time Laguerre networks in magnetic attitude control problem. Section 4 introduces the MPCSP design. Section 5 presents the simulation results for attitude control of a student-built Nano satellite. Section 6 concludes.
Reference frames
Earth Centred Inertial (ECI) reference frame: The origin of these axes is in the Earth’s centre. The X axis is parallel to the line of nodes, which is the intersection between the Earth’s equatorial plane and the plane of the ecliptic, and is positive in the Vernal equinox direction (Aries point). The Z axis is defined as being parallel to the Earth’s Geographic north-south axis and pointing north. The Y axis completes the right-handed orthogonal triad.
Orbit reference frame: The origin of this orbit reference frame moves with the cm (centre of mass) of the satellite in the orbit. The Z axis points toward the cm of the earth. The X axis is in the plane of the orbit, perpendicular to the Z axis, in the direction of the velocity of the satellite. The Y axis is normal to the local plane of the orbit, and completes a three-axis right-hand orthogonal system. Satellite body reference frame: The origin of this reference frame is in the satellite centre of mass; the axes are assumed to coincide with the body’s principal inertial axes.
Spacecraft nonlinear attitude model
The attitude dynamic equations are obtained from Euler’s moment equation as follows.15
h=−ωBsb/ECI×h+T (1)
Where h=−ωBsb/ECI×h+T ∈R3 , is angular velocity vector of satellite body reference frame with respect to inertial reference frame, expressed in satellite body reference frame, h is angular momentum vector of the entire system, expressed in satellite body system. h denotes differentiation of h in the body frame and T is the sum of external torques.
For a rigid satellite, h=Iω, where I is the satellite inertia matrix expressed in the body frame, so the attitude dynamic equations reduce to well-known form
Unexpected text node: ' ' (2)
ωBorb/ECI=A(q)[0−ω00] (3)
where ω0 is the orbital angular rate, A(q) is the attitude matrix with respect to the orbital reference frame and ωBorb/ECI∈R3 is angular velocity vector of orbit reference frame with respect to inertial reference frame, expressed in satellite body reference frame. For earth pointing satellite, we always consider the orbit reference frame as an attitude reference, so that
ωBsb/orb=ωBsb/ECI−A(q)[0−ω00] (4)
Where ωBsb/orb∈R3 , is angular velocity vector of satellite body reference frame with respect to orbit reference frame, expressed in satellite body reference frame. When the satellite has the desired attitude, the satellite body reference frame must remain aligned with orbit reference frame.
Linearised attitude dynamics model
The Laguerre MPC control algorithm requires a linearized dynamic model. It should be pointed out that in the derivation of the linearized attitude dynamics model, we assume a circular orbit for the satellite we also assume the inertia matrix is diagonal.
Besides quaternion method, attitude transformation matrix can be expressed with Euler angle (ϕ,θ,ψ) . The roll angle (ϕ) is defined as a rotation about the x body axis, the pitch angle (θ) about the y body axis, and the yaw angle (ψ) about the z body axis. Assuming small variation of the Euler angles, the attitude transformation matrix becomes:
[Ααβλ]≈[1ψ−θψ1ϕθ−ϕ1] (6)
And one also obtains that:
Unexpected text node: ' θ
So Eq. 4 becomes
ωΒsb/ECI=ωΒsb/orb+[Ααβγ][0−ω00] (7)
With these assumptions in (6), (7) becomes
Unexpected text node: ' ω
Unexpected text node: ' ω
Unexpected text node: ' ω
Finally, the satellite attitude dynamics are approximated well by a linear model.16
Unexpected text node: ' x (9)
Where,
Α=(000100000010000001−4ω20σ10000ω0(1−σ1)03ω20σ2000000ω20σ3−ω0(1+σ3)00)
X=[ϕ θ ψ ωΒsb/orbx ωΒsb/orby ωΒsb/orbxz]Τ
Where Td is disturbance torque which is considered as zero in this paper, Tc is control torque and
σ1=(Iy−Iz)Ix,σ2=(Iz−Ix)Iy,σ1=(Ix−Iy)Iz .
Magnetic attitude control
The controlling torque acting on spacecraft is produced by the interaction between a magnetic moment generated within a spacecraft and the earth’s magnetic field:
TC=m×b (10)
Where m is the generated magnetic moment inside the body and b is the earth’s magnetic field intensity.
Eq. 10 can be rewritten as,
[TCxTCyTCz]=[0−bz−by−bz0−bxby−bx0][MxMyMz] (11)
A dipole approximation of the Earth’s magnetic field is given in the following equation expressed in orbit reference frame.9
[borbxborbyborbz]=μfa3[cosω0tsin(im)−cos(im)2sin(ω0)tsin(im)] (12)
Where im is the inclination of the satellite’s orbit with respect to the magnetic equator, and a is the orbit’s semi-major axis. Time is measured from t=0 at the ascending-node crossing of the magnetic equator. The field’s dipole strength is μf=7.9×1015 Wb−m.
The magnetic field in satellite body reference frame is given by
b=A(q)borb (13)
Constraints in magnetic attitude control
In Eq. 10, m must satisfy orthogonality conditions with respect to TC and b, so one must have,
TC'b=0 (14)
Beside, constraints on the coils’ magnetic dipoles (actuators’ saturation) play an important role in the formulation of the magnetic attitude control problem. Such constraints are of the form
mmin≤m≤mmax (15)
The magnetic dipole m is given by.6
m=1|b|2B(b)'TC (16)
Where,
B(b)=[0bz−by−bz0bxby−bx0] (17)
So the constraints on coils’ magnetic dipoles can be translated into constraints on the control variable TC Using Eq. 17, it follows that
mmin≤1|b|2B(b)'TC≤mmax (18)
which in turn implies
[−B(b)B(b)]TC≤[mmaxmmin]|b|2 (19)
Here the mathematic expressions and derivations of MPC algorithm are given. It should be pointed out that the idea of Laguerre MPC is proposed by Wang. In this thesis, however, we will be concerning on the Laguerre MPC.
The plant to be controlled is described by the discrete time model of the form as
xm(k+1)=Amxm(k)+Bmu(k)
y(k+1)=Cmxm(k) (2.20)
Assume that the plant has p inputs, q outputs and n states. Let us denote the difference of the state variable by
Δxm(k+1)=xm(k+1)−xm(k) (2.21)
And the difference of the control variable by
Δu(k)=u(k)−u(k−1) (2.22)
Then we augment the original state space model (2.21) and (2.22) as
x(k+1)↑[Δxm(k+1)y(k+1)]=A↑[AmoTmCmAmIq×q]x(k)↑[Δxm(k)y(k)]+B↑[BmCmBm]Δu(k)
y(k)=C↑[omIq×q][Δxm(k)y(k)] (2.23)
Now we model the control signal by forward operators. Let us denote the vector
Y=[y(ki+1|ki)y(ki+2|ki)y(ki+3|ki)⋯y(ki+Np|ki)]T
ΔU=[Δu(ki)Δu(ki+1)Δu(ki+2)⋯Δu(ki+Nc−1)]T
The cost function of Traditional MPC is expressed as
J=(Rs−Fx(ki))T(Rs−Fx(ki))−2ΔUTϕT(Rs−Fx(ki))+ΔUT(ϕTϕ+ˉR)ΔU (2.24)
Where,
F=[CACA2CA3⋮CANP],ϕ=[CB00⋯0CAbCB0⋯0CA2BCABCB⋯0⋮⋮⋮⋮⋮CANp−1BCANp−2BCANp−3B⋯CANp−NcB]
Iq×q is a q×q identity matrix, RS is the set point vector, ˉR is the weighting matrix for control signal, NC is control horizon, Npis prediction horizon. The triplet (A, B, C) is called the augmented model.
Now we calculate derivation of the cost function J:
dJdΔU=−2ΦT(Rs−Fx(ki))+2(ΦTΦ+ˉR)ΔU (2.2.5)
The necessary condition of the minimum J is obtained
dJdΔU=0 (2.2.6)
The optimal solution for the control signal is
ΔU=(ΦTΦ+ˉR)−1ΦT(Rs−Fx(ki))
(2.2.7)
Now we derive the close-form control law. Because of the receding horizon control principle, we only take the first element of
ΔU
at time ki as the incremental control, thus
Δu(ki)=[10…0](ΦTΦ+ˉR)−1ΦT(Rs−Fx(ki))=Kyr(ki)−Kmpcx(ki))
(2.28)
Where Ky is the first element of (ΦTΦ+ˉR)−1ΦTRS and Kmpc is the first row of (ΦTΦ+ˉR)−1ΦTF . (2.28) is in a standard form of linear time-invariant state feedback control. The state feedback control gain vector is Kmpc. Therefore, with the augmented design model
x(k+1)=Ax(k)+BΔu(k)
The closed-loop system is obtained by substituting (2.28) into the augmented system equation; changing index ki to k, leading to the closed-loop equation
x(k+1)=(A−Bkmpcx(k))+Bkyr(k) (2.29)
Thus we can see when constraints have not been taken in to consideration, the MPC control algorithm can be written as a closed-loop form. All parameters required in MPC control algorithm can be calculated off-line and the on-line computational demand is relatively low.
Laguerre MPC
Now we model the control signal with Laguerre functions. Laguerre functions are a set of discrete orthonormal basis functions that can be expressed as
Γk(z)=Γk−1(z)(z−1−a1−az−1) (2.30)
Γ1(z)=√1−a21−az−1 (2.31)
Letting li(k) denote the inverse z-transform of Γi(z,a),
L(k)=[l1(k)l2(k)⋯lN(k)]T
The set of discrete-time Laguerre functions satisfies the following difference equation:
L(k+1)=AlL(k) (2.32)
where the initial condition is given by
L(0)Τ=√β[1−aa2−a3…(−1)Ν−1aΝ−1]
(2.33)
a is the Laguerre scaling factor,
β=(1−a2)
, and A1 is a N×N matrix. For example N=5,
Αλ=[α0000βα000−αββα00α2β−αββα0−α3βα2β−αββα]
L(0)Τ=√β[1−αα2−α3…(−1)Ν−1αΝ−1] .
The Laguerre functions can be used to describe the impulse response of the stable system. If we consider the future control signals in model predictive control as the impulse response of a SISO system, Δu can be described as
Δu(km+k)=L(k)Tη
(2.34)
where
η=[c1 c2⋯cN]T.
For a MIMO system, Δu(km+k) is given in following equation:
Δu(km+k)=[L1(k)T00L2(k)T⋯⋯00⋯⋯⋱⋮00⋯Lp(k)T]η (2.35)
Where Δu(km) is the current incremental control, Δu(km+k) is the future incremental control at sample k and L1(k) represents the Laguerre network description for the ith control. The input matrix can be partitioned to
B=[B1B2⋯Bp].
Then the cost function becomes
J=ηTΩη+2ηTψx(ki) (2.36)
Where the matrix Ω and ψ are
Ω=∑Npm=1ϕ(m)Qϕ(m)T+RL
ψ=∑Npm=1ϕ(m)QAm
ϕ(m)T=∑(m−1)(j=0)A(m−j−1)[B1L1(j)TB2L2(j)T⋯BpLp(j)T]
Biis the ith column of the B matrix, Q and RL are weighting matrix, Q=CT×C is weighting matrix for state variables, RL=rw×IN×N is a diagonal matrix (N × N) for control variables η .
The object of model predictive control is to solve an optimization problem that takes into account the constraints. Although model predictive control is able to deal with many kinds of constraints either on control signals or on output signals, here we will only focus on constraints on the Amplitude of the Control Variables. Optimization in MPC is realized by minimizing the object function subject to some constraints, which can be considered as a quadratic programming problem. The objective function J and the constraints in Quadratic Programming are expressed as
J=12xTEx+2xTF (2.37)
Μx≤γ (2.38)
Where E, F, M and
γ
are compatible matrices and vectors in the quadratic programming problem.
A simple algorithm called Hildreth’s Quadratic Programming was proposed to solve Quadratic Programming problem. The iteration expression of Hildreth’s Quadratic Programming Procedure is given in following equation:
λm+1i=max(0,ωm+1i) (2.39)
Where ωm+1i=−1hii[ki+∑i−1j=1hijλm+1j+∑nj=i+1hijλmj] (2.40)
m means the mth iteration, the scalar hii is the ijth element in the matrix H=ME−1MT and ki is the ith element in the vector. K=γ+ME−1F, λ is a column vector called Lagrange multiplier. The number of its components is equal to the number of inequality equations for input constraints and λi is the ith component of the Lagrange multiplier.
When the iteration is completed, the converged Lagrange multiplier λ* contains either zero or positive values. The constrained minimization over x is given by
x=−E−1(F+MTλ*) (2.41)
As it can be seen from (2.40), the on-line computation demand of MPC is mainly determined by the size of matrix H=ME−1MT . The size of matrix M is determined by the number of inequality equations, which can’t be changed; therefore the size of matrix E is the critical factor for decreasing the on-line computation requirement.
For traditional MPC, the cost function is given in (2.24). To perform optimization, we substitute the matrix E in (2.37) with matrix (ΦTΦ+ˉR) . It should be noted that the size of matrix (ΦTΦ+ˉR) is (Nc×p)×(Nc×p) and hence it can be concluded that the number factors involved in on-line computation is determined by the control horizon Nc . For some complex dynamic system, Nc has to be selected greater than 80 to stabilize the system, which will lead to a large computation demand.
For Laguerre MPC, the matrix E in (2.37) can be substituted by Ω , which is a (Nc×p)×(Nc×p) matrix. The number of factors involved in on-line computation is decided by the Parameter N. It should be noted that N can be a factor of Nc when the Laguerre scaling factor a is selected greater than zero, which means the factors involved in on-line computation will be decreased greatly when Laguerre functions are utilized in MPC design. If a is equal to zero, N has to be chosen to be equal to Nc and under this situation the Laguerre MPC becomes identical to traditional MPC. This is a very attractive property of Laguerre MPC because we can easily compare the performances of these two MPC algorithms by change the value of Laguerre scaling factor a
Different types of control applications require different implementation solutions. Most MPC applications target process control, in which sample periods are low and the plant is physically large, meaning that processing based upon an industrial computer is adoptable. However, the proposed electro-magnetic control system is targeting very small satellites, in which the controller hardware must be embedded. It may require very high sampling rate for precise attitude control. Also executing the MPC is relatively complex with heavy matrix operations. It is therefore requires some high performance device for control system processing.
SoC for satellite on-board data handling
There are two types of satellite on-board data handling systems: central and distributed. The central processing approach has one on-board computer to deal with all the data processing for each subsystem. The distributed processing approach, however, has many on-board computers. Some subsystems may have more than one processor. Nowadays most of the satellites adopt the distributed approach, but for nanosatellites this approach is not efficient due to the limited size and power. Hence, the SoC solution is proposed not only for attitude control but also for data processing for other subsystems.
The SoC can implement the whole digital functionality of the satellite on a single chip. The gate densities achieved in current FPGA devices have enough logic gates/elements to implement different functionalities on the same chip by mixing self-designed modules with third party ones. In the SoC, it contains dedicated processors for each subsystem. Figure 1 shows the SoC architecture. It contains a general purpose processor and the dedicated processors. Its structure comprises an AMBA17 compliant bus that communicates between the general purpose processor and the control system processor. Generally, the MPCSP is independent, but the general purpose processor as the controller of the SoC monitors the control state variables and satellite attitude information from the inertial sensors. These data are a part of telemetry information for satellite housekeeping.
MPCSP design and implementation
To map the control algorithm to processor architecture, it is divided into tasks or processes. These processes include data input and output (IO), data storage (Memories), timer, instruction fetching and decoding, next instruction address calculation (Program Counter) and arithmetic operations (ALU). This partitioning should allow all the processes to be mapped easily into hardware, minimizing the resources required.
The number of concurrent operations can determine the amount and functionality of the hardware structures. For example, the maximum number of simultaneous data transactions that required for arithmetic operations determines the number of ALU ports. Also, communication channels between the ALU, accumulator, memories and IO must be assigned with specific data bus.
The execution of the control algorithm requires the repeated execution of a set of instructions (program). Although the number of instructions in the control loop can be small in the case of implementing a simple controller, the overhead that manipulate the program counter maybe relatively large. We therefore must pay special attention to the architecture of the program counter that implements control loops. Thus, the MPCSP can provide a looping mechanism that introduces a short, or ideally zero, overhead.
The final step is to create a hardware model that supports the operations needed to implement the control algorithm. This hardware model is programmed using the hardware description language. The resulted MPCSP is simulated and verified by running the MPC algorithm with the application-specific instructions. The MPCSP is then synthesized floor planned and placed & routed. The final net list can be verified via being downloaded into the FPGA and running the hardware-in-loop simulation.
Figure 2 shows the MPCSP architecture. It adopts a simple mixed data format in 2’s complement: the coefficients are in 12-bit floating point format, with 6-bit for mantissa and 6-bit for exponent. The state variables and other data are in 32-bit fixed point format, with 16 integer bits and 16 fractional bits. The memories include program ROM, data ROM and data RAM for control program, coefficients and intermediate states respectively. The sample timer is used to determine the sample interval for each control loop. The program counter processes one instruction at each clock cycle. It will halt the operation at the end of the control program, and reset to the address where the control loop starts at the rising edge of the sample timer.
The MAC is the only processing element in the previous CSP design. Although this approach reduces the circuitry complexity, it is not efficient in terms of power and speed. Hence, in the MPCSP design, several processing elements are adopted for arithmetic operations as shown in Table 1. Each instruction uses the standard RISC convention of 32-bit fixed-length. All instructions have a single clock cycle execution.
Op code |
Name |
Function Description |
0 |
HLT |
No Operation |
1 |
RDW |
Read data from data ROM |
10 |
WRW |
Write data to data RAM |
11 |
OUT |
Output the control signals |
100 |
MUL |
Multiply |
101 |
ADD |
add |
110 |
SUB |
subtract |
111 |
INV |
invert |
1000 |
SET |
Set the sampling frequency |
1xx1 |
WPC |
Set the star value for the program counter |
Table 1 MPCSP instructions
The IO block has 12 inputs and 4 PWM outputs. The inputs are connected to the inertial sensors, including accelerometers, gyroscopes, magnetometers and sun sensors. The outputs are connected to the magnet coils through the power amplifiers. For attitude control, 3 magnet coils are needed to provide three-axis actuation.
The data bus and address bus of the MPCSP are connected to the AMBA to allow the general-purpose processor collect house-keeping data. The MPCSP is implemented targeting the Xilinx Virtex-4 FX100 FPGA technology. The MPCSP occupies less than 8% of the FPGA total area. It runs up to 120MHz. The power consumption is around 183 mW.
Simulation results
The simulating nano satellite operates at low Earth orbit altitude of 650km with an orbital inclination of 96° and has inertia matrix I=diag ([6.858e-4 6.858e-4 8.164e-4]). The MPC tuning parameters are listed in Table 2. We can see that in traditional MPC design, the control horizon Nc is normally chosen to be more than 30 to get a sound control performance. While using Laguerre function, N can be selected as 5 to obtain the same performance, which means 6 times less parameters involved in on-line computation.
MPC |
Without Laguerre |
With Laguerre |
Sampling interval |
60s |
60s |
Prediction horizon NP |
30 |
60 |
Control horizon NC |
30 |
5 |
Scaling factor for TCxTCyTCz |
0.5,0.5,0.5 |
0.5,0.5,0.5 |
Number of terms for TCxTCyTCz |
5,5,5 |
5,5,5 |
Control weighting (R) |
0.1,0.1,0.06 |
0.1,0.1,0.06 |
Table 2 MPC tuning parameters
The control system is initialized at satellite pointing angles of 1° about each axis and angular rates of 0.0005 rad/s about the roll, yaw and pitch axes.
The first set of simulation was carried out in Matlab, assuming no constraints on the control variables and the results are shown in Figures 3-5.
A second set of simulation was carried out in Matlab, with the constraints of Eqs. 27 and 28. The amplitude of the control torquers is [−3×10(−9)N−m,3×10(−9)N−m] . The results are shown in Figures 6-8. As it can be seen in Figures 3-5, the simulation result violate the amplitude constraints, while the second set of simulations, the amplitude of control torque is successfully constrained within ±3×10(−9)N−m. Obviously, due to the constraints on control torquers, it takes the system longer to come to the set points.
Hardware-in-loop simulation
The MPC is then implemented on the MPCSP. A hardware-in-loop simulation platform as shown in Figure 9 is developed to test the control system processor. The MPCSP is implemented in a Virtex-4 FX100 FPGA board. The satellite attitude dynamics is modelled in C program in the computer. The PWM actuation signals from the FPGA board are sent to the computer using the industrial digital IO card. The feedback signals like angular rate are sent to the FPGA board using the analogue to digital converters.
Figures 10 & 11 show the results from the hardware-in-loop simulation. Compared to the Matlab simulation, in the difference is rather small. Hence the MPCSP is feasible for satellite attitude control using magnet torquers.
A satellite magnetic controller is designed using Discrete-time Laguerre networks based MPC. Two sets of simulations are conducted on the same controller to compare its performance with and without constraints. From the results shown, the magnetic controller can lead to an impressive performance in satellite attitude control. With model predictive algorithm, it can successfully deal with hard constraints on control torquers. The MPC can greatly improve the stability of the satellite attitudes with small torques generated from the magnetorquers. This feature is important for small satellites as they normally cannot accommodate larger actuation devices, like thrusters, reaction wheels and so on.
A dedicated control system processor is developed to execute the MPC algorithm. The MPCSP can run upto 120MHz, while consuming 183mW and occupies less than 8% area of a Virtex-4 FX100 FPGA. The MPCSP is used to implement a model predictive attitude control law for a nanosatellite. The hardware-in-loop simulation shows that the MPCSP produces almost the same results as the Matlab simulation.
In future, the MPCSP will be applied in a student-built satellite mission, which is currently under investigation at the University of Sydney.
None.
Author declares that there is no conflict of interest.
©2017 Wu, et al. This is an open access article distributed under the terms of the, which permits unrestricted use, distribution, and build upon your work non-commercially.