Onboard Dual Quaternion Guidance for Rocket Landing
Abhinav G. Kamath, Javier A. Doll, Purnanand Elango, Taewan Kim, Skye Mceowen, Yue Yu, Taylor P. Reynolds, Gavin F. Mendeck, John M. Carson III, Mehran Mesbahi, Beh\c{c}et A\c{c}{\i}kme\c{s}e

TL;DR
This paper presents a real-time optimization framework for onboard dual quaternion guidance in rocket landings, demonstrating faster solve-times and meeting precision requirements for autonomous, computationally-constrained spaceflight applications.
Contribution
The development of a custom sequential conic optimization solver (SeCO) that enables real-time onboard implementation of dual quaternion guidance for rocket landings.
Findings
Solver significantly faster than previous methods
Meets and exceeds NASA's guidance update-rate requirements
Successfully tested in hardware-in-the-loop setting
Abstract
The dual quaternion guidance (DQG) algorithm was selected as the candidate 6-DoF powered-descent guidance algorithm for NASA's Safe and Precise Landing -- Integrated Capabilities Evolution (SPLICE) project. DQG is capable of handling state-triggered constraints that are of utmost importance in terms of enabling technologies such as terrain relative navigation. In this work, we develop a custom solver for DQG to enable onboard implementation for future rocket landing missions. We describe the design and implementation of a real-time-capable optimization framework, called sequential conic optimization (SeCO), that blends together sequential convex programming and first-order conic optimization to solve difficult nonconvex trajectory optimization problems, such as DQG, in real-time. A key feature of SeCO is that it leverages a first-order primal-dual conic optimization solver, based on the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
