AAE 590ACA Final Project: Low-Thrust Trajectory Optimization to Asteroid 16 Psyche

AAE 590ACA Final Project: Low-Thrust Trajectory Optimization to Asteroid 16 Psyche

This was my final project for AAE 590ACA at Purdue, completed with a teammate, Abran Cruz-Portillo. I later used the work from this project as the basis for my senior design project. The goal was to develop a minimum-fuel, low-thrust transfer trajectory from Earth to the asteroid 16 Psyche using sequential convex programming (SCVX).

Why 16 Psyche? Psyche is a particularly interesting target because it is a metal-rich asteroid that may contain material from the interior of an early planetary body. Studying it could provide insight into how rocky planets formed, while its high metal content also makes it an interesting target for future space-resource missions. It is also the target of NASA’s Psyche mission, which launched in 2023 and is currently en route to the asteroid, with arrival planned for 2029. NASA’s mission will study Psyche’s composition, surface, magnetic field, and gravity, making it a particularly relevant real-world target for exploring the trajectory-design challenges of reaching a distant asteroid with low-thrust propulsion.

Trajectory optimization problems like this are nonconvex and difficult to solve directly, so I implemented an SCVX algorithm that repeatedly linearizes the nonlinear spacecraft dynamics around a reference trajectory and solves a series of convex subproblems. Trust regions were used to keep each new solution close enough to the reference trajectory for the linearized dynamics to remain useful, and the optimized trajectory was then used as the reference for the next iteration.

I used real ephemeris data to define the initial state of Earth on January 1, 2029 and the target state of 16 Psyche 3.5 years later, rather than assuming idealized circular orbits. To give the optimizer a useful starting point, I generated a constant-thrust reference trajectory that better reflected the gradual orbit-shaping behavior of low-thrust propulsion than a traditional impulsive transfer.

The algorithm progressively refined the trajectory over successive iterations, reducing the relative position and velocity errors at arrival until the target conditions were met. The final solution successfully matched both the position and velocity of Psyche and produced a bang-bang thrust profile, with thrust switching between maximum and zero. The resulting transfer required a total delta-v of 8.2186 km/s.

This was a more algorithm and controls-focused project than my other work: less CAD and fabrication, more numerical optimization and orbital dynamics. I later used this work as the basis for my senior design project, allowing me to build on the optimization and trajectory work as part of my capstone experience. It’s a good complement to the hands-on hardware projects on this site since it shows a different side of aerospace engineering: writing the software that plans a mission before any hardware gets built.