# Fuel-Optimal Formation Reconfiguration by Means of Unidirectional Low-Thrust
Propulsion System

Ahmed Mahfouz 111PhD researcher<EMAIL_ADDRESS>SnT, University of
Luxembourg, 29, Avenue J.F Kennedy, 1855, Luxembourg, Luxembourg  Gabriella
Gaias 222Assistant Professor<EMAIL_ADDRESS>Department of
Aerospace Science and Technology, Politecnico di Milano. 34, via La Masa,
20156, Milan, MI, Italy  Florio Dalla Vedova 333Senior Engineer,
<EMAIL_ADDRESS>LuxSpace, 9, Rue Pierre Werner, 6832 Betzdorf,
Luxembourg  Holger Voos 444Full Professor<EMAIL_ADDRESS>SnT, University
of Luxembourg, 29, Avenue J.F Kennedy, 1855, Luxembourg, Luxembourg,
Faculty of Science, Technology and Medicine, University of Luxembourg, 2,
place de l’Université, 4365, Esch-sur-Alzette, Luxembourg

##  1 Introduction

Low-thrust electric propulsion systems are becoming the preferred design
solution for small-class and CubeSat-based satellite platforms [1]. This is
motivated by many factors, among which is the fact that they are generally
more fuel efficient than their chemical counterparts. Furthermore, electric
thrusters are require significantly less propellant mass which leads to
lighter launch mass and consequently reduces the costs [2]. To further
minimize the complexity of the system design and/or to meet stringent
power/mass constraints of small satellite platforms, the propulsion system
typically features a single throttleable electric thruster. Examples of such
satellites include Triton-X Medium and Heavy [3], the PLATiNO platform [4],
and the Gravity Field and Steady-State Ocean Circulation Explorer (GOCE)
satellite [5]. Small-size satellites can serve several multi-satellite
missions, such as cooperative formation-flying to build disaggregated
instruments and rendezvous activities to carry out inspection missions. These
demand for the capability to perform formation reconfiguration by means of
low-thrust unidirectional propulsion systems. In this note, the term
"unidirectional" signifies that a the propulsion system comprises a single un-
gimbaled thruster.

So far the relative orbit reconfiguration problem has been widely addressed.
Examples include guidance and control schemes for formations that employ
impulsive thrusters [6, 7, 8, 9], however, these approaches are not viable for
formations that utilize electric thrusters. Other guidance approaches were
proposed for the low-thrust case, e.g. for the Formation Flying L-band
Aperture Synthesis (FFLAS) mission study in [10], and for collision avoidance
maneuver optimization [11]. A core assumption in these guidance schemes is the
omnidirectional thrusting capability, which hinders the adaption of these
approaches for the unidirectional thrusting case. A unidirectional propulsion
system was adopted in the Autonomous Vision Approach Navigation and Target
Identification (AVANTI) mission [12] where the developed guidance scheme,
which is only suited for impulsive thrust satellites, allowed the re-
orientation of the thruster nozzle through planned control windows [7, 13].
Furthermore, Model Predictive Control (MPC) schemes were proposed in [14, 15]
to address the problem of formation reconfiguration and formation keeping for
satellites which are equipped with single electric thrusters, yet the mission
operational constraints, i.e. necessary thruster off-periods, were not
considered.

In this note, the problem of autonomous optimal formation reconfiguration is
addressed for a formation which comprises two satellites, a chief and a
deputy, where only the deputy has orbit maneuvering capabilities through a
single throttleable electric thruster. In this setting, an attitude slew
maneuver is necessary before each thruster firing so that the nozzle could be
aligned with the required thrust direction before the firing takes place. The
problem is approached through formulating a trajectory optimization (guidance)
problem as a fuel-optimal constrained convex optimization problem with
multiple no-thrust windows during which attitude redirection slews takes
place. This, in-turn, requires constant alternation between the on and off
states of the thruster. One big advantage of this on-off alternation is the
ability to accommodate long no-thrust periods which arise form mission
constraints, e.g. eclipse, during which electric thrusters are usually turned
off since the solar arrays are not generating electricity. The biggest
advantage of the proposed guidance scheme is that, by relaxing some of the
original constraints, it can be transformed into a Quadratic Programming (QP)
problem which can be solved efficiently using any of the standard QP solvers.
This makes it a attractive candidate to be implemented onboard of a satellite
that uses one of the Commercial-Off-The-Shelf (COTS) onboard computers. The
control loop is then closed through an MPC-like scheme where the optimization
of the state and input thrust profiles (from the current to the final time)
are optimized using the proposed guidance algorithm. It is to be noted that
the control logic does not necessitate the guidance algorithm to be run at
each MPC step, but rather uses the previous guidance profile if the current
state is close, within a predefined threshold, to its value predicted by the
previous guidance solution. The main contributions of this note are a) An
efficient-to-solve guidance scheme for formation reconfiguration when the
controlled satellite is equipped with a single electric thruster; b) The
ability of the guidance scheme to accommodate as many long no-thrust periods
as the user dictates; c) An MPC-like algorithm to close the control loop which
does not require the guidance to be run at each receding horizon. Note that in
the remainder of the text, the terms "fuel-optimal" and "$\Delta V$-optimal"
are used interchangeably. These two terms are identical only in the case of
single-directional propulsion systems [16].

This Note presents applications where collision avoidance is not of a concern
for the satellite reconfigurations. Nonetheless, if required by a specific
application, the proposed methodology is straightforward applicable by adding
the collision avoidance constraints through the relaxed formulation generally
adopted in the literature [17]. By including such affine constraints, in fact,
the overall optimization problem is still cast into the QP formulation, thus
featuring all the proposed advantages.

This research comes as part of the AuFoSat toolbox to support the future
missions Triton-X; a multi-mission microsatellite platform developed by
LuxSpace to accommodate various types of payloads in Low Earth Orbits (LEO).
Previous AuFoSat research discussed orbit design [18], relative navigation
[19, 20], and absolute orbit keeping for Triton-X [15]. While the developed
algorithms in the framework of AuFoSat are meant to primarily be used onboard
of Triton-X, the goal is to provide a guidance, navigation, and control
toolbox that could be used by any satellite with the same, or similar,
specifications as Triton-X.

This article is organized such that the following section of introduces the
formulation of the relative orbital dynamics using the Relative Orbital
Elements (ROE) formulation. In Section 3, the guidance problem is formulated
as a convex programming problem, then it is transformed to a QP problem for it
to be solved efficiently. The guidance scheme is validated in Section 4 where
it is shown to work efficiently in the presence as well as in the absence of
long no-thrust periods. Finally the module execution logic is introduced in
Section 5 and the closed loop system is benchmarcked against another
controller from the literature which deals with a similar problem.

##  2 Dynamical model

The reference frames used in this work are; the Earth-Centered-Inertial frame
(ECI), denoted as $\mathbb{F}^{i}$, the Satellite-body-fixed frame, denoted as
$\mathbb{F}^{b}$, and the Radial-Transversal-Normal frame (RTN), denoted as
$\mathbb{F}^{r}$. The reader is advised to refer to [15] for a full definition
of these reference frames. Vectors expressed in $\mathbb{F}^{i}$,
$\mathbb{F}^{b}$, or $\mathbb{F}^{r}$ are signified by the superscripts
$\left(\cdot\right)^{i}$, $\left(\cdot\right)^{b}$, or
$\left(\cdot\right)^{r}$ respectively.

The orbital motion of a satellite under the gravitational influence of a major
body (e.g. the Earth) can be parameterized in a planet-centered inertial frame
by the following set of orbital elements,

$\boldsymbol{\alpha}\coloneqq\begin{bmatrix}a&u&e_{x}&e_{y}&i&\Omega\end{bmatrix}^{\intercal},$
(1)

where $a$ is the semi-major axis, $u$ is the mean argument of latitude,
$\boldsymbol{e}\coloneqq\begin{bmatrix}e_{x}&e_{y}\end{bmatrix}^{\intercal}=\begin{bmatrix}e\cos{\omega}&e\sin{\omega}\end{bmatrix}^{\intercal}$,
is the eccentricity vector with $e$ being the orbital eccentricity, $i$ is the
orbital inclination, and $\Omega$ is the Right Ascension of the Ascending Node
(RAAN). It is important to note that the motion of the satellite can also be
parameterized by the Cartesian state vector,
$\boldsymbol{x}^{i}\coloneqq\begin{bmatrix}\left(\boldsymbol{r}^{i}\right)^{\intercal}&\left(\boldsymbol{v}^{i}\right)^{\intercal}\end{bmatrix}^{\intercal}$,
where $\boldsymbol{r}^{i}$ and $\boldsymbol{v}^{i}$ are the absolute position
and velocity vectors expressed in $\mathbb{F}^{i}$ which can be mapped to/from
the orbital elements through a set of nonlinear equations [21]. The exact
position and velocity of the spacecraft transform into osculating orbital
elements, which in the remainder of this work will be denoted by
$\tilde{\boldsymbol{\alpha}}$. Mean orbital elements, denoted by
$\boldsymbol{\alpha}$, are to be intended as one-orbit averaged elements,
where the short- and long-term oscillations generated by the $J_{2}$ harmonic
of the Earth gravitational potential are removed. Mean/osculating elements’
conversions are performed through the transformations developed in [22].

The relative motion between a deputy and a chief spacecraft can be described
by the dimensionless quasi-nonsingular Relative Orbital Elements (ROE) vector
which is a nonlinear transformation of the orbital elements vector introduced
in Eq. 1,

$\delta\boldsymbol{\alpha}\coloneqq\begin{bmatrix}\delta
a&\delta\lambda&\delta e_{x}&\delta e_{y}&\delta i_{x}&\delta
i_{y}\end{bmatrix}^{\intercal}=\begin{bmatrix}\Delta a/a_{c}&\Delta
u+\Delta\Omega\cos{i_{c}}&\Delta e_{x}&\Delta e_{y}&\Delta
i&\Delta\Omega\sin{i_{c}}\end{bmatrix}^{\intercal},$ (2)

where $\delta\boldsymbol{\alpha}$ is the dimensionless ROE vector, $\delta a$
is the relative semi-major axis, $\delta\lambda$ is the relative mean
longitude, $\delta\boldsymbol{e}\coloneqq\begin{bmatrix}\delta e_{x}&\delta
e_{y}\end{bmatrix}^{\intercal}$ is the relative eccentricity vector, and
$\delta\boldsymbol{i}\coloneqq\begin{bmatrix}\delta i_{x}&\delta
i_{y}\end{bmatrix}^{\intercal}$ is the relative inclination vector. It is to
be noted that here, and in the coming discussions, the subscript
$\left(\cdot\right)_{d}$ denotes a quantity related to the deputy satellite,
while the subscript $\left(\cdot\right)_{c}$ is used for chief-related
quantities. Moreover, $\delta\left(\cdot\right)$ signifies a relative quantity
between the deputy and the chief which is not necessarily the arithmetic
difference between that of the deputy and that of the chief, while
$\Delta\left(\cdot\right)$ signifies the arithmetic difference between
$\left(\cdot\right)_{d}$ and $\left(\cdot\right)_{c}$, i.e.
$\Delta\left(\cdot\right)\coloneqq\left(\cdot\right)_{d}-\left(\cdot\right)_{c}$.
As in the case of absolute orbital elements, the osculating ROE vector is
denoted by $\delta\tilde{\boldsymbol{\alpha}}$, whereas the mean ROE vector is
referred to as $\delta{\boldsymbol{\alpha}}$. A dimensional ROE vector is
obtained by multiplying the dimensionless ROE vector by the semi-major axis of
the chief,

$\boldsymbol{y}=a_{c}\delta\boldsymbol{\alpha},$ (3)

where $\boldsymbol{y}$ is the dimensional mean ROE vector with units of
length.

Assuming neighbouring orbits of the chief and the deputy, 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 $J_{2}$ 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,

$\boldsymbol{y}\left(t_{k+1}\right)=\mathbf{\Phi}\left(t_{k},t_{k+1}\right)\boldsymbol{y}\left(t_{k}\right)+\frac{a_{c}}{M}\mathbf{\Psi}\left(t_{k},t_{k+1}\right)\boldsymbol{f}^{r}\left(t_{k},t_{k+1}\right),$
(4)

where $\mathbf{\Phi}\left(t_{k},t_{k+1}\right)$ is the State Transition Matrix
(STM) between the two time instants, $t_{k}$ and $t_{k+1}$,
$\mathbf{\Psi}\left(t_{k},t_{k+1}\right)$ is the convolution matrix between
the same two time instants, $M$ is the deputy’s mass which is assumed constant
throughout any maneuver, and
$\boldsymbol{f}^{r}\left(t_{k},t_{k+1}\right)=\begin{bmatrix}f_{R}&f_{T}&f_{N}\end{bmatrix}^{\intercal}$
is the input thrust vector in $\mathbb{F}^{r}$; constant over the period
$\left[t_{k},t_{k+1}\right)$. In the rest of the text, and in order to
simplify the representation of equations, the following notations are used,
$\mathbf{\Phi}_{k|k+1}\equiv\mathbf{\Phi}\left(t_{k},t_{k+1}\right)$,
$\mathbf{\Psi}_{k|k+1}\equiv\mathbf{\Psi}\left(t_{k},t_{k+1}\right)$,
$\boldsymbol{y}_{k}\equiv\boldsymbol{y}\left(t_{k}\right)$, and
$\boldsymbol{f}^{r}_{k|k+1}\equiv\boldsymbol{f}^{r}\left(t_{k},t_{k+1}\right)$.

##  3 Guidance

In this section, a multiple shooting guidance scheme is developed when large
relative orbit maneuvers are required between two satellites, a deputy and a
chief, where the chief might be either a physical satellite or a virtual one.
The deputy satellite is assumed to be equipped with a single throttleable
electric thruster, which not only mandates redirection slew maneuvers before
every thruster firing, but also dictates the thruster to operate perpetually
since it provides low thrust. It is for these reasons that the guidance scheme
is designed from the beginning to operate on an alternating on/off mode where
the throttleable thruster is turned off to allow the attitude maneuver to
taking place. The trajectory optimization problem is formulated such that the
a change in relative orbit is required from $\boldsymbol{y}_{0}$ at $t_{0}$ to
a reference $y_{f}$ at $t_{f}$ through $\dfrac{m+1}{2}$ continuous thruster
firings, where $m$ is an odd number. Figure 1 illustrates the alternation
between thrust and attitude maneuvers throughout the allocated maneuver time,
from $t_{0}$ to $t_{f}$.

Figure 1: Graphical representation of the low-thrust guidance scheme

In order to enhance the predictability of the mission, the vector of time
instants at which the thruster is turned on and off,
$\boldsymbol{t}=\begin{bmatrix}t_{0}&t_{1}&\ldots&t_{f}\end{bmatrix}$, are not
treated as optimization variables and are left as a user input. In Fig. 1,
$\forall
l\in\mathcal{L}=\left\\{1,\;2,\;\ldots,\;\left(m+1\right)/2\right\\}$,
$T_{f,l}$ are the forced (thrust-powered) time periods, while $T_{n,l}$ are
those during which the natural unforced translational dynamics take over
(coast arcs).

###  3.1 problem formulation

Letting,

$\mathbf{Y}=\begin{bmatrix}\boldsymbol{y}_{0}&\boldsymbol{y}_{1}&\ldots&\boldsymbol{y}_{m+1}\end{bmatrix},\quad\mathbf{F}=\frac{a_{c}}{M}\begin{bmatrix}\boldsymbol{f}^{r}_{0|1}&\boldsymbol{f}^{r}_{1|2}&\ldots&\boldsymbol{f}^{r}_{m|m+1}\end{bmatrix},$
(5)

the guidance problem can be formally written as an optimization problem as
follows,

###### Problem 1

$\displaystyle\min_{\mathbf{Y},\mathbf{F}}\quad\textnormal{tr}\left(\mathbf{F}^{\intercal}\mathbf{F}\right)\qquad\text{subject
to,}$
$\displaystyle\boldsymbol{y}_{0}=\boldsymbol{y}_{0},\qquad\boldsymbol{y}_{m+1}=\boldsymbol{y}_{f},\qquad\boldsymbol{y}_{k+1}=\mathbf{\Phi}_{k|k+1}\boldsymbol{y}_{k}+\frac{a_{c}}{M}\mathbf{\Psi}_{k|k+1}\boldsymbol{f}^{r}_{k|k+1}\quad\forall
k\in\mathcal{K},$ (6)
$\displaystyle\boldsymbol{f}^{r}_{k|k+1}=\boldsymbol{0}\quad\forall
k\in\mathcal{K}_{n},$ (7)
$\displaystyle\left\|\boldsymbol{f}^{r}_{k|k+1}\right\|\leq
f_{\text{max}}\quad\forall k\in\mathcal{K}_{f},$ (8)

where $\mathcal{K}=\mathcal{K}_{f}\cup\mathcal{K}_{n}$, with
$\mathcal{K}_{f}=\left\\{0,2,4,\ldots,m-1\right\\}$ and
$\mathcal{K}_{n}=\left\\{1,3,5\ldots,m\right\\}$,
$\textnormal{tr}\left(\cdot\right)$ is the matrix trace, and $f_{\text{max}}$
is the maximum allowable thrust by the onboard thruster. Note that Eq. 7 is a
hard constraint to assure there is no input thrust provided during attitude
redirection maneuvers. Indeed, Problem 1 stands as a Convex Optimization
Problem (COP) since it fulfills all the necessary conditions for a problem to
be one [23], which namely are; a) Cost function must be convex (for
minimization problems); b) Inequality constraints must be convex; c) Equality
constraints must be affine. Being a COP, Problem 1 is guaranteed to have a
unique solution, however, it would be much more efficient to solve if it could
be put in one of the standard classes of convex optimization problems, e.g.
Linear Programming (LP), Quadratic Programming (QP), etc. since dedicated
solvers for these classes have matured over the past decades. It is clear that
the only thing which prevents Problem 1 from being put in the convex QP
canonical form is constraint (8) since it is a quadratic constraint and not an
affine one. It can be, nonetheless, transformed into multiple affine
constraints using the methodology proposed in [24] which suggests that,

$\left\|\boldsymbol{b}\right\|\leq
d,\quad\boldsymbol{b}\in\mathbb{R}^{2}\qquad\text{can be relaxed
by}\qquad\begin{bmatrix}\cos{\left(\gamma_{j}\right)}&\sin{\left(\gamma_{j}\right)}\end{bmatrix}\boldsymbol{b}\leq
d\cos{\left(\gamma_{\text{max}}\right)}\quad\forall j\in\mathcal{J},$ (9)

where $\mathcal{J}=\left\\{1,2,\ldots,n_{\text{dir}}\right\\}$, with
$n_{\text{dir}}\geq 3$ being the number of affine inequality constraints that
approximate the Euclidean norm constraint,
$\gamma_{j}=\dfrac{2\left(j-1\right)\pi}{n_{\text{dir}}}+\gamma_{\text{first}}$,
with $\gamma_{\text{first}}$ being the angle corresponding to the first
direction, and $\gamma_{\text{max}}=\dfrac{\pi}{n_{\text{dir}}}$. It is
important to emphasise that the constraint relaxation, Eq. 9, is only
applicable to 2-element vectors, while the norm constraint in Problem 1,
constraint (8), is imposed on a 3-element vector,
$\boldsymbol{f}^{r}_{k|k+1}$. The relaxation is, therefore, applied the
projection of the constraining sphere on each plane individually. The ROE
dynamics (refer to [8]) possess unique characteristics that necessitates an
accurate approximation of the constraining circle lying in the T-N plane,
while coarse approximations of the constraints on the two other planes are
acceptable. Concretely, the optimal solution to Problem 1 is expected to
rarely incorporate radial thrust [7, 14] since it is known to be more
expensive, from the Delta-V point of view, than relying solely on transversal
thrust, especially when the reconfiguration can afford long maneuver times for
large in-plane maneuvers. It is for this reason that the relaxation in Eq. 9
is applied in the T-N plane with a larger number of directions,
$n_{\text{dir}}$, than the number od directions used in the R-T and the R-N
planes. Namely, we introduce $\bar{n}_{\text{dir}}=4<n_{\text{dir}}$ as the
number of directions that approximate the constraining circles lying in the
R-T and the R-N planes, with
$\bar{\gamma}_{j}=\dfrac{2\left(j-1\right)\pi}{\bar{n}_{\text{dir}}}+\bar{\gamma}_{\text{first}}\;\forall
j\in\bar{\mathcal{J}}=\left\\{1,\;\ldots,\;\bar{n}_{\text{dir}}\right\\}$, and
with $\bar{\gamma}_{\text{max}}=\bar{\gamma}_{\text{first}}=\frac{\pi}{4}$. In
this setting, the constraints in the R-T and the R-N planes are approximated
by two rhombuses which cover only around $64\%$ of the original constraining
circles.

Having introduced the constraint relaxations which transform the quadratic
constraints into multiple affine ones, the reformulation of Problem 1 as a QP
problem can be written as,

###### Problem 2

$\displaystyle\min_{\mathbf{Y},\mathbf{F}}\quad\textnormal{tr}\left(\mathbf{F}^{\intercal}\mathbf{F}\right)\qquad\text{subject
to,}$
$\displaystyle\boldsymbol{y}_{0}=\boldsymbol{y}_{0},\qquad\boldsymbol{y}_{m+1}=\boldsymbol{y}_{f},\qquad\boldsymbol{y}_{k+1}=\mathbf{\Phi}_{k|k+1}\boldsymbol{y}_{k}+\frac{a_{c}}{M}\mathbf{\Psi}_{k|k+1}\boldsymbol{f}^{r}_{k|k+1}\quad\forall
k\in\mathcal{K},$ (10)
$\displaystyle\boldsymbol{f}^{r}_{k|k+1}=\boldsymbol{0}\quad\forall
k\in\mathcal{K}_{n},$ (11)
$\displaystyle\begin{bmatrix}0&\cos{\left(\gamma_{j}\right)}&\sin{\left(\gamma_{j}\right)}\end{bmatrix}\boldsymbol{f}^{r}_{k|k+1}\leq
f_{\text{max}}\cos{\left(\gamma_{\text{max}}\right)},\quad\forall
j\in\mathcal{J}\;\&\;\forall k\in\mathcal{K}_{f},$ (12)
$\displaystyle\begin{bmatrix}\cos{\left(\bar{\gamma}_{j}\right)}&\sin{\left(\bar{\gamma}_{j}\right)}&0\\\
\cos{\left(\bar{\gamma}_{j}\right)}&0&\sin{\left(\bar{\gamma}_{j}\right)}\end{bmatrix}\boldsymbol{f}^{r}_{k|k+1}\leq
f_{\text{max}}\cos{\left(\bar{\gamma}_{\text{max}}\right)},\quad\forall
j\in\bar{\mathcal{J}}\;\&\;\forall k\in\mathcal{K}_{f},$ (13)

A graphical representation of the feasibility regions of the control thrust
components is given in Fig. 2 for both problems, Problem 1 and Problem 2. In
Fig. 2, the constraint relaxation in Eq. 9 is depicted for $n_{\text{dir}}=10$
and $\gamma_{\text{first}}=0$ which covers approximately $94\%$ of the
original constraining circle in the T-N plane.

Figure 2: Feasibility region comparison between the original COP (Problem 1)
and the QP problem (Problem 2)

It is important to note that while the relaxed constraint (13) does not
explicitly constrain the radial thrust component any better than the original
circular constraint, it does affect the choice of the radial-transversal and
normal-radial combinations.

###  3.2 Parameters sensitivity analysis

Investigating the two proposed formulations of the guidance problems, 1 and 2,
and their graphical representation Fig. 1, it can be deduced that the
parameters that are provided by the user and might need tuning are namely the
time instances at which the thruster is switched on and off (or alternatively
the time periods $T_{f,l}$ and $T_{n,l}\;\forall l\in\mathcal{L}$ as well as
the allocated maneuver time, $t_{f}-t_{0}$). The choice of the time periods
$T_{f,l}$ and $T_{n,l}$ is generally subject to mission time constraints, e.g.
not being able to provide thrust during eclipse, during ground contact, or
during scientific experiments. If no such mission constraints are present,
fixing the time periods $T_{f,l}$ and $T_{n,l}$ comes as a natural choice,
i.e. $T_{f,l}=T_{f},\;T_{n,l}=T_{n}\forall l\in\mathcal{L}$. For this specific
case, a sensitivity analysis is performed to assess the feasibility of the
optimization problem when the values of $T_{f}$ and $T_{n}$ change. In this
sensitivity analysis, Problem 2 was solved for $100$ randomly chosen initial
conditions, i.e. $\boldsymbol{y}_{0}$, for the $91$ $T_{f}$-$T_{n}$
combination drawn from
$T_{n}\in\left\\{60,\;90,\;\ldots,\;240\right\\}\;\text{s}$ and
$T_{f}\in\left\\{0.025,\;0.05,\;0.1,\ldots,0.5,0.6,0.7\right\\}\;\text{orbits}$.
Furthermore, since the difference between the initial and the final ROE
vectors is what characterizes the maneuver, and not the values of the vectors
themselves, only the value of $\boldsymbol{y}_{0}$ is chosen randomly, while
the value of $\boldsymbol{y}_{f}$ is set to zero for the $9100$ experiments.
Namely, the entries of the initial dimensional ROE vector,
$\boldsymbol{y}_{0}$, are chosen randomly from the
$\left[-1\;1\right]\;\text{km}$ range, except for the initial relative mean
argument of longitude, $a\delta\lambda_{0}$, which is chosen randomly from the
$\left[-100\;100\right]\;\text{km}$. The allocated time for the maneuver is
fixed to $15$ orbits.

The output of the sensitivity analysis is the success and failure regions in
the $T_{f}$-$T_{n}$ plane, where the success region is that in which the
optimizer succeeded to find a feasible solution for all the $100$ random
initial conditions. The success and failure regions of the aforementioned
sensitivity study are depicted in Fig. 3(a).

(a) Optimization success region under varying $T_{f}$ and $T_{n}$

(b) Fitness within the success region

Figure 3: Sensitivity of the system to $T_{f}$ and $T_{n}$ variations

Indeed, not all the points within the success region are the same from the
fuel-efficiency point of view, since changing $T_{f}$ and $T_{n}$ does, in-
turn, change the cost function. A fitness function is introduced to assess the
competence of each $T_{f}$-$T_{n}$ combination within the success region. The
adopted fitness function is the reciprocal of the average optimal cost over
the $100$ initial conditions at each $T_{f}$-$T_{n}$ point. The fitness is
calculated at each point in the success region and the results are presented
in Fig. 3(b). It is clear from Fig. 3(b) that changing the value of $T_{n}$
barely changes the fitness for a fixed $T_{f}$ value, while it is obvious that
the larger the value of $T_{f}$, the fitter the $T_{f}$-$T_{n}$ combination.
Nevertheless, there comes a point where increasing $T_{f}$ drives the
combination out of the success region (see Fig. 3(a)). It is for this reason
that the adopted value of $T_{f}$ in many of the numerical experiments to
follow is set to $0.3$, which is a value that guarantees acceptable fitness,
and is, at the same time, far away from the failure region.

Although the purpose of the sensitivity analysis is ultimately to help
choosing adroit values for $T_{f}$ and $T_{n}$, since the time necessary for a
slew maneuver heavily depends on the maximum slew rate, $\omega_{\text{max}}$,
for any specific satellite, the value of $T_{n}$ can be calculated
analytically according to the following formula,

$T_{n}=\dfrac{\pi}{\omega_{\text{max}}}+T_{\text{safety}}.$ (14)

The rationale behind Eq. 14 is that, since the maximum possible slew angle is
$\pi$, the longest time period it takes the satellite to perform any slew,
using the maximum angular speed, is $\frac{\pi}{\omega_{\text{max}}}$. Indeed,
the satellite never uses the maximum angular speed throughout the whole slew,
that is why the $T_{\text{safety}}$ term is added to make sure that the
allocated time for the slew maneuver, $T_{n}$, is always more than enough. The
importance of $T_{\text{safety}}$ is not limited to insuring the coast arc is
sufficient for the slew maneuver, it also proves to be useful in closing the
loop as will be discussed in Section 5. For Triton-X, the maximum slew rate is
$2^{\circ}/\text{s}$, and hence $T_{n}$ is calculated to be $100$ s after
choosing $T_{\text{safety}}=10$ s.

##  4 Guidance scheme validation

After comparing the performance of many different convex QP solvers, the free
open-source Operator Splitting Quadratic Program (OSQP) [25] stood as the
fastest, and was hence chosen to solve Problem 2 in the coming discussions. In
order to validate the proposed guidance scheme for the targeted maneuver
spectrum, the optimization problem is solved for a variety of maneuvers, large
and otherwise, using the parameters chosen based on the sensitivity study, and
the results of one of these tests is reported here. In that experiment, the
initial and final dimensional ROE vectors are randomly chosen to be,
$\boldsymbol{y}_{0}=\left[-55.6\;7414.7\;-58.7\;83.7\;-2.3\;22.4\right]^{\intercal}\;\text{m}$
and $\boldsymbol{y}_{f}=\boldsymbol{0}$, while the initial orbit of the chief
is defined in terms of the osculating orbital elements such that
$\tilde{\boldsymbol{\alpha}}_{c,0}=\left[7121\;\text{km}\;0^{\circ}\;10^{-5}\;0\;45^{\circ}\;0^{\circ}\right]^{\intercal}$.
The full parameters list of the reported maneuver is presented in Table 1.
Note that choosing $\boldsymbol{y}_{f}$ to be zeros means that the two
satellites are required to rendezvous at the final time.

Table 1: Parameters used in the guidance scheme validation simulation $t_{f}-t_{0}$ [orbits] |  $T_{f}$ [orbits] | $T_{n}\;[\text{s}]$ | $n_{\text{dir}}\;[\text{-}]$ | $\gamma_{\text{first}}\;[^{\circ}]$ | $M\;[\text{kg}]$ | $f_{\text{max}}\;[\text{mN}]$ | $\omega_{\text{max}}\;[^{\circ}/\text{s}]$
---|---|---|---|---|---|---|---
$5$ | $0.3$ | $100$ | $12$ | $0$ | $200$ | $7$ | $2$

It is to be noted that the satellite mass, the maximum thrust, and the maximum
slew rate are extracted from the publicly available Triton-X
specifications555The Triton-X brochure can be found at
https://luxspace.lu/resources/.. Moreover, $n_{\text{dir}}$ is set to $12$ as
this is the least number of directions that approximates the constraining
circle by multiple affine constraints while covering at least $95\%$ of the
its area.

In Fig. 4, the dimensional ROE profile, optimized by the guidance scheme, is
depicted. The plots in Fig. 4 reveal that the main goal of the guidance
algorithm, which is to rendezvous with the virtual chief at the final time, is
achieved. Moreover, the $\delta\lambda$ error is corrected through building
$\delta a$ momentum instead of firing in the radial direction.

Figure 4: Optimized dimensional ROE profile

The level of thrust provided by the onboard electric propulsion system is
presented in Fig. 5(a). It is clear that the maximum thrust constraint is
respected thanks to the relaxations (12) and (13) that approximate the
original quadratic constraint (8). Furthermore, the fact that the satellite
uses minimal radial thrust, as expected, is evident in Fig. 5(b) which depicts
the projection of the thrust into the RTN frame.

(a) Thrust norm

(b) Thrust projection into the RTN frame

Figure 5: Optimized thrust profile

To insure that the optimized trajectory is compliant with the maximum slew
rate constraint, the mean angular rate is calculated at each time step and is
shown in Fig. 7. It is obvious that the mean required angular speed is
conceivably less than $\omega_{\text{max}}$ since the allocated time for the
attitude maneuver, $T_{n}$, is always more than the time required for the most
extreme attitude maneuver.

Satellite missions usually have constraints on the timing of the orbital
maneuvers, which arise from not being able to perform any thruster firing for
example during ground contact or during eclipse periods. Unlike impulsive-
thrust absolute/relative orbit correction maneuvers, low-thrust maneuvers may
require too long to execute, days in some cases. It is for this reason that
low-thrust guidance algorithms need to accommodate the no-thrust periods
during the orbital maneuver itself. One of the main contributions of this note
is the ability of the proposed guidance scheme to adapt to different scenarios
where the thruster is required to shut down for known extended periods without
the need to change the structure of the problem. The duration of each coast
arc, $T_{n,l}$ (see Fig. 1), which is a user-input, is the only thing that
needs to be adapted according to the operational constraints. To validate the
ability of the trajectory optimization routine to accommodate long coast arcs,
two different scenarios are introduced where the maneuver duration as well as
the initial and final ROE vectors as fixed for both scenarios and only the no-
thrust periods are varied. The thruster off-periods are arbitrarily chosen for
each of the two scenarios and are reported in Fig. 7. The initial and final
dimensional ROE vectors for both scenarios are set to,
$\boldsymbol{y}_{0}=\left[187\;945\;189\;86\;79\;-114\right]^{\intercal}\;\text{m}$
and
$\boldsymbol{y}_{f}=\left[0\;412\;389\;-96\;153\;-198\right]^{\intercal}\;\text{m}$,
and the simulation parameters are identical to those reported in Table 1
except for $T_{f}$ which is set to $0.1$ orbits.

Figure 6: Adopted no-thrust periods for two simulation scenarios | No-thrust periods [orbits]
---|---
Scenario 1 | $\left\\{0.5\text{-}1,\;1.5\text{-}2,\;2.5\text{-}3,\;3.5\text{-}4,\;4.5\text{-}5\right\\}$
Scenario 2 | $\left\\{0.25\text{-}0.5,\;1.25\text{-}2.25,\;3\text{-}3.25,\;4.25\text{-}4.75\right\\}$

Figure 7: Optimized angular profile

The user-defined thruster no-thrust intervals for the two defined scenarios
can be seen graphically in Fig. 8 where the expected behaviour of the thruster
is presented.

Figure 8: Expected behaviour of the thruster in the presence of the thruster
off-periods in Fig. 7

It is important to emphasise that while the no-thrust periods are seen to
appear with a regular pattern (from the halfway point to the end of each
orbit) for scenario 1, this need not to be the case for operational time
constraints, which is reflected in scenario 2.

The dimensional ROE profile, predicted by the guidance algorithm, is depicted
in Fig. 9 for both scenarios, where the thruster off-periods are also shown.
It is obvious that the $\delta\lambda$ signal is conceivably evolving even
when no thrust is provided, since it can be manipulated not only directly
through input thrust, but also indirectly through the non-zero value of
$\delta a$. Notably, the total Delta-V is different for each of the scenarios,
as it counts to $0.286\;\text{m}/\text{s}$ in the first scenario and to
$0.303\;\text{m}/\text{s}$ in the second.

Figure 9: Guidance dimensional ROE profile under operational constraints

##  5 Closing the loop

The proposed trajectory optimization scheme is an open-loop control system
that cannot handle disturbances or model inaccuracies. It is for this reason
that the loop has to be closed to react to system changes in real-time. In
this section, the feedback control loop is studied, and the exact location of
the guidance module within the closed loop is discussed. The simulated module
execution logic onboard of the deputy is depicted in Fig. 10, where the solid
arrows signify the main signals that are recurrently passed, and the dashed
lines are those which are passed only once before the beginning of the
maneuver.

Figure 10: Deputy’s module execution logic used in numerical simulations

In Fig. 10, "Osc2Mean" is the function that transforms osculating orbital
elements to mean ones [22], and "RTN2Inertial" is the method that rotates any
vector from $\mathbb{F}^{r}$ to $\mathbb{F}^{i}$ given the position and
velocity of the chief (or alternatively its orbital elements) at the time
instant in question. Moreover, the breve accent, $\breve{\left(\cdot\right)}$,
signifies a quantity which is disturbed by either one or a combination of a)
Estimation errors, e.g. $\breve{\boldsymbol{\alpha}}_{d,k}$; b) ADCS
inaccuracies, e.g. $\breve{\boldsymbol{f}}^{i}_{k|k+1}$; or c) Physical
constraints of the actuators, e.g. $\breve{\boldsymbol{f}}^{i}_{k|k+1}$. Note
that in quantities with double subscripts, the first subscript refers to the
spacecraft, either chief or deputy, and the second refers to the time instant
at which the quantity is evaluated, e.g. $\breve{\boldsymbol{\alpha}}_{d,k}$
is the perturbed orbital elements vector of the deputy at time $t_{k}$.

Since the navigation module is out of the scope of this note, and in order to
take the hardware inaccuracies and physical limitations into account within
the numerical simulations, surrogate models for estimation inaccuracies as
well as for the physical limitations and ADCS errors are introduced.
The physical limitations are only present in the saturation block in Fig. 10,
which can be easily implemented in the numerical simulations. In fact, this
saturation is taken into account in the guidance implementation as the maximum
thrust constraint (see constraints (12) and (13) of Problem 2), nonetheless,
it is also implemented in the control loop as a safeguard. The navigation
surrogate model uses the input mean orbital elements of the deputy and the
chief as ground truth. The following procedure is used on the chief
spacecraft,

$\boldsymbol{x}_{c,k}^{i}=\text{OE2Cart}(\boldsymbol{\alpha}_{c,k}),\qquad\breve{{\boldsymbol{x}}}_{c,k}^{i}={\boldsymbol{x}}_{c,k}^{i}+\mathcal{N}\left(\boldsymbol{0},\;\mathbf{\Sigma}_{\boldsymbol{x}_{c}}\right),\qquad\breve{\boldsymbol{\alpha}}_{c,k}=\text{Cart2OE}(\breve{\boldsymbol{x}}_{c,k}^{i}),$
(15)

where the two methods "OE2Cart" and "Cart2OE" are those which transform the
Orbital elements vector into Cartesian state vector and vice versa, and
$\mathcal{N}\left(\mu,\;\sigma^{2}\right)$ is a normally distributed random
variable with $\mu$ as its mean and $\sigma^{2}$ as its variance. Hence,
$\mathbf{\Sigma}_{{\boldsymbol{x}}_{c}}$ is the covariance matrix of the
random noise affecting the estimation of the Cartesian state of the chief
satellite, which is defined as,

$\mathbf{\Sigma}_{{\boldsymbol{x}}_{c}}=\text{diag}\left(\sigma_{\boldsymbol{r}_{c}}^{2},\;\sigma_{\boldsymbol{r}_{c}}^{2},\;\sigma_{\boldsymbol{r}_{c}}^{2},\;\sigma_{\boldsymbol{v}_{c}}^{2},\;\sigma_{\boldsymbol{v}_{c}}^{2},\;\sigma_{\boldsymbol{v}_{c}}^{2}\right)$
(16)

where $\text{diag}\left(\cdot,\cdot,\ldots\right)$ is a function that creates
a diagonal matrix, with zero off-diagonal elements, from its input arguments,
$\sigma_{\boldsymbol{r}_{c}}^{2}$ and $\sigma_{\boldsymbol{v}_{c}}^{2}$ are
the variances of the 1-dimensional (in the x, the y or the z directions)
position and velocity estimation errors respectively. It is worth mentioning
that the mean orbital elements of the deputy can be disturbed using the same
model in Eq. 15, however using different variances for the 1-dimensional
position and velocity estimation errors, namely, $\sigma_{\boldsymbol{r}_{d}}$
and $\sigma_{\boldsymbol{v}_{d}}$. Moreover, relative navigation is, in
general, more accurate than the absolute one [26, 20]. Hence the surrogate
model for the relative navigation needed to be more than just converting the
estimated absolute orbital elements of the chief and the target to a ROE
vector. The following surrogate model is used instead,

$\delta\boldsymbol{\alpha}=\text{OE2ROE}\left(\boldsymbol{\alpha}_{c}\left(t\right),\;\boldsymbol{\alpha}_{d}\right),\qquad\breve{\boldsymbol{y}}=a_{c}\delta\boldsymbol{\alpha}+\mathcal{N}\left(\boldsymbol{0},\;\mathbf{\Sigma}_{\boldsymbol{y}}\right),$
(17)

where OE2ROE is the method that transforms the orbital elements of the chief
and deputy to a ROE vector according to Eq. 2, and
$\mathbf{\Sigma}_{\boldsymbol{y}}$ is the covariance matrix of the zero mean
normally distributed random disturbance vector, which can be expressed as,

$\mathbf{\Sigma}_{\boldsymbol{y}}=\text{diag}\left(\sigma_{\boldsymbol{y}}^{2},\;\sigma_{\boldsymbol{y}}^{2},\;\sigma_{\boldsymbol{y}}^{2},\;\sigma_{\boldsymbol{y}}^{2},\;\sigma_{\boldsymbol{y}}^{2},\;\sigma_{\boldsymbol{y}}^{2}\right).$
(18)

Lastly, the "Pointing error" block in Fig. 10 is using the the following
surrogate model,

$\mathfrak{q}_{\text{pe}}=\begin{bmatrix}\cos{\left({\zeta_{\text{pe}}}/{2}\right)}&\sin{\left({\zeta_{\text{pe}}}/{2}\right)}\hat{\boldsymbol{q}}_{\text{pe}}^{\intercal}\end{bmatrix}^{\intercal},\qquad\breve{\boldsymbol{f}}^{r}_{k|k+1}=\mathfrak{q}_{\text{pe}}\circ\boldsymbol{f}^{r}_{k|k+1}\circ\tilde{\mathfrak{q}}_{\text{pe}},$
(19)

where $\mathfrak{q}_{\text{pe}}$ is the thruster misalignment unit quaternion,
with $\tilde{\mathfrak{q}}_{\text{pe}}$ being its quaternion conjugate,
$\zeta_{\text{pe}}$ is the pointing error angle, which can be extracted from
Triton-X brochure, $\hat{\boldsymbol{q}}_{\text{pe}}$ is a random 3-element
unit vector, and $\circ$ is the quaternion multiplication operator.

The "Controller" block collection in Fig. 10 works much like a Model
Predictive Control (MPC) where the prediction horizon spans from the current
time to the user-defined maneuver end time, and the control and prediction
horizons are identical. In this setting, the control profile optimization as
well as the state prediction from the current time to the maneuver final time
is done recurrently by the trajectory optimization scheme (Problem 2), and the
function of the "Arbiter" block is only to choose the proper input thrust from
the provided guidance profile, namely the first or the second thrust vector
from the guidance control profile depending on whether the current time lies
within a forced or a natural translational motion period. The logic of the
closed loop which is used in the validation simulations is elaborated upon in
Algorithm 1. In this algorithm, $\boldsymbol{t}$ is the user-defined time
vector for the guidance (see Fig. 1), $\boldsymbol{y}_{f}$ is the required
final dimensional ROE vector, and $\epsilon$ is a tunable threshold.

Input:
$\boldsymbol{t},\;\boldsymbol{y}_{f},\;\epsilon,\;\tilde{\boldsymbol{\alpha}}_{c,0},\;\tilde{\boldsymbol{\alpha}}_{d,0}$

for  _$k=0\to m$_ do

$t_{k},\;t_{k+1}\leftarrow$ Elements with indices $k\to\left(k+1\right)$ in
$\boldsymbol{t}$;

$\text{NoUpdateFlag}\leftarrow\text{false}$;

if  _$k=0$_ then

$\text{GuidanceFlag}\leftarrow\text{true};\hfill\boldsymbol{t}_{k}\leftarrow\boldsymbol{t};\hfill\boldsymbol{y}_{\text{pred}}\leftarrow\boldsymbol{\infty}$;

else

$t_{k-1}\leftarrow$ Element with index $\left(k-1\right)$ in $\boldsymbol{t}$;

$\tilde{\boldsymbol{x}}_{c,k},\;\tilde{\boldsymbol{\alpha}}_{c,k}\leftarrow$
Propagate chief’s orbit $t_{k-1}\to t_{k}$;

if  _$k$ is even_ then

$\text{GuidanceFlag}\leftarrow\text{true}$;

$\boldsymbol{t}_{k}\leftarrow$ Elements $\left(k+2\right)\to\textbf{last}$ in
$\boldsymbol{t}$;

$\boldsymbol{y}_{\text{pred}}\leftarrow$ Column $2$ in $\mathbf{Y}_{k}$;

$\tilde{\boldsymbol{x}}_{d,k},\;\tilde{\boldsymbol{\alpha}}_{d,k}\leftarrow$
Propagate deputy $t_{k-1}\to t_{k}$;

else

$\text{GuidanceFlag}\leftarrow\text{false}$;

$\boldsymbol{\alpha}_{c,k}\leftarrow\text{Osc2Mean}\left(\tilde{\boldsymbol{\alpha}}_{c,k}\right)$;

if  _GuidanceFlag_ then

$\boldsymbol{\alpha}_{d,k}\leftarrow\text{Osc2Mean}\left(\tilde{\boldsymbol{\alpha}}_{d,k}\right)$;

$\breve{\boldsymbol{x}}_{c,k},\;\breve{\boldsymbol{\alpha}}_{c,k}\leftarrow$
Apply Eq. 15 on ${\boldsymbol{\alpha}}_{c,k}$;

$\breve{\boldsymbol{y}}_{k}\leftarrow$ Apply Eq. 17 on
${\boldsymbol{\alpha}}_{c,k}$ and ${\boldsymbol{\alpha}}_{d,k}$;

if
_$\left\|\breve{\boldsymbol{y}}_{k}-\boldsymbol{y}_{\text{pred}}\right\|\geq\epsilon$_
then

$\mathbf{Y}_{k},\;\mathbf{F}_{k}\leftarrow$ Solve Problem 2 using
$\boldsymbol{t}_{k}$, $\breve{\boldsymbol{y}}_{k}$, $\boldsymbol{y}_{f}$;

if  _Solver did not succeed_ then

if  _$k=0$_ then

/* Problem is infeasible for the given $\boldsymbol{t}$ vector */

break;

$\text{NoUpdateFlag}\leftarrow\text{true}$;

else

$\text{NoUpdateFlag}\leftarrow\text{true}$;

if  _NoUpdateFlag_ then

/* Sticking to the previous guidance profile */

$\mathbf{Y}_{k}\leftarrow$ Columns $2\to$ last in $\mathbf{Y}_{k-2}$;

$\mathbf{F}_{k}\leftarrow$ Columns $2\to$ last in $\mathbf{F}_{k-2}$;

$\boldsymbol{f}^{r}_{k|k+1}\leftarrow$ Column $0$ in $\mathbf{F}_{k}$, divided
by $\frac{a_{c}}{M}$;

else

$\boldsymbol{f}^{r}_{k|k+1}\leftarrow$ 0 ;

$\breve{\boldsymbol{f}}^{r}_{k|k+1}\leftarrow$ Apply Eq. 19 and saturation on
${\boldsymbol{f}}^{r}_{k|k+1}$;

$\breve{\boldsymbol{f}}^{i}_{k|k+1}\leftarrow$ Rotate
$\breve{\boldsymbol{f}}^{r}_{k|k+1}$ from $\mathbb{F}^{r}$ to $\mathbb{F}^{i}$
using $\breve{\boldsymbol{x}}_{c,k}$;

$\tilde{\boldsymbol{x}}_{d,k+1},\;\tilde{\boldsymbol{\alpha}}_{d,k+1}\leftarrow$
Propagate deputy $t_{k}\to t_{k+1}$ with constant thrust
$\breve{\boldsymbol{f}}^{i}_{k|k+1}$;

Algorithm 1 Simulated control loop

The first guidance profile is conceivably calculated before the maneuver
starting time, $t_{0}$. As suggested by Algorithm 1, the trajectory might need
to be optimized during the execution of the maneuver, and this is exactly when
the importance of including $T_{\text{safety}}$ within $T_{n}$ becomes
apparent. While $T_{\text{safety}}$ guarantees that $T_{n}$ is sufficient for
the most stringent attitude redirection maneuver as Eq. 14 suggests, it is
also used to optimize the next guidance profile if one needs to be optimized,
for example before $t_{2}$ or $t_{4}$ (see Fig. 1), which is very valuable
from the practical point of view.

To test the performance of the closed loop system using the proposed guidance
scheme, it has been benchmarked against the MPC proposed in [14]. The Out-Of-
Plane (OOP) maneuver in [14] is chosen for the benchmark because such
maneuvers can give a clear insight about the fuel-optimality ($\equiv\;\Delta
V$-optimality for uni-directional propulsion systems) of the control algorithm
since only thrust in the normal direction is required. In fact, the exact
locations (in terms of $u_{c}$) in which impulsive thrust should be provided
for a $\Delta V$-optimal OOP maneuver can be calculated analytically [7],
which makes it easy for a human eye to recognise $\Delta V$-optimal thrust
profiles. For the low-thrust case, the thrust in the normal direction is
expected to be distributed evenly around these locations for the control
profile to be close to $\Delta V$-optimality, while the thrust components in
the radial and transversal directions are expected to be around zero. The
initial and final dimensional ROE vectors for benchmark maneuver as well as
the chief’s initial orbit are drawn from [14] to be
$\boldsymbol{y}_{0}=\left[0\;0\;273\;0\;10\;70\right]^{\intercal}\;\text{m}$,
$\boldsymbol{y}_{f}=\left[0\;0\;273\;0\;400\;120\right]^{\intercal}\;\text{m}$,
and
$\tilde{\boldsymbol{\alpha}}_{c,0}=\left[6828\;\text{km}\;0^{\circ}\;10^{-5}\;0\;78^{\circ}\;0^{\circ}\right]^{\intercal}$.
A summary of the parameters used in the benchmarck maneuver is provided in
Table 2. All the parameters that are not reported are identical to the ones in
Table 1 except for the length of the forced translational motion periods,
which is set to $T_{f}=0.3\;\text{orbits}$ for the first $6$ orbits of the
maneuver and to $T_{f}=0.1\;\text{orbits}$ for the final orbit to allow for a
more precise approach to the target relative orbit.

Table 2: Benchmark simulation parameters $t_{f}-t_{0}$ [orbits] | $\sigma_{\boldsymbol{r}_{d}}\equiv\sigma_{\boldsymbol{r}_{c}}\;[\text{m}]$ | $\sigma_{\boldsymbol{v}_{d}}\equiv\sigma_{\boldsymbol{v}_{c}}\;[\text{m}/\text{s}]$ | $\sigma_{\boldsymbol{y}}\;[\text{m}/\text{s}]$ | $\zeta_{\text{pe}}\;[\text{arcs}]$ | $\epsilon\;[\text{m}]$
---|---|---|---|---|---
$7$ | $10$ | $0.5$ | $1$ | $25$ | $5$

It is important to note that while $t_{f}-t_{0}$, $T_{f}$, $T_{n}$, and
$\epsilon$ are tunable parameters, the values of
$\sigma_{\boldsymbol{r}_{d}}$, $\sigma_{\boldsymbol{v}_{d}}$ and
$\zeta_{\text{pe}}$ are extracted from the specification sheets of Triton-X
even if the benchmark maneuver is assuming a different satellite.

The dimensional ROE profile generated by the proposed closed loop system as
well as that which is generated by the reference control scheme (the one
proposed in [14]) are depicted in Fig. 11. It is clear that the two control
algorithms could achieve the final required dimensional ROE vector,
$\boldsymbol{y}_{f}$, at the end of the maneuver at approximately the same
time.

Figure 11: Closed-loop dimensional ROE profile

A comparison of the thrust profiles, projected to the RTN frame, between the
proposed and the reference controllers is presented in Fig. 12. Since the
maneuver is an OOP one, only thrust in the normal direction is expected to be
exerted, however, one can notice that the reference control algorithm does
occasionally fire in the transversal direction. The proposed as well as the
reference controllers can be seen to provide almost no thrust in the radial
direction. While this happens in the reference controller because a hard
constraint is imposed on the radial thrust to be exactly zero, the proposed
approach does not use radial thrust simply because it is optimal to not use
it, as expected for this type of simulation scenarios. Furthermore, in Fig. 12
the two controllers are shown to distribute the available thrust around the
$\Delta V$-optimal locations since they are both $\Delta V$-optimal
algorithms.

Figure 12: Closed-loop thrust profile in the RTN frame

Two key performance metrics are compared for both controllers, the proposed
and the reference, in Section 5. The tables suggests that although the
proposed algorithm uses more total $\Delta V$, $\Delta V_{\text{tot}}$, than
the reference one, the terminal error of the proposed controller is much less
than that of the reference.

Table 3: Comparison between the proposed and the reference MPCs

| Terminal $\boldsymbol{y}$ error $[\text{m}]$ | $\Delta V_{\text{tot}}\;[\text{m}/\text{s}]$
---|---|---
Proposed | $\begin{bmatrix}-0.6&-0.1&0.7&1.1&-0.3&0.3\end{bmatrix}^{\intercal}$ | $0.65$
Reference | $\begin{bmatrix}3.6&-9.2&1.4&-2.0&2.9&-1.6\end{bmatrix}^{\intercal}$ | $0.5$

Figure 13: Elapsed time to solve problem 2

Since the proposed control scheme is working much like an MPC, state
prediction over the prediction horizon needs to be done recurrently through
the guidance function, however, the guidance does not need to be run at each
optimization step (see Fig. 10). It is evident in Algorithm 1 that the
guidance is run only when the distance (in the dimensional ROE space) between
current state and its prediction by the previous guidance profile is more than
the threshold, $\epsilon$. To show how often the guidance problem needs to be
solved over the benchmark simulation, the elapsed time for every guidance run
is depicted in Fig. 13, where an elapsed time of exactly zero means that the
guidance is skipped and the previous guidance profile is used. It is important
to note that the elapsed time in Fig. 13 correspond to the time it takes to
construct and solve the problem using the OSQP solver [25] interfaced with
Matlab and run on an 8-core Intel Core i9-10885H processor. It is clear from
Fig. 13 that the elapsed time for every guidance run is getting smaller as the
simulation advances since the size of the problem is getting smaller as the
guidance problem is always solved from the current to the final time.

##  6 Conclusion

This note proposes a novel approach for guidance of an underactuated
spacecraft to perform relative orbit corrections with respect to a reference
satellite. The guidance scheme not only considers the typical constraints of
the main spacecraft while performing the maneuver, but it also considers the
dynamical constraint which arises from the satellite being equipped with a
single electric thruster. Thanks to parameterizing the relative dynamics
between the two spacecraft using the quasi non-singular relative orbital
elements, the guidance problem was formulated as a quadratic programming
problem, which, if feasible, is guaranteed to have exactly one solution that
can be found using high-performance standard quadratic programming solvers.
The proposed guidance scheme shows numerous inherent merits which include
fuel-optimality and the ability to support long no-thrust periods arising from
operational constraints. The paper also proposes a model-predictive-control-
like scheme to close the control loop which does not require the guidance
optimization to run at the beginning of each prediction horizon. This closed
loop system has been validated via high fidelity numerical simulations in
which navigation and actuators’ errors and constraints are emulated, and its
performance is benchmarcked against that of a reference controller from the
literature. The proposed guidance and control algorithms have shown superior
performance over the reference controller for the benchmark simulation in
terms of terminal tracking errors.

## 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.

## References

  * Miller et al. [2021] Miller, S., Walker, M. L. R., Agolli, J., and Dankanich, J., “Survey and Performance Evaluation of Small-Satellite Propulsion Technologies,” _Journal of Spacecraft and Rockets_ , Vol. 58, No. 1, 2021, pp. 222–231.  10.2514/1.A34774.
  * Krejci and Lozano [2018] Krejci, D., and Lozano, P., “Space Propulsion Technology for Small Spacecraft,” _Proceedings of the IEEE_ , Vol. 106, No. 3, 2018, pp. 362–378.  10.1109/JPROC.2017.2778747.
  * Helmeid et al. [2022] Helmeid, E., Buursink, J., Poppe, M., Ries, P., and Gales, M., “The Integrated Avionics Unit - performance, innovation and application,” Poster presentation at The 4S Symposium, 2022.  Vilamoura, Portugal, 2022.
  * Stanzione and Sabbatinelli [2018] Stanzione, V., and Sabbatinelli, B., “PLATiNO Project: a new Italian multi-application small satellite platform for highly competitive missions.” _69th International Astronautical Congress (IAC)_ , International Astronautical Federation, Bremen, Germany, 2018.
  * Floberghagen et al. [2011] Floberghagen, R., Fehringer, M., Lamarre, D., Muzi, D., Frommknecht, B., Steiger, C., Piñeiro, J., and Da Costa, A., “Mission design, operation and exploitation of the gravity field and steady-state ocean circulation explorer mission,” _Journal of Geodesy_ , Vol. 85, 2011, pp. 749–758.
  * Larsson et al. [2011] Larsson, R., Noteborn, R., Bodin, P., Simone, D., Karlsson, T., and Carlsson, A., “Autonomous Formation Flying in LEO - Seven months of routine formation flying with frequent reconfigurations,” _4th International Conference on Spacecraft Formation Flying Missions & Technologies_, 2011.  URL https://elib.dlr.de/74364/.
  * Gaias and D’Amico [2015] Gaias, G., and D’Amico, S., “Impulsive Maneuvers for Formation Reconfiguration Using Relative Orbital Elements,” _Journal of Guidance, Control, and Dynamics_ , Vol. 38, No. 6, 2015, pp. 1036–1049.  10.2514/1.G000189.
  * Di Mauro et al. [2018] Di Mauro, G., Bevilacqua, R., Spiller, D., Sullivan, J., and D’Amico, S., “Continuous maneuvers for spacecraft formation flying reconfiguration using relative orbit elements,” _Acta Astronautica_ , Vol. 153, 2018, pp. 311–326.
  * Chernick and D’Amico [2018] Chernick, M., and D’Amico, S., “New Closed-Form Solutions for Optimal Impulsive Control of Spacecraft Relative Motion,” _Journal of Guidance, Control, and Dynamics_ , Vol. 41, No. 2, 2018, pp. 301–319.  10.2514/1.G002848.
  * Scala et al. [2021] Scala, F., Gaias, G., Colombo, C., and Martín-Neira, M., “Design of optimal low-thrust manoeuvres for remote sensing multi-satellite formation flying in low Earth orbit,” _Advances in Space Research_ , Vol. 68, No. 11, 2021, pp. 4359–4378.
  * De Vittori et al. [2022] De Vittori, A., Palermo, M. F., Lizia, P. D., and Armellin, R., “Low-Thrust Collision Avoidance Maneuver Optimization,” _Journal of Guidance, Control, and Dynamics_ , Vol. 45, No. 10, 2022, pp. 1815–1829.  10.2514/1.G006630.
  * Gaias and Ardaens [2018] Gaias, G., and Ardaens, J.-S., “Flight Demonstration of Autonomous Noncooperative Rendezvous in Low Earth Orbit,” _Journal of Guidance, Control, and Dynamics_ , Vol. 41, No. 6, 2018, pp. 1337–1354.  10.2514/1.G003239.
  * Gaias et al. [2015] Gaias, G., D’Amico, S., and Ardaens, J.-S., “Generalised multi-impulsive manoeuvres for optimum spacecraft rendezvous in near-circular orbit,” _International Journal of Space Science and Engineering_ , Vol. 3, No. 1, 2015, pp. 68–88.  10.1504/IJSPACESE.2015.069361.
  * Belloni et al. [2023] Belloni, E., Silvestrini, S., Prinetto, J., and Lavagna, M., “Relative and absolute on-board optimal formation acquisition and keeping for scientific activities in high-drag low-orbit environment,” _Advances in Space Research_ , 2023.  https://doi.org/10.1016/j.asr.2023.07.051.
  * Mahfouz et al. [2023a] Mahfouz, A., Gaias, G., Venkateswara, D. M. K. K., and Voos, H., “Autonomous Optimal Absolute Orbit Keeping Through Formation-Flying Techniques,” _Preprints_ , 2023a.  10.20944/preprints202310.1189.v1.
  * Ross [2006] Ross, I. M., “Space Trajectory Optimization and L1-Optimal Control Problems,” _Modern Astrodynamics_ , Elsevier Astrodynamics Series, Vol. 1, edited by P. Gurfil, Butterworth-Heinemann, 2006, Chap. 6, pp. 155–VIII.  https://doi.org/10.1016/S1874-9305(07)80008-2.
  * Morgan et al. [2014] Morgan, D., Chung, S.-J., and Hadaegh, F. Y., “Model Predictive Control of Swarms of Spacecraft Using Sequential Convex Programming,” _Journal of Guidance, Control, and Dynamics_ , Vol. 37, No. 6, 2014, pp. 1725–1740.  10.2514/1.G000218.
  * Menzio et al. [2022] Menzio, D., Mahfouz, A., Vedova, D., et al., “Formation design of an inter-satellite link demonstration mission,” _Proceedings of the 11th International Workshop on Satellite Constellations & Formation Flying_, Milan, IT, 2022.
  * Mahfouz et al. [2022] Mahfouz, A., Mezio, D., Dalla-Vedova, F., and Voos, H., “Relative State Estimation for LEO Formations with Large Inter-satellite Distances Using Single-Frequency GNSS Receivers,” _Proceedings of the 11th International Workshop on Satellite Constellations & Formation Flying_, Milan, IT, 2022.
  * Mahfouz et al. [2023b] Mahfouz, A., Mezio, D., Dalla-Vedova, F., and Voos, H., “GNSS-based baseline vector determination for widely separated cooperative satellites using L1-only receivers,” _Advances in Space Research_ , 2023b.  https://doi.org/10.1016/j.asr.2023.06.037.
  * Vallado [2001] Vallado, D. A., _Fundamentals of astrodynamics and applications_ , Vol. 12, Springer Science & Business Media, 2001.
  * Gaias et al. [2020] Gaias, G., Colombo, C., and Lara, M., “Analytical Framework for Precise Relative Motion in Low Earth Orbits,” _Journal of Guidance, Control, and Dynamics_ , Vol. 43, No. 5, 2020, pp. 915–927.  10.2514/1.G004716.
  * Boyd and Vandenberghe [2004] Boyd, S. P., and Vandenberghe, L., _Convex optimization_ , Cambridge university press, 2004, Chap. 4, pp. 136–137.
  * Camino et al. [2019] Camino, J.-T., Artigues, C., Houssin, L., and Mourgues, S., “Linearization of Euclidean norm dependent inequalities applied to multibeam satellites design,” _Computational Optimization and Applications_ , Vol. 73, 2019, pp. 679–705.  10.1007/s10589-019-00083-z.
  * Stellato et al. [2020] Stellato, B., Banjac, G., Goulart, P., Bemporad, A., and Boyd, S., “OSQP: an operator splitting solver for quadratic programs,” _Mathematical Programming Computation_ , Vol. 12, No. 4, 2020, pp. 637–672.  10.1007/s12532-020-00179-2.
  * D’Amico et al. [2009] D’Amico, S., Ardaens, J.-S., and Montenbruck, O., “Navigation of formation flying spacecraft using GPS: the PRISMA technology demonstration,” _Proceedings of the 22nd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2009)_ , 2009, pp. 1427–1441.


# GP22: A Car Styling Dataset for Automotive Designers

Gyunpyo Lee Taesu Kim Hyeon-Jeong Suk
Korea Advanced Institute of Science and Technology
Color Lab, Department of Industrial Design
[gyunpyolee, tskind77<EMAIL_ADDRESS>
###### Abstract

An automated design data archiving could reduce the time wasted by designers
from working creatively and effectively. Though many datasets on classifying,
detecting, and instance segmenting on car exterior exist, these large datasets
are not relevant for design practices as the primary purpose lies in
autonomous driving or vehicle verification. Therefore, we release GP22,
composed of car styling features defined by automotive designers. The dataset
contains 1480 car side profile images from 37 brands and ten car segments. It
also contains annotations of design features that follow the taxonomy of the
car exterior design features defined in the eye of the automotive designer. We
trained the baseline model using YOLO v5 as the design feature detection model
with the dataset. The presented model resulted in an mAP score of 0.995 and a
recall of 0.984. Furthermore, exploration of the model performance on sketches
and rendering images of the car side profile implies the scalability of the
dataset for design purposes.

##  1 Introduction

Marriage between refined styling and engineering is an essential aspect of
vehicle design amongst all the other product designs. To aid such high
proficiency required upon designers, designers are skilled in visualization
and realization of the design in both manual and digital and knowledged in
understanding human ergonomics and vehicle package engineering [3].
Furthermore, vehicle design or styling inherits the vehicle’s type and purpose
defined by vehicle packaging and safety regulation constraints—such aspects
limiting the styling parameters for designers [9].

(a) Ideation sketch

(b) Sketch rendering

(c) Actual vehicle

Figure 1: Design process from car side profiles

Within these inherited limitations, designers provide a tailored solution
through styling for consumers with various preferences; the styling reinforces
visual differentiation in perceiving the vehicle’s form language. These
characteristics are best found in the vehicle’s side profile/vehicle side view
[8]. It contains all the necessary determinants of design: the vehicle
silhouette, proportion, and the entire image of the vehicle while bridging the
brand identity characterized in the front and back of the vehicle (Figure 1).
For this reason, the vehicle side view is one of the essential areas in
vehicle design.

Many visual ideas are created during the vehicle design process, and the
method of supporting the designer’s day-to-day design process in archiving
design outputs with valuable design ideas is overlooked [11]. Hence, designers
often reproduce similar proposals or search into the old project folders to
revisit them. Unfortunately, such activity results in less productivity and
creativity in the entire design process. Therefore, there is a need for
support for designers with design-oriented archiving methods while matching
processes to the current technology development.

Computer vision methods like image classification and object detection could
provide a fertile foundation for building a scalable yet fully automatable
design database. Computer vision in the automotive field has already found
various methods to identify cars in response to autonomous driving capability
and vehicle verification and identification. There are large datasets
supporting it. For example, current image detection datasets related to cars
are as follows: 1) Car identification/classification in makes, engine types,
years produced [15, 5], 2) Car verification on the road [14, 13], 3) Car pose
estimation on the road [7, 12], 4) Car component detection and segmentation in
its parts [6, 10].

The primary purpose of these datasets is to support vehicles in identifying
road situations while in autonomous driving mode, identifying car parts, or
recognizing whole cars for surveillance reasons. However, utilizing such a
dataset for design purposes is limited as the pre-defined annotations, and the
dataset’s structure does not match the designer’s needs. For this reason,
design-relative rules in dataset creation are required.

This study introduces design taxonomy based on vital aspects of the vehicle
side profile as a guideline and annotated dataset, GP22: a dataset relevant to
car designers’ design practices 111https://doi.org/10.5281/zenodo.6366808. The
dataset involves side profiles of cars produced or presented since the 1960s
(Figure 1(c)). It delivers a foundation and guideline for a quantitative
approach to explaining car styling features. Then, we created a design feature
detection model with our dataset. The model could serve as a tool in
collecting and organizing the styling data.

Combining the two will contribute immensely to building and reinforcing an
inspirational design database. Thus, such usage could be further implemented
in the automotive design studios to create their design database to maintain
high-quality outputs. Through this method, designer intuition could be backed
by quantifiable data while reducing unnecessary waste of time for designers in
their creative process during design development.

##  2 GP22

The section covers the overview of the GP22 dataset in collecting the vehicle
profile images under vehicle segment and makes. In addition, it delivers the
taxonomy of vehicle design features relevant to design practices and the
annotation guideline.

###  2.1 Image Collection

A total of 1,480 car side profile photos are collected in the dataset. It
includes cars produced or shown in the auto shows as concept vehicles since
the 1960s. Collected images are classified by their brands and car segments, a
criterion for estimating the car type and size—a total of 37 automakers and
ten car segment categories defined in the dataset. Every image is labeled with
all of these classifiers.

Segment The vehicle segment in the dataset is reorganized and defined by
reviewing multiple references: US EPA car class [1], Euro NCAP car class [2],
H-Point [9], the book on vehicle packaging and ergonomics, and SAE technical
paper on car design features [8]. As a segment defines the body style of the
car design, it is an essential element in identifying relevant stylings and
hardpoints to consider. Therefore, the dataset defines the segment as follows:
A, B, C, D, E, F, J, S, P, and M.

A to F segment includes cars from a city car, such as Smart, to the full-size
saloon vehicle, such as Bentley Flying Spur. A, B, and C segments include
hatchbacks, while C, D, E, and F include wagons and fastbacks of the sedan
category. J segment is for all types of Sports Utility vehicles (SUV), from
Compact Utility vehicles (CUV) to off-roaders. Furthermore, the S segment
covers sports and exotic vehicles such as Ferrari 488 GTB and convertible
coupes like BMW Z4. P segment includes various kinds of pickup trucks. Lastly,
the M segment includes Multi-Purpose vehicles, from mini-vans to full-size
vans.

Brand The brand included in the dataset contains 37 automakers. There are
various automakers and groups; we tried to provide the deep learning model to
identify minuscule differences in the side profile. However, large automakers
such as Toyota, Volkswagen, Mercedes Benz, and Hyundai-Kia are the majority in
the dataset.

###  2.2 Labels

####  2.2.1 Design features

The essential styling features from the car side profile can be categorized
with six key features: body, bodyside, cabin (greenhouse), daylight opening
(DLO), wheel, and tire. It explains the car styling characteristics observed
from the profile (Figure 2).

Figure 2: Figure of styling features and its labels Figure 3: Use case example
of the GP22 dataset as a design reference

Body The body defines the vehicle length from the front-end to the rear-end
and height from the ground contact point to the daylight opening (DLO). It can
be annotated by horizontally connecting the vehicle’s front and back endpoint
and vertically from the ground to the b-pillar area.

Bodyside The bodyside is one of the vital areas in the car profile as it
expresses car characteristics in its shapes and volumes. Connecting the area
between a wheelbase, the length between the front wheel center and the rear
wheel center, and the wheelbase ground clearance to the b-pillar to annotate.
It represents the dominant design area in the car profile.

Cabin The cabin communicates its passengers’ habitability and visibility while
expressing styling characteristics from the vehicle silhouette. This area
starts from the cowl point, the frontmost point of the windshield, to the end
of a rear wind glass where the trunk lid starts; it can be annotated
correspondingly.

Daylight opening (DLO) The daylight opening (DLO) provides side openings for
passengers. It also provides a unique design element from the car profile,
like a famous BMW Hofmeister kink. Annotation can be done by connecting the
front-end to the rear-end point of the DLO to define the length and the
highest point of the DLO to define the height.

Wheel The wheel provides a visual reference point for estimating the car’s
proportion, size, and characteristics. It also provides a perception of the
stance of the car. Annotation can be done by wrapping each front and back
wheelset from the profile.

Tire The tire is the primary reference point in checking the car wheelbase and
other relative design elements of the car from the side. Annotation can be
done by wrapping the entire tire area of each tire from front and back.

During the data annotation, upon mentioned design features and declared point
of reference was taken into consideration for designers to annotate each side
view images of the dataset formed by hand-picked car images. Therefore,
participation of the designers in the data annotation process was essential as
correctly locating the upon-mentioned design elements is the key to generating
the designer’s dataset. Furthermore, box annotation was chosen to provide ease
in annotating and validating the labeled image (Figure 2).

###  2.3 Design implication

As an initial phase in building the design dataset, box extraction provides
visual and analytical information necessary for designers in their design
practice. Therefore, a properly labeled dataset following the above guideline
can be utilized in two implications. First, it provides design feature
visualization within relative styling characteristics. It can be done using
the cropped images extracted from the original car side profile images (Figure
3). Furthermore, Detected boxes could be stored as a design database for
archiving purposes either within the design studio or within the brand and
could function as a mixed-initiative design data visualization for inspiration
and reference purposes. As taxonomy elements represent design features of
cars, they can be employed as reference materials in design effectively.

Another implication is utilizing box coordinates for the vehicle’s proportion
research by using tire length as a base metric for relatively understanding
the design features (Figure 2). Key metrics found from the car side profile
are wheelbase, front and rear overhang, dash-to-axle, and bodyside to DLO
relationship. A front and rear overhang could provide the type of the vehicle,
and it is achieved using body and bodyside relationship. Dash-to-axle implies
the vehicle’s status and drivetrain position, and it can be identified with
DLO/cabin to the front endpoint of the body side. The longer the dash-to-axle,
the car is perceived luxurious and prestigious. Lastly, the wheelbase and body
to DLO relationship can provide information about the car’s habitability and
usability and vehicle package information. It can be observed using
coordinates of bodyside and DLO heights.

(a) Sketch renderings

(b) Actual cars

(c) Cropped images

Figure 4: YOLO v5 inference on official sideview sketch renderings, actual
cars, cropped image for design development

##  3 Experiment

This section introduces the process of generating a design feature detection
model from the car side view by training and utilizing the YOLO v5 model [4]
trained on the GP22 dataset. Then, we put car sketches and renderings as in-
the-wild data on our trained model to analyze whether the trained model
provides satisfactory results in extracting design features from unseen data.
We also verify whether the model could support the design studio in
constructing the design database.

###  3.1 Baseline model

There are many Convolutional Neural Network (CNN) models in object detection
and image classification. Our model’s objective is to create a design feature
database from either design sketches or reference images in various sizes in
the design studio environment. The study incorporates YOLO v5 [4] as a basis
of the design feature detection model as it provides fast inference with
reasonable accuracy in detecting objects while providing pre-trained models of
diverse image sizes. Furthermore, the selected model is easily accessible for
non-developers to train and use the model and such accessibility provides room
for designers to get hands-on experience on deep learning algorithms compared
to other renowned CNN models.

We performed transfer learning of the pre-trained model trained on different
features. The GP22 dataset was split into 80:20 on each car segment category
for the model’s training. We used both car side profile photos and renderings
not included in the dataset to test the model. Furthermore, we performed
hyperparameter evolution to tune the hyperparameter in detecting design
features more accurately. As a result shown in Table 1, the mAP on validation
of the base model was 0.989, the precision was 0.982, and the recall was
0.945. With the hyperparameter tuning, the mAP score increased from 0.989 to
0.995. Even though the precision decreased slightly from 0.982 to 0.953, the
recall increased from 0.945 to 0.984: the high recall indicates that the model
correctly identified and extracted design features from the given profile
image, which fits our primary goal.

| mAP | Precision | Recall
---|---|---|---
YOLOv5 (base) | 0.989 | 0.982 | 0.945
YOLOv5 (hyperparameter) | 0.995 | 0.953 | 0.984
Table 1: Classification results

###  3.2 Model application on sketches and renderings

To explore the model application, we used a test dataset that contains side
profile sketches and photos of the same concept car, Renault Dezir. This test
was to explore its performance on car sketches and renderings, as sketches are
a means of communication between designers and designers-to-engineers in the
studio environment. Thus, the result function as a determinant of the model is
a stepping stone for developing design-relevant databases.

The Figure 4 shows that the model detected car design features from sketches
correctly, even from the early ideation sketches of Renault Dezir that are
more expressive in their style of rendering. Such performance can be applied
to detect design elements and provide further inspiration in design
development to transfer the impression created from the sketch onto the model.
Furthermore, the result indicates that sketches and renderings of a similar
view could also be used as part of the dataset to create a design database
(Figure 4(c)).

##  4 Conclusion

The study proposes annotation guidelines using the taxonomy of car design
features of the car side profile in the eye of the automotive designer. We
constructed the GP22 dataset, a tailored dataset for car design, particularly
on car side profile images. With the dataset, we also created the design
feature detection model using YOLO v5, which yields an 0.995 mAP score and
0.984 recall score. Furthermore, we examined the model application on the
hairy data, which are data composed of sketches and renderings of the concept
car to simulate the design studio implementation. The GP22 and its model will
elevate car designers’ creativity in their design process and possibly present
a starting point of design-relevant database generation.

##  5 Acknowledgement

This research was supported by the 4th BK21 through the National Research
Foundation of Korea (NRF) funded by the Ministry of Education (MOE)
(NO.4120200913638).

## References

  * [1] 40 cfr § 600.315-08 - classes of comparable automobiles.  https://www.govinfo.gov/app/details/CFR-2015-title40-vol30/CFR-2015-title40-vol30-sec600-315-08.  (Accessed on 03/18/2022).
  * [2] Euro ncap - the european new car assessment programme.  https://www.euroncap.com/en.  (Accessed on 03/18/2022).
  * [3] Nikolaos Gkikas.  Automotive ergonomics: driver-vehicle interaction.  CRC Press, 2012.
  * [4] Glenn Jocher, Ayush Chaurasia, Alex Stoken, Jirka Borovec, NanoCode012, Yonghye Kwon, TaoXie, Jiacong Fang, imyhxy, Kalen Michael, Lorna, Abhiram V, Diego Montes, Jebastin Nadar, Laughing, tkianai, yxNONG, Piotr Skalski, Zhiqiang Wang, Adam Hogan, Cristi Fati, Lorenzo Mammana, AlexWang1900, Deep Patel, Ding Yiwei, Felix You, Jan Hajek, Laurentiu Diaconu, and Mai Thanh Minh.  ultralytics/yolov5: v6.1 - TensorRT, TensorFlow Edge TPU and OpenVINO Export and Inference, Feb. 2022.
  * [5] Baojun Li, Ying Dong, Zhijie Wen, Mingzeng Liu, Lei Yang, and Mingliang Song.  A machine learning–based framework for analyzing car brand styling.  Advances in Mechanical Engineering, 10(7):1687814018784429, 2018\.
  * [6] Hongye Liu, Yonghong Tian, Yaowei Yang, Lu Pang, and Tiejun Huang.  Deep relative distance learning: Tell the difference between similar vehicles.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2167–2175, 2016.
  * [7] Xinchen Liu, Wu Liu, Tao Mei, and Huadong Ma.  A deep learning-based approach to progressive vehicle re-identification for urban surveillance.  In Proceedings of the European Conference on Computer Vision, pages 869–884. Springer, 2016.
  * [8] Martin Luccarelli, Markus Lienkamp, Dominik Matt, and Pasquale Russo Spena.  Automotive design quantification: Parameters defining exterior proportions according to car segment.  In SAE 2014 World Congress, 2014.
  * [9] Stuart Macey.  H-Point 2nd Edition: The Fundamentals of Car Design & Packaging.  2009\.
  * [10] Kitsuchart Pasupa, Phongsathorn Kittiworapanya, Napasin Hongngern, and Kuntpong Woraratpanya.  Evaluation of deep learning algorithms for semantic segmentation of car parts.  Complex & Intelligent Systems, pages 1–13, 2021.
  * [11] Charlie Ranscombe, Ben Hicks, Glen Mullineux, and Baljinder Singh.  Characterizing and evaluating aesthetic features in vehicle design.  In Proceedings of the International Conference on Research into Design Engineering, 2011.
  * [12] Jakub Sochor, Adam Herout, and Jiri Havel.  Boxcars: 3d boxes as cnn input for improved fine-grained vehicle recognition.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 3006–3015, 2016.
  * [13] Xibin Song, Peng Wang, Dingfu Zhou, Rui Zhu, Chenye Guan, Yuchao Dai, Hao Su, Hongdong Li, and Ruigang Yang.  Apollocar3d: A large 3d car instance understanding benchmark for autonomous driving.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 5452–5462, 2019.
  * [14] Zhongdao Wang, Luming Tang, Xihui Liu, Zhuliang Yao, Shuai Yi, Jing Shao, Junjie Yan, Shengjin Wang, Hongsheng Li, and Xiaogang Wang.  Orientation invariant feature embedding and spatial temporal regularization for vehicle re-identification.  In Proceedings of the IEEE International Conference on Computer Vision, pages 379–387, 2017.
  * [15] Linjie Yang, Ping Luo, Chen Change Loy, and Xiaoou Tang.  A large-scale car dataset for fine-grained categorization and verification.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 3973–3981, 2015.