Attitude Guidance Using On-Board Optimisation

The on-board ability to autonomously plan and execute constrained attitude manoeuvres is expected to play an important role in many future space missions. The work presented in this paper summarizes the results from a recently completed ESA study in which such functionality was examined. The study included the application of on-board embedded optimisation techniques to solve constrained attitude guidance problems. Different heritage methods not based on on-board optimisation were also developed and applied for comparison. The study demonstrated the capabilities in a number of test cases associated with two benchmark problems based on the Comet Interceptor and Theseus mission studies. The performance was examined within Monte Carlo simulations as well as within execution on a ZedBoard hardware platform. The use of numerical optimisation has experienced a huge acceleration over the last years. Convex optimisation is appealing mainly since the local optimum is also the global optimum and since very efficient general-purpose and highly dedicated solvers exist. In addition, the dependency on initial guesses is completely lifted. Convex optimisation methods are flexible enough to permit the modelling of a huge number of problems of practical interest. A particularly successful category of problems, the Second-Order Cone Programming (SOCP) problem is a generalization of quadratic programming that includes the possibility of embedding conic constraints in the formulation. This type of formulation has been widely used in many fields, and with particular success in GNC, especially for guidance applications such as powered-descent and landing, and atmospheric re-entry. More notably, this technology has been successfully employed on several rockets and vehicles, including the Falcon 9 and the experimental DLR vehicle EAGLE. Resulting from a trade-off performed in the study, the selected baseline strategy was to combine second-order cone programming (SOCP) with successive convexification into sequential convex programming (SCVX), inspired by the work of Mao and Bonalli. The SOCP problem class perfectly fits the constraints required to model the benchmark scenarios and the DLR experience in using similar methods for vertical takeoff and landing (VTVL) vehicles demonstrates, that it is a reliable, fast convergent method. A pseudospectral discretization method was selected based on prior experience. The heritage methods applied for the Comet Interceptor benchmark case was based on simplified slew strategies parameterized by a reduced parameter set. The solution is obtained numerically taking into account the numerical evolution of the nominal angular and rate profiles. An eigenaxis slew algorithm was chosen for Theseus as a result of a trade-off with alternative heritage guidance methods including artificial potential functions and path planning algorithms, where these methods were rejected due to lack of convergence guarantee and because of their computational complexity. For the Comet Interceptor benchmark cases, the results from the Monte Carlo simulations demonstrate that for the more nominal cases, the results from using the SCVX and heritages solutions are comparable in terms of minimising the time the target object is outside of the field-of-view of the payload instruments. For the contingency cases, the SCVX is clearly better than the heritage solution. For Theseus, the slew times resulting from the SCVX solutions are in general shorter than those obtained from the heritage solution. In addition to the Monte Carlo simulations performed for the benchmark cases, the optimisation algorithms were executed on an ARM-Cortex-based development board (ZedBoard), which is supported by the MATLAB Embedded Coder for C code applications. As the SOCP solver is written in C++ it was not possible to rely on the native support. The following procedure was used to facilitate runtime tests: The Embedded Coder was used to generate code of the SCVX algorithm for the ARM-Cortex architecture, including the loading and reading process of the transcription data. Then the GCC cross-compiler was used to build a standalone executable which was uploaded to the ZedBoard. Several conclusions can be drawn from the work performed in the study with in particular the following main areas are of interest: The performance observed from the SCVX based guidance is in most of the test cases better than the guidance resulting from the heritage solutions. The execution times observed from the tests on the flight like HW are in the range of 30 to 40 s which does not really allow for fast recomputation of the guidance profiles in connection with critical re-configuration of HW or in other cases, where the guidance profile is needed quickly. It is however expected that there is some room for improvement in terms of execution time. An estimate of development effort shows that the application-specific required, recurrent effort is similar for the development of the optimisation-based and the heritage solutions. However, the optimisation-based solution also requires a significant initial, non-recurring effort to develop the necessary numeric optimisation software. This is estimated to be about 5 times as much as the effort for a single mission application, not counting the development of the core convex solver. The observations and conclusions summarized above indicate that choosing an SCVX-based attitude guidance solution is not a “magic” universal tool that seamlessly will solve any problem. Significant effort is needed to be able to arrive at a well-posed and well-tuned problem that allows the optimisation-based framework to provide a solution. However, with such a problem at hand, the framework is able to provide a versatile solution that seems to be able to better utilize the on-board resources and deliver a solution that provides better performance than the heritage approach.