Summary of "🚀 [ SPACE WEEK 4TH ] WORKSHOP: Aplica la dinámica orbital para la propagación de órbitas con Python"
Summary of the Video
🚀 [SPACE WEEK 4TH] WORKSHOP: Apply Orbital Dynamics for Orbit Propagation with Python
Main Ideas and Concepts
1. Introduction to Galileo and Satellite Navigation Systems
- The Galileo constellation is the most precise satellite navigation system globally, providing meter-level accuracy.
- Satellites orbit approximately 23,222 km above Earth in three planes; at least four satellites are visible anywhere on Earth for positioning.
- Positioning is based on measuring signal travel time from satellites to receivers, converting time into distance with extreme timing precision.
- Four satellites are needed: three to fix latitude, longitude, and altitude; the fourth corrects timing errors.
2. Workshop Overview and Objectives
- Presenter: Alberto, responsible for the JSNP Master’s program.
- Workshop goal: Apply Python programming to orbital dynamics and orbit propagation.
- Participants’ Python experience levels were gauged to tailor the workshop.
- Emphasis on learning Python through real industrial projects using real satellite data.
- Focus on understanding and implementing orbit propagation algorithms using Python.
3. Orbital Dynamics Fundamentals: Kepler’s Orbit Model
- The simplest satellite orbit model assumes Earth as a point mass with gravity as the only force.
- Newton’s laws lead to a differential equation with analytical solutions: conic section orbits (circle, ellipse, parabola, hyperbola).
- Focus on elliptical orbits relevant for satellites.
- Introduction of Kepler’s Six Orbital Elements to describe elliptical orbits:
- a: Semi-major axis (size of orbit)
- e: Eccentricity (shape: 0 = circle, 0–1 = ellipse)
- i: Inclination (angle between orbital plane and Earth’s equator; 0° = equatorial, 90° = polar orbit)
- Ω (Omega): Longitude of ascending node (angle from equinox direction to where orbit crosses equator going north)
- ω (omega): Argument of perigee (angle from ascending node to closest orbit point to Earth)
- ν (nu): True anomaly (satellite position angle along the orbit)
- Explanation of directions important for these angles (equinox direction, ascending node, perigee).
4. Data Sources: Two-Line Element (TLE) Files
- TLE files provide orbital parameters for satellites in a compact two-line format.
- Some Kepler elements are directly available; others are derived using simple physics (e.g., semi-major axis from orbital period).
- Catalogs like Celestrak provide up-to-date TLE data for various constellations (Galileo, Starlink, GPS, Sentinel, etc.).
5. Orbit Propagation Methodology
- Propagation means calculating satellite positions at future times from initial orbital parameters.
- The propagation algorithm steps:
- Convert mean anomaly to eccentric anomaly.
- Solve Kepler’s equation to get satellite radius and true anomaly.
- Calculate satellite position in orbital plane (polar coordinates).
- Rotate coordinates to Earth-Centered Inertial (ECI) frame using orbital angles.
- Convert from ECI (non-rotating) to Earth-Centered Earth-Fixed (ECEF) frame (rotating with Earth).
- Output: Satellite positions over time in Cartesian coordinates referenced to Earth’s center.
6. Reference Frames Explained
- ECI (Earth-Centered Inertial): Fixed frame, does not rotate with Earth.
- ECEF (Earth-Centered Earth-Fixed): Rotates with Earth; used to relate satellite positions to ground locations.
- Ground tracks (satellite paths projected on Earth’s surface) are derived from ECEF coordinates.
7. Python Implementation and Resources
- Workshop provides a Python notebook and script (
propagate_tle.py) implementing the orbit propagation algorithm. - Participants are guided to:
- Import functions to read TLE files.
- Extract and compute orbital parameters.
- Define propagation time windows (e.g., 24 hours with 5-second steps).
- Run propagation and generate outputs (positions, velocities, periods).
- Visualize orbits and ground tracks.
- Generate KML files for 3D visualization in Google Earth.
- A secondary notebook offers Python basics and examples to support learners with lower Python experience.
8. Results and Analysis
- Examples of propagated orbits for different satellites (Starlink, Galileo, GPS, EGNOS telecommunications, Sentinel).
- Comparison of orbital periods, altitudes (perigee and apogee), eccentricities, and inclinations.
- Ground tracks illustrate satellite movement relative to Earth’s surface.
- Footprints (coverage areas on Earth) differ by orbit type:
- Low Earth Orbit (LEO): smaller footprint, higher latency, faster orbits.
- Medium Earth Orbit (MEO): compromise between latency and coverage (e.g., navigation satellites).
- Geostationary Orbit (GEO): fixed footprint, covers large area with low latency.
- Emphasis on understanding footprint evolution and satellite visibility for constellation design.
9. Limitations of the Kepler Model and Real Orbit Considerations
- Kepler model is a simplification assuming Earth as a point mass and gravity as the only force.
- Real orbits are affected by:
- Earth’s mass distribution and flattening.
- Tides (ocean and land).
- Pole motion and Earth rotation irregularities.
- Third-body gravitational effects (Sun, Moon).
- Solar radiation pressure.
- Atmospheric drag (for low orbits).
- These effects require numerical integration and more complex models without analytical solutions.
- Osculating Kepler elements vary over time due to perturbations.
- Higher precision orbit determination (centimeter-level) is necessary for applications like GNSS and Earth observation.
- Detailed modeling and numerical techniques will be covered in a follow-up session and the master’s program.
10. Further Learning and Next Steps
- Tomorrow’s session with Eduardo (academy director) will delve deeper into orbit determination and real orbit models.
- The JSNP Master’s program offers a 6-month guided curriculum to master orbital dynamics, Python programming, and space sector applications.
- Participants are encouraged to watch the previous master’s program launch session for resources and offers.
- Certification available upon completing exercises based on the workshop.
Detailed Methodology / Instructions for Orbit Propagation (Python Implementation)
- Import necessary functions from the provided Python script (
propagate_tle.py). - Load TLE data files containing orbital parameters for selected satellites.
- Extract orbital elements from TLEs:
- Directly read inclination, eccentricity, argument of perigee, ascending node longitude.
- Compute semi-major axis using Kepler’s third law and orbital period.
- Define the propagation window (e.g., 24 hours, 5-second intervals).
- For each time step, propagate the orbit:
- Convert mean anomaly to eccentric anomaly.
- Solve Kepler’s equation for true anomaly and radius.
- Calculate satellite position in orbital plane.
- Rotate coordinates to ECI frame using orbital angles (Ω, i, ω).
- Convert ECI coordinates to ECEF frame by applying Earth’s rotation.
- Convert Cartesian coordinates to geodetic coordinates (latitude, longitude, altitude).
- Calculate satellite velocity and orbital period.
- Generate output files:
- Reports summarizing orbital parameters and satellite periods.
- KML files for 3D visualization in Google Earth.
- Graphs of ground tracks, speeds, and footprints.
- Analyze results:
- Compare orbital parameters and classify orbit types.
- Examine ground tracks and satellite footprints.
- Answer workshop questions based on the propagated data.
- Submit answers via provided form for certification.
Speakers / Sources Featured
- Alberto – Workshop presenter, responsible for the JSNP Master’s program; leads the Python programming and orbital dynamics workshop.
- Eduardo – Director of the academy; scheduled to present the follow-up session on orbit determination and advanced orbit models.
Summary
This workshop provides a comprehensive introduction to orbital dynamics and orbit propagation using Python, centered on Kepler’s orbital elements and TLE data. Participants learn to implement an orbit propagation algorithm, analyze satellite orbits, visualize trajectories and footprints, and understand the practical challenges of real orbit modeling. The session is part of a broader educational initiative including a master’s program offering deeper theoretical and practical training in space sector technologies.
Category
Educational