Congreso Argentino de Tecnología Espacial 2000 Simulación de Orbitas Mediante MatLab Andrés LEÓN, Marcelo BASTANSKI, y Luis MORENO Universidad Nacional del Comahue Facultad de Ingeniería Buenos Aires 1400 8300 Neuquén – Argentina Telfax: 0299-449-0322 E-mail: [email protected] Resumen Se realizo un programa en MatLab que simula el comportamiento de las órbitas satelitales, mediante calculo numérico. El programa presenta una gran flexibilidad y permite el análisis de todo tipo de órbitas. Este software considera una tierra esférica, a la atmósfera y un impulso, debido a un posible propulsor. Finalmente se comparo el funcionamiento del mismo con los keplerianos del Starshine, resultando en diferencias alrededor del 0,22 %. para simular y evaluar posibles órbitas en distintas misiones, como para realizar los cálculos si uno de los satélites tuviera impulsores y como se modificarían las órbitas. Dado que en el mercado se encuentran una serie de programas de carácter amateur y profesionales, que calculan órbitas y rastrean satélites, pero que su utilización se ve limitada por ser versiones cerradas que no permiten ser modificadas para ajustarse a las necesidades particulares del proyecto, es de singular importancia la creación de un Software propio. Otro objetivo es formar un grupo que entienda en esta problemática, como apoyo al Programa PehuenSat. Introducción En el año 1998 se inicio el programa "PehuenSat", que contempla la creación de nanos y micros satélites. Como en la Universidad Nacional del Comahue no existe una carrera relacionada con las actividades espaciales, se decidió dictar un curso básico sobre la determinación de órbitas destinado a estudiantes que deseaban incorporarse al proyecto. Posterior al mismo, un grupo de estudiantes desarrolló un programa de cálculo para la ubicación y el seguimiento de satélites artificiales, utilizando algoritmos del "problema de los dos cuerpos" hallados en distintas publicaciones, realizando distintas versiones escritas en lenguajes Fortran90, Visual Basic y MatLab. Una de ellas considera, además, el arrastre de la atmósfera y el impulso de un motor cohete para el cambio de órbitas. El objetivo es tener un programa propio, que pueda ser adaptado a las necesidades del proyecto PehuenSat, tanto Notación utilizada en la sección de metodología ms r V x vx x ax Fgx Fbx Fix B G masa del satélite (Kg) radio vector que apunta desde el centro de la Tierra al satélite vector velocidad del satélite ubicación del satélite en la coordenada x velocidad del satélite en la dirección aceleración del satélite en la dirección x fuerza gravitacional en la dirección x (N) fuerza de arrastre que actúa en la dirección x (N) fuerza impulsora externa en la dirección x (N) constante de proporcionalidad entre la fuerza de arrastre y el cuadrado de la velocidad constante gravitacional Los derechos de publicación son compartidos entre la Asociación Argentina de Tecnología espacial y los autores. MT PT ρ CD S f rp vp φ a e H C1 C2 C3 C4 C5 C6 masa del planeta Tierra periodo sideral de la Tierra densidad de la atmósfera terrestre coeficiente empírico, que depende de la forma del satélite área transversal al vector velocidad del satélite factor que tiene en cuenta la rotación de la tierra radio del perigeo de la órbita satelital velocidad en el perigeo latitud del satélite Semi-eje mayor de la órbita satelital excentricidad de la órbita vector momento angular coordenada en el eje x del vector posición del satélite componente en la dirección x del vector velocidad del satélite coordenada en el eje y del vector posición del satélite componente en la dirección y del vector velocidad del satélite coordenada en el eje z del vector posición del satélite componente en la dirección z del vector velocidad del satélite Metodología Para calcular la posición y velocidad de un satélite, realizamos un programa en MatLab 5.3 en el que aplicamos la segunda ley de Newton, considerando las fuerzas de gravedad, fricción y un impulso externo. Utilizamos el Software MatLab porque nos parece que es la herramienta más apropiada para realizar simulación en ingeniería, debido a que nos permite plantear algoritmos muy simples, sin una programación compleja, además el SimuLink es muy flexible, al permitir el ingreso de ecuaciones diferenciales con tablas en su interior. Análisis Físico – Matemático del problema: Aplicando la segunda ley de Newton al satélite, en la dirección x, obtenemos: ΣFx = ms ⋅ a x Simulación de órbitas mediante MatLab Donde el total de fuerzas que actúan sobre el satélite la podemos discriminar en: ΣFx = Fg x + Fbx + Fi x La fuerza que representa al arrastre la consideraremos proporcional al cuadrado de la velocidad. Fbx = B ⋅ v x 2 ∂x = B ⋅ ∂t 2 La aceleración la escribiremos como la segunda derivada del espacio con respecto al tiempo: ax = ∂2x ∂t 2 Ahora estamos en condiciones de escribir la ecuación diferencial, que regirá el movimiento del satélite, en la dimensión x: 2 ∂2x ∂x ⋅ ms = Fg x + B ⋅ + Fi x 2 ∂t ∂t Análogamente podemos escribir las ecuaciones diferenciales en las restantes dos dimensiones. De esta manera estamos en condiciones de obtener el Sistema de Ecuaciones diferenciales que gobernara al satélite en tres dimensiones: 2 ∂ 2 x ∂x 2 ⋅ ms = Fg x + B ⋅ + Fi x ∂t ∂t 2 ∂ 2 y ∂y 2 ⋅ ms = Fg y + B ⋅ + Fi y ∂t ∂t 2 ∂ 2 z ∂z 2 ⋅ m s = Fg z + B ⋅ + Fi z ∂t ∂t Para resolver el Sistema de Ecuaciones Diferenciales se optó por hacerlo aplicando el cálculo numérico mediante el software MatLab 5.3. Este programa exige que el sistema se encuentre en ecuaciones solo de primer orden, por lo tanto realizamos los cambios de variables correspondientes para poder 2 transformarlo, en seis ecuaciones diferenciales de primer orden con sus correspondientes condiciones de borde, por cada variable: x = x 1 ∂x x2 = x1′ = ∂t ∂2x ′ ′ ′ x = x = 1 2 ∂t 2 x3 = y ∂y x4 = x3′ = ∂t ∂2 y ′ ′ ′ x = x = 4 3 ∂t 2 x5 = z x = x′ = ∂z 5 6 ∂t 2 x′ = x′′ = ∂ z 6 5 ∂t 2 x1′ = x2 x′2 = Fg x + B ⋅ x2 2 + Fi x ms ms ′ x3 = x4 Fg y B ′ x = + ⋅ x4 2 + Fi y 4 ms ms x5′ = x6 x6′ = Fg z + B ⋅ x6 2 + Fi z ms ms x1 (0 ) = C1 x (0) = C 2 2 x3 (0) = C 3 x4 (0) = C 4 x5 (0 ) = C 5 x6 (0) = C 6 Con la herramienta SimuLink se desarrolló el diagrama de flujo equivalente al problema matemático anteriormente planteado, que se muestra en la figura 1: Simulación de órbitas mediante MatLab Fuerza Gravitacional En esta sección se describirá como se obtuvo una expresión de la fuerza gravitatoria para cada dimensión, considerando que la tierra es un cuerpo homogéneo perfectamente esférico. Sabemos que la expresión de la fuerza atractiva de un cuerpo esférico ideal es la siguiente: Fg = − G ⋅ mT ⋅ ms r2 r 2 = x2 + y2 + z 2 La fuerza gravitacional sobre el eje x, solo función de las coordenadas cartesianas, la podemos calcular mediante los cosenos directores. Multiplicando Fg por el correspondiente coseno director, obtenemos: x x = Fg 2 r x + y2 + z2 Fgx = FgCos (γ ) = Fg ⋅ Análogamente podemos calcular la componente de la fuerza en las tres dimensiones. Fgx = Fgy = Fgz = − G ⋅ mT ⋅ ms ⋅ x (x 2 ) 2 (x 2 ) 2 (x 2 ) 2 3 + y2 + z2 − G ⋅ mT ⋅ ms ⋅ y 3 + y2 + z2 − G ⋅ mT ⋅ ms ⋅ z + y2 + z2 3 Para introducir la fuerza gravitacional en el SimuLink se utilizo una casilla MatLab Function con el nombre campo, conteniendo el siguiente código en un archivo M.file: function out=f(x,y,z,dimen) if dimen==1 cx=G*MT*x/(x^2+y^2+z^2)^(3/2); if x>0 out=-abs(cx); else out=abs(cx); end end if dimen==2 3 cy=G*MT*y/(x^2+y^2+z^2)^(3/2); if y>0 out=-abs(cy); else out=abs(cy); end end if dimen==3 cz=G*MT*z/(x^2+y^2+z^2)^(3/2); if z>0 out=-abs(cz); else out=abs(cz); end end Fuerza de Arrastre La fuerza de arrastre la calcularemos por medio de la siguiente ecuación: 2 Fb x = B ⋅ v x = 1 2 ⋅ ρ ⋅CD ⋅ S ⋅vx ⋅ f 2 Donde CD es un coeficiente empírico, que depende de la forma del satélite, y f un factor que tiene en cuenta la rotación de la f = 1− 2π ⋅ rp ⋅ Cos 2 (φ ) PT ⋅V p tierra para calcular la verdadera velocidad relativa del satélite con la atmósfera. Este factor incluye rp y vp que son el radio y la velocidad en el perigeo de la órbita y φ la Latitud del satélite, valores que podemos calcular como: z Cos (φ ) = 1 − 2 2 2 x +y +z 2 2 rp = a ⋅ (1 − e ) Vp = 2⋅G ⋅ MT G ⋅ MT − a ⋅ (1 − e ) a Puesto que la anterior ecuación de la fuerza de arrastre no solo depende de las coordenadas cartesianas, si no también de la Simulación de órbitas mediante MatLab excentricidad y el semi-eje mayor de la órbita, deberemos poner estos últimos dos parámetros orbitales en función solo de los vectores velocidad y posición. Para ello nos valemos de la particularidad, que el momento angular del satélite es constante en toda su órbita: H = r ×V a= ( G ⋅ MT 2GM T − v x 2 + v y 2 + v z 2 e = 1− )x 2 + y2 + z2 H2 G ⋅ MT ⋅ a Al igual que la fuerza gravitacional el arrastre se introdujo al SimuLink mediante una casilla MatLab Function con el nombre arrastre, conteniendo el siguiente código en un archivo M.file: function out=arrastre(x,y,z,vx,vy,vz,di men) r=sqrt(x^2+y^2+z^2); a=G*MT/(2*G*MT/r(vx^2+vy^2+vz^2)); H=cross([x,y,z],[vx,vy,vz]); MH=sqrt(H(1)^2+H(2)^2+H(3)^2); e=sqrt(1-MH^2/(G*MT*a)); rpo=a*(1-e); vpo=sqrt(2*G*MT/rpo-G*MT/a); dn=interp1(MD(:,1),MD(:,2),rRTelip,'linear'); f=1-(2*pi/PT*rpo/vpo)*(1(z/r)^2); signo=1; if dimen==1 v2=vx^2; if vx>0 signo=-1; end end if dimen==2 v2=vy^2; if vy>0 signo=-1; end end 4 if dimen==3 v2=vz^2; if vz>0 signo=-1; end end out=1/2*CD*S*dn*f*signo*v2/MS; Resultados Para poder conocer el error que se esta cometiendo en la simulación, se decidió comparar el programa con los datos obtenidos del proyecto Starshine. En la simulación se consideraron los siguientes parámetros para el satélite: Observando los dos parámetros comparados, vemos que el programa tiende a mantener al satélite más alto de lo esperado, cometiendo un error relativamente pequeño. Pero aún es posible mejorarlos respecto a esto, y esperamos que el error disminuya, al considerar en el programa el achatamiento de la tierra y a las perturbaciones debidas a la luna. Otras tendencias que se observaron al analizar los resultados del programa, fueron la disminución de la excentricidad e inclinación de la órbita, aunque en un pequeño porcentaje. ms=39 Kg Cabe mencionar que actualmente se esta probando una ecuación que tiene en cuenta el achatamiento del planeta, pero todavía se están estudiando sus efectos sobre el satélite. Esperamos que en la próxima versión del programa ya podemos contar con esta herramienta. CD=2.123 (correspondiente a una esfera perfecta) [4] Agradecimientos S=0.1809557 m2 Se corrió el programa para simular 6 días del mencionado satélite, desde el 22 de junio al 28 de junio, arrojando el software resultados que resumimos en los gráficos 1 y 2. En el primer gráfico, la curva azul representa la altura desde el satélite hasta una tierra esférica, de radio ecuatorial (RT=6380 Km), y la curva verde muestra la altura respecto a una tierra elipsoidal con un radio polar de 6357 Km. En el segundo gráfico se representa la evolución del semi-eje mayor de la órbita a lo largo de los seis días de simulación. Análisis Agruparemos los valores obtenidos del programa comparándolos con los valores reales del Starshine en la tabla 1. Simulación de órbitas mediante MatLab Agradecemos la colaboración de JUAN MANUEL MAURICIO en todo lo concerniente a programación y manejo de MatLab 5.3. Bibliografía [1] CHARLES D. BROWN (1998). Spacecraff mission design. A.I.A.A. U.S.A. [2] PEDRO E. ZADUNAISKY (1998). Introducción a la astrodinámica. C.O.N.A.E. Argentina [3] JOSE GREGORIO PORTILLA B. Como calcular el movimiento de satélites artificiales. http://www.observatorio.unal.edu.co [4] K. MOE, M. MOE, S. D. WALLACE (1998) Inproved satellite drag coefficient calculations from orbital measurements of energy accommodation. A.I.A.A. U.S.A. 5 Figura 1 Simulación de órbitas mediante MatLab 6 Gráficos 1 y 2 Decaimiento Semi-eje mayor Simulación 1400 m 645 m Real 2073 m 1052 m Diferencia 673 m 407 m Error 32.5 % 38.7 % Tabla 1 Simulación de órbitas mediante MatLab 7