Table of Contents
Fetching ...

Lightweight Model Predictive Control for Spacecraft Rendezvous Attitude Synchronization

Peter Stadler, Alexander Meinert, Niklas Baldauf, Alen Turnwald

Abstract

This work introduces two lightweight model predictive control (MPC) approaches for attitude tracking with reaction wheels during spacecraft rendezvous synchronization. Both approaches are based on a novel attitude deviation formulation, which enables the use of inherently linear constraints on angular velocity. We develop a single-loop and a dual-loop MPC; the latter embeds a stabilizing feedback controller within the inner loop, yielding a linear time-invariant system. Both controllers are implemented with CasADi - including automatic code generation - evaluated across various solvers, and validated within the Basilisk astrodynamics simulation framework. The experimental results demonstrate improved tracking accuracy alongside reductions in computational effort and memory consumption. Finally, embedded delivery to an ARM Cortex-M7 - representative of commercial off-the-shelf devices used in New Space platforms - confirms the real-time feasibility of these approaches and highlights their suitability for onboard attitude control in resource-constrained spacecraft rendezvous missions.

Lightweight Model Predictive Control for Spacecraft Rendezvous Attitude Synchronization

Abstract

This work introduces two lightweight model predictive control (MPC) approaches for attitude tracking with reaction wheels during spacecraft rendezvous synchronization. Both approaches are based on a novel attitude deviation formulation, which enables the use of inherently linear constraints on angular velocity. We develop a single-loop and a dual-loop MPC; the latter embeds a stabilizing feedback controller within the inner loop, yielding a linear time-invariant system. Both controllers are implemented with CasADi - including automatic code generation - evaluated across various solvers, and validated within the Basilisk astrodynamics simulation framework. The experimental results demonstrate improved tracking accuracy alongside reductions in computational effort and memory consumption. Finally, embedded delivery to an ARM Cortex-M7 - representative of commercial off-the-shelf devices used in New Space platforms - confirms the real-time feasibility of these approaches and highlights their suitability for onboard attitude control in resource-constrained spacecraft rendezvous missions.
Paper Structure (16 sections, 20 equations, 8 figures)

This paper contains 16 sections, 20 equations, 8 figures.

Figures (8)

  • Figure 1: Layouts of the Proposed Linear MPCs for Attitude Tracking Both designs use the same reference trajectory, the same constraints, and the proposed error system based on the attitude deviation in reverse order. (a) The single-loop MPC (\ref{['eq:single_loop_mpc']}) directly uses the error system linearized at zero: The model for the predictions is a discretization of the affine but parameter-varying (LPV) error system (\ref{['eq:linear_error_system']}). (b) The dual-loop MPC (\ref{['eq:dual_loop_mpc']}) linearizes and discretizes an already stable inner loop for the MPC in the outer loop. The inner system is the closed loop of the error system with the stable feedback controller (\ref{['eq:stable_control_torque']}), which also eliminates the parameter variance. The linearization of the inner loop results in the stable and time-invariant (LTI) system (\ref{['eq:closed_loop_system']}).
  • Figure 2: Attitude Tracking Quality of Different MPCs in Simulation with Basilisk The proposed dual-loop MPC and the single-loop MPC are quite similar and better than the previous MPC from Turnwald2023. For the former two MPCs, the deviations of both attitude and angular speed fall faster with time and the effort measured as accumulated torque is slightly lower. The angular velocity error for the previous MPC must be linearized. This makes it difficult to constrain the angular velocity exactly; here, $\omega_z$ exceeds the upper bound (highlighted).
  • Figure 3: Workload of Different MPCs in C++ on Intel i7-11850H The proposed dual-loop MPC is faster than the previous MPC. For horizons less than 20 steps, the single-loop MPC is as slow as the previous MPC. For larger horizons, the runtimes of the single-loop MPC and the proposed dual-loop MPC are similarly low, while the compiled size of the dual-loop MPC is smaller. For each algorithm and horizon, we choose the solver and sparsity pattern yielding the best runtime. The solver switches at 20 steps for the proposed dual-loop MPC and at 40 steps for previous MPC yield visible changes in runtimes distribution and compiled size.
  • Figure 4: Sparsities of the Dual-Loop MPC with a Horizon of $N=20$ Steps The optimal solution to a quadratic program remains unchanged if we condense some optimization variables. However, the corresponding constraint and cost matrices change in size (gray) and non-zero entries (black). We use any number of blocks that can be generated for a given horizon. The patterns vary from $N$ blocks for the sparse formulation to one block for the dense formulation.
  • Figure 5: Runtimes of Dual-Loop MPC with CasADi on Intel i7-11850H For each solver and horizon, we selected the sparsity formulation that yields the lowest runtime. We divided the solvers into two plots: those using condensed matrices (solid lines) and those using sparser matrices (dashed lines). In each case, preparation accounts for only a fraction of the total runtime (note the logarithmic scale). DAQP and qpOASES are the fastest for smaller horizons. Yet, the latter exhibits high variation in runtime; computing the initial solution is particularly expensive. ProxQP and OSQP are the fastest for larger horizons, though the runtimes of the former vary less. All of them have lower mean runtimes than HPIPM and HiGHS. However, the former exhibits low variation in runtime, and for larger horizons its maximum runtime is lower than that of qpOASES and OSQP. No violin plots are shown for SuperSCS, QRQP, or ipqp at horizons for which they failed to solve all quadratic programs.
  • ...and 3 more figures