Delta-V-Optimal Centralized Guidance Strategy For Under-actuated N-Satellite Formations
Abstract
This paper addresses the computation of Delta-V-optimal, safe, relative orbit reconfigurations for satellite formations in a centralized fashion. The formations under consideration comprise an uncontrolled chief spacecraft flying with an arbitrary number, , of deputy satellites, where each deputy is equipped with a single electric thruster. Indeed, this represents a technological solution that is becoming widely employed by the producers of small-satellite platforms. While adopting a single electric thruster does reduce the required power, weight, and size of the orbit control system, it comes at the cost of rendering the satellite under-actuated. In this setting, the satellite can provide a desired thrust vector only after an attitude maneuver is carried out to redirect the thruster nozzle opposite to the desired thrust direction. In order to further extend the applicability range of such under-actuated platforms, guidance strategies are developed to support different reconfiguration scenarios for -satellite formations. This paper starts from a classical non-convex quadratically constrained trajectory optimization formulation, which passes through multiple simplifications and approximations to arrive to two novel convex formulations, namely a second-order cone programming formulation, and a linear programming one. Out of five guidance formulations proposed in this article, the most promising three were compared through an extensive benchmark analysis that is applied to fifteen of the most widely-used solvers. This benchmark experiment provides information about the key distinctions between the different problem formulations, and under which conditions each one of them can be recommended.
keywords:
Formation flying , Relative Orbital Elements , Eccentricity Vector , Inclination Vector , Trajectory Optimization , Convexification , Convex Optimization , Sequential Convex Programming[1]organization=SnT, University of Luxembourg,addressline=29, Avenue J.F Kennedy, city=Luxembourg, postcode=1855, country=Luxembourg
[2]organization=Department of Aerospace Science and Technology, Politecnico di Milano,addressline=34, via La Masa, city=Milan, postcode=20156, country=Italy
[3]organization=LuxSpace,addressline=9, Rue Pierre Werner, city=Betzdorf, postcode=6832, country=Luxembourg
[4]organization=Faculty of Science, Technology and Medicine, University of Luxembourg,addressline=2, place de l’Université, city=Esch-sur-Alzette, postcode=4365, country=Luxembourg
1 Introduction
As the world entered the new space era, it has witnessed a shift in the design philosophy of satellites. A modern space mission commonly comprises one or more simpler, smaller, lighter, lower-powered, and cheaper satellites, in contrast to a traditional mission, which typically relied on a single, sophisticated, large, heavy, power demanding, and expensive spacecraft [1]. By deploying multiple small satellites in a coordinated formation, these missions can cover larger areas, provide redundancy, and offer more frequent data updates.
As the satellites gradually became smaller in size, it was no wonder that Electric Propulsion (EP) systems were increasingly used to support their maneuverability in orbit. At the cost of lower thrust levels, electric thrusters typically offer higher specific impulse, and hence better fuel efficiency than their chemical counterparts [2]. The low fuel and propellant storage requirements is mainly what makes EP an attractive option for small satellites [3].
Often motivated by the need to reduce weight, complexity, and hence cost, some satellite manufacturers started opting to incorporate a single electric thruster onboard their spacecraft. Examples of such satellites include the PLATiNO platform [4] and Triton-X [5]. A satellite that employs a single electric thruster is, in nature, under-actuated, since a desired thrust vector is only achievable after an attitude maneuver which redirects the thruster nozzle into the desired direction. This paper focuses on the problem of optimizing the trajectories necessary for a reconfiguration of an arbitrary number of such under-actuated satellites flying together in a formation.
The problem of formation reconfiguration has been a subject of extensive research. While guidance and control strategies have been proposed for formations that leverage impulsive thrusters [6, 7, 8, 9], they are not applicable to formations that employ electric ones. Existing low-thrust guidance schemes assume omnidirectional thrusting [10, 11], rendering them inapplicable to single-thruster satellite formations. Guidance and control policies were developed for the AVANTI mission [12, 7, 13], which incorporates a satellite equipped with one impulsive thruster flying in a formation with a non-cooperative object, yet again, these guidance and control methods are not suitable for low-thrust formations. On a related note, a satellite incorporating a single impulsive thruster cannot be considered under-actuated, unlike a spacecraft with a sole low-thruster. An impulsive thruster is idle for the most part of the maneuver due to the fact that it is able to provide large Delta-V changes, typically in a matter of seconds. A thruster-idle period is ample for an attitude redirection maneuver to take place before the following thruster firing. To address the problem of relative orbit corrections for mono-electric-thruster satellites, Model Predictive Control (MPC) schemes have been proposed in [14, 15], yet operational constraints, such as the necessary thruster-off-periods during ground contact, during payload operations, or during eclipse, were not considered in these works.
In this article, the Delta-V-optimal, collision-free, formation reconfiguration problem is considered for an arbitrary number, , of deputy satellites flying in a formation with an uncontrolled chief. To allow for such reconfiguration to take place, each deputy is equipped with one electric thruster. The proposed trajectory optimization procedures are open-loop control strategies which can be incorporated in the closed feedback loop in many ways; one of which is a shrinking-horizon MPC such as the one presented in [16]. The first attempt to formulate the guidance problem is presented as a non-convex Quadratically Constrained Quadratic Programming (QCQP) problem, which is later relaxed to a convex QCQP that can be solved using Sequential Convex Programming (SCP). Due to the fact that the optimal solutions to the QCQP formulations require unnecessarily large Delta-V changes, the convex QCQP problem is reformulated into a Second-Order Cone Programming (SOCP) problem which makes better use of the available fuel. A final relaxation is applied to the SOCP formulation to transform it into the simplest form of convex programming problems; Linear Programming (LP). The main contributions of this paper are as follows:
-
1.
The mathematical formulations of the SOCP and the LP problems, which produce more Delta-V efficient solutions in comparison to the classical QCQP problems, while at the same time being easier to implement and faster to solve by most solvers;
-
2.
A benchmark experiment which is carried out on more than a dozen solvers over the convex QCQP, the SOCP, and the LP formulations;
-
3.
Guidelines for embedding the guidance algorithms for space-borne applications, drawn considering typical reconfigurations problems tackled in remote sensing applications.
The guidance plans presented in this paper are implemented as part of the AuFoSat toolbox; a Guidance, Navigation and Control library, developed to support the future missions of Triton-X; the multi-mission Low-Earth Orbit (LEO) microsatellite platform developed by LuxSpace. Previous AuFoSat research discussed orbit design [17], relative navigation [18, 19], absolute orbit kee** [15], and relative orbit corrections for two-satellite formations [16].
The article is organized such that Section 2 introduces the mathematical model used in the development of the trajectory optimization formulations, namely, a linearized model of the quasi-non-singular Relative Orbital Elements (ROE) is introduced. In Section 3, the different formulations of the formation reconfiguration problem are presented. Section 4 contains the implications of employing the final LP formulation, and presents the benchmark experiment. It also discusses the limitations of the proposed guidance schemes. Lastly, the paper is concluded in Section 5.
2 Dynamical model
In this section, a dynamical model of the quasi-non-singular Relative Orbital Elements (ROE), which is necessary for the development of the trajectory optimization strategies, is introduced. Multiple reference frames are utilised in the development of the ROE dynamics. The ones used in this work are; an Earth-Centered-Inertial frame (ECI), denoted as . The True of Date (TOD) Earth Equator frame is the one referred to by ECI in this article; a Satellite-body-fixed frame, denoted by , with axes along the principal axes of inertia of the satellite; and the Radial-Transversal-Normal frame (RTN), denoted as , with its x-axis along the position vector of the chief pointing away from the Earth, with its z-axis along the normal direction to the chief’s orbital plane, and with its y-axis completing the right-handed triad.
Vectors expressed in , , or are signified by the superscripts , , or respectively.
The following set of orbital elements can be used to describe the orbital motion of a satellite, which is under the gravitational influence of a large celestial body such as the Earth, in a planet centered reference frame,
(1) |
where is the semi-major axis, is the mean argument of latitude, , is the eccentricity vector with being the eccentricity of the orbit and being the argument of periapsis. Furthermore, is the orbital inclination and is the Right Ascension of the Ascending Node (RAAN). A Cartesian state vector, , can equally represent the motion of the satellite, where and are the absolute position and velocity vectors expressed in . Note that the Cartesian state vector can be mapped through a nonlinear transformation to the classical orbital elements, and vice versa [20]. When this map** is applied to the precise Cartesian state vector of the satellite, the instantaneous osculating orbital elements are produced, which, in the discussions to follow, are denoted by . Conversely, the mean orbital elements, denoted in the rest of the paper by , are the one-orbit averaged elements, where the short- and long-term oscillations generated by the harmonic of the Earth gravitational potential are removed. The transformations in [21] are utilized to perform the mean/osculating elements map**.
The motion of the deputy satellite with respect to the chief spacecraft is parameterized in this research by the dimensionless quasi-non-singular ROE vector, which is defined, using the orbital elements of both, the deputy and the chief, as follows,
(2) |
where is the dimensionless ROE vector of the deputy, is its relative semi-major axis, is the relative mean longitude, is the relative eccentricity vector, and is the relative inclination vector. It is to be noted that in this paper, the subscript , with being the number of deputies, denotes a quantity related to the deputy satellite, while the subscript is used for chief-related quantities. Furthermore, signifies a relative quantity between the deputy and the chief, which may or may not be the arithmetic difference between the two quantities, while signifies the arithmetic difference between and , i.e., . As in the case of absolute orbital elements, the osculating ROE vector is denoted by , whereas the mean ROE vector is referred to as . A dimensional ROE vector is obtained by multiplying the dimensionless ROE vector by the semi-major axis of the chief,
(3) |
where is the dimensional mean ROE vector of the deputy, with units of length.
Assuming neighbouring orbits of the chief and the deputies, and a near-circular orbit of the chief, the dynamics of the ROE can be linearized to the first order considering the mean effect of the zonal harmonic. In fact, a closed form solution of the linearized dynamics can be obtained for piece-wise constant input acceleration as discussed in [8]. The system evolution is expressed in the following form,
(4) |
where is the State Transition Matrix (STM) between the two time instants, and , is the convolution matrix between the same two time instants, and , with being the input acceleration vector provided by the deputy’s thruster, expressed in , and constant over the period . In the rest of the text, and in order to simplify the representation of equations, the following notations are used, , , , , and . Note that and do not relate to the deputy since they only depend on chief-related quantities [8].
3 Guidance
In this section, a guidance scheme is developed for a formation that comprises an arbitrary number, , of deputy satellites together with a chief spacecraft. The ultimate goal of the guidance module is to drive the state of each deputy from its initial values, at the initial time, , to the user-defined reference state, at the final time, . The deputies are assumed to be each equipped with a single throttleable electric thruster dedicated for (relative) orbit reconfiguration, while the chief is uncontrolled and is assumed to be the spacecraft onboard of which the guidance calculations take place. In this under-actuated setting, each deputy has to undergo repeating attitude maneuvers in order to redirect its thruster in the desired direction before every thruster firing. The time required for these redirection maneuvers was taken into consideration in the design phase of the guidance procedure, and the thruster of each deputy is thus dictated to operate on an alternating on/off mode, where the slew maneuvers are allocated in the thruster off-periods. On top of the natural relative orbit changes during the thrusters off-periods, further forced ROE corrections are simultaneously induced for all the deputies through finite burns, with being an odd number. Figure 1 illustrates the alternation between the on and off states of the electric thruster onboard of one of the deputies which shall drive its state from the initial to the reference value.
It is important to emphasize that the time instances at which the thruster alternates between the on and off states, (see Fig. 1), are assumed to be identical for all the deputies. It is, in fact, a common practice to unify the discretization steps for all the deputies in centralized trajectory optimization schemes [10, 22]. The problem of specifying a separate time vector for each deputy is out of the scope of this paper, and will be the focus of our future research. In fact, the problems of computing and broadcasting this time vector are also out of the scope of this study. The common time vector is left for the mission operator to determine, in order to enhance the mission predictability, which is a very important factor in the operation of real missions. It appears that leaving as a user-input not only helps predict the behaviour of the formation ahead of time, but also helps accommodate any operational constraints within the thrusters idle intervals. Operational constraints in our context might include not being able to use the thruster or the attitude control system for relative orbit correction during specific times, e.g., during ground contact, payload operations, or during times when the satellite is in the shadow. The time vector, , can be defined either through the time instances at which the thrusters switch between the on and off states, or through defining the initial time, , and the periods during which the thrusters are turned on or off. As a result, by letting , these periods are divided into two categories;
-
1.
The forced motion time periods, , ;
-
2.
The natural motion periods (coast arcs), , .
Since the attitude redirection maneuvers are allocated during the natural motion periods, a lower bound for these coast arcs has to be imposed which is related to the maximum allowable angular speed, i.e., angular velocity’s Euclidean norm, of the deputies, such that,
(5) |
where is the maximum angular speed of the deputy with slowest angular rate, with being the maximum angular speed of the deputy, and is added to ensure that the coast arc can accommodate the most stringent attitude maneuver.
Letting,
(6) |
(7) |
the guidance problem can be formally written as an optimization problem with a quadratic objective function, as is classically done [23], as follows,
Problem 1 (Non-convex formulation)
subject to, | |||
(8) | |||
(9) | |||
(10) | |||
(11) | |||
(14) | |||
(15) |
where , is a vector of zeros, is the set of deputies’ indices, , with being the set of time indices where the thruster of each deputy is turned on, i.e., forced motion periods, and being the set of time indices where the thruster of each deputy is turned off, i.e., natural motion periods, is the maximum allowable acceleration by the onboard thruster of the deputy. Generally, it is the maximum allowable thrust that is provided in the data sheets of electric thrusters, and not the maximum acceleration. However, the latter can be calculated from the former according to: , with being the maximum thrust of the deputy, and being its mass, which is assumed constant throughout the maneuver, and is set to the mass of the satellite at . Furthermore, in Problem 1, is the radius of the collision avoidance sphere, and is the matrix that transforms a dimensional ROE vector into its corresponding position vector in the RTN frame. An explicit expression for this matrix can be found in [24]. It is important to note that are chosen to be included as optimization variables instead of in order to ensure that all the decision variables, i.e., and , are of comparable orders of magnitude, which makes it less probable that a solver will run into numerical issues. Poorly-scaled problems typically require longer times to solve, if a solution can be found in the first place.
The constraints imposed on Problem 1 are summarized as follows,
-
1.
Equation (8) represents the boundary constraints which dictates the guidance profile to have the final state exactly equal to the set points defined by the user, while respecting the initial state of each deputy;
-
2.
The relative orbital dynamics are imposed on the trajectory optimizer through Eq. 9;
- 3.
-
4.
Inter-deputy collision is avoided by imposing Eq. 14, which guarantees that no deputy enters the collision sphere of another, while deputy-chief collision is prohibited at each time step through Eq. 15. Since the time steps of our application are relatively small when considering how slow the relative orbital dynamics can be, inter-step collision avoidance is ignored in this study.
It is clear that the cost function of Problem 1 is the sum of the squared second Lebesgue (L2) norms of all the control Delta-V across all deputies and across all time instances during the reconfiguration maneuver. Minimizing this cost function not only results in a Delta-V-optimal solution, but also produces a fuel-optimal solution. Indeed, the terms ”Delta-V-optimal” and ”fuel-optimal” can be used interchangeably in our case, since they really do refer to the same thing when the controlled spacecraft are each equipped with a single thruster [25].
Problem 1 is a non-convex optimization problem which requires a series of elaborate processes in order to find its globally optimal solution. The non-convexity of Problem 1 arises solely from the non-convexity of the two last constraints. In fact, if it were not for constraints (14) and (15), Problem 1 would have been a convex optimization problem that is guaranteed to have a globally optimal solution. One way to convexify the problem is to approximate the non-convex constraints by affine ones, then solving the problem through Sequential Convex Programming (SCP). Using the relaxation proposed in [22] for the collision avoidance constraints, Problem 1 can be rewritten in its relaxed convex Quadratically Constrained Quadratic Programming (convex QCQP) form as follows,
Problem 2 (Convex QCQP formulation)
subject to, | |||
(16) | |||
(17) | |||
(18) | |||
(19) | |||
(22) | |||
(23) |
where is a predicted value for the dimensional ROE vector of the deputy at time and is the second norm of a vector. The solution to Problem 2 can be obtained sequentially through Sequential Convex Programming (SCP), where for the current iteration is set to from the previous iteration. For the first iteration, can be obtained in a variety ways, e.g., imposing the dynamics solution, Eq. 4, from the initial to the final times with no control inputs, or alternatively solving the problem without the collision avoidance constraints first and extracting from the solution, then setting . The SCP scheme is set to terminate when one of the following criteria is satisfied,
-
1.
at the current iteration, with being a user-defined threshold;
-
2.
The guidance profile of the current iteration is collision free;
-
3.
The user-defined maximum number of iteration is reached, in which case, the solution trajectory is not guaranteed to be collision-free.
Since the objective function of Problem 2, and that of Problem 1 for that matter, aggregates the squared L2 norms of the Delta-V vectors, across deputies and across time instances, it comes as no surprise that the solver gives a stronger emphasis on larger values of Delta-V. While a quadratic objective function suppresses the control peaks, and hence enhances the smoothness of the optimal state trajectory [26], it makes Problems 1 and 2 close to being minimization problems for the maximum Delta-V instance. An alternative approach is to set the cost function to the sum of the second-norms of the Delta-V vectors, rather than the sum of the squared norms. Adopting this approach, then transforming the problem into its separable epigraph form [27], which is a very close form to the epigraph problem form [28], the new problem can be written as a second-order cone orogramming problem as follows:
Problem 3 (SOCP formulation)
subject to, | |||
(24) | |||
(25) | |||
(26) | |||
(27) | |||
(28) | |||
(31) | |||
(32) |
where is a matrix which collates all the auxiliary variables that had to be introduced in order to put the problem into the separable epigraph form. Formally,
(33) |
It is important to note that SOCP problems can be handled in their native form, i.e., without having to transform the SOC constraints into quadratic ones, only by a handful of solvers, e.g., SCS, ECOS, and MOSEK. Many of the solvers require the SOC constraints to be transformed into quadratic ones, which, if applied to constraint (27), renders it non-convex, unless an additional linear constraint is added, namely, . By adding this additional constraint, many solvers, e.g., Gurobi and Knitro, recognize the transformed quadratic constraint as a second order cone, and treat it as such.
Tracking the behaviour of the Second-Order Cone (SOC) constraint, Eq. 27, is quite interesting since it behaves such that,
(34) |
with being the optimal solution to the problem, due to the fact that Problem 3 is pushing to be as low as possible (refer to the cost function of the problem), and since the lowest possible value for is according to constraint (27).
Problem 3 can be taken a step further and be formulated as a Linear Programming (LP) problem, which makes it possible for the new formulation to be solved by the vast majority of the numerical optimization solvers.
This transformation can be applied through implementing a piece-wise linearization to the Euclidean norm function in Eq. 27. Transforming Problem 3 into an LP one not only enables the possibility to use many solvers that cannot handle the SOCP form, but may also require less time to solve than that of the SOCP formulation, although not necessarily. A less solve time can be anticipated for the LP formulation due to the fact that LP is presumably the simplest form of a convex optimization problem, and also due to the existence of dedicated LP algorithms, e.g., primal and dual simplex, which have matured over the last few decades. However, transforming the SOCP formulation into an LP one, comes at the cost of adding new constraints to the problem.
As previously mentioned, Problem 3 can be approximated to an LP form through relaxing the maximum acceleration SOCP constraint (sphere), Eq. 27, using multiple piece-wise affine constraints (polyhedron) as proposed in [16]. In [16], the piece-wise approximation was applied to the sphere such that its projections (circles) on each of the three planes, the Transversal-Normal (T-N), the Radial-Normal(R-N), and the Transversal-Radial(T-R), are each treated separately. Indeed, the optimal solution of Problem 3 is expected to have minor acceleration components in the radial direction [7, 14], which is why a stronger emphasis is put on the acceleration components lying on the T-N plane by employing a finer grid than that which is applied in the R-N and the T-R planes. This is explained graphically in Fig. 2, where the feasibility volumes are projected on the T-R, the T-N, and the R-N planes.
Having introduced the concept behind the transformation of Problem 3 into its LP approximation, this reformulation can be written as follows,
Problem 4 (LP formulation)
subject to, | |||
(35) | |||
(36) | |||
(37) | |||
(40) | |||
(43) | |||
(44) | |||
(45) |
where , with being the desired number of affine inequality constraints that approximate the projection of the SOC constraint, Eq. 27, on the Transversal-Normal plane, , and . Moreover, , , and . In Fig. 2, the constraint relaxations in Eq. 40 is depicted for which covers approximately of the original constraining circle in the T-N plane.
Similar to Problem 3, the optimal solution of Problem 4 lies at the boundaries of constraints (40) and (43). This implies that the second norm of the scaled input acceleration, , lies on the surface of the polyhedron (depicted in Fig. 2 for ) which relaxes the original feasibility sphere defined in Eq. 27.
It is to be emphasized that while the polyhedron that relaxes the acceleration norm constraint has projections on the T-N, the R-T, and the R-N planes that lie well inside the original feasibility sphere as seen in Fig. 2, some vertices of the polyhedron can be seen to slightly protrude from this sphere when visualized from different angles in the 3-dimensional space for the case of , which can be seen clearly in Fig. 3. Although the relaxing polyhedron of Problem 4 can change in size depending on the value of , and hence lie with its entirety within the original constraining sphere, the fact that it can extend beyond the limits of the sphere when can be problematic. As the solution of Problem 4 may include points where , the event of getting slightly larger than becomes a real possibility, since the solution has to lie on the boundaries of constraints (40) and (43) as discussed earlier.
While the effect of this slight violation of the original constraints can be tolerated for short maneuvers, relative orbit correction maneuvers which require extended periods of time can deviate from their set points by tens or even hundreds of meters in the dimensional ROE space as will be discussed in Section 4. It is for this reason that constraints (40) and (43) are modified such that the approximating polyhedron is uniformly scaled down so that it can be contained entirely by the original sphere regardless of the value of . The resulting problem after this scaling can be written as,
Problem 5 (LP formulation with scaled feas. region)
subject to, | |||
(46) | |||
(47) | |||
(48) | |||
(51) | |||
(54) | |||
(55) | |||
(58) | |||
(59) |
where is a constant scaling factor that guarantees that the polyhedron of Fig. 3 is situated entirely within the sphere.
The protrusion of the polyhedron beyond the constraining sphere is truly minimal, and could be quantified with the help of a 3D modelling software. In fact, the distance from the center of the polyhedron to the furthest vertex is measured to be approximately larger than the radius of the original sphere (for ). In the following discussions, the value of is set to while the constant is fixed to .
It is important to note that while mission operators usually favor closed-form solutions over numerical optimization-based ones due to the risk of running into an infeasible situation, infeasibility is never a problem in our context. A feasible solution can always be obtained when the maneuver is allowed enough time regardless of how hard the reconfiguration is, as long as the initial and final states are collision-free. Indeed, the maneuver duration is a user-input that can be planned and controlled by the ground operators.
4 Results and discussion
In this section, the proposed LP guidance scheme is validated through a case-study and the results of this case-study are analysed. The LP scheme offers more inherent details, such as the scaling factor, for discussion. Moreover, a brief comparison between the convex QCQP, the SOCP, and the relaxed LP formulations is carried out, through a benchmark study of multiple solvers.
4.1 Case-study
To test the effectiveness of the guidance schemes, they were run over multiple simulation scenarios. As an example, the details of one of these scenarios are presented here. Considering 4 identical satellites, Sat. A, Sat. B, Sat. C, and Sat. D, that are flying in a close formation with a chief. The four deputies are assumed to be initially equidistant from each other along the transversal direction (trailing/coplanar configuration) with the chief at the center of the formation, and are required to perform a formation reconfiguration such that they are distributed along a Projected Circular Orbit (PCO) at the final time. The details of parameterizing the coplanar as well as the PCO configurations in terms of mean ROE is discussed in [10], and the initial as well as the final (set-point) states of each of the deputies are summarized in Table 1. The numbers in Table 1 indicate that the initial distance between each two consecutive satellites in the trailing formation is m, while the radius of the final PCO is m. Moreover, the orbit of the chief is characterized by at .
Satellite | |||
---|---|---|---|
Sat. A | |||
Sat. B | |||
Sat. C | |||
Sat. D |
Since the 4 deputies are identical, are set to and are set to for all . Furthermore, the simulation is set up such that there are no operational time constraints, and the durations of the coast arcs are thus set to be all equal, i.e., , where is calculated according to the equality option in Eq. 5 for and s. The forced motion periods are also fixed to a constant value, i.e., , which was tuned around the results of the sensitivity analysis presented in [16]. A full list of the parameters used in the simulation is given in Table 2. These parameters correspond to that of Triton-X heavy, designed and manufactured by Luxspace.
[orbits] | [orbits] | |||||
---|---|---|---|---|---|---|
Running the LP guidance scheme, Problem 5, over the described reconfiguration setting, profiles for the state vector, the control input vector, and the slack variables are obtained for each deputy at every step of the defined time vector. The trajectory followed by each of the deputies is depicted in Fig. 4, where the final relative orbit for all the deputies is seen to indeed resemble a PCO with a m radius. Note that Fig. 4 contains legends only for Sat. A to explain the line and marker shapes’ convention in use. Legends for other satellites would have had the same shapes as those of Sat. A, yet with their respective colors.
Note that Fig. 4 shows the 2-dimensional view of the trajectory’s projection onto the T-N plane. In fact, Table 1 suggests that the maneuver is a general one, which requires both, in-plane and out-of-plane corrections. This could be verified by looking either at the 3-dimensional visualization of the trajectories, or at the ROE profile of the maneuver. The ROE profile of the reconfiguration maneuver is depicted in Fig. 5, which not only shows corrections of the in-plane variables as well as the out-of-plane ones, but also demonstrates how each of the relative orbital elements of all the deputies matches its set-point at the final time of the maneuver.
The optimality of the results were investigated through exploring the acceleration profiles of the maneuver. The radial, the transversal, and the normal components of the acceleration provided by each deputy are shown in Fig. 6.
One interesting aspect which can be seen in Fig. 6 is that the radial acceleration component is barely used even though it was not explicitly restricted in the formulation of Problem 5, simply because optimality dictates not exploiting it. Leveraging mostly the transversal and normal components does indeed coincide with our initial expectations, which formed a foundation for approximating the projections of the maximum acceleration constraint on the R-T and the R-N planes with only 4 affine constraints for each plane, unlike the 12 constraints which approximate the projection of the same constraint on the T-N plane [16]. Moreover, the fact that the radial acceleration component is minimally utilized suggests that corrections are not performed directly through thrust, but rather through varying the value of which, in-turn, changes according to the natural dynamics [7]. The small corrections of the relative eccentricity vector are conceivably done using the transversal acceleration component since it is half as expensive as using the radial one from the Delta-V point of view [7]. Although the in-plane corrections are larger in magnitude, they are mostly done by exploiting the natural dynamics as discussed earlier. Thus, it comes as no surprise that the normal acceleration component, which is responsible only for out-of-plane corrections, is the most component that has been utilized. In Fig. 6, the dashed teal vertical lines represent the Delta-V-optimal locations to provide impulsive acceleration in the normal direction to achieve the required out-of-plane corrections [7]. That said, the obtained solution, once again, matches the expectations for an optimal control profile as the normal acceleration component is seen in Fig. 6 to act as a bang-bang controller around the optimal locations, while being zero away from them.
The difference between the two problems, 4 and 5, is only the scaling factor, , which scales down the feasibility region of the maximum acceleration constraint. The effect of this scaling coefficient can be clearly seen by looking into the acceleration (norm) profiles throughout the maneuver, which are depicted in Figures 7 and 8 for Problems 4 and 5, respectively.
When is set to unity, which is the case in Problem 4, the acceleration is prone surpass the maximum level as seen in Fig. 7. Conversely, in Fig. 8, our claim that setting to (for ) guarantees that the L2 norm of the acceleration never exceeds the maximum acceleration level is verified (see the blue line). It is important to note that in the former case, the acceleration will never surpass the maximum acceleration by more than (for ). Despite being minimal, this violation may lead to large errors over time in the ROE space which cannot be simply ignored when thrusters saturation is imposed, especially when the variations are used to drive the in-plane variables to their set points. Figures 8 and 7 also depict a scaled profile of the slack variable, , throughout the reconfiguration maneuver (red lines), which verifies that constraint (55) never gets violated. Note that in the two LP formulations of the problem, however in the SOCP formulation, as stated by Eq. 34. This can be verified by inspecting the profiles of the L2 norm of the control acceleration vector when Problem 3 is solved. These profiles are depicted for the case-study reconfiguration scenario in Fig. 9, which shows that, for all the forced-motion periods, the optimal is indeed equal to the acceleration level provided by each deputy.
A very important aspect of the modified guidance schemes, Problems 2 through 5, is that they all rely on sequential convex programming, which may require the problem to be solved multiple times before an optimal solution could be obtained. The approach we adopted for solving Problems 2 through 5 is to solve the problem first without the collision avoidance constraints, inequalities (58) and (59) for Problem 5, to obtain estimates for . The problem is subsequently solved iteratively and the values of are updated at each iteration until any of the stop** criteria is met. The termination criteria were introduced in Section 3, but they are mentioned here once again to allow for a more elaborate discussion. The SCP termination criteria are a) at the current iteration; b) The guidance profile of the current iteration is collision free; c) The user-defined maximum number of iteration is reached. Indeed, adopting only the first criterion is guaranteed to result in an optimal guidance profile, if the problem is feasible to begin with, yet at the cost of computational time, since a large number of iterations might be required if is chosen to be very small. Implementing the second criterion may lead to a sub-optimal solution, however, it considerably reduces the number of iterations required to solve the problem. The third criterion is nothing but a safeguard to ensure that the solver is not stuck in an infinite loop. In the context of our case-study, two simulations were run (using the formulation of Problem 5) where the first adopted the two stop** criteria, a) and c), while the second adopted all of the three. The former required 7 iterations to solve the problem (using ), resulting in a solution which requires a total Delta-V of , while the latter needed only 1 iteration, providing a guidance profile which requires , which calls for only increase in the required Delta-V. One thing which is worth noting is that, throughout our test simulations, adopting the second criterion almost always required a single iteration after the zeroth iteration in which the problem is solved without the collision avoidance constraints. This behaviour is especially expected in cases where the solution of the zeroth iteration is almost collision-free. The intersatellite distances for our case-study are depicted in Fig. 10 for the zeroth SCP iteration and in Fig. 11 for the first SCP iteration, where the asterisks signify a location where collision avoidance is violated.
4.2 Solvers benchmark
The total Delta-V cost of the SOCP formulation, Problem 3, is expected to be less than what results from solving the convex QCQP problem, Problem 2. It is for this obvious reason that the QCQP scheme had to be modified into the SOCP formulation. Approximating the SOCP problem by an LP formulation, Problem 5, could be justified by many motives, among which is the fact that this relaxation puts the problem in the simplest form of convex programming, which is the easiest to implement. Moreover, the LP formulation is expected to require less solve time, especially for lower dimensional reconfiguration scenarios, i.e., those scenarios that involve a low number of sampling instances, and consequently involve a low number of constraints. The LP formulation is not expected to be very fast for higher dimensional reconfiguration scenarios, since one SOCP constraint is approximated by 20 linear constraints; 12 in the T-N plane, 4 in the R-N plane, and 4 in the T-R plane. One other advantage of transforming an SOCP problem into an approximated linear program is to use dedicated solvers for linear programming that could not be possibly used in an SOCP context. This opens the door to many open-source non-commercial solvers that can handle only linear constraints such as GLPK, HiGHS, OSQP, and many others. Furthermore, some solvers which can handle SOCP problems still use dedicated algorithms for linear and quadratic programs that are not suitable for solving SOCP problems. Examples of such solvers include CPLEX, Gurobi, and Xpress, which usually favor simplex methods for linear programs, while using interior-point algorithms for QCQP and SOCP problems.
To get a clearer insight of the key differences between Problems 2, 3, and 5, four different reconfiguration scenarios were identified, and were used for the purpose of benchmarking different solvers when run over each of these formulations. The four scenarios were carefully selected to reflect wide ranges of formation and problem sizes, i.e., intersatellite distances, and number of variables and constraints, while being relevant from the applications point of view. The first reconfiguration requires the formation to go from a pendulum configuration into a PCO, the second reshapes the formation from a PCO into a cartwheel configuration, the third requests a cartwheel to helix reconfiguration, and the fourth starts from a helix configuration and ends up in a pendulum one. The reader is referred to A for the full details of the reconfiguration scenarios. It is to be emphasized that the assumed configuration geometries, i.e., PCO, pendulum, cartwheel, and helix, are all of a great interest for remote sensing applications [29, 30], and the identified reconfigurations may resemble a formation geometry change within a multi-static Synthetic Aperture Radar (SAR) mission. In the benchmark test, 15 of the most commonly used solvers for the types of problems in hand, according to the Mittelmann’s benchmark111This benchmark used to act a decision tree for optimization software. It can be accessed through: https://plato.asu.edu/bench.html and according to the statistics of NEOS server222The statistics of NEOS server can be accessed through: https://neos-server.org/neos/report.html, were compared. An overview of the adopted 15 solvers is demonstrated in Table 3, where the problem types that could be handled by a solver are presented, together with information on whether the solver can be freely used in a commercial setting, or a software license needs to be purchased (on the date of writing this study, in June 2024). Note that every QCQP problem can be formulated as an SOCP one [27], nonetheless, the solvers that cannot handle QCQPs in their native form but can handle SOCP problems, e.g., SCS and ECOS, are marked with an ✗ mark in the QCQP column. The opposite is not true, however. Solvers which do not accept SOC constraints in their native form but rather need a reformulation of these constraints into the quadratic form are still marked with a ✓ mark in the SOCP column, since they still recognize the SOC nature of the reformulated constraints and treat them as such.
Solver | Free | QCQP | SOCP | LP |
---|---|---|---|---|
GLPK [31] | ✓ | ✗ | ✗ | ✓ |
CLP [32] | ✓ | ✗ | ✗ | ✓ |
OSQP [33] | ✓ | ✗ | ✗ | ✓ |
OOQP [34] | ✓ | ✗ | ✗ | ✓ |
SCS [35] | ✓ | ✗ | ✓ | ✓ |
ECOS [36] | ✓ | ✗ | ✓ | ✓ |
IPOPT [37] | ✓ | ✓ | ✓ | ✓ |
SCIP [38] | ✓ | ✓ | ✓ | ✓ |
MOSEK [39] | ✗333Offers a free academic license | ✓ | ✓ | ✓ |
Gurobi [40] | ✗3 | ✓ | ✓ | ✓ |
CPLEX [41] | ✗3 | ✓ | ✓ | ✓ |
COPT [42] | ✗3 | ✓ | ✓ | ✓ |
Knitro [43] | ✗444Offers a free academic licenses for the professor and the students during the time of the course | ✓ | ✓ | ✓ |
Xpress [44] | ✗555Offers a community license which is limited to a maximum of 5000 variables and constraints | ✓ | ✓ | ✓ |
Matlab [45] | ✗ | ✓ | ✓ | ✓ |
Using their default parameters, each solver was run 10 times over each reconfiguration scenario using the three problem formulations developed in this paper, i.e., the QCQP formulation, Problem 2, the SOCP formulation, Problem 3, and the LP formulation, Problem 5. The average time it took a solver to complete each of the 10 iterations was then recorded. The benchmark was conducted on a Windows-PC which comprises an Intel Core i9-10885H CPU with 16 cores and a clock speed of 2.4 GHz. The language that was used formulate the problems is Matlab, and the problems were passed to each solver either through its native Matlab Application Programming Interface (API). e.g., OSQP and SCS, or through a third-party Matlab interface, e.g., GLPK and CLP. Some interesting details on the 15 adopted solvers and on how they were interfaced with Matlab are presented in B. It is of utmost importance to declare that the purpose of this benchmark is not to compare the performance of the selected solvers. After all, tweaking the parameters of a solver may very probably result in a different performance. The purpose is rather to draw some recommendations as to which formulation is better used under which conditions, and also to showcase that using the different proposed formulations for the guidance problem has a major affect on both, the solve time of the problem, and the total Delta-V required for the maneuver. The results of the benchmark are presented in Table 4. The table also conveys some of the problem properties which are solver-independent. Namely the following properties are reported; the number of decision variables, the number of constraints excluding decision variables’ bounds, the total Delta-V, and the number of required SCP iterations after the zeroth iterations in order to arrive to a collision-free reconfiguration. The log files for the benchmark experiment are available as supplementary materials to this article.
Reconfiguration 1 | Reconfiguration 2 | Reconfiguration 3 | Reconfiguration 4 | |||||||||
QCQP | SOCP | LP | QCQP | SOCP | LP | QCQP | SOCP | LP | QCQP | SOCP | LP | |
N. variables | 1248 | 1316 | 1316 | 2412 | 2544 | 2544 | 960 | 1012 | 1012 | 3816 | 4026 | 4026 |
N. constraints | 1234 | 1234 | 2526 | 2661 | 2661 | 5169 | 676 | 676 | 1664 | 4221 | 4221 | 8211 |
Total [m/s] | 1.18 | 1.03 | 1.05 | 3.04 | 2.66 | 2.76 | 1.32 | 1.25 | 1.31 | 4.77 | 4.30 | 4.50 |
N. SCP iter. | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
Solver | Solve time [s] | |||||||||||
GLPK | - | - | 0.18 | - | - | 0.75 | - | - | 0.03 | - | - | 1.52 |
CLP | - | - | 0.29 | - | - | 1.77 | - | - | 0.01 | - | - | I.L.00footnotemark: 0 |
OSQP | - | - | 0.50 | - | - | 1.18 | - | - | 0.16 | - | - | 2.12 |
OOQP | - | - | 0.21 | - | - | 0.46 | - | - | 0.05 | - | - | 0.86 |
SCS | - | 0.12 | 0.41 | - | 0.14 | 1.07 | - | 0.02 | 0.13 | - | 0.32 | 4.76 |
ECOS | - | 0.03 | 0.05 | - | 0.08 | 0.12 | - | 0.01 | 0.01 | - | 0.17 | 0.19 |
IPOPT | 13.39 | 60.24 | 0.85 | 3.80 | 60.26 | 1.93 | 7.19 | 30.11 | 0.26 | 36.13 | 60.32 | 2.88 |
SCIP | T.L.00footnotemark: 0 | 24.47 | 0.26 | T.L.00footnotemark: 0 | T.L.00footnotemark: 0 | 1.00 | T.L.00footnotemark: 0 | 6.20 | 0.09 | T.L.00footnotemark: 0 | T.L.00footnotemark: 0 | 2.34 |
MOSEK | 0.06 | 0.05 | 0.07 | 0.14 | 0.11 | 0.18 | 0.01 | 0.01 | 0.01 | 0.17 | 0.18 | 0.28 |
Gurobi | 0.59 | 0.14 | 0.13 | 0.68 | 0.18 | 0.31 | 0.52 | 0.12 | 0.07 | 1.06 | 0.27 | 0.34 |
CPLEX | 0.31 | N.I.00footnotemark: 0 | 0.30 | 0.40 | N.I.00footnotemark: 0 | 0.34 | 0.12 | N.I.00footnotemark: 0 | 0.11 | 0.58 | N.I.00footnotemark: 0 | 0.46 |
COPT | 0.09 | 0.06 | 0.11 | 0.17 | 0.09 | 0.18 | 0.03 | 0.02 | 0.05 | 0.24 | 0.13 | 0.24 |
Knitro | 0.05 | 0.15 | 0.10 | 0.08 | 0.26 | 0.19 | 0.01 | 0.03 | 0.03 | 0.16 | 0.47 | 0.34 |
Xpress | 0.17 | 0.16 | 0.15 | L.L.00footnotemark: 0 | L.L.00footnotemark: 0 | L.L.00footnotemark: 0 | 0.07 | 0.07 | 0.04 | L.L.00footnotemark: 0 | L.L.00footnotemark: 0 | L.L.00footnotemark: 0 |
Matlab | 2.95 | 0.16 | 0.09 | 7.46 | 0.54 | 0.54 | 0.89 | 0.04 | 0.01 | 23.60 | 1.63 | 1.04 |
Table 4 presents, in a quantitative manner, how much of the total Delta-V can be saved simply by adopting the SOCP or the LP formulations. It comes as no surprise that the SOCP formulation is requiring less total Delta-V than the LP formulation, since the SOCP problem is exploring a much larger action space than the LP is (refer to Figures 2 and 3). It is also clear from Table 4 how the number of variables is identical for the SOCP and the LP formulations, since they both consider all the entries of the matrix as decision variables. The number of constraints for the LP formulation is always much higher than the identical number of constraints for the QCQP and the SOCP formulations. The reason for this is that each instance of Eq. 27 is approximated by 20 linear constraints, Equations (51) and (54), in the LP formulation. The effect of adopting the various problem formulations on the number of required SCP iterations is unclear, mainly due to the fact that SCP is set to terminate once a collision-free reconfiguration is obtained, which is a sub-optimal approach that turns out to be much faster, as has been pointed out earlier.
To get a better idea of how fast the different solvers return the optimal solution to the problem in hand, the solve time data, reported in Table 4, were averaged across the four reconfiguration scenarios, and the mean is depicted for each solver in Fig. 12.
At a first glance on Fig. 12, it becomes very clear that, among all the solvers, those which are not dedicated to convex optimization, i.e., IPOPT, SCIP, and Matlab in the QCQP case, are the slowest, although IPOPT and SCIP perform competitively in the LP case due to the simplicity of the problem. It is to be noted that many of the benchmarked solvers can still handle Non-Linear Programming (NLP) problems, e.g., CPLEX and Gurobi, however, they do recognize convex optimization problems, and hence, use dedicated algorithms that work best for the convex cases. The LP-only free solvers, i.e., GLPK, CPL, OSQP, and OOQP, present themselves as plausible candidates, although the commercial ones appear to generally perform better for the same problem formulation, with an exception to Matlab’s LP solver. Moreover, it is hardly surprising that dedicated conic solvers, namely SCS and ECOS, perform generally faster for the conic case, i.e., SOCP, than for the LP case. In fact, ECOS seems to be performing exceptionally well for a free solver for two problem formulations it supports, i.e., SOCP and LP.
There is little to no conclusion that can be drawn based on the results of the commercial solvers. For instance, some solvers perform the best for the QCQP formulation, some are favored for the SOCP case, and some are faster when handling the LP problems. The main recommendation from Table 4 as well as Fig. 12 is to avoid the QCQP formulation since it is the most Delta-V intensive, while being generally slower to solve than either of the two other formulations, despite involving the least number of variables and constraints.
One other takeaway which can be observed by looking into the details of Table 4 is that the performance of the solvers over the LP problems is better when the number of constraints of the original SOCP problem is small, e.g., Reconfiguration 3. This claim is supported by the results of ECOS, MOSEK, and specifically Gurobi. Conversely, for larger problem sizes, the SOCP problems are generally solved faster. It is for this reason that the LP formulation could only be recommended for small problem sizes, while the SOCP formulation is recommended for larger problems, although being harder to implement.
4.3 Limitations of the proposed schemes
The proposed guidance strategy can be, theoretically, used for an arbitrary number of deputies. However, employing the proposed guidance schemes in a constellation setting, i.e., with a very large number of satellites, might not be practical from the solve time point of view. To test the limitations of the centralized guidance plan, a last experiment was performed where the number of deputies is allowed to vary from 1 to 20 deputies, while the formation is requested to, once again, perform a Coplanar-to-PCO maneuver. The distance between every two consecutive deputies is set to for the initial configuration, while the radius of the final PCO is set , and, for a fair comparison, each of the reconfigurations are allowed orbits to complete. Since it has been established that the SOCP formulation is generally recommended, and since ECOS appears to be the fastest solver that handles the SOCP problem in our context, ECOS was run over the reconfiguration scenarios and the solve time is depicted against the number of deputies in Fig. 13.
It is obvious, and also quite conceivable, that the solve time is increasing exponentially with the number of deputies. It is for this reason that the proposed guidance schemes are only recommended for formations with small numbers of deputies. It might be worthwhile, however, to investigate distributed approaches for formations with large numbers of satellites.
5 Conclusion
This article proposed centralized guidance schemes for the purpose of reconfiguring the relative orbits of multiple deputies around a chief satellite. One main characteristic of the considered formation reconfiguration is that each deputy is equipped with a single electric thruster, while the chief is uncontrolled, and is treated as the central processing unit for the formation trajectory optimization. In the development of the guidance strategies, the inter-deputy and the deputy-chief collision avoidance is considered, together with the fact that each deputy is under-actuated. The article proposed five different numerical optimization formulations for the guidance problem, where each formulation is a modified/relaxed version of the preceding one. The second (QCQP), the third (SOCP), and the fifth (LP) formulations were identified as the most promising ones, and were involved in an experiment where fifteen solvers were benchmarked accross four different reconfiguration scenarios. It was concluded from the results of the benchmark that the QCQP could never be recommended, as it requires the most total Delta-V change for a maneuver. Moreover, the SOCP formulation is generally recommended, for being fast to solve by many of the benchmarked solvers and also for requiring the least total Delta-V for the maneuver in question. The LP Formulation could only be recommended for small-scale problems, for being very efficient to solve, while being supported by the almost every numerical optimization solver there is.
Acknowledgments
This research was funded in whole, or in part, by the Luxembourg National Research Fund (FNR), grant reference BRIDGES/19/MS/14302465. For the purpose of open access, and in fulfilment of the obligations arising from the grant agreement, the author has applied a Creative Commons Attribution 4.0 International (CC BY 4.0) license to any Author Accepted Manuscript version arising from this submission.
Appendix A Reconfiguration scenarios used in the benchmark experiment
Four reconfiguration scenarios have been identified for the benchmark experiments. The initial orbit of the chief is assumed to be a sun-synchronous orbit which is shared in all of the four reconfigurations. The chief’s orbit is parameterized by at . Furthermore, the deputies are assumed identical in all the scenarios, and consequently, are set to for all with being the number of deputies. Furthermore, the durations of the coast arcs are assumed to be all equal, i.e., . The forced motion periods are also fixed to a constant value, i.e., . The simulation parameters that are used in the benchmark experiment are the same as those in Table 2 and are shared in the four reconfigurations, except for the maneuver duration, which is defined separately for each reconfiguration scenario.
A.1 Reconfiguration 1 - Pendulum to PCO
In this reconfiguration scenario, 4 deputy satellites are assumed to be in a pendulum configuration at and are required to be reconfigured into a Projected Circular Orbit (PCO) at , where . Table 1 summarizes the initial and final dimensional ROE vectors, and , in meters for all the deputies.
Satellite | ||
---|---|---|
Sat. A | ||
Sat. B | ||
Sat. C | ||
Sat. D |
The shape of the initial and final relative orbits of Reconfiguration 1 is depicted in Fig. 1
A.2 Reconfiguration 2 - PCO to Cartwheel
In this reconfiguration scenario, 6 deputy satellites are assumed to be in a PCO configuration at and are required to be reconfigured into a cartwheel configuration at , where . Table 2 summarizes the initial and final dimensional ROE vectors, and , in meters for all the deputies.
Satellite | ||
---|---|---|
Sat. A | ||
Sat. B | ||
Sat. C | ||
Sat. D | ||
Sat. E | ||
Sat. F |
The shape of the initial and final relative orbits of Reconfiguration 2 is depicted in Fig. 2
A.3 Reconfiguration 3 - Cartwheel to Helix
In this reconfiguration scenario, 4 deputy satellites are assumed to be in a cartwheel configuration at and are required to be reconfigured into a helix configuration at , where . Table 3 summarizes the initial and final dimensional ROE vectors, and , in meters for all the deputies.
Satellite | ||
---|---|---|
Sat. A | ||
Sat. B | ||
Sat. C | ||
Sat. D |
The shape of the initial and final relative orbits of Reconfiguration 3 is depicted in Fig. 3
A.4 Reconfiguration 4 - Helix to Pendulum
In this reconfiguration scenario, 6 deputy satellites are assumed to be in a helix configuration at and are required to be reconfigured into a pendulum configuration at , where . Table 4 summarizes the initial and final dimensional ROE vectors, and , in meters for all the deputies.
Satellite | ||
---|---|---|
Sat. A | ||
Sat. B | ||
Sat. C | ||
Sat. D | ||
Sat. E | ||
Sat. F |
The shape of the initial and final relative orbits of Reconfiguration 4 is depicted in Fig. 4
Appendix B Solvers details
Fifteen solvers were chosen for the benchmark using the four reconfiguration scenarios defined in A. These solvers were chosen from the list of the most commonly used solvers on NEOS server in the category of LP and SOCP problems, and also from the solvers involved in the Mittelmann’s benchmark. Since NEOS server does not have a distinct category for QCQP, the solvers which are used for the SOCP problems are considered, since SOCP is the closest form of a convex programming formulation to the QCQP, and since any QCQP problem can be eventually formulated as an SOCP one. On top of the common solvers for each category, IPOPT was added for being one of the most commonly used free solvers for a variety of problem classes. Moreover, the solvers of the Matlab Optimization Toolbox were added to the list of solvers that are involved in our benchmark experiment under the name ”Matlab”. A brief overview of the 15 solvers is presented in the following bullet points:
-
1.
GLPK (GNU Linear Programming Kit): GLPK is intended for solving large-scale linear programming, mixed integer programming (MIP), and other related problems.
-
2.
CLP (COIN-OR Linear Program solver): CLP is part of the COIN-OR project and is a solver meant for linear programming problems.
-
3.
OSQP (Operator Splitting Quadratic Program solver): OSQP is a numerical optimization package for solving convex quadratic programs. Linear programs, as a subset of quadratic programming problems, can be handled by the solver.
-
4.
OOQP (Object-Oriented software for Quadratic Programs): OOQP is an object-oriented software package for solving convex quadratic programming problems.
-
5.
SCS (Splitting Conic Solver): SCS is primarily meant for large-scale convex quadratic cone problems.
-
6.
ECOS (Embedded Conic Solver): ECOS is a numerical software for solving convex second-order cone programs.
-
7.
IPOPT (Interior Point OPTimizer): IPOPT is vastly used for large scale nonlinear optimization of continuous systems.
-
8.
SCIP (Solving Constraint Integer Programs): SCIP is one of the fastest non-commercial solvers for mixed integer programming and mixed integer nonlinear programming (MINLP). SCIP uses the SoPlex solver internally to solve linear programming problems.
-
9.
MOSEK: MOSEK is a commercial solver with an emphasis on solving large-scale sparse problems. It supports a wide range of problem types, including linear, quadratic, and convex nonlinear programs (NLP).
-
10.
Gurobi: Gurobi is a commercial solver that performs very well in large-scale optimization settings. It can solve various types of optimization problems, including linear as well as nonlinear programming problems.
-
11.
IBM ILOG CPLEX Optimization Studio (CPLEX): CPLEX is high-performance optimization solver for linear, mixed-integer and quadratic programming. It was named the for the simplex method implemented in the C programming language, although, at the moment, it supports other types of mathematical optimization and offers interfaces other than C.
-
12.
COPT (Cardinal optimizer): COPT is a mathematical optimization solver for large-scale problems. It supports many problem types including LP, SOCP, and Convex QCQP.
-
13.
Knitro: Knitro is a commercial software package for solving large scale nonlinear mathematical optimization problems. It supports a wide range of problem types, including linear and nonlinear programs, including non-convex NLPs.
-
14.
Xpress: Xpress is a mathematical optimization solver designed to solve linear programming, mixed integer programming, and other types of optimization problems.
-
15.
Matlab: Matlab is a high-level language and interactive environment that is used to perform computationally intensive tasks. In our context ”Matlab” refers to the solvers offered by the Matlab Optimization Toolbox, which includes a dedicated linear programming solver, , a dedicated conic programming function, , a general purpose NLP solver, , and many other solvers and capabilities.
Matlab has been used as a modelling language, and the problems were passed to each solver through an interface, either provided by the solver developer, by Matlab, or by a third party. Table 1 contains the information about the version of each solver used in the benchmark, the interface that has been used between Matlab and the solver.
Solver | Version | Interface with Matlab |
---|---|---|
GLPK | v4.62 | GLPKmex101010The details of the interface as well as its source files are available on:https://github.com/blegat/glpkmex |
CLP | v1.16.11 | OPTI111111The details of the interface as well as its source files are available on:https://github.com/jonathancurrie/OPTI |
OSQP | v0.6.2 | Developer’s API |
OOQP | v0.99.22 | OPTI11 |
SCS | v3.2.3 | SCS-Matlab121212The details of the interface as well as its source files are available on:https://github.com/bodono/scs-matlab |
ECOS | v2.0.10 | Developer’s API |
IPOPT | v3.14.4 | mexIPOPT131313The details of the interface as well as its source files are available on:https://github.com/ebertolazzi/mexIPOPT |
SCIP | v5.0.1 | OPTI11 |
MOSEK | v10.1.15 | Developer’s API |
Gurobi | v11.0.2 | Developer’s API |
CPLEX | v12.10.0.0 | OPTI11 |
COPT | v7.1.3 | COPT-MATLAB141414The details of the interface as well as its source files are available on:https://github.com/leavesgrp/COPT-MATLAB |
Knitro | v14.0.0 | Developer’s API |
Xpress | v9.4.0 | Developer’s API |
Matlab | v9.2 (R2021b) | No interface needed |
The most interesting interfacing case is that of CPLEX, which is interfaced through the OPTI Matlab toolbox [46]. Although International Business Machines Corporation (IBM) used to provide a Matlab API for their CPLEX solver, this interface was discontinued, and the latest compatible Matlab version with that API was R2019b. Since the OPTI Matlab toolbox provides an interface that works flawlessly with newer Matlab versions, and since the authors used a newer Matlab version to model the problems, with no guarantee that the same code can be used in Matlab2019b to produce the parameters of each problem, it was decided to interface CPLEX with Matlab through OPTI, instead of moving to an older version of Matlab. It is to be noted, however, that SOCP problems are not handled by OPTI. Another thing to note is that most solvers have multiple internal methods that the user can choose from according to the problem in hand. Many solvers offer the possibility to choose the most suitable algorithm for the problem in hand, according to the pre-solve results. In the benchmark experiment, the algorithm was set to the default, which in most cases means that the solve method is automatically chosen by the solver. The specific algorithms used in the benchmark experiment are reported, by most solvers, in the benchmark log files, which are available as supplementary materials to this article.
References
-
[1]
J. N. Pelton, S. Madry, Introduction to the Small Satellite Revolution and Its Many Implications, Springer International Publishing, Cham, 2020, Ch. 1, pp. 3–31.
doi:10.1007/978-3-030-36308-6_1.
URL https://doi.org/10.1007/978-3-030-36308-6_1 - [2] S. Miller, M. L. R. Walker, J. Agolli, J. Dankanich, Survey and performance evaluation of small-satellite propulsion technologies, Journal of Spacecraft and Rockets 58 (1) (2021) 222–231. doi:10.2514/1.A34774.
-
[3]
D. O’Reilly, G. Herdrich, D. F. Kavanagh, Electric propulsion methods for small satellites: A review, Aerospace 8 (1) (2021).
doi:10.3390/aerospace8010022.
URL https://www.mdpi.com/2226-4310/8/1/22 - [4] V. Stanzione, B. Sabbatinelli, Platino project: a new italian multi-application small satellite platform for highly competitive missions., in: 69th International Astronautical Congress (IAC), International Astronautical Federation, Bremen, Germany, 2018.
- [5] E. Helmeid, J. Buursink, M. Poppe, P. Ries, M. Gales, The integrated avionics unit - performance, innovation and application, Poster presentation at The 4S Symposium, vilamoura, Portugal, 2022 (2022).
-
[6]
R. Larsson, R. Noteborn, P. Bodin, D. Simone, T. Karlsson, A. Carlsson, Autonomous formation flying in leo - seven months of routine formation flying with frequent reconfigurations, in: 4th International Conference on Spacecraft Formation Flying Missions & Technologies, 2011.
URL https://elib.dlr.de/74364/ - [7] G. Gaias, S. D’Amico, Impulsive maneuvers for formation reconfiguration using relative orbital elements, Journal of Guidance, Control, and Dynamics 38 (6) (2015) 1036–1049. doi:10.2514/1.G000189.
- [8] G. Di Mauro, R. Bevilacqua, D. Spiller, J. Sullivan, S. D’Amico, Continuous maneuvers for spacecraft formation flying reconfiguration using relative orbit elements, Acta Astronautica 153 (2018) 311–326.
- [9] M. Chernick, S. D’Amico, New closed-form solutions for optimal impulsive control of spacecraft relative motion, Journal of Guidance, Control, and Dynamics 41 (2) (2018) 301–319. doi:10.2514/1.G002848.
- [10] F. Scala, G. Gaias, C. Colombo, M. Martín-Neira, Design of optimal low-thrust manoeuvres for remote sensing multi-satellite formation flying in low earth orbit, Advances in Space Research 68 (11) (2021) 4359–4378.
- [11] A. De Vittori, M. F. Palermo, P. D. Lizia, R. Armellin, Low-thrust collision avoidance maneuver optimization, Journal of Guidance, Control, and Dynamics 45 (10) (2022) 1815–1829. doi:10.2514/1.G006630.
- [12] G. Gaias, J.-S. Ardaens, Flight demonstration of autonomous noncooperative rendezvous in low earth orbit, Journal of Guidance, Control, and Dynamics 41 (6) (2018) 1337–1354. doi:10.2514/1.G003239.
- [13] G. Gaias, S. D’Amico, J.-S. Ardaens, Generalised multi-impulsive manoeuvres for optimum spacecraft rendezvous in near-circular orbit, International Journal of Space Science and Engineering 3 (1) (2015) 68–88. doi:10.1504/IJSPACESE.2015.069361.
- [14] E. Belloni, S. Silvestrini, J. Prinetto, M. Lavagna, Relative and absolute on-board optimal formation acquisition and kee** for scientific activities in high-drag low-orbit environment, Advances in Space Research (2023). doi:https://doi.org/10.1016/j.asr.2023.07.051.
-
[15]
A. Mahfouz, G. Gaias, D. M. K. K. Venkateswara Rao, H. Voos, Autonomous optimal absolute orbit kee** through formation flying techniques, Aerospace 10 (11) (2023).
doi:10.3390/aerospace10110959.
URL https://www.mdpi.com/2226-4310/10/11/959 - [16] A. Mahfouz, G. Gaias, F. Dalla Vedova, H. Voos, Fuel-optimal formation reconfiguration by means of unidirectional low-thrust propulsion system, Journal of Guidance, Control, and DynamicsUnder review (2024).
- [17] D. Menzio, A. Mahfouz, D. Vedova, et al., Formation design of an inter-satellite link demonstration mission, in: Proceedings of the 11th International Workshop on Satellite Constellations & Formation Flying, Milan, IT, 2022.
- [18] A. Mahfouz, D. Mezio, F. Dalla-Vedova, H. Voos, Relative state estimation for leo formations with large inter-satellite distances using single-frequency GNSS receivers, in: Proceedings of the 11th International Workshop on Satellite Constellations & Formation Flying, Milan, IT, 2022.
- [19] A. Mahfouz, D. Mezio, F. Dalla-Vedova, H. Voos, Gnss-based baseline vector determination for widely separated cooperative satellites using l1-only receivers, Advances in Space Research (2023). doi:https://doi.org/10.1016/j.asr.2023.06.037.
- [20] D. A. Vallado, Fundamentals of astrodynamics and applications, Vol. 12, Springer Science & Business Media, 2001.
- [21] G. Gaias, C. Colombo, M. Lara, Analytical framework for precise relative motion in low earth orbits, Journal of Guidance, Control, and Dynamics 43 (5) (2020) 915–927. doi:10.2514/1.G004716.
- [22] D. Morgan, S.-J. Chung, F. Y. Hadaegh, Model predictive control of swarms of spacecraft using sequential convex programming, Journal of Guidance, Control, and Dynamics 37 (6) (2014) 1725–1740. doi:10.2514/1.G000218.
- [23] T. Pippia, V. Preda, S. Bennani, T. Keviczky, Reconfiguration of a satellite constellation in circular formation orbit with decentralized model predictive control, in: Proceedings of the 2022 CEAS EuroGNC conference, Berlin, Germany, 2022, cEAS-GNC-2022-027.
- [24] G. Gaias, M. Lovera, Trajectory design for proximity operations: The relative orbital elements’ perspective, Journal of Guidance, Control, and Dynamics 44 (12) (2021) 2294–2302. doi:10.2514/1.G006175.
- [25] I. M. Ross, Space trajectory optimization and l1-optimal control problems, in: P. Gurfil (Ed.), Modern Astrodynamics, Vol. 1 of Elsevier Astrodynamics Series, Butterworth-Heinemann, 2006, Ch. 6, pp. 155–VIII. doi:https://doi.org/10.1016/S1874-9305(07)80008-2.
- [26] A. Abdelkarim, Y. Jia, D. Gorges, Optimization of vehicle-to-grid profiles for peak shaving in microgrids considering battery health, in: IECON 2023-49th Annual Conference of the IEEE Industrial Electronics Society, IEEE, 2023, pp. 1–6. doi:10.1109/IECON51785.2023.10312094.
-
[27]
M. S. Lobo, L. Vandenberghe, S. Boyd, H. Lebret, Applications of second-order cone programming, Linear Algebra and its Applications 284 (1) (1998) 193–228, international Linear Algebra Society (ILAS) Symposium on Fast Algorithms for Control, Signals and Image Processing.
doi:https://doi.org/10.1016/S0024-3795(98)10032-0.
URL https://www.sciencedirect.com/science/article/pii/S0024379598100320 - [28] S. P. Boyd, L. Vandenberghe, Convex optimization, Cambridge university press, 2004, Ch. 4, pp. 136–137.
-
[29]
G. Fasano, A. Renga, M. D’Errico, Formation geometries for multistatic sar tomography, Acta Astronautica 96 (2014) 11–22.
doi:https://doi.org/10.1016/j.actaastro.2013.11.024.
URL https://www.sciencedirect.com/science/article/pii/S009457651300427X - [30] W. Wang, D. Wu, R. Sun, H. Baoyin, Optimal projected circular orbit for spacecraft formation flying near a slowly rotating asteroid, IEEE Transactions on Aerospace and Electronic Systems 58 (6) (2022) 5483–5493. doi:10.1109/TAES.2022.3173247.
-
[31]
A. Makhorin, GNU Linear Programming Kit (GLPK), accessed: 2024-05-21 (2012).
URL https://www.gnu.org/software/glpk/ - [32] J. Forrest, S. Vigerske, T. Ralphs, L. Hafer, H. G. Santos, Jan-Willem, M. Saltzman, B. Kristjansson, A. King, P. Bonami, R. Luies, S. Brito, et al., coin-or/clp: Release releases/1.17.9 (2023). doi:10.5281/zenodo.10041272.
-
[33]
B. Stellato, G. Banjac, P. Goulart, A. Bemporad, S. Boyd, OSQP: an operator splitting solver for quadratic programs, Mathematical Programming Computation 12 (4) (2020) 637–672.
doi:10.1007/s12532-020-00179-2.
URL https://doi.org/10.1007/s12532-020-00179-2 -
[34]
E. M. Gertz, S. J. Wright, Object-oriented software for quadratic programming, ACM Trans. Math. Softw. 29 (1) (2003) 58–81.
doi:10.1145/641876.641880.
URL https://doi.org/10.1145/641876.641880 -
[35]
B. O’Donoghue, E. Chu, N. Parikh, S. Boyd, Conic optimization via operator splitting and homogeneous self-dual embedding, Journal of Optimization Theory and Applications 169 (3) (2016) 1042–1068.
URL http://stanford.edu/~boyd/papers/scs.html - [36] A. Domahidi, E. Chu, S. Boyd, ECOS: An SOCP solver for embedded systems, in: European Control Conference (ECC), 2013, pp. 3071–3076.
-
[37]
A. Wächter, L. T. Biegler, On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming, Mathematical Programming 106 (1) (2006) 25–57.
doi:10.1007/s10107-004-0559-y.
URL https://doi.org/10.1007/s10107-004-0559-y -
[38]
A. Gleixner, L. Eifler, T. Gally, G. Gamrath, P. Gemander, R. L. Gottwald, G. Hendel, C. Hojny, T. Koch, M. Miltenberger, B. Müller, M. E. Pfetsch, C. Puchert, D. Rehfeldt, F. Schlösser, F. Serrano, Y. Shinano, J. M. Viernickel, S. Vigerske, D. Weninger, J. T. Witt, J. Witzig, The SCIP Optimization Suite 5.0, Technical report, Optimization Online (December 2017).
URL http://www.optimization-online.org/DB_HTML/2017/12/6385.html -
[39]
MOSEK ApS, The MOSEK optimization toolbox for MATLAB manual. Version 10.0. (2024).
URL https://docs.mosek.com/10.0/toolbox/index.html -
[40]
Gurobi Optimization, LLC, Gurobi Optimizer Reference Manual. Version 11.0. (2024).
URL https://www.gurobi.com/documentation/current/refman/index.html - [41] CPLEX, IBM ILOG, V12. 1: User’s manual for CPLEX, International Business Machines Corporation 46 (53) (2009) 157.
- [42] D. Ge, Q. Huangfu, Z. Wang, J. Wu, Y. Ye, Cardinal Optimizer (COPT) user guide, https://guide.coap.online/copt/en-doc (2023).
-
[43]
R. H. Byrd, J. Nocedal, R. A. Waltz, Knitro: An Integrated Package for Nonlinear Optimization, Springer US, Boston, MA, 2006, Ch. 4, pp. 35–59.
doi:10.1007/0-387-30065-1_4.
URL https://doi.org/10.1007/0-387-30065-1_4 -
[44]
Fair Isaac Corporation, FICO, FICO Xpress Optimizer Reference Manual. Version 9.4. (2024).
URL https://www.fico.com/fico-xpress-optimization/docs/latest/solver/optimizer/HTML/GUID-3BEAAE64-B07F-302C-B880-A11C2C4AF4F6.html -
[45]
The MathWorks Inc., Optimization toolbox version: 9.2 (R2021b) (2021).
URL https://www.mathworks.com/products/optimization.html - [46] J. Currie, D. I. Wilson, OPTI: Lowering the Barrier Between Open Source Optimizers and the Industrial MATLAB User, in: N. Sahinidis, J. Pinto (Eds.), Foundations of Computer-Aided Process Operations, Savannah, Georgia, USA, 2012.