Está en la página 1de 49

CONTROL DE ORIENTACIÓN POR MEDIO DE

RUEDAS DE REACCIÓN PARA NANO-SATÉLITE


CUBESAT DE 1U

Autor: Laudis Luz Suca Vilca

Asesor: Mag. Josue Manuel Pareja Contreras

Tesis profesional presentada a la Escuela Profesional de In-


genierı́a Electrónica y de Telecomunicaciones como parte de
los requisitos para obtener el Tı́tulo Profesional de Ingeniero
Electrónico y de Telecomunicaciones

Julio 2023
2
Índice general

Abstract 1

Resumen 3

1. Introducción 5
1.1. Motivación y contexto . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2. Objetivos especı́ficos . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1. Lı́nea(s) de investigación . . . . . . . . . . . . . . . . . . . . . 6
1.4.2. Tipo de investigación . . . . . . . . . . . . . . . . . . . . . . 6
1.4.3. Métodos para experimentos y pruebas . . . . . . . . . . . . . 6
1.4.4. Formas de comprobación . . . . . . . . . . . . . . . . . . . . 7
1.5. Consideraciones Complementarias . . . . . . . . . . . . . . . . . . . 7
1.5.1. Recursos y Materiales . . . . . . . . . . . . . . . . . . . . . . 7
1.5.2. Cronograma de Trabajo . . . . . . . . . . . . . . . . . . . . . 8

2. Marco Teórico 9
2.1. Modelamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1. Sistema de referencia . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2. Cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3. Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.4. Torques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. Control de orientación . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1. Control LQR (Linear Quadratic Regulator) . . . . . . . . . . 14
2.2.2. Controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3. Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Determinación de orientación . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1. Sensores de Unidad de Medición Inercial (IMU) . . . . . . . . 16
2.3.2. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.3. Filtro Complementario . . . . . . . . . . . . . . . . . . . . . . 19

3. Estado del Arte 21


3.1. Attitude Controller-Observer Design for the NTNU Test Satellite
[Alv13] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Attitude Control System Design for ION, The Illinois Observing Na-
nosatellite [Gre04] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3. Attitude determination and control system of a nanosatellite [Sch07] 22
3.4. Design and Testing of a Nanosatellite Simulator Reaction Wheel At-
titude Control System [Lon14] . . . . . . . . . . . . . . . . . . . . . . 23

i
ii ÍNDICE GENERAL

3.5. Conclusiones / Apreciaciones finales / Miscelánea . . . . . . . . . . . 24

4. Diseño del modelo de control de orientación 25


4.1. Calibración de los sensores . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.1. Calibración del sensor magnetómetro . . . . . . . . . . . . . . 25
4.1.2. Calibración del sensor giroscopio . . . . . . . . . . . . . . . . 26
4.1.3. Calibración del sensor acelerómetro . . . . . . . . . . . . . . . 27
4.2. Implementación del filtro complementario . . . . . . . . . . . . . . . 28
4.3. Configuración de las ruedas de reacción . . . . . . . . . . . . . . . . 29
4.4. Modelamiento del sistema de control de orientación . . . . . . . . . . 29
4.5. Torques de perturbación . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6. Diseño de la estructura . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5. Simulaciones 33
5.1. Simulación del modelamiento del sistema de control . . . . . . . . . 33

6. Conclusiones 35
Índice de figuras

2.1. Sistema de referencia. . . . . . . . . . . . . . . . . . . . . . . . . . . 9


2.2. Haz solar incidente y reflejado [PC20]. . . . . . . . . . . . . . . . . . 13
2.3. Esquema del controlador LQR [BK19]. . . . . . . . . . . . . . . . . . 15
2.4. Controlador PID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5. Microcontrolador ESP8266. . . . . . . . . . . . . . . . . . . . . . . . 17
2.6. Dispositivo IMU. [DH18]. . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7. Medición del movimiento plano del acelerómetro (ejes x, y y z) y la
medición del movimiento de rotación del giróscopo (ejes yaw, pitch y
roll) [Saz20]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8. Sensor MPU6050 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9. Sensor HMC5883 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.10. Esquema del filtro de Kalman [BK19]. . . . . . . . . . . . . . . . . . 20
2.11. Esquema del Filtro Complementario. . . . . . . . . . . . . . . . . . . 20

4.1. Representación gráfica de data calibrada y sin calibrar del magnetóme-


tro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2. Data calibrada y sin calibrar del magnetómetro representada en un
plano de tres dimensiones. . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3. Data calibrada y sin calibrar del magnetómetro representada en un
plano de tres dimensiones. . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4. Señales de los ángulos del acelerómetro . . . . . . . . . . . . . . . . . 28
4.5. Señales de los ángulos del acelerómetro . . . . . . . . . . . . . . . . . 28
4.6. Esquema del filtro complementrio para el eje de giro Roll. . . . . . . 28
4.7. Esquema del filtro complementrio para el eje de giro Pitch . . . . . . 29
4.8. Esquema del filtro complementrio para el eje de giro Yaw . . . . . . 29
4.9. Configuración de 3 ruedas de reacción dispuestas ortogonalmente [SB19]. 29
4.10. Torques de perturbación teniendo en cuenta los peores casos [SB19]. 30
4.11. Diseño de la estructura del prototipo Cubesat de 1U. . . . . . . . . . 30
4.12. Interior del diseño de la estructura del prototipo Cubesat de 1U. . . 31

5.1. Ángulos de giro con x = −30, y = 20 y z = 60 grados. . . . . . . . . 33


5.2. Ángulos de giro con x = 20, y = −15 y z = 70 grados. . . . . . . . . 34
5.3. Ángulos de giro con x = 10, y = 40 y z = −50. grados. . . . . . . . . 34

iii
iv ÍNDICE DE FIGURAS
Índice de cuadros

1.1. Cronograma de actividades . . . . . . . . . . . . . . . . . . . . . . . 8

2.1. Comparación de microcontroladores. [SB19] . . . . . . . . . . . . . . 16

3.1. Tabla comparativa de los atributos de cada trabajo. . . . . . . . . . 24

v
vi ÍNDICE DE CUADROS
Algoritmos

vii
viii ALGORITMOS
Abstract

1
2
Resumen

3
4
Capı́tulo 1

Introducción

1.1. Motivación y contexto


Las aplicaciones que tienen los satélites artificiales en la actualidad son diversas
y variadas, ya sea para comunicaciones, localización GPS, entre otras. Sin embargo,
la inversión económica para su construcción suele ser muy elevada. Por ende, los
CubeSat son una alternativa viable, pues la adquisición de sus componentes y su
construcción es considerablemente menor que los satélites comunes, además que se
pueden construir como proyectos en universidades y otras instituciones interesadas
en temas aeroespaciales.
Un nano-satélite CubeSat, como dispositivo de observación, tiene muchos be-
neficios, y para nuestro entorno puede ser usado en el monitoreo de la extensión
territorial peruana en casos de desastres naturales, lucha contra la deforestación,
minerı́a ilegal, contrabando, subversión y narcotráfico [EPECSZZA19], entre otros.
Para conseguir esto es necesario contar con un sistema de control y determinación
de orientación que permita orientar al cuerpo satelital con una alta precisión hacia
donde se desee.

1.2. Planteamiento del problema


El sistema control y determinación de orientación de un satélite artificial es vi-
tal para que este cumpla con las misiones para el que fue diseñado o asignado,
siendo estas las comunicaciones (con estaciones terrestres u otros satélites), observa-
ción cientı́fica y tecnológica, entre otras. Sin embargo, dichas misiones pueden verse
afectadas por diferentes problemas que aparecen cuando el satélite se encuentra en
órbita, esto debido a las perturbaciones que son propias del entorno espacial como las
radiaciones causadas por el sol, el gradiente gravitatorio, los torques electromagnéti-
cos, el arrastre atmosférico,y si el satélite se encuentra en la órbita baja (300-1200
km) también se verı́a afectado por partı́culas como el oxı́geno monoatómico [HA13],
además se debe considerar que las desviaciones de la orientación pueden ser causadas
por la dilatación térmica, la imperfección de la estructura o las altas velocidades a
las que viaja el satélite. A estos problemas se suman las exigencias que se requiere
de un satélite, como tener una alta precisión al momento de apuntar las antenas
para el envı́o y recepción de información, o para que la carga útil apunte en la direc-
ción correcta con el fin de tomar fotografı́as, evaluar eventos metereológicos, realizar
un monitoreo terrestre en caso de desastres naturales, etc. El sistema de control y
orientación también debe cubrir las necesidades de direccionamiento que requieren
otros sistemas del satélite, como orientar los radiadores térmicos a la zona más frı́a
del espacio, guiar el panel solar en dirección al sol y en caso incluya propulsores,

5
colocarlos en la dirección correcta antes de accionarlos. Por los requerimientos men-
cionados y para solucionar los problemas que se generan en el espacio, es necesario
contar con un sistema de control de orientación preciso que permita dirigir el satélite
hacia donde se demande y logre corregir y/o estabilizar su orientación en caso de
perturbaciones, además que su construcción tenga un costo bajo.

1.3. Objetivos
1.3.1. Objetivo general
Realizar la construcción del sistema de control y orientación para un nano-satélite
cubesat de una unidad (1U), haciendo uso de ruedas de reacción como actuadores
y unidades de medición inercial (IMU, del inglés Inertial Measurement Unit) como
sensores.

1.3.2. Objetivos especı́ficos


1. Derivar de la dinámica del sistema y linearización.

2. Simular del modelo dinámico en Matlab y sı́ntesis del controlador lineal.

3. Determinar la orientación del satélite usando una sensores de unidad de me-


dición inercial (IMU)

4. Implementar la estructura del controlador y su posterior prueba en la plata-


forma Air Bearing.

1.4. Metodologı́a
1.4.1. Lı́nea(s) de investigación
Las lı́nea sectorial de la Escuela Profesional (EP) de Ingenierı́a Electrónica y de
Telecomunicaciones (IET) que encaja con este proyecto es la de control y automati-
zación, debido a que se busca conseguir como resultado final el control y orientación
de un nano-satélite CubeSat.

1.4.2. Tipo de investigación


El presente proyecto de tesis realiza una investigación de tipo desarrollo tec-
nológico, debido a que se realizará el diseño y construcción del sistema de control y
determinación de orientación de un nanosatélite CubeSat de 1U.

1.4.3. Métodos para experimentos y pruebas


Para este trabajo se realizará la implementación del modelamiento matemáti-
co del sistema en el software de Matlab. Posteriormente se realizará el diseño del
sistema en el mismo software y se verificará su correcto funcionamiento mediante
simulaciones. Luego de este proceso se pasará a implementar el prototipo fı́sico, su
desempeño será evaluado en la plataforma de pruebas Airbearing.

6
1.4.4. Formas de comprobación

Se verificará que el controlador sintetizado en la simulación puede mantener la


variable de estado en el valor de referencia . Posteriormente se pasará a comprobar
el controlador en un sistema real, verificando su desempeño en la plataforma de
pruebas Airbearing. Se comprobarán los resultados obtenidos en la simulación con
los resultados del prototipo.

1.5. Consideraciones Complementarias

1.5.1. Recursos y Materiales

Para el diseño e implementación de este sistema serán necesarios los siguientes


materiales y recursos:

1. Matlab: Necesario para la implementación del modelamiento matemático del


sistema, el modelamiento orbital, los algoritmos, bloques de control y las pos-
teriores simulaciones. Ya se cuenta con este software.

2. Impresora 3D: Será usado para imprimir parte de la estructura del CubeSat.
La universidad ya cuenta con este equipo.

3. PLA para impresión 3D: Se usará para el diseño de la estructura de las


ruedas de reacción y otras partes de sistema en general. No se cuenta con este
material.

4. Acrı́lico de 3mm: No se cuenta con este material.

5. Microcontrolador: Arduino DUE. No se cuenta con este dispositivo. Precio


aproximado: 50 dólares americanos.

6. Dispositivo Pololu-MinIMU-9 v5: Dispositivo compuesto por un girosco-


pio, un acelerómetro y magnetómetro encargado de determinar la orientación
del satélite . La universidad ya cuenta con este dispositivo.

7. Motores brushless con controlador Nidec PWM 24H: Se usarán 3


motores de este tipo para el movimiento de las ruedas de reacción. No se
cuenta con estos motores. Precio aproximado: 14 euros cada uno.

8. Plataforma de pruebas Air-Bearing: Será necesario para realizar las prue-


bas fı́sicas cuando se tenga armada la estructura del CubeSat. La universidad
ya cuenta con este equipo.

9. Componentes electrónicos varios: resistencias, transistores MOSFET, con-


versores DC-DC, placa PCB, etc. No se cuenta con todos los componentes.

7
1.5.2. Cronograma de Trabajo

Hito Descripción Fecha inicio Fecha fin


1 Revisión del estado del arte. 04/04/2022 16/04/2022
2 Modelamiento dinámico del sistema. 17/04/2022 30/04/2022
3 Discretización del sistema de control 01/05/2022 21/05/2022
4 Programación en microcontrolador 22/05/2022 11/06/2022
5 Test de hardware in the loop 12/06/2022 25/06/2022
Construcción de plataforma de
6 18/06/2022 18/08/2022
prueba Cubesat de 1U
Pruebas y simulación del
7 controlador en plataforma real 19/08/2022 19/09/2022
(Air bearing)

Cuadro 1.1: Cronograma de actividades

Organización del Presente Documento


El capı́tulo 2 trata del marco teórico, en este se explica la definición de los prin-
cipales conceptos que serán abordados en la este trabajo.

En el capı́tulo 3 se aborda el estado del arte de las diferentes investigaciones


respecto al tema planteado para este trabajo.

8
Capı́tulo 2

Marco Teórico

2.1. Modelamiento
2.1.1. Sistema de referencia
Las definiciones para esta sección de sistema de referencia fueron obtenidas del
libro [GLHVSS+ 16], este documento se usará también para las secciones 2.1.2 y
2.1.3.
El cuerpo elegido para representar al satélite de una unidad (1U) será un cubo
(por estándar tendrá las medidas de x = 0,1m, y = 0,1m y z = 0,1m), este se
observa en la figura 2.1. Al cuerpo elegido se le aplicará análisis en cinemática y
dinámica. Para esta evaluación es necesario determinar el sistema de referencia en
base al que se van a expresar los modelos. Teniendo en cuenta la figura 2.1 b) Fi
representa al marco de referencia inercial, donde el origen es el centro de la tierra;
mientras que Fb representa el marco de referencia del cuerpo, donde el origen es el
centro de la masa del cuerpo.

(a) Marco de referencia del cuerpo.

(b) Marco de referencia iner-


cial.

Figura 2.1: Sistema de referencia.

9
2.1.2. Cinemática
La cinemática estudia el movimiento de los cuerpos, pero no tiene en cuenta
las fuerzas o pares que los producen [MC14]. Sus ecuaciones, para este trabajo, se
encuentran en función de la velocidad angular. La representación de la cinemática
de cuerpos rı́gidos respecto a un marco de referencia se puede representar con los
ángulos de Euler y los cuaterniones.

Ángulos de Euler
Los ángulos de Euler describen la rotación de un cuerpo rı́gido, y son repre-
sentados por la terna (ϕ, θ, ψ) [GPS02]. Estos ángulos, que tendrán giros alrededor
del cuerpo, se pueden determinar de la siguiente manera: Roll(ϕ) ángulo de giro en
torno al eje x, Pitch (θ) ángulo de giro en torno al eje y, y Yaw(ψ) ángulo de giro
en torno al eje z.
Para pasar de un marco de referencia a otro se hace uso de la matriz de rotación,
que está representada con los ángulos de Euler y se origina a partir del producto de
las matrices Bϕ , Bψ y Bθ , estas representan a las matrices de rotación de cada uno
de los ejes.
 
1 0 0
Bϕ = 0 cosϕ sinϕ (2.1)
0 −sinϕ cosϕ
 
cosθ 0 −sinθ
Bθ =  0 1 0  (2.2)
sinθ 0 cosθ
 
cosψ sinψ 0
Bψ = −sinψ cosψ 0 (2.3)
0 0 1
Al escoger la secuencia de rotación ψ −→ θ −→ ϕ se estarı́a indicando que
primero se desea un giro en z, después en y y por último en x, obteniendo como
matriz de rotación Bϕθψ .
 
cosθcosψ cosθsinψ −sinθ
Bϕθψ = −cosϕsinψ + sinϕsinθcosψ cosϕsinψ + sinϕsinθsinψ sinϕcosθ
sinϕsinψ + cosϕsinθcosψ −sinϕcosψ + cosϕsinθsinψ cosϕcosθ
(2.4)
Cambiando la secuencia de rotación, se puede obtener 12 posibles combinaciones,
incluyendo la de la ecuación 2.4, estas matrices se pueden examinar en [Sid97].
Los ángulos de Euler tienen la ventaja de que su representación tiene una inter-
pretación fı́sica clara, pero como desventaja tienen que la matriz de transformación
se puede convertir en una matriz singular para algunos ángulos, lo provocarı́a la
pérdida de movilidad en uno de los ejes del cuerpo, y por ende, problemas en el al-
goritmo de control del sistema. Este problema de singularidad puede evitarse usando
la representación mediante cuaterniones.

Cuaterniones
La matriz de transformación puede ser representada por los cuaterniones, que
acepta una representación vectorial como:

q = (q4 , q) (2.5)

10
donde q representa al componente vectorial, q = (q1 , q2 , q3 ) y es un elemento que
pertenece conjunto real [GLHVSS+ 16].
La representación con cuaterniones para la matriz de transformación se puede
expresar de la siguiente manera:
1
q̇ = Ω(ω)q (2.6)
2
donde
 
0 −ωx −ωy −ωz
ωx 0 ωz −ωy 
Ω(ω) = 
ωy −ωz
 (2.7)
0 omegax 
ωz ωy −ωx 0
El desarrollo de las ecuaciones de cuaterniones se puede apreciar de manera más
clara en [Yan12].

2.1.3. Dinámica
Considerando la derivación matemática para la dinámica de un satélite que se
hizo en [GLHVSS+ 16]. Se tiene que el momento angular del satélite respecto al
centro de su masa será h, esto desde un marco de referencia fijo en el cuerpo(Fi ),
además será relacionado con el momento de inercia I en la siguiente ecuación:

h = Iωi (2.8)
Donde ωi es la velocidad angular del cuerpo rı́gido del satélite observado desde un
marco de referencia inercial (Fi ). Teniendo en cuenta este marco, también se puede
considerar al momento angular respecto a su centro de masa que será representado
por hi . Al aplicar un torque al satélite, se tendrá como resultado la derivada del
momento angular del cuerpo que se observa en la siguiente ecuación:

dhi
τ= (2.9)
dt
El torque también se puede escribir como en la ecuación 2.10, esto tomando en
cuenta el marco de referencia del cuerpo Fb .
dh
τ =( )b − ωi × h (2.10)
dt
El torque aplicado al cuerpo al usar la definición de momento angular es:
dωi
τ =I − ωi × h (2.11)
dt
Al considerar que los ejes principales coinciden con los ejes del cuerpo, se formará
una matriz diagonal que representará al momento de inercia I:
 
Ix 0 0
I =  0 Iy 0  (2.12)
0 0 Iz

La expresión matricial de la ecuación 2.11 será:


   dωx     
Ix 0 0 dt 0 −ωz ωy Ix 0 0 ωx
dωy 
τ = 0 Iy 0
  
dt
+ −ωz
 0 ωx   0 Iy 0   ωy  (2.13)
0 0 Iz dω z ωy −ωx 0 0 0 Iz ωz
dt

11
mientras que los torques de los componentes se expresarán de la siguiente ,ma-
nera:
τx = Ix dω
dt + (Iz − Iy )ωz ωy
x

dωy
τy = Iy dt + (Ix − Iz )ωx ωz
(2.14)
τz = Iz dω
dt + (Iy − Ix )ωy ωx
z

2.1.4. Torques
Las definiciones de los torques de control y perturbación para satélites en órbita
se extrajeron de los trabajos [Ove04] [PC20].

Torques de control
1. Torque magnético: Este se produce por la reacción de las bobinas magnéti-
cas o magnetorquers al campo magnético de la tierra. La corriente pasa a
través de los devanados produciendo un dipolo, esto se utiliza para que los
magnetorquers reaccionen al campo magnético de la tierra y sitúen al satélite
en la posición correcta.

2. Torque de gravitacional: Generado por el campo gravitacional de la tierra,


tiene efecto en todos los satélites que orbitan alrededor del planeta. Este torque
es utilizado para la estabilización pasiva con un brazo de gravedad.

3. Torque de las ruedas de reacción: El torque generado por las ruedas de


reacción se puede usar en cualquier lugar de la órbita terrestre . La ecuación
que define a este torque se puede observar en [PC20].

Torques de perturbación
1. Radiación solar: La actividad solar provoca partı́culas conocidas como ra-
diación solar, que es una perturbación variable cuyos efectos son mayores a
más altitud. Esta radiación produce variaciones periódicas en los elementos
orbitales, sobre todo en objetos con gran superficie y ligeros.
La intensidad de la radiación solar varı́a con el tiempo, lo que dificulta el
cálculo para obtener su energı́a y frecuencias, por lo que el análisis se realiza
considerando la constante de radiación solar SF:

SF = 1353W/m2 (2.15)

La fuerza de la presión solar (pS R ) está dada por:

SF 1353 W/m2
pS R = = = 4,51 × 10− 6N/m2 (2.16)
c 3 × 108 m/s

Entonces, la expresión para la fuerza de la radiación solar, considerando el


área expuesta al sol (A⊙ ) y la reflectividad, serı́a:

FS R = −pS R ∗ CR ∗ A⊙ ∗ r⊕⊙ (2.17)

El valor de CR se encuentra entre 0.0 y 2.0, donde 0.0 indica que el cuerpo es
transparente a las fuerzas de radiación solar, con 1.0 absorbe toda la radiación,

12
y con 2.0 toda la radiación se refleja y el doble de fuerza es transmitido al
satélite.

Figura 2.2: Haz solar incidente y reflejado [PC20].

La segunda ley de Newton nos permite obtener la aceleración de la fuerza:

FS R −pS R ∗ CR ∗ A⊙
aradiation = = (2.18)
m m
La dirección de la aceleración siempre estará alejada del sol, por lo tanto,el
vector de distancia se convertirá en un vector unitario que va contener el vector
de dirección entre el satélite y el sol:

−pSR ∗ CR ∗ A⊙ ⃗r⊙sat
⃗aradiation = (2.19)
m |⃗r⊙sat |

La ecuación 2.19 es usada mayormente para simulaciones numéricas, donde


A⊙ es una sección transversal efectiva promedio que incorpora implı́citamente
a CR . Sin embargo, teniendo en cuenta que el centro de presión es CpSR y el
centro de masa del satélite es cg, la expresión para el caso más adverso del
torque, puede expresarse como:

τsolarradiation = FSR (cpSR − cg) (2.20)

2. Arrastre aerodinámico: La baja altitud de la órbita terrestre influencia en


los satélites que se encuentren en esa zona, provocando una reducción de la
velocidad y una menor altitud para el satélite. Este torque puede ser descrito
por la siguiente ecuación:

1 2 1
τaero = V Cd Ainc (uv × (cpa − cg)), Faero = V 2 Cd Ainc (2.21)
2ρ 2ρ
Donde:

ρ Densidad atmosférica (kg/m3 )


Ainc Área perpendicular a uv (m2 )
uv Vector unitario en dirección de la velocidad

13
Cd Coeficiente de arrastre
V Velocidad (m/s)
cpa Centro de presión
cg Centro de masa

La expresión para el caso más desfavorable del torque se da como:

τaero = Faero (cpa − cg) (2.22)

3. Ruido interno: Este torque es generado por fuentes internas del satélite,
que se produce cuando los circuitos eléctricos generan un campo magnético
que interactúa con el campo de la tierra. Esto se tendrı́a que evitar constru-
yendo circuitos eléctricos que reduzcan al mı́nimo la creación de estos campos
magnéticos. En caso se utilice magnetómetros en el satélite, también se deberı́a
incluir filtros pasabajos con el fin de evitar picos altos de las perturbaciones.

2.2. Control de orientación


El desarrollo matemático para la linearización de un sistema con entrada y salida
no lineal, como el de la ecuación 2.23, se contempla en [BK19], de este trabajo
también se tomaron las definiciones que se explican en las secciones 2.2.1 y 2.3.2.

d
x = f (xu) (2.23)
dt

y = g(x, u) (2.24)
El sistema linealizado para desplazamientos pequeños alrededor de un punto fijo,
se puede describir como:

d
x = Ax + Bu (2.25)
dt

y = Cx + Du (2.26)
Donde A, B, C y D son las matrices que representan el espacio de estado y cuya
derivación se encuentra de manera detallada en [BK19].

2.2.1. Control LQR (Linear Quadratic Regulator)


Si se tiene un sistema controlable y mediciones de estado completo, o un siste-
ma observable con una estimación del estado completo, existirán muchas opciones
para estabilizar las leyes de control u = −kx. Los valores propios del sistema de
circuito cerrado (A − BK) pueden ser estables de manera arbitraria, lo que se logra
ubicándolos lo más alejado que se requiera de la mitad izquierda del plano complejo;
sin embargo, esto provocarı́a un gasto de control muy caro, reacciones excesivas al
ruido y a las perturbaciones, lo que podrı́a conducir a la inestabilidad del sistema.
Entonces, se requiere de una matriz de ganancia K que estabilice al sistema sin
gastar mucho esfuerzo. Por lo que es importante tener control sobre los gastos para
evitar una reacción excesiva del controlador al ruido de alta frecuencia y perturba-
ciones, para que el accionamiento no supere las amplitudes máximas permitidas y
también para que el control no sea muy costoso. La función costo 2.27 equilibra el
costo de la regulación efectiva con el del control. El costo de las desviaciones del

14
estado de cero y el costo del accionamiento son ponderados por las matrices Q y R,
respectivamente.
Z t
J(t) = x(τ ) ∗ Qx(τ ) + u(τ ) ∗ Ru(τ ) dτ (2.27)
0
Esta función coste puede ser minimizada lı́mt→∞ J(t) por la ley del regulador
lineal cuadrático (LQR) u = −Kr x. LQR es una ley de control que se usa en siste-
mas lineales para regular el estado del sistema, minimizando una función de costo
cuadrático, como la que se observa en la ecuación 2.27. Considerando todo lo an-
terior, existe una solución analı́tica para obtener ganancias óptimas del controlador
K, y está dado por:

Kr = R−1 B ∗ X (2.28)
Donde X es la solución a una ecuación algebraica de Riccati:

A ∗ X + XA − XBR−1 B ∗ X + Q = 0 (2.29)
La resolución con Riccati para X, y por ende Kr , tiene mucha complejidad; sin
embargo, actualmente ya se tienen muchas formas de solución en distintos lenguajes
de programación, como en el caso de Matlab, donde Kr se puede obtener haciendo
uso de:
||>> Kr = l q r (A, B, Q,R ) ;

El esquema del controlador LQR se muestra en la figura 2.3, esto para una
retroalimentación óptima de estado completo.

Figura 2.3: Esquema del controlador LQR [BK19].

2.2.2. Controlador PID


Un sistema de control de realimentación recopila y utiliza información para reali-
zar mediciones. Existen dos tipos de control, los de lazo abierto y los de lazo cerrado.
En un sistema de lazo abierto los datos se calculan en función de las condiciones
establecidas; mientras que en un sistema de lazo cerrado se utiliza retroalimenta-
ción para cambiar la salida del sistema. El controlador PID es un sistema de lazo
cerrado con retroalimentación que es utilizado en sistemas de control a gran escala.
Este controlador calcula un valor de error como la diferencia entre una variable de
proceso medida y un valor deseado [KKSS14].
El controlador proporcional, integral y derivativo tiene parámetros constantes, don-
de P depende del error actual, I de la acumulación de errores pasados y D es la
predicción de errores futuros basada en la tasa de cambio actual.

15
En la figura 2.4 se puede observar el diagrama de bloques de un controlador PID,
donde u(t) representa a la señal deseada que se quiere obtener. A esta señal se resta
la señal de salida del ”PROCESO”para obtener la señal de error e(t)

Figura 2.4: Controlador PID.

2.2.3. Microcontroladores
Los microcontroladores son circuitos integrados programables con capacidad de
ejecutar instrucciones para controlar o automatizar procesos. Para elegir el que se
adapte más a al desarrollo de este proyecto se realizaron algunas comparaciones que
se observan en la tabla 2.1.

RAPSBERRY
COMPONENTE PIC ARDUINO ESP8266 ESP32
PI
PIC24FJ Tensilica Tensilica
MCU NANO ZERO W
256GA1100 LX106 Xtensa LX6
INSTRUCCIONES 16 bits 16 bits 32 bits 32 bits 32 bits
RAM 16 KB 2 KB 512 MB 80 KB 520 KB
FLASH 256 KB 16 KB No 4 MB 16 MB
I2C 3 1 2 1 2
ADC 16ch/10bits 8ch/10bits 10ch/12bits 1ch/10bits 18ch/12bits
USB 1 1 1 1 1
VOLTAJE 2 a 3.6 V 5V 5V 3.0 a 3.6V 2.2 a 3.6V
CONSUMO
4.4 a 5.6 mA 300mA 230mA 225mA 225mA
DE CORRIENTE
PRECIO 6.28 $ 7$ 45 $ 7$ 12 $

Cuadro 2.1: Comparación de microcontroladores. [SB19]

Teniendo en cuenta principalmente el costo, el voltaje de alimentación y la me-


moria del microcontrolador, para este trabajo se eligió el microcontrolador ESP8266,
acoplado en la placa de desarrollo NodeMCU como se observa en la figura 2.5.

2.3. Determinación de orientación


2.3.1. Sensores de Unidad de Medición Inercial (IMU)
La unidad de medición inercial (IMU, por sus siglas en inglés Inertial Measure-
ment Unit), que se observa en la figura 2.6, es un dispositivo que está compuesto

16
Figura 2.5: Microcontrolador ESP8266.

por sensores como el acelerómetro, giroscopio y magnetómetro (la forma de medición


con sus ejes se observa en la figura 2.7), estos se encargan de controlar la orientación
y medir la velocidad angular, respectivamente. Este dispositivo brinda precisión de
la posición del cuerpo con el que se use, por lo que se emplea en brazos robóticos,
helicópteros, aviones, entre otros [DH18].

Figura 2.6: Dispositivo IMU. [DH18].

(a) Acelerómetro (b) Giróscopo

Figura 2.7: Medición del movimiento plano del acelerómetro (ejes x, y y z) y la


medición del movimiento de rotación del giróscopo (ejes yaw, pitch y roll) [Saz20].

Para el presente trabajo se decidió usar tres sensores de unidad de medición iner-
cial (IMU): acelerómetro, giroscopio y magnetómetro. Se logró adquirir un módulo
con los dos primeros sensores, el MPU6050 que se observa en la figura 2.8;pero no
se consiguió un módulo que incluyera los tres sensores, por lo que el magnetómetro
fue adquirido aparte.

17
Figura 2.8: Sensor MPU6050

El módulo elegido como sensor magnetómetro fue el HMC5883, este se observa


en la la figura 2.9.

Figura 2.9: Sensor HMC5883

2.3.2. Filtro de Kalman


Como se indicó en la sección 2.2.1, el controlador LQR óptimo se basa en las
mediciones de estado completo del sistema, pero estas pueden ser excesivamente ca-
ras o imposibles de obtener tecnológicamente, sobre todo para sistemas con grandes
dimensiones; además, a esto se añade los retrasos que se producirı́an por la carga
computacional al recopilar y procesar mediciones de estado completo. Es por ello
que, en lugar de medir el estado completo x, se puede estimar el estado a partir de
mediciones limitadas de ruido y.
El filtro de Kalman equilibra de forma óptima los efectos del ruido de medición,
las perturbaciones y la incertidumbre del modelo. La estimación de estado completo
de un filtro de Kalman puede trabajar en conjunto con la ley de retroalimentación
LQR de estado óptimo.
Para derivar el estimador de estado completo óptimo, será necesario introducir
perturbaciones en el estado wd , y ruido del sensor wn .

d
x = Ax + Bu + wd (2.30)
dt

y = Cx + Du + wd (2.31)

Para el filtro de Kalman la perturbación y el ruido son asumidas como procesos


Gaussianos de media cero con covarianzas conocidas.

18
E(wd (t)wd (τ )∗ ) = Vd δ(t − τ ) (2.32)

E(wn (t)wn (τ )∗ ) = Vn δ(t − τ ) (2.33)


De las ecuaciones 2.34 y 2.35 el valor esperado es la función delta de Dirac. Las
matrices Vd y Vn son semidefinidas positivas y sus entradas contienen las covarianzas
de los términos de perturbación y ruido. La estimación x̂ se puede obtener del estado
completo x haciendo uso de las mediciones de entrada u y salida y, mediante el
siguiente sistema dinámico de estimadores:

d
x̂ = Ax̂ + Bu + Kf (y − ŷ) (2.34)
dt

ŷ = C x̂ + Du (2.35)
Teniendo en cuenta que las matrices A, B, C y D se obtienen del modelo del
sistema, y la ganancia del filtro Kf se determina por:

Kf = Y C ∗ Vn (2.36)
La solución anterior se conoce como filtro de Kalman, que es el estimador de
estado completo óptimo respecto a la siguiente función costo de la ecuación (ref a
la ecuación 8.61), que de manera implı́cita incluye los efectos de la perturbación y
el ruido, necesarios para el equilibrio óptimo entre la estimación y la atenuación del
ruido.

J = lı́m E((x(t) − x̂(t))∗ (x(t) − x̂(t))) (2.37)


t→∞

Entonces, el filtro de Kalman es denominado como la estimación cuadrática lineal


(LQE, del inglés linear quadratic estimation), y tiene una formulación dual para la
optimización LQR. Además, la ganancia del filtro KF se puede determinar en Matlab
mediante las siguientes lı́neas de código:
||>> Kf = l q e (A, Vd , C, Vd , Vn ) ;

||>> Kf = ( l q r (A’ , C’ , Vd , Vn ) ) ’ ;

El esquema del filtro de Kalman se observa en la figura 2.10.

2.3.3. Filtro Complementario


El filtro complementario simplifica la implementación de filtros simples de paso
alto y paso bajo de primer orden. Este se encarga de estimar un ángulo estable
a partir de múltiples fuentes que contienen datos erróneos y presentan ruido con
diferente contenido de frecuencia. Este tipo de filtros se usa cuando el ruido de alta
frecuencia de un sensor y el de baja frecuencia de otro sensor son complementarios
[MGG16]. Es ası́ que, como se observa en la figura 2.11, la señal tomada por el
sensor1 pasa por un filtro paso alto y se complementa con la señal del sensor2 que
pasa por un filtro paso bajo, reduciendo el ruido y procediendo a la reconstrucción
de la señal, que para el presente trabajo serı́a un ángulo.

19
Figura 2.10: Esquema del filtro de Kalman [BK19].

Figura 2.11: Esquema del Filtro Complementario.

20
Capı́tulo 3

Estado del Arte

3.1. Attitude Controller-Observer Design for the NT-


NU Test Satellite [Alv13]
Este proyecto se encarga del diseño y construcción del satélite NTNU Test Sa-
tellite (NUTS-1). Este fue construı́do como un satélite de prueba por el programa
estudiantil noruego ANSAT de la Universidad Noruega de Ciencias y Tecnologı́a
(NTNU). Tiene la medida estándar de un CubeSat de 2U(20x10x10 cm) y una masa
de lanzamiento de 2.66 kg. Fue lanzado en el año 2014, siendo una continuación de
dos intentos anteriores por lanzar un vehı́culo espacial. La misión principal de este
satélite es analizar la gravedad con la ayuda de una cámara infrarrojos, ubicada en
la parte inferior del cuerpo.
Respecto al sistema de control y determinación de orientación, este satélite utiliza
un controlador PD junto a tres bobinas magnéticas que funcionarán como actuadores
para realizar los movimientos del cuerpo. Para la parte de la determinación de orien-
tación,en lo respectivo a sensores,este trabajo considera que un buen sensor solar,
magnetómetro y giroscopio deberı́an ser suficientes para estimar la orientación; sin
embargo, para la fecha de su publicación el proyecto NUTS aún no habı́a determi-
nado el montaje final del hardware. Mientras que para la estimación de orientación
plantean el uso del observador Mahony.

3.2. Attitude Control System Design for ION, The Illi-


nois Observing Nanosatellite [Gre04]
Este trabajo se encarga del diseño del sistema de control de orientación para
un satélite CubeSat denominado ION (del inglés Illinois Observing Nanosatellite),
cuyas medidas son de 10x10x21.5 cm y una masa de 2kg.
Plantea algunos métodos para la descripción de la orientación del satélite: la
matriz de orientación, los ángulos de Euler y los cuaterniones. De estos considera
que la matriz de orientación, que usa nueve parámetros para cumplir su objetivo, no
es muy eficiente debido a que 6 de estos son redundantes; mientras que los ángulos
de Euler, los cuales usan tres ángulos que rotan alrededor de los ejes de coordenadas,
tienen el problema de la singularidad conocido como ”gimble lock”, este generará
problemas para todas las orientaciones del satélite. Por otro lado, considera a los
cuaterniones como uno de los sistemas más útiles, pues usa solo cuatro parámetros
para describir la orientación del satélite y no tiene el problema de la singularidad.
Para determinar la orientación, utiliza el sensor conocido como magnetómetro,
este se encarga de medir el campo magnético de la tierra, usa especı́ficamente el
HMC2003, un sensor magnético de tres ejes con la capacidad de medir de forma

21
independiente tres componentes ortogonales del campo magnético haciendo uso de
transductores magnetorresistivos, puede detectar campos de hasta más o menos
2gauss con una precisión de 40ugauss. En cuanto al control de orientación, utiliza
tres bobinas ubicadas en cada uno de los tres ejes de ION, estas bobinas son usadas
para generar un campo magnético, este al interactuar con el campo magnético de la
tierra tendrá la capacidad de cambiar la orientación del satélite. Estos actuadores
trabajan junto con un regulador cuadrático lineal (LQR), que tiene como objetivo
encontrar el control óptimo para minimizar la función de coste, para cumplir esto
se debe suponer que hay un sistema en el que la dinámica del estado es constante,
pero la de la entrada varı́a con el tiempo. Para aplicar el LQR al sistema de control
del ION, el vector de estado debe consistir en la orientación y la velocidad angu-
lar del sistema de coordenadas del cuerpo fijo con respecto al marco de referencia
inercial. Los resultados de este trabajo indican que la ley de control LQR funciona
satisfactoriamente en algunas circunstancias.

3.3. Attitude determination and control system of a na-


nosatellite [Sch07]
Este proyecto es parte de la investigación de varios subsistemas de nanosatéli-
tes por parte estudiantes de maestrı́a de la Universidad de Stellenbosch, a su vez,
contribuirá a un objetivo mayor que es el desarrollo de un nanosatélite de dicha uni-
versidad. Se plantea al nanosatélite como una estructura CubeSat de 1U (10x10x10
cm). El nanosatélite tiene por misión la monitorización del satélite madre junto al
que serı́a lanzado al espacio, esto con ayuda de un sensor de cámara CMOS que to-
marı́a imágenes y videos para para observar el desarrollo de los procesos del satélite
madre y sus posibles escenarios de error: desmontaje del satélite, despliegue de pa-
neles solares, problemas mecánicos externos, entre otros. Además de la observación,
el nanosatélite tiene misiones de prueba: el vuelo en formación, el vuelo estabilizado
en tres ejes y el encuentro en órbita de dos satélites con diferentes caracterı́sticas de
arrastre.
Se plantea como objetivo el diseño y la prueba de un sistema de determinación y
control de orientación para un nanosatélite, haciendo uso de las ruedas de reacción
como actuadores establecidos de manera tetraédrica, esta estructura encaja en un
cubo figurativo de dimensiones de 1U estándar de CubeSat. Para determinar la
velocidad del satélite se diseñó un sistema de sensores, que luego de pruebas, es
considerado viable para este tipo de aplicación espacial. En cuanto a la frecuencia,
utiliza un sistema de sensores de frecuencia de tres planos establecidos de manera
ortogonal, cada uno de ellos con 3 sensores. Se realizaron pruebas de hardware del
circuito junto a una configuración especial de cojinetes de aire, verificando que las
ruedas de reacción actúan de manera efectiva.
En este proyecto se usan cuatro ruedas de reacción para prever la posibilidad
de falla de la rueda de reacción en el espacio. Estas ruedas fueron establecidas de
forma tetraédrica porque de esta manera el momento angular neto es cero cuando
las cuatro ruedas giran al mismo tiempo, lo que simplificarı́a el control del sistema,
pues las ruedas usarı́an una velocidad de rueda compensada constante.
Para describir la orientación del satélite hace uso de los cuaterniones debido a
que la parametrización de los ángulos de Euler sufre singularidades en ángulos de
inclinación de 90°, lo que no sucede con los cuaterniones puesto que es un vector
de 4 elementos sin singularidades. El error de cuaternión se obtiene a partir de
la diferencia existente entre la orientación actual del satélite y la orientación de
referencia, este resultado será parte de las entradas del controlador.

22
El controlador utilizado para manejar las ruedas de reacción es un proporcional
derivativo (PD), cuyas entradas son el vector de error de cuaternión y el vector de
velocidad angular del cuerpo con referencia a la órbita. Mientras que las salidas serán
el vector de torque de control, que es la entrada del sistema de ruedas de reacción.

3.4. Design and Testing of a Nanosatellite Simulator


Reaction Wheel Attitude Control System [Lon14]

Este proyecto realiza el diseño y la prueba de un algoritmo de control de orien-


tación en un simulador de mesa, este proporciona una plataforma económica para
las pruebas, imitando las condiciones de torque de un satélite en el espacio. El simu-
lador de mesa incluye todos los componentes habituales de un sistema de control de
orientación de un satélite, como las ruedas de reacción, motores, servocontrolado-
res, sensores, microcontroladores, baterı́as, etc. El control del simulador se activará
a través de las ruedas de reacción, pues el impulso angular será transferido a las
ruedas y a la estructura o plataforma, resultando en la orientación deseada.

Para la determinación de orientación, este proyecto hace uso de la unidad de


medición inercial (IMU), que mide, procesa y envı́a datos de la orientación del si-
mulador. El IMU en especı́fico que utiliza es el LORD Microstrain 3DM-GX3-25,
este está compuesto por un acelerómetro triaxial, giroscopio triaxial, magnetómetro
triaxial y sensores de temperatura. Este sensor opera junto al microordenador Bea-
gle Bone (BB), que se encargará de importar los datos de la IMU y de los motores,
además de calcular las velocidades de la ruedas deseadas y guardar los datos resul-
tantes. Se debe indicar que las opciones que usaron como salidas del IMU fueron los
ángulos de Euler y las tasas corporales.

Para el control de orientación, se hizo uso de actuadores como cuatro ruedas de


reacción ubicadas con una configuración piramidal, motores DC sin escobillas Maxon
EC 45 y servocontroladores ESCON 36/3 EC. Respecto al controlador, se eligió uno
que implemente la linealización de retroalimentación para hacer que la dinámica no
lineal del sistema sea insignificante. El sistema lineal resultante se controla con un
controlador proporcional derivativo (PID), considerando que el torque externo es
insignificante.

23
3.5. Conclusiones / Apreciaciones finales / Miscelánea

Control de orientación Determinación de orientación


Modelamiento
Satélite A: Actuador S: Sensor
del sistema
C: Controlador E: Estimador
A: Bobinas magnéticas
S: Sensor solar, magnetómetro
C: Control de modelo
NUTS Cuaterniones y giroscopio.
independiente del
E: Observador de Mahony
controlador PD
A: Bobinas magnéticas. S: Magnetómetro.
ION Cuaterniones
C: LQR E: Filtro de Kalman extendido
Nanosatélite de S: Sistema de sensores para
A: Ruedas de reacción.
la universidad Cuaterniones determinar la velocidad
C: PD
Stellenbosch (diseño propio)
Ángulos de A: Ruedas de reacción S: IMU
Simulador
Euler C: PID E: -

Cuadro 3.1: Tabla comparativa de los atributos de cada trabajo.

La tabla 3.1 muestra de forma resumida el modelamiento del sistema, los ac-
tuadores, controladores, sensores y estimadores que se usó en cada trabajo descrito
anteriormente.

24
Capı́tulo 4

Diseño del modelo de control de


orientación

Para el diseño del modelo de control de orientación se debe tener en cuenta las
restricciones que tendrá el satélite, que son principalmente en masa, pues se desea que
el satélite tenga un peso máximo de 1.3 kg, y volumen, que será de 1U (10x10xcm)
debido a que debe cumplir con el estándar CubeSat. Los requisitos de precisión en la
orientación o del tiempo de respuesta no están planteados, se desea que sean óptimas
pero cumpliéndo siempre los requisitos de masa y volumen planteados.

4.1. Calibración de los sensores


Todos los sensores están sujetos a errores, ya sea por la fabricación o cambios
del medio ambiente donde se encuentren, estos errores generan mediciones erradas e
incluso podrı́an provocar accidentes si su uso se da en vehı́culos aéreos o terrestres.
A esto se debe la importancia de realizar una calibración adecuada.

4.1.1. Calibración del sensor magnetómetro


El magnetómetro consta de tres sensores de flujo magnético dispuestos a 90
grados entre sı́. Con los vectores de estos sensores se obtiene el vector del campo
magnético terrestre. Si se registrara la información del magnetómetro mientras este
gira en cı́rculos y luego se las representara gráficamente en una imagen de dos di-
mensiones, se deberı́a obtener una cı́rculo como el de color azul que se observa en la
figura 4.1; sin embargo, el sensor no será ideal por los errores a los que están sujetos,
es por ello que la data pura brindada por el sensor será similar al de color rojo, cuya
forma se asemeja a una elipsoide y su centro estará alejado del origen.

Figura 4.1: Representación gráfica de data calibrada y sin calibrar del magnetómetro.

25
Estos errores están causados por las distorsiones de hierro duro y de hierro blan-
do. Las distorsiones de hierro duro provienen de campos magnéticos permanentes
como lo imanes, metales magnetizados, cables de alta corriente, entre otros. La cer-
canı́a del sensor con estos campos magnéticos causará desviaciones, haciendo que la
esfera de mediciones se desplace del origen.

Por otro lado, se tiene a las distorsiones de hierro dulce, estas provienen de ma-
teriales paramagnéticos como el hierro, el acero, el nı́quel y la fibra de carbono,
estos materiales generan una especie de campo magnético propio cuando un campo
magnético pasa cerca o a través de ellos. Estas distorsiones causarán la desviación
y reducción del campo magnético de la tierra, haciendo que la esfera de mediciones
adquiera una forma de elipsoide. Otros errores también se pueden originar por la
forma de fabricación, cambios bruscos de temperatura y de aceleraciones.

Para realizar la calibración del magnetómetro se tuvo en cuenta el modelo ma-


temático de la ecuación 4.1. Donde →

m sensor representa las medidas de calibración


del sensor, b es la matriz de correciones de las distorsiones de hierro duro, A es la
matriz de correcciones de hierro blando y →−m calib son las medidas resultantes de la
calibración.


− →

m calib = A ∗ (→

m sensor − b ) (4.1)


Para obtener los parámetros de las matrices A y b , que nos permitan hacer un
ajuste de la elipsoide, existen softwares que nos ayuden con el cálculo, como son
M agneto y M atlab. Para el presente trabajo se eligió usar el software de Matlab
debido a su simplicidad pues solo implica capturar la data en crudo, guardarlo en
un archivo .txt y compilar las siguientes lı́neas de código:

x=l o a d ( ’ mag−r e a d i n g s . txt ’ )


[ A, b , expMFS ] = magcal ( x ) ;


De esta manera se obtienen las matrices A y b que se aplicaran a todas las
lecturas del magnetómetro. La representación gráfica en 3 planos de la data sin
calibrar y la data calibrada recopilada por el sensor magnetómetro usado en este
trabajo, se observa en la figura 4.2. Para una mejor apreciación de la calibración,
se puede observar la figura 4.3, donde la esfera de color rojo representa a la data
cruda del magnetómetro, mientras que la esfera de color azul representa a la data
calibrada, con su centro en el origen del plano y su radio de 400 en todos los ejes.

4.1.2. Calibración del sensor giroscopio


El modelo matemático para calibrar a este sensor es como se observa en la
ecuación 4.2, donde →

m sensor representa las medidas de calibración del sensor, →

m calib


son las medidas resultantes de la calibración y b es la matriz de correciones de las
distorsiones de hierro duro.


− →

m calib = →

m sensor − b (4.2)


La matriz b que se puede obtener sacando un promedio de todas las muestras para
cada eje, o usando también el software de M atlab, teniendo en cuenta las siguientes
lı́neas de código.
x=l o a d ( ’MPUgy−r e a d i n g s . txt ’ )
[ A, b , expMFS ] = magcal ( x ) ;

26
Figura 4.2: Data calibrada y sin calibrar del magnetómetro representada en un plano
de tres dimensiones.

Figura 4.3: Data calibrada y sin calibrar del magnetómetro representada en un plano
de tres dimensiones.

En la figura 4.4 se puede observar, en color rojo, las señales de la data pura
del giroscopio para los ejes X 4.4a, Y 4.4b y Z 4.4c, mientras que las señales de
calibradas se observan en color azul.

4.1.3. Calibración del sensor acelerómetro


Respecto a la calibración del sensor acelerómetro es preferible no hacerlo direc-
tamente con la data cruda, sino con los valores inclinación que se obtienen con el


acelerómetro. Para obtener la matriz de correcciones b se obtuvo el promedio de
los valores por cada eje de los ángulos Roll y Pitch, esto con ayuda del software de
Matlab, haciendo uso de las siguientes lineas de código:
x=l o a d ( ’MPUac−r e a d i n g s . txt ’ )
b = mean ( x )

De esta manera, se obtendrı́an las señales de los ángulos del acelerómetro que se
observan en la figura 4.5, donde señal en color rojo represnta la data sin calibrar y

27
(a) Velocidad en el eje X (b) Velocidad en el eje X (c) Velocidad en el eje X

Figura 4.4: Señales de los ángulos del acelerómetro

(a) Ángulo Roll (b) Ángulo Pitch

Figura 4.5: Señales de los ángulos del acelerómetro

la señal en azul la data calibrada, tanto para el momento angular en Roll 4.5a como
para el momento angular en Pitch 4.5b.

4.2. Implementación del filtro complementario


La implementación del filtro complementario se realiza para cada eje de giro, por
lo tanto se tendrı́a un filtro complementario para Roll 4.6, otro para Pitch 4.7 y otro
para Yaw 4.8.

Figura 4.6: Esquema del filtro complementrio para el eje de giro Roll.

28
Figura 4.7: Esquema del filtro complementrio para el eje de giro Pitch

Figura 4.8: Esquema del filtro complementrio para el eje de giro Yaw

4.3. Configuración de las ruedas de reacción


Existen diferentes formas de configuración de las ruedas de reacción, esto depende
de la cantidad de ruedas que se desee usar (3 o 4 ruedas). La comparación de
desempeño de las ruedas de reacción con diferentes configuraciones se puede revisar
en [SB19]. Para el presente trabajo se eligió la configuración de 3 ruedas dispuestas
ortogonalmente, esto debido a que consume menos energı́a, tendrá menos peso y
brindará mayor espacio al satélite, comparado con una configuración de 4 ruedas
redundantes. La configuración ortogonal de las 3 ruedas de reacción se observa en
la figura 4.9.

Figura 4.9: Configuración de 3 ruedas de reacción dispuestas ortogonalmente [SB19].

4.4. Modelamiento del sistema de control de orientación


Para realizar el modelamiento del sistema se debe tener en cuenta que se usaron
las ecuaciones descritas en la sección 2.2 del presente trabajo, tanto lo que se describe
para el controlador LQR (2.2.1), como para lo que se describe para el filtro del
Kalman (2.3.2). Todas estas ecuaciones para realizar el modelamiento del sistema
del controlador se implementaron en Matlab a manera de programación.
Para esto se ingresaron primeros los valores de la matrices necesarias para tra-
bajar con el controlador lqr (A, B, Q y R).
Kr = l q r (A, B, Q,R ) ;

29
Luego se procedió a plantear el código para establecer los ángulos que se desea
obtener del satélite, los mismos que tienen que estar en radianes para trabajar con
los desplazamientos con los cuaterniones.

quat obj = eul2quat ( angulos obj ) ;

Luego, teniendo en cuenta condición inicial de la posición será 0 para la matriz


x, se estableció la ley de control de la siguiente manera:

u=@( x)−K∗ ( x − wr ) ;

4.5. Torques de perturbación


Los torques de perturbación se describieron anteriormente en la sección 2.1.4.
Entonces, teniendo en cuenta las perturbaciones para los peores casos en los que se
encuentre el satélite, se tendrá el siguiente resultado:

Figura 4.10: Torques de perturbación teniendo en cuenta los peores casos [SB19].

4.6. Diseño de la estructura


El diseño del prototipo de satélite CubeSat de 1U y las ruedas de rección fueron
realizados en Fusion 360, junto a los componentes necesarios para el acomplamiento
de los mismos y de los dispositivos electrónicos necesarios. Todas las piezas fueron
elaboradas con material PLC mediante una impresora 3D.

Figura 4.11: Diseño de la estructura del prototipo Cubesat de 1U.

30
Figura 4.12: Interior del diseño de la estructura del prototipo Cubesat de 1U.

En la figura 4.12 se observa la forma de acomplamiento de las ruedas de reacción,


los motores y la estructura misma del Cubesat.

31
32
Capı́tulo 5

Simulaciones

5.1. Simulación del modelamiento del sistema de con-


trol
La simulación se realiza en Matlab comparando diferentes ángulos objetivos que
se le quiera asignar al satélite para que este asuma una posición de acuerdo a lo
que se le indique. Los resultados de las simulaciones se muestran en las siguientes
figuras:

Figura 5.1: Ángulos de giro con x = −30, y = 20 y z = 60 grados.

En las figuras 5.1, 5.2 y 5.3 se observa el tiempo en el que la velocidad angular
llega a la estabilización luego de que se le asignará diferentes ángulos en x, y y z.
Además, se observa como los ángulos pasan de un estado incial de 0, a adoptar la
orientación que se le ha asignado.

33
Figura 5.2: Ángulos de giro con x = 20, y = −15 y z = 70 grados.

Figura 5.3: Ángulos de giro con x = 10, y = 40 y z = −50. grados.

34
Capı́tulo 6

Conclusiones

La dinámica del nanosatélite planteado para este trabajo se obtuvo primero ha-
llando momento angular del cuerpo con respecto a un marco de referencia fijo, y
aplicando luego un torque. Estas ecuaciones fueron descritas en el marco teórico del
presente documento, junto a la linearización del sistema, e implementadas luego en
el software de Matlab para realizar las simulaciones con el controlador LQR. Las
simulaciones se representaron mediante las señales de los ángulos de giro Roll, Pitch
y Yaw, para diferentes valores que permitan comprobar el funcionamiento código
implementado.

Los sensores usados para la obtención de los ángulos de giro fueron tres: el ace-
lerómetro, el giroscopio y el magnetómetro. Estos fueron calibrados para disminuir
el error provocado por distorsiones de campos magnéticos cercanos, fallos propios de
la fábrica, entre otros. Obteniendo ası́ una lectura más limpia de la data en crudo.
Posteriormente se combinó la data de cada sensor con filtros complementarios para
cada ángulo de giro, esto ayudó a tener información más certera de la orientación
del cuerpo satelital.

35
36
Bibliografı́a

[Alv13] Fredrik Alvenes. Attitude controller-observer design for the ntnu


test satellite. Master’s thesis, Institutt for teknisk kybernetikk,
2013.

[BK19] Steven L Brunton and J Nathan Kutz. Data-driven science and en-
gineering: Machine learning, dynamical systems, and control. Cam-
bridge University Press, 2019.

[DH18] Gustavo Hernán Dı́az Huenupán. Desarrollo de un sistema de con-


trol de orientación usando ruedas de reacción de bajo costo para
nano-satélite suchai. 2018.

[EPECSZZA19] Henry Williams Eche Purizaca, Gustavo Alejandro Espinoza Cherc-


ca, Fabricio Raúl Saico Zeballos, and Javier Richard Zúñiga Almon-
te. El satélite peruano perusat-1: potencial de aplicaciones para el
sector público. 2019.

[GLHVSS+ 16] Jesús González Llorente, Ronald Hurtado Velasco, Sergio


Sánchez Sanjuán, David Rodrı́guez Duarte, and Andrés Rambal Ve-
cino. Obtención de energı́a solar y uso eficiente en la orientación
de pequeños satélites. 2016.

[GPS02] Herbert Goldstein, Charles Poole, and John Safko. Classical me-
chanics, 2002.

[Gre04] Bryan Scott Gregory. Attitude control system design for ion, the
illinois observing nanosatellite. PhD thesis, University of Illinois at
Urbana-Champaign, 2004.

[HA13] Humberto Hernández-Arias. Diseño de algoritmos de control de


orientación para satélites pequeños. Master’s thesis, Universidad
Nacional Autónoma de México, Ciudad de México, México, No-
vember November 2013.

[KKSS14] VP Kodgirwar, Vivek Kumar, Manish Shegokar, and Sushant Sa-


want. Design of control system for quadcopter using complemen-
tary filter and pid controller. International Journal of Engineering
Research, Technology (IJERT), 2014.

[Lon14] Fredric William Long. Design and testing of a nanosatellite simu-


lator reaction wheel attitude control system. 2014.

[MC14] F Landis Markley and John L Crassidis. Fundamentals of spacecraft


attitude determination and control. Springer, 2014.

37
[MGG16] Kartik Madhira, Ammar Gandhi, and Aneesha Gujral. Self balan-
cing robot using complementary filter: Implementation and analysis
of complementary filter on sbr. In 2016 International conference
on electrical, electronics, and optimization techniques (ICEEOT),
pages 2950–2954. Ieee, 2016.

[Ove04] Eli Jerpseth Overby. Attitude control for the norwegian student
satellite ncube. Norwegian University of Science and Technology.
Department of Engineering Cybernetics, 2004.

[PC20] Josue Pareja-Contreras. Motion simulator design of adcs for sss-1p


project. beihang university. beijing, china. Master’s thesis, Beihang
University, Beijing, China, May May 2020.

[Saz20] Edward Sazonov. Wearable Sensors: Fundamentals, implementa-


tion and applications. Academic Press, 2020.

[SB19] Paula Sorolla Bayod. Study and design of the attitude control of
a cubesat 1u based on reaction wheels. B.S. thesis, Universitat
Politècnica de Catalunya, 2019.

[Sch07] Johannes Schoonwinkel. Attitude determination and control system


of a nanosatellite. PhD thesis, Stellenbosch: University of Stellen-
bosch, 2007.

[Sid97] Marcel J Sidi. Spacecraft dynamics and control: a practical engi-


neering approach, volume 7. Cambridge university press, 1997.

[Yan12] Yaguang Yang. Spacecraft attitude determination and control:


Quaternion based method. Annual Reviews in Control, 36(2):198–
219, 2012.

38
Nomenclatura

39

También podría gustarte