Vous êtes sur la page 1sur 7

Observador de Luenberger para Sistemas

Não Lineares na Estimação de Atitude e


Velocidade Angular em Nanossatélites
Francisval G. Soares ∗ Kurios I. P. M. Queiroz ∗∗
Samaherni M. Dias ∗∗

Programa de Pós-graduação em Engenharia Mecatrônica,
Universidade Federal do Rio Grande do Norte, RN, (e-mail:
francisval20@yahoo.com.br).
∗∗
Departamento de Engenharia Elétrica, Universidade Federal do Rio
Grande do Norte, RN, (e-mails: kuriosiuri@yahoo.com.br,
sama.ufrn@gmail.com).

Abstract: This paper presents a less complex alternative to the Extended Kalman Filter (EKF),
with an implementation of the Luenberger state observer for nonlinear systems, aiming the
attitude and angular rate estimation of CubeSats. The parameterization of the rotation by
quaternions is adopted, with the simulation of the system considering the measured attitude in
the presence of white noise and constant disturbance.
Resumo: Este trabalho apresenta uma alternativa de menor complexidade ao Filtro de Kalman
Estendido (EKF), com uma implementação do observador de estado de Luenberger para sistemas
não lineares, visando a estimação de atitude e velocidade angular de CubeSats. Adota-se a
parametrização da rotação por quatérnios, com a simulação do sistema considerando a atitude
medida em meio à presença de ruı́do branco e perturbação constante.

Keywords: Kalman filter; state observer; attitude and angular rate estimation; CubeSat;
quaternium; nonlinear system.
Palavras-chaves: filtro de Kalman; observador de estado; estimação de atitude e velocidade
angular; CubeSat; quatérnio; sistema não linear.

1. INTRODUÇÃO Em (Carrara et al., 2014) é utilizado o QUEST para


obtenção do quatérnio a partir de sensores e o EKF para
a estimação das variáveis de estado. O filtro de Kalman
e suas derivações são bastante utilizados quando uma
O Instituto Nacional de Pesquisas Espaciais (INPE) vem maior precisão é requerida, inclusive estimando a atitude e
desenvolvendo o projeto CONASAT, acrônimo de Conste- velocidade angular diretamente a partir de vetores medidos
lação de Nano-Satélites, com a missão de conceber uma so- como apresentado em (Ruiter et al., 2012). Entretanto, a
lução de baixo custo para o Sistema Brasileiro de Coleta de complexidade pode inviabilizar certas aplicações.
Dados Ambientais (SBCD). Com o intuito de usufruir do
ganho de antenas direcionais, o Sistema de Determinação A utilização de observadores de estado para sistemas não
e Controle de Atitude (ADCS) deve prover a estabilização lineares, na estimação de variáveis de satélites, geralmente
da estrutura nos três eixos. Esse sistema faz parte do considera o quatérnio obtido por meio de um método
computador de bordo, que está sendo desenvolvido em determinı́stico. Em (Koprubasi and Theint, 2006a) é apre-
parceria com a Universidade Federal do Rio Grande do sentado um observador de modo deslizante com correção
Norte (UFRN). Assim, tendo em vista as limitações da do erro de forma aditiva, onde é verificado para essa
plataforma CubeSat, este trabalho apresenta uma solução forma de correção a manutenção automática da norma do
para estimação da atitude e velocidade angular de satéli- quatérnio. Entretanto, o autor verifica que o observador
tes, em meio à parametrização por quatérnio. diverge quando a parte escalar do quatérnio muda de sinal.
Em (Koprubasi and Theint, 2006b) o mesmo observador é
O controle de atitude já foi extensivamente estudado nas apresentado com a abordagem multiplicativa para correção
décadas passadas, estando hoje em teoria resolvido quando do erro. Nos dois casos a prova de estabilidade é deixada
é assumido que as variáveis de estado, atitude e veloci- para um trabalho futuro, sendo verificada nos trabalhos
dade angular, são conhecidas (Guerrero-Castellanos et al., apenas por simulações Monte Carlo.
2010). Portanto, na prática a precisão de apontamento
do ADCS depende fortemente da precisão da estimação Quanto ao método de correção do quatérnio nos obser-
do estado do sistema. Magnis and Petit (2017) também vadores de estado, é predominante a adoção da forma
comentam que a maioria dos métodos de controle de ori- multiplicativa, como no trabalho de Zhong et al. (2013)
entação requerem a informação de velocidade angular. que apresenta um observador de estado estendido para

2788 DOI: 10.17648/sbai-2019-111564


estimação da velocidade angular e de perturbações do 2.2 Modelo Dinâmico
modelo. Assim como em (Crassidis et al., 2007) que é apre-
sentada uma pesquisa com diversos métodos de estimação Considerando o satélite como um corpo rı́gido e o sistema
de atitude e velocidade angular de satélites, dentre eles um de referencia F b fixo com origem no seu centro de massa,
observador de estado não linear. Este utiliza um sensor chega-se a equação diferencial (Ruiter et al., 2012)
de velocidade angular e estima o desvio caracterı́stico do
ω̇ = −J−1 ω × Jω + J−1 u, (5)
sensor. Um observador com abordagem similar é detalhado
em (Guerrero-Castellanos et al., 2010). onde u é o torque externo total, ω é a velocidade angular
de F b em relação ao sistema inercial F g , J é a matriz do
Nesse contexto, dada a lacuna quanto às pesquisas de momento de inércia sobre a origem de F b e J−1 é a sua
observadores com correção do erro do quatérnio de forma inversa.
aditiva, a contribuição desse trabalho consiste em uma
implementação do observador de Luenberger para sistemas Eixo principal de inércia: Uma vez que J é real, si-
não lineares (Mora et al., 2000) na estimação de atitude métrica e definida positiva, pode-se diagonalizá-la por
e velocidade angular em nanossatélites. O observador é uma transformação de similaridade, resultando em um
simulado paralelamente com uma abordagem do EKF sistema de referência fixo no nanossatélite de tal forma
(Ruiter et al., 2012) e se mostra uma alternativa de menor que a matriz do momento de inércia é diagonal, J =
complexidade. diag3i=1 [Jpx Jpy Jpz ]. Assim (5) pode ser reescrita como
Organização do texto: na seção 2 é apresentado o modelo ω̇x = −ωy ωz (Jpz − Jpy )/Jpx + ux /Jpx
do sistema. Na seção 3 é apresentado o filtro de Kalman ω̇y = −ωx ωz (Jpx − Jpz )/Jpy + uy /Jpy (6)
utilizado para fins de comparação. Na seção 4 é apre-
ω̇z = −ωx ωy (Jpy − Jpx )/Jpz + uz /Jpz ,
sentado o observador de Luenberger para sistemas não
lineares. Na seção 5 é apresentada a implementação do onde ω = [ωx ωy ωz ] e u = [ux uy uz ].
observador de Luenberger ao modelo do nanossatélite. Na
seção 6 são apresentados os resultados de simulação para 3. FILTRO DE KALMAN ESTENDIDO COM
ambos os estimadores. Por fim, na seção 7 são apresentadas RESTRIÇÃO DE NORMA
as considerações finais.
Esta seção apresenta uma adaptação do EKF descrito por
2. MODELO DO CUBESAT UTILIZANDO Ruiter et al. (2012), no intuito de comparar os resultados
QUATÉRNIO com o observador em estudo. Uma simplificação é feita
na equação de saı́da do modelo apresentado, já que o
O quatérnio é uma extensão dos números complexos, presente trabalho considera o quatérnio disponı́vel. O
dado por uma parte escalar (real) e uma parte vetorial equacionamento ainda restringe o ganho da correção do
(imaginária), definido como quatérnio para prover a restrição q T q = T  + η 2 = 1.
q = x i + y j + z k + η, (1) O modelo não linear do movimento de atitude em espaço
onde i2 = j2 = k2 = −1, ij = −ji = k, jk = −kj = i e de estados obtido de (3) e (5), e incluindo perturbações,
ki = −ik = j. Visando a implementação computacional, pode ser escrito como
este trabalho utiliza a representação matricial em termos ẋ = fa (x, u, δ) (7)
dos elementos do quatérnio
  y = h(x) + v, (8)
 T  T T T
q= = [x y z η] . onde x = ω  η , u é o torque de controle, δ e v são
η
perturbações. A função
Para representar uma rotação o quatérnio satisfaz a res-  −1
J [−ω × Jω + u + δ]

trição
T  + η 2 = 1. (2) 1
(ηI + × )ω
 
fa (x, u, δ) =  2
, (9)
1 T
 
2.1 Modelo Cinemático por Quatérnio −  ω
2
 T T
Considere um referencial fixo no satélite F b que gira e a função de saı́da h(x) = q =  η .
em relação a um referencial inercial F g com velocidade
angular ω. A expressão que relaciona a taxa de variação Inicialmente discretizando (7) pela aproximação de Euler
da atitude com a velocidade angular do corpo, na forma (backward difference), obtém-se
matricial é dada como (Ruiter et al., 2012) xk = xk−1 + T fa (xk−1 , uk−1 , δk−1 ) (10)
1 (ηI + × )  ω
    
˙ onde T = tk − tk−1 é o perı́odo de amostragem. Assume-se
q̇ = = (3)
η̇ 2 −T η 0 δk ∼ N (0, Q) e vk ∼ N (0, R) variáveis aleatórias com
onde I é a matriz identidade e distribuição normal, que representam o ruı́do dinâmico
"
0 −z y
# e o ruı́do de medição respectivamente, Q = E[δk δkT ] e
×
 = z 0 −x . (4) R = E[vk vkT ] são as matrizes de covariância, sendo E[·]
−y x 0 a esperança matemática. Assume-se que δk e vk não são
correlacionados.
onde  contém as coordenadas da parte vetorial e η a parte
escalar do quatérnio que representa a atitude (orientação) O modelo discreto linearizado em torno do ponto de
do referencial F b em relação ao referencial F g . operação é dado por (Ruiter et al., 2012)

2789 DOI: 10.17648/sbai-2019-111564


xk = Fk−1 xk−1 + Gk−1 uk−1 + Lk−1 δk−1 A matriz de covariância a posteriori pela forma de Joseph
(11)
yk = Hk xk + Mk vk , é dada por (Ruiter et al., 2012)
sendo Pk = (I − Kk H)P− T T T
k (I − Kk H) + Kk Mk RMk Kk , (22)
  −1 × × 
J [−ω̄k−1 J + (Jω̄k−1 ) ] 0 0 onde  
1 1 × 1 Kω,k
Fk−1 = I + T 
  (η̄k−1 I + ¯×
k−1
) − ω̄ ω̄ 
k−1  Kk = . (23)
2 2 k−1 2 Kq,k
1 T 1 T
− ¯k−1 − ω̄k−1 0
2 2 A forma de Joseph em (22) evita que erros numéricos levem
(12) à perda de simetria da matriz de covariância estimada Pk .
onde ω̄k−1 , ¯k−1 , η̄k−1 representam o ponto de operação
da linearização corrente, e ainda 4. OBSERVADOR DE LUENBERGER PARA
 
T J−1 SISTEMAS NÃO LINEARES
Lk−1 =  0  , (13)
0 Com o objetivo de subsidiar a implementação do obser-
  vador objeto desse trabalho, esta seção apresenta uma
enquanto que a matriz Hk = 0(4×3) I4 , onde I é a adaptação de (Mora et al., 2000), que propõe um obser-
matriz identidade e 0 é a matriz nula, sendo os ı́ndices vador de estado para sistemas não lineares, com múltiplas
as dimensões. Por fim a matriz Mk = I4 . entradas e múltiplas saı́das (MIMO). Nele é explorada a
propriedade drift-observability na construção de um obser-
3.1 Etapa de Predição vador exponencial que trabalha com uma ampla classe de
sistemas na forma
A etapa de predição obtém a estimativa a priori x̂− k ẋ(t) = f (x(t)) + g(x(t))u(t)
pela propagação de x̂k−1 utilizando o modelo do sistema. (24)
y(t) = h(x(t)),
Assim, a partir de (10), considerando perturbações nulas,
temos onde x(t) ∈ X ⊆ Rn , u(t) ∈ U ⊆ Rp , y(t) ∈ Rq . Assim
como g(x) = [g1 (x), ..., gp (x)] é uma matriz cujas colunas
x̂−
k = x̂k−1 + T fa (x̂k−1 , uk−1 , 0). (14) são campos vetoriais C k (X), f (x) é um campo vetorial
Para métodos de maior precisão, ver (Ruiter et al., 2012). C k (X) e h(x) também é um campo vetorial C k (X), onde
k é um inteiro que permite todas as derivadas necessárias.
A covariância a priori é calculada utilizando as matrizes O observador proposto para o sistema (24) é
do modelo discreto linearizado, ou seja
x̂˙ = f (x̂) + g(x̂)u + Q−1 (x̂)K(y − h(x̂)), (25)
P− T − T
k = Fk−1 Pk−1 Fk−1 + Lk−1 Qk−1 Lk−1 (15) s̄
 − onde K e Qs̄ (x) serão descritos a seguir.
− 
P− k = P1,k P2,k . (16)
O particionamento de P− é necessário para o passo de 4.1 Preliminares
k
correção, devido à restrição de magnitude do quatérnio.
Definição 1. Uma função λ(x) é dita ser de crescimento
linear afim (affine linear growth) em uma região S, se
3.2 Etapa de Correção
existem constantes γ e b tais que ||λ(x1 ) − λ(x2 )||2 ≤
γ 2 ||x1 − x2 ||2 + b2 , ∀x1 , x2 ∈ S.
Conhecida a estimativa a priori do estado x̂− k , a etapa de
correção refina a estimativa incorporando a medição yk . Atendem a esta definição as funções uniformly Lipschitz
Ruiter et al. (2012) apresenta o equacionamento para a em S com b = 0.
velocidade angular
A derivada de Lie de ordem k de uma função escalar λ(x)
ω̂k = ω̂k− + Kω,k (yk − ŷk− ), (17) ao longo de um campo vetorial f (x) pode ser definida
onde ŷk− = hk (x̂− −
k , 0) = Hk xk é a predição da saı́da, yk é recursivamente por
a medição atual, e Kω,k é o ganho de Kalman relativo a L0f λ(x) , λ(x)
velocidade angular dado por
T ∂Lk−1 (26)
f
Kω,k = P− T −1
1,k Hk Wk , (18) Lkf λ(x) , f (x), k = 1, 2, ...
∂x
com
Wk = Hk P− T
k Hk + Mk Rk Mk .
T
(19) Para cada saı́da j = 1, ..., q, defini-se a função vetorial
h iT
O autor obtém o ganho de Kalman para a correção do s s −1
Φj j (x) , hj (x) Lf hj (x) ... Lfj hj (x) , (27)
quatérnio a partir de um problema de otimização, devido
à restrição qkT qk = 1, resultando em sendo
Pq s̄ = (s1 , ..., sq ) um ı́ndice múltiplo de forma que
j=1 j = n, possibilitando a obtenção do mapa
s
 
1 1
Kq,k = K̃q,k + − 1 q̃k rTk Wk−1 , (20) T
rk ||q̃k || Φs̄ , Φs11 (x)T ... Φsqq (x)T .

(28)
T
onde K̃q,k = P− T −1 −
2,k Hk Wk , rk = yk − hk (x̂k , 0) é o
Definindo o vetor de derivadas da saı́da como
T
Ys̄ = y1 ... y1s1 −1 ... yq ... yqsq −1

T −1 − , (29)
resı́duo de medição, rk = rk Wk rk e q̃k = q̂k + K̃q,k rk .
Desta forma, o quatérnio é dado por se u ≡ 0, temos que Ys̄ = Φs̄ (x), e então a inversão do
1 mapa Φs̄ possibilita a reconstrução do estado a partir da
q̂k = q̃k = q̂k− + Kq,k rk . (21)
||q̃k || saı́da Ys̄ .

2790 DOI: 10.17648/sbai-2019-111564


Definição 2. Um mapa Φs̄ (x) é dito um mapa de obser- A estabilidade do observador exponencial (25) para o
vabilidade em uma região Ω ⊆ Rn se é um difeomorfismo sistema (24) é relacionada com a existência de solução para
em um conjunto aberto que contém ou coincide com Ω. a inequação matricial do tipo Riccati H∞
O sistema que admite o mapa de observabilidade para um (As̄ − KCs̄ )P + P(As̄ − KCs̄ )T + Bs̄ BTs̄
dado s̄ é dito ser drift-observable em Ω. (40)
+ρFs̄,r̄ FTs̄,r̄ + 2αP + γ 2 P2 ≤ 0
Dessa forma, se Φs̄ (x) é um mapa de observabilidade, onde as constantes positivas: ρ é relacionado a um limi-
então o seu Jacobiano tante da entrada uM , ||u|| ≤ uM , α é a taxa de decaimento
∂Φs̄ (x) exponencial desejada para o erro do observador e γ é rela-
Qs̄ (x) , (30)
∂x cionado as funções L̄s̄ (z) e H̄s̄,r̄ (z) segundo a definição 1,
é não singular, e dado o mapa z = Φs̄ (x) existe a inversa K ∈ Rn×q e P ∈ Rn×n são matrizes a serem determinadas.
x = Φ−1 s̄ (z) na região Ω. Geralmente o mapa inverso Φs̄
−1
Definição 5. O par (K, P) é chamado de par solução
é de difı́cil obtenção, enquanto que o seu jacobiano pode estabilizadora se satisfaz (40).
ser facilmente calculado (Mora et al., 2000)
∂Φ−1 Em (Mora et al., 2000) são apresentados vários teoremas
s̄ (z)
|z=Φs̄ (x) = Q−1s̄ (x) (31) relacionados a existência de um par solução estabilizadora
∂z (K, P). Entretanto para o sistema em análise, aplica-se
Definição 3. Um sistema é dito uniformly Lipschitz drift- principalmente o Teorema 6 a seguir.
observable em uma região Ω ⊆ Rn , se é drift-observable
em Ω e os mapas Φs̄ e Φ−1 são uniformemente Lipschitz, Teorema 6. Se s̄ ≤ r̄ (em termos de componentes) para

respectivamente em Ω e Φs̄ (Ω). Se Ω ≡ R o sistema é qualquer trio positivo (ρ, α, γ), a inequação matricial do
chamado globally uniformly Lipschitz drift-observable. tipo Riccati H∞ (40) admite um par solução estabilizadora
(K, P).
Definição 4. O grau relativo de observação rj , da saı́da j,
do sistema em uma região Ω ⊆ Rn é um inteiro de tal Observação 7. Seja a estrutura de K bloco diagonal
T
modo que K = diagqj=1 [Kj ], Kj = kj,1 ... kj,sj ,

(41)
∀x ∈ Ω : Lg Lsf hj (x) = 0, s = 0, 1, ..., rj − 2 de forma que As̄ − KCs̄ se encontra em blocos na forma
r −1 (32)
∃x ∈ Ω : Lg Lfj hj (x) 6= 0 companheira, onde Kj (λ̄j ) denota o vetor de ganhos que
aloca os autovalores λ̄j = (λj,1 , ..., λj,sj ) do bloco j, (Aj −
onde r̄ = (r1 , ..., rq ) é o vetor de grau relativo de observa- Kj Cj ). Se os autovalores de cada bloco são distintos,
ção. estes blocos podem ser diagonalizados por uma matriz
de Vandermonde, V(λ̄j ). Dessa forma, a matriz (As̄ −
A aplicação da transformação de coordenadas z = Φs̄ (x), KCs̄ ) pode ser diagonalizada pela matriz bloco Vander-
no sistema (24), resulta em monde Vs̄ (λ̄) , diagqj=1 [V(λ̄j )], onde λ̄ = (λ̄1 , ..., λ̄q )
ż = As̄ z + Bs̄ L̄s̄ (z) + Fs̄,r̄ H̄s̄,r̄ (z)u são os autovalores atribuı́dos a As̄ − KCs̄ . Seja um pa-
(33)
y = Cs̄ z, râmetro positivo w, considere o conjunto de autovalo-
onde As̄ , Bs̄ e Cs̄ são matrizes bloco diagonais, As̄ = res λ̄j = λ̄j (w) = (−w, ..., −wsj ), o que resulta em
diagqj [Aj ], Bs̄ = diagqj [Bj ] e Cs̄ = diagqj [Cj ], sendo as λ̄(w) = (λ̄1 (w), ..., λ̄q (w)). Considere ainda K(w) a ma-
matrizes  triz de ganhos conforme (41), que aloca os autovalores
λ̄(w) da matriz (As̄ −K(w)Cs̄ ), esta última diagonalizável
  
0(sj −1)×1 I(sj −1)×1 0(sj −1)×1
Aj = , Bj = , pela matriz bloco Vandermonde Vs̄ (λ̄(w)). Nas provas
0 0(sj−1)×1 1 (34)
  dos teoremas é mostrado que o par (K(w), P(w)), com
Cj = 1 01×(sj −1) , P(w) = (Vs̄T (w)Vs̄ (w))−1 , resolve a inequação matricial
e ainda do tipo Riccati H∞ para um valor suficientemente grande
L̄s̄ (z) , Ls̄ (Φ−1
s̄ (z)),
de w (Mora et al., 2000).
 s1 s T (35)
Ls̄ (x) , Lf h1 (x) ... Lfq hq (x) , 4.2 Convergência do observador
enquanto
H̄s̄,r̄ (z) , Hs̄,r̄ (Φ−1
s̄ (z)),
As suposições para a existência do observador exponencial
T (36) (25) é a drift-observability (Definição 2) e a suposição mais
Hs̄,r̄ (x) , H1 (x) ... HTq̄ (x) ,
 T
técnica da uniform Lipschitz drift-observability (Definição
onde 3), juntamente com as seguintes Hipóteses (Mora et al.,
h
r −1 s −1
iT 2000):
Hj (x) , Lg Lfj hj (x), ..., Lg Lfj hj (x) . (37)
Hipótese 8. As funções matriciais L̄s̄ (z) e H̄s̄,r̄ (z) defini-
A matriz Hj (x) tem dimensão dj × p, com dj , sj − rj + 1. das em (35) e (36) são de crescimento linear afim em uma
Por fim a matriz região S (definição 1).
diagq̄j=1 [Sj ]
   
0 Hipótese 9. As funções matriciais L̄s̄ (z) e H̄s̄,r̄ (z) defini-
Fs̄,r̄ , Sj = (rj −1)×dj , (38) das em (35) e (36) respectivamente são uniformly Lipschitz
0v̄×d Idj
Pq̄ em uma região S.
onde Fs̄,r̄ tem dimensão n×d, sendo d = j=1 dj , o ı́ndice
Pq
v̄ = j=q̄+1 sj , e Idj é a matriz identidade dj × dj . Em A Hipótese 9 é um caso particular de 8.
coordenadas z, o observador (25) torna-se Em (Mora et al., 2000) são apresentados vários teoremas
ẑ˙ = As̄ ẑ + Bs̄ L̄s̄ (ẑ) + Fs̄,r̄ H̄s̄,r̄ (ẑ)u + K(y − Cs̄ ẑ). (39) acerca da estabilidade do observador, todos supõem que

2791 DOI: 10.17648/sbai-2019-111564


a Hipótese 8 é atendida. Os autores apresentam um teo- Considerando o quatérnio medido, pode-se escrever a equa-
rema da estabilidade global, para isso assume-se também ção de saı́da como
que o sistema (24) é globally uniformly Lipschitz drift- T
observable (Definição 3). No caso geral, é exposto que as y = h(x) = [x y z η] . (46)
condições para a existência de um observador exponencial Então, é realizada a construção do mapa de observabili-
não incluem a observabilidade para qualquer entrada, mas dade Φs̄ (x), a partir de múltiplas derivadas de Lie da saı́da
apenas a drift-observability. O limite uM , ||u|| ≤ uM , yj , j = 1, ..., 4, como apresentado em (26), (27) e (28). O
imposto à entrada é que exclui as entradas que possam multi ı́ndice s̄ = (s1 , ..., s4 ) deve produzir um mapa Φs̄ (x)
impedir a recuperação de algumas variáveis de estado do que represente P todas as variáveis de estado a partir da
sistema. Entretanto, se o sistema (24) é tal que o multi q
saı́da e atenda j=1 sj = n. No caso especifico é adotado
ı́ndice s̄ ≤ r̄, para qualquer limite dado uM na entrada e
taxa de decaimento desejada α, pode ser encontrado um s̄ = (2, 2, 2, 2), e assim obtém-se
ganho K que garanta a convergência exponencial do erro 
x

de observação. No caso do sistema atender a Hipótese 8 (y ωz − z ωy + x ωη + ηωx )/2
a convergência ocorre para um limite assintótico desejado  y 
qualquer, no caso do sistema atender a Hipótese 9 o erro
 
(z ωx − x ωz + y ωη + ηωy )/2
converge para zero. Φs̄ (x) =  . (47)
 z 
(x ωy − y ωx + z ωη + ηωz )/2
 
5. OBSERVADOR DE LUENBERGER APLICADO NA 
η

ESTIMAÇÃO DOS ESTADOS DO SATÉLITE (ηωη − y ωy − z ωz − x ωx )/2
Com o objetivo de implementar o observador apresentado Consequentemente o jacobiano associado ao mapa Φs̄ (x)
na seção 4, equação (25), algumas mudanças no modelo pode ser obtido a partir de (30)
do sistema são necessárias. Inicialmente, a partir de (3),
escreve-se
1 (ηI + × )  ω 2 0 0 0 0 0 0 0
      

= , (42)  ωη η ωz −z −ωy y ωx x 
η̇ 2 −T η ωη  0 0 2 0 0 0 0 0
onde ωη é uma nova variável de estado identicamente 
1

−ωz z ωη η ωx −x ωy y 
nula, com dinâmica também nula ω̇η = 0 e criada com o Qs̄ (x) = 
  , (48)
objetivo de conferir inversibilidade à matriz Qs̄ (x). Assim, 2 0 0 0 0 2 0 0 0
 ωy −y −ωx x ωη η

ωz z 
realizando o produto em (42)
0 0 0 0 0 0 2 0
 
˙x y ωz − z ωy + x ωη + ηωx
   
−ωx −x −ωy −y −ωz −z ωη η
˙y  1 z ωx − x ωz + y ωη + ηωy 
˙  =  ω −  ω +  ω + ηω  . (43)
Considerando que q T q = 1, verifica-se que o determinante
z 2 x y y x z η z
η̇ ηωη − y ωy − z ωz − x ωx de Qs̄ (x) é constante, então
Escrevendo na forma geral apresentada em (24), a partir
∀x ∈ Ω ⊂ R8 tal que q T q = 1 : ∃ Q−1
s̄ (x). (49)
da cinemática (43) e da dinâmica simplificada pelo eixo
principal de inércia (6), com o vetor de estado x = Portanto, o sistema pode ser dito globally uniformly Lips-
T
[x ωx y ωy z ωz η ωη ] , obtém-se chitz drift-observable em Ω, conforme definição 3.
(y ωz − z ωy + x ωη + ηωx )/2
 
O grau relativo do sistema pode ser calculado para cada
 −ωy ωz (Jpz − Jpy )/Jpx  saı́da yj conforme (32), resultando r̄ = (2, 2, 2, 2). Assim
( ω −  ω +  ω + ηω )/2
 z x x z y η y  para o sistema em estudo r̄ = s̄, atendendo ao Teorema
 −ωx ωz (Jpx − Jpz )/Jpy  6, isso resulta em uma caracterı́stica importante para o
f (x) =   (44)
( x ω y −  y ωx +  z ωη + ηω z )/2  mapa Φs̄ (x). Considere as derivadas de primeira ordem
−ωx ωy (Jpy − Jpx )/Jpz
 
  das saı́das do sistema para o caso de r̄ = s̄
(ηωη − y ωy − z ωz − x ωx )/2
 
0 yj = hj (x),
T  T T ẏj = Lf hj (x) + Lg hj (x) u, (50)
onde ω = [ωx ωy ωz ] e q =  η são respectivamente | {z }
0
a velocidade angular e a atitude, de forma que x ∈ Ω ⊂ R8
tal que q T q = 1. Em seguida a função g(x) pode ser escrita Sabendo que o vetor de derivadas da saı́da (29) é dado
como T
por Y = [y1 ẏ1 ... y4 ẏ4 ] e Lg hj (x) = 0 (grau relativo
0 0 0
 
rj = 2 ), para j = 1, ..., 4 , temos que Y = Φs̄ (x) mesmo
1/Jpx 0 0  para u 6= 0, dessa forma a drift-observability garante a
 0 0 0 

 0 1/Jpy 0 
 recuperação do estado para qualquer limitante da entrada
g(x) = [g1 g2 g3 ] =   , (45) dado uM , ||u|| ≤ uM , ∀t ≥ 0.
 0 0 0 
Utilizando a transformação z = Φs̄ (x) no sistema (24)

 0 0 1/Jpz 

0 0 0
 considerando (44) e (45), chega-se à forma em coordenadas
T
0 0 0 z em (33), com z = [x ˙x y ˙y z ˙z η η̇ ] e as matrizes
T
e a entrada do sistema u = [ux uy uz ] é o torque de bloco diagonais A = diag4j=1 [Aj ], B = diag4j=1 [Bj ],
controle aplicado aos três eixos do satélite. F = diag4j=1 [Sj ] e C = diag4j=1 [Cj ], sendo as matrizes

2792 DOI: 10.17648/sbai-2019-111564


   
01 0 normal e média nula. Dessa forma, assumindo também que
Aj = , Bj = , Cj = [1 0] ,
00 1 os elementos dos vetores vk (ruı́do de sensores) e δk (ruı́do
  (51) de estado) não são correlacionados, obtém-se matrizes de
0
Sj =
1
, j = 1, ..., 4. covariâncias diagonais, sendo R = E[vk vkT ] = diag4i=1 [σv2 ]
e Q = E[δk δkT ] = diag7i=1 [σδ2 ], assim considerando as
A dinâmica do erro de estimação é definida pelos autova- perturbações normalmente encontradas em CubeSats é
lores de As̄ − KCs̄ . Assumindo que é desejável a mesma atribuı́do um desvio padrão σδ . Já a covariância estimada
dinâmica para o erro dos quatro elementos do quatérnio, relativo ao erro do chute inicial pode ser dada por P0 =
assim como também para o erro dos elementos da veloci- E[(x0 − x̂0 )(x0 − x̂0 )T ] (Ruiter et al., 2012), essa confere a
dade angular, é adotado o vetor de ganho K da seguinte velocidade inicial de convergência do filtro, não possuindo
forma influencia no regime permanente. Assim, tendo em vista
T
K = diag4j=1 [Kj ], Kj = [k1 k2 ] , (52) a expectativa de baixa velocidade angular e a restrição
de modo que de norma do quatérnio, fez-se P0 = diag7i=1 [0, 52 ]. O
  observador de Luenberger foi parametrizado com w = 0, 4,
−k1 1 resultando em ganhos conforme (54).
Aj − Kj Cj = , j = 1, ..., 4 (53)
−k2 0
onde os blocos (Aj − Kj Cj ), para j = 1...4, são iguais As Figuras 1, 2 e 3 apresentam os gráficos com os resul-
e os seus autovalores são dados pelas raı́zes do polinômio tados da simulação para o EKF e para o observador de
λ2 + k1 λ + k2 = 0. Os vetores de ganho são determinados Luenberger. Analisando a Figura 1, verifica-se uma conver-
conforme observação 7 fazendo os autovalores λ̄j (w) = gência rápida da atitude estimada com eliminação de parte
do ruı́do de sensor. Na Figura 2 é apresentado o gráfico
(−w, −w2 ). Então
da velocidade angular, onde percebe-se uma convergência
k1 = −λj,1 − λj,2 = w + w2 , mais rápida do EKF frente ao observador, embora após
(54) o transitório, os resultados sejam equivalentes. Por meio
k2 = (−λj,1 )(−λj,2 ) = w3 ,
dos resı́duos de estimação mostrados na Figura 3, pode-se
de forma que a matriz As̄ − KCs̄ se encontra em blocos na
identificar o tempo de convergência de aproximadamente
forma companheira e pode ser diagonalizada pela matriz
10s para o EKF e 20s para o observador. Verifica-se tam-
de Vandermonde Vs̄ (w) = diag[Vj (w)], sendo
    bém, que o torque de perturbação constante utilizado não
λj,1 1 −w 1 produziu desvio visı́vel na estimativa.
Vj (λ̄j ) = = .
λj,2 1 −w2 1
Confirmando os resultados de (Koprubasi and Theint,
Com P(w) = (Vs̄T (w)Vs̄ (w))−1 , o par (K(w), P(w)) 2006a) para outro observador com correção do erro aditivo,
resolve a inequação matricial do tipo Riccati H∞ (40), o observador proposto também corrige automaticamente a
para um valor suficientemente grande de w. norma do quatérnio de forma que q T q = 1.

5.1 Discretização Na configuração do EKF, o incremento da covariância


do ruı́do de estado Q aumenta o ganho de Kalman,
aumentando a robustez a perturbações do modelo em
Uma forma de discretizar a equação (25) é pela aproxima-
sacrifı́cio da capacidade de eliminar os ruı́dos dos sensores.
ção de Euler (backward difference), que resulta em
A inicialização correta da matriz Pk produz um ganho de
x̂k = x̂k−1 + T [f (x̂k−1 ) + g(x̂k−1 )uk−1 ]+ Kalman inicial elevado, propiciando rápida convergência
(55)
+ T Q−1
s̄ (x̂k−1 )K(qk−1 − q̂k−1 ),
no inı́cio da estimação. Em regime permanente o ganho
onde T = tk − tk−1 é o perı́odo de amostragem, sendo a de Kalman é influenciado positivamente pela matriz Q e
saı́da medida yk = qk e a estimada ŷk = h(x̂k ) = q̂k . negativamente pela matriz R. Também, o incremento de
w no observador de Luenberger resulta em maior robustez
a perturbações do modelo em sacrifı́cio da capacidade de
6. SIMULAÇÕES E RESULTADOS eliminar os ruı́dos dos sensores. Como o observador possui
ganho fixo, o tempo de convergência do vetor de estado
O sistema é simulado sem controlador, assim ele se mo- estimado varia inversamente com o valor do ganho.
vimenta livremente com interferência apenas de uma per-
turbação constante. Considera-se que o satélite já foi es-
tabilizado e gira com baixa velocidade angular, iniciando Tabela 1. Parâmetros de Simulação.
o modo de operação nominal, onde para o CONASAT é
definida a taxa de amostragem de 1 Hz. Sı́mbolo Valor Unidade Sı́mbolo Valor Unidade
Jx 0,0547 kg m2 δx −1×10−5 Nm
A Tabela 1 apresenta os parâmetros de simulação uti- Jy 0,0519 kg m2 δy 5×10−6 Nm
lizados. Adota-se um torque de perturbação constante Jz 0,0574 kg m2 δz 1×10−5 Nm
δk = [δx δy δz ], com o objetivo de avaliar a robustez dos x (0) 0.3415 − ˆx (0) 0,0000 −
métodos a perturbações com médias não nulas. Já o ruı́do y (0) -0.4085 − ˆy (0) 0,0000 −
de sensor vk é um ruı́do branco com média nula e desvio z (0) 0.3415 − ˆz (0) 0,0000 −
padrão σv , o valor utilizado é superior ao adotado por η(0) 0.7745 − η̂(0) 1,0000 −
(Ruiter et al., 2012). ωx (0) 0.0330 rad/s ω̂x (0) 0,0000 rad/s
ωy (0) 0.0670 rad/s ω̂x (0) 0,0000 rad/s
Embora δk tenha sido feito constante na simulação, o equa- ωz (0) -0.1300 rad/s ω̂x (0) 0,0000 rad/s
cionamento do filtro de Kalman assume o ruı́do de sensor σv 0,0400 − T 1,0000 s
e o ruı́do de estado com distribuição de probabilidade σδ 0,0001 − − − −

2793 DOI: 10.17648/sbai-2019-111564


1
Modelo
1 7. CONCLUSÃO
EKF
0.5 Luenberger 0.5
A simulação se mostrou estável, mesmo na ocorrência de
inversão do sinal dos elementos do quatérnio, confirmando
1

2
0 0
os resultados de estabilidade do observador. Em termos de
-0.5 -0.5 implementação, apresenta-se como uma opção mais sim-
ples quando comparado ao EKF, possui equacionamento
-1 -1 com menor número de variáveis e de operações matemá-
0 20 40 60 0 20 40 60 ticas, já que não calcula a covariância estimada como no
tempo (s) tempo (s)
filtro. Em termos de configuração, ele apresenta apenas
um parâmetro de ajuste de ganho. Por outro lado, o EKF
1 1
apresenta a necessidade de configuração das três matrizes
0.5 0.5 de covariância. É verificado também um bom desempenho
do observador frente ao EKF implementado. Quanto a ve-
locidade de convergência, o EKF possui vantagem devido
3

0 0
ao ganho de Kalman variável, que apresenta um alto valor
-0.5 -0.5 inicial. Entretanto, um tempo de convergência um pouco
menor não é muito significante para a nossa aplicação.
-1 -1
0 20 40 60 0 20 40 60
tempo (s) tempo (s) REFERÊNCIAS

Figura 1. Estimação dos elementos do quatérnio. Carrara, V., Kuga, H.K., Bringhenti, P.M., and de Carva-
lho, M.J. (2014). Attitude determination, control and
operating modes for conasat cubesats. In 24th Interna-
0.1 Modelo tional Symposium on Space Flight Dynamics (ISSFD),
EKF
(rad/s)

Luenberger
Laurel, Maryland.
0 Crassidis, J.L., Markley, F.L., and Cheng, Y. (2007). Sur-
vey of nonlinear attitude estimation methods. Journal
z

-0.1 of guidance, control, and dynamics, 30(1), 12–28.


0 10 20 30 40 50 60 70
Guerrero-Castellanos, J.F., Madrigal-Sastre, H., Guerrero-
tempo (s) Sánchez, W.F., and Salmerón-Quiroz, B.B. (2010). A
robust nonlinear observer for rigid body attitude estima-
0.1 tion. In 2010 7th International Conference on Electrical
Engineering Computing Science and Automatic Control,
(rad/s)

0 192–198. doi:10.1109/ICEEE.2010.5608618.
Koprubasi, K. and Theint, M..L. (2006a). Attitude and
y

-0.1 angular rate estimation using the sliding mode observer


with additive quaternion corrections. In 2006 American
0 10 20 30 40 50 60 70 Control Conference, 6 pp.–. doi:10.1109/ACC.2006.
tempo (s) 1657227.
0.1
Koprubasi, K. and Theint, M..L. (2006b). Attitude and
angular rate estimation using the sliding mode observer
(rad/s)

0
with multiplicative quaternion corrections for the coo-
perative astrophysics technology satellite (catsat). In
2006 American Control Conference, 6 pp.–. doi:10.1109/
x

-0.1
ACC.2006.1656470.
0 10 20 30 40 50 60 70
Magnis, L. and Petit, N. (2017). Angular velocity and
tempo (s) torque estimation from vector measurements. IFAC-
PapersOnLine, 50(1), 9000–9007. doi:10.1016/j.ifacol.
Figura 2. Estimação dos elementos da velocidade angular. 2017.08.1579.
Mora, M.D., Germani, A., and Manes, C. (2000). Design of
state observers from a drift-observability property. IEEE
0.08 EKF Transactions on Automatic Control, 45(8), 1536–1540.
Luenberger
doi:10.1109/9.871767.
0.06
Ruiter, A.H., Damaren, C., and Forbes, J.R. (2012). Space-
0.04 craft dynamics and control: an introduction. John Wiley
& Sons.
0.02 Zhong, C., Lai, A., Guo, Y., and Chen, Q. (2013). On
attitude maneuver control of flexible spacecraft without
0 10 20 30 40 50 60 70
angular velocity sensors. In Proceedings of the 2013
tempo (s) IEEE/SICE International Symposium on System Inte-
gration, 318–323. doi:10.1109/SII.2013.6776646.
Figura 3. Resı́duos de estimação.

2794 DOI: 10.17648/sbai-2019-111564

Powered by TCPDF (www.tcpdf.org)

Vous aimerez peut-être aussi