Content uploaded by Taylor Reynolds

Author content

All content in this area was uploaded by Taylor Reynolds on Jan 09, 2019

Content may be subject to copyright.

A State-Triggered Line of Sight Constraint for 6-DoF

Powered Descent Guidance Problems

Taylor P. Reynolds∗

, Michael Szmuk∗

, Danylo Malyuta∗

,

Mehran Mesbahi†

, Beh¸cet A¸cıkme¸se†

,

Dept. of Aeronautics & Astronautics, University of Washington, Seattle, WA 98195, USA

and

John M. Carson III‡

NASA Johnson Space Center, Houston, TX 77058, USA

This paper presents the formulation of a constrained 6-degree-of-freedom (6-DoF) pow-

ered descent guidance problem. The goal of this work is to design algorithms that obtain

locally optimal solutions to such problems, and that are amenable to real-time implemen-

tation. Using unit dual quaternions to parameterize the equations of motion, we devise

a free ﬁnal time continuous optimal control problem that is subject to state and control

constraints. A novel feature of this formulation is the use of state-triggered constraints,

which are constraints enforced only when a certain state-dependent criterion is met. We

use these constraints to model a line of sight pointing constraint that is enforced condition-

ally based on the distance from the landing site. A numerical example highlights how the

inclusion of this constraint alters control commands and the resulting descent trajectory.

I. Introduction

Powered descent guidance refers the problem of transferring a vehicle from an estimated initial state to a

desired ﬁnal state by using rocket-powered engines and/or reaction control systems. The problem of optimal

powered descent has been well studied since the Apollo program sought to achieve soft-landings on the

moon.1–3 The ﬁrst tractable solutions adequate for ﬂight operations, however, were limited to one-degree-

of-freedom (1-DoF) systems for purely vertical descent trajectories.1The structure of optimal solutions for

the more general 3-DoF translational guidance problem has been understood since the work of Lawden,2,4

but numerical solutions were diﬃcult to obtain at the time. While optimal guidance was not incorporated

in the Apollo ﬂight code, there is evidence that the system designers were aware of how their polynomial

guidance scheme stacked up relative to the optimal solution.5

Near the turn of the century, there was renewed interest in optimal powered descent guidance problems

due primarily to robotic Martian landing missions. These works expanded on previous theory in seek of

analytical solutions to the 3-DoF problem. D’Souza studied the free ﬁnal time, minimum energy solutions

and obtained an analytical feedback control law as a function of the time-to-go.6Topcu, Casoliva and Mease

presented further results on the minimum fuel problem and compared theoretical predictions against rapidly

maturing numerical solvers.7,8 Several other authors continued to study the necessary conditions of the

minimum fuel 3-DoF guidance problem using optimal control theory.9–11

At the same time, A¸cıkme¸se and Ploen published work with an alternative viewpoint on the 3-DoF prob-

lem.12–14 They took a convex programming approach, and showed that a non-convex (non-zero) lower bound

on thrust magnitude can be relaxed by introducing a slack variable.14 Using Pontryagin’s maximum princi-

ple, they showed that in fact this relaxation is lossless, and yields the same optimal solution as the original

problem. A subsequent change of variables and relaxation led to a fully convex problem formulation that

can be solved eﬃciently. This lossless convexiﬁcation result began a fruitful series of work that expanded the

∗Doctoral Student, AIAA Student Member {tpr6,szmuk,danylo}@uw.edu

†Professor, AIAA Associate Fellow, {mesbahi,behcet}@uw.edu

‡SPLICE Project Manager, AIAA Associate Fellow, john.m.carson@nasa.gov

1 of 16

American Institute of Aeronautics and Astronautics

Downloaded by UNIVERSITY OF WASHINGTON on January 9, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-0924

AIAA Scitech 2019 Forum

7-11 January 2019, San Diego, California 10.2514/6.2019-0924

Copyright © 2019 by the American Institute of Aeronautics and Astronautics, Inc. All rights reserved.

AIAA SciTech Forum

theory to non-convex thrust pointing constraints,15–17 minimum-landing error problems18 and more general

optimal control problems.19–21 Interior time state and control constraints can render the solution of the nec-

essary conditions of optimal control theory a diﬃcult proposition; but convex optimization does not suﬀer

from such issues provided the constraints are convex. Fortunately, a majority of the constraints of interest

in the powered descent guidance problem come in the form of second-order cones, a class of convex sets that

we exploit in this work.

More recent work has explored extensions to the 6-DoF problem that considers both translational and

rotational motion. These include the use of Lyapunov techniques,22 model predictive control23, 24 and feed-

forward trajectory generation techniques.25–28 The latter techniques devise iterative strategies that are used

to obtain feasible solutions to nonlinear and nonconvex optimal control problems that approximate local

optimality. A complete characterization of fuel optimal solution(s) for the 6-DoF problem is an active area

of research. However, numerical techniques oﬀer promising results that locally optimal solutions can be

found by sequentially solving convex optimization problems with guaranteed convergence properties.29–31

The state variables selected for the 6-DoF problem formulation can be used to classify various methods.

For example, one may use standard Cartesian variables in conjunction with unit quaternions25–27 or dual

quaternions.22–24, 32, 33 This distinction should be viewed as a design choice during guidance system design.

We ﬁnd that when there are constraints that naturally couple rotation and translation (such as line of sight

constraints), parameterizations using dual quaternions provide an eﬃcient alternative. In this work, we elect

to parameterize the equations of motion and state constraints using dual quaternions.

Dual quaternions are a generalization of Hamilton’s quaternions that encode both relative orientation and

position information in a single parameter.34 An attractive feature of this parameterization is that the

equations of motion can be expressed in a form similar to the standard quaternion kinematic and dynamic

equations. Moreover, the formulation of several key constraints – including line of sight – are convex over a

given set of dual quaternions.24, 35

A. Contributions of This Work

The Apollo guidance system designated three powered descent phases: the braking phase, the approach phase

and the terminal-descent phase.5The braking phase slowed the vehicle from orbital speeds by thrusting

primarily in the anti-velocity direction. Prior to the approach phase, a pitch-up maneuver to a desired

attitude was executed to serve as an initial attitude for the approach phase. During the approach phase,

the lunar module maintained continuous visibility of the landing site until roughly 5 seconds before the

terminal-descent phase began. The attitude guidance system was designed to ensure a line of sight to the

landing site only when the geometry permitted.5There was no a-priori guarantee that this would occur.

We consider a similar scenario whereby a landing vehicle must maintain a line of sight until a certain distance

from the landing site, and use the newly introduced state-triggered constraints to model this constraint.28

We note that time-based criteria can equivalently be used in our framework. This allows the vehicle to

be free of the line of sight constraint once it is suﬃciently close to the landing site, while maintaining

a continuous optimization framework (i.e., we do not resort to binary or integer variables). As a result,

guidance trajectories can be designed with the line of sight explicitly enforced when it is required, and not

enforced when it is not required.

State-triggered constraints (STCs) model constraints that are enforced only if a criterion conditioned on the

state vector is met. While this work focuses in particular on a distance-triggered line of sight constraints,

previous work has shown their applicability to speed-versus-angle-of-attack constraints for aerodynamic

descent maneuvers.28 Though not addressed here, state-triggered constraints can also be used to model

state-based keep-out zone constraints for autonomous collision avoidance maneuvers, and minimum (or

maximum) time-based constraints, among others. The continuous formulation of STCs oﬀers a novel and

elegant way to incorporate such constraints without resorting to engineering heuristics or mixed-integer

programming. The resulting continuous optimal control problems are nonconvex; however we ﬁnd that they

can be readily solved using a successive convexiﬁcation procedure. In this work, we use such a procedure to

obtain feed-forward guidance solutions.

This paper is organized as follows. First, §II introduces our notation and description of 6-DoF motion using

dual quaternions. Next, §III details the state and control constraints as a function of the dual quaternion

and concludes with a statement of the problem that is solved. The solution method used in this work is

brieﬂy discussed in §IV. Lastly, §V provides a numerical example that highlights the distance-triggered line

of sight constraint for a lunar landing scenario.

2 of 16

American Institute of Aeronautics and Astronautics

Downloaded by UNIVERSITY OF WASHINGTON on January 9, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-0924

B. Notation

We denote the set of real numbers using R, and use R+and R++ to denote non-negative and positive real

numbers, respectively. We use 0n×mto denote a matrix of size n×mwhose entries are all zero, and Into

denote the n×nidentity matrix. We use sp ec {·} to denote the set of eigenvalues of a matrix and denote

a symmetric positive semi-deﬁnite matrix Musing M∈Sn

+or M0. The skew symmetric cross product

operator is deﬁned as ·×:R3→R3×3so that for any two vectors a,b∈R3we have a×b=a×b.

Unit quaternions are used to parameterize the set of isometric transformations (rotation matrices) of the

Special Orthogonal group in 3-dimensions, SO(3). We use Qto denote the quaternion manifold, and a

general element q∈Qis composed of a vector part, qv, and a scalar part q0. We will write the set of

unit quaternions as Qu={q|q·q= 1}, where ·denotes the Euclidean scalar product. The set of unit

quaternions Qu⊂Qis said to form a three-dimensional hypersphere within the quaternion manifold. We

refer to quaternions that have a zero scalar part as pure quaternions. Dual quaternions are denoted with a

˜

·to distinguish them from their quaternion counterparts.

II. Dual Quaternions and Rigid Body Motion

The Special Euclidean group, SE(3), contains all possible conﬁgurations of a rigid body relative to a ﬁxed

inertial frame. Elements of SE(3) can be described using 4 ×4 homogeneous transformation matrices,

SE(3) = (T∈R4×4

T="Cr

03×11#, C ∈SO(3),r∈R3).(1)

Unit dual quaternions parameterize this set in a similar way that unit quaternions parameterize the Special

Orthogonal group in three dimensions. Dual quaternions may be elegantly derived using the theory of

Cliﬀord algebras as in,36 or by using geometric construction as in the original work of Cliﬀord.34 We adopt

the notation that a dual quaternion is represented as

˜

q=q1+q2∈Q2(2)

where q1,q2∈Qare quaternions and 6= 0 is termed the dual unit that satisﬁes the property 2= 0. We

call q1the real part and q2the dual part of the dual quaternion ˜

q. Dual quaternions are elements of the

manifold Q2, an inherently diﬀerent algebraic construct than the usual Euclidean vector space R8. Unit dual

quaternions form a subset Q2

u⊂Q2within the dual quaternion manifold. Under the usual scalar product, a

dual quaternion of unit norm should satisfy

˜

q·˜

q= (q1+q2)·(q1+q2) = q1·q1+(q1·q2+q2·q1) = 1 + 0.(3)

It can then be observed that the real and dual parts of ˜

qmust satisfy

q1·q1= 1 and q1·q2= 0,(4)

in order for ˜

qto be a unit dual quaternion. Consequently, we deﬁne the set of unit dual quaternions as

Q2

u:={˜

q=q1+q2|q1·q1= 1,q1·q2= 0}.(5)

Note that the ﬁrst constraint forces the real part of a unit dual quaternion to be a regular unit quaternion,

i.e. an element of the three dimensional hypersphere Qu. The second constraint dictates that the dual part

of a unit dual quaternion must be an element of the (three dimensional) tangent plane of the hypersphere

at the point q1. As such, we may view the set of unit dual quaternions in (5) as the three dimensional

hypersphere plus all of its tangent planes. Since attitude is encoded in the three dimensional hypersphere

via unit quaternions, the additional three dimensional tangent planes shall provide a natural environment in

which to encode position states.

A. Dual Quaternion Operations

Let ˜

q,˜

p∈Q2

ube two unit dual quaternions, and let a,b∈Qube two unit quaternions. Recall that

quaternions are composed of a vector part and a scalar part, which we shall denote by a= (av, a0) and

b= (bv, b0). We ﬁrst deﬁne quaternion multiplication as

a⊗b=a0bv+b0av+a×

vb, a0b0−av·bv,(6)

3 of 16

American Institute of Aeronautics and Astronautics

Downloaded by UNIVERSITY OF WASHINGTON on January 9, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-0924

from which dual quaternion multiplication is deﬁned as

˜

q⊗˜

p=q1⊗p1+(q1⊗p2+q2⊗p1).(7)

Next, the quaternion cross product is deﬁned as

ab=a0bv+b0av+a×

vb,0,(8)

which is used in turn to deﬁne the dual quaternion cross product23, 24

˜

q˜

p=q1p1+(q1p2+q2p1).(9)

We deﬁne the quaternion conjugate as a∗= (−av, a0), which permits the deﬁnition of the dual quaternion

conjugate as

˜

q∗=q∗

1+q∗

2.(10)

For our purposes, we shall embed unit dual quaternions in the eight-dimensional Euclidean space R8so

that we may use more familiar matrix-vector analysis to manipulate them. To be clear, the elements of Q2

u

deﬁned in (5) form a submanifold of Q2; we merely view them as elements of R8for convenience. Using the

natural isomorphism

˜

q=q1+q2∈Q2

u7→ ˜

q="q1

q2#∈R8

u:={˜

q∈R8|qT

1q1= 1 and qT

1q2= 0},(11)

we henceforth view unit dual quaternions as the subset R8

u⊂R8deﬁned by the constraints qT

1q1= 1 and

qT

1q2= 0. By virtue of the ﬁrst four elements of ˜

q∈R8

u, it follows that we view unit quaternions as four

dimensional unit vectors embedded in R4. As such, we may now deﬁne special matrices to represent the

operations in (7) and (9). Speciﬁcally, when viewed as an element of R4we may rewrite (6) as

q⊗p= [q]⊗p= [p]∗

⊗q(12)

where,

[q]⊗:="q0I3+q×

vqv

−qT

vq0#and [p]∗

⊗:="p0I3−p×

vpv

−pT

vp0#.

Using these deﬁnitions, we can then rewrite (7) as

˜

q⊗˜

p= [ ˜

q]⊗˜

p= [ ˜

p]∗

⊗˜

q,(13)

where,

[˜

q]⊗:="[q1]⊗04×4

[q2]⊗[q1]⊗#and [ ˜

p]∗

⊗:="[p1]∗

⊗04×4

[p2]∗

⊗[p1]∗

⊗#.

The quaternion and dual quaternion cross products can be rewritten using matrices via the same methods,

see23, 24 for more details. It is important to note that due to (11) the dual unit is no longer present in these

expressions. The matrices in (13) are structured so that the matrix-vector multiplication gives the same

result as the deﬁnition in (7)a.

In deriving constraints as a function of a dual quaternion, we will make heavy use of the following two results.

For a,b,c∈R4we have

aT(b⊗c) = bT(a⊗c∗) = cT(b∗⊗a),(14)

and if qis a unit quaternion, then

aTb= (a⊗q)T(b⊗q)=(q⊗a)T(q⊗b),(15)

which is referred to as the quaternion triple identity.23

aThe columns of these matrices can also be interpreted as the projection of the dual quaternion onto the basis vectors of

the Cliﬀord sub-algebra used to derive them.36

4 of 16

American Institute of Aeronautics and Astronautics

B. Rigid Body Motion

Let rdenote the origin of a body-ﬁxed coordinate frame FBwith respect to an inertial coordinate frame

FI, and let q:=qB←I ∈R4be the unit quaternion representing the orientation of FBwith respect to FI.

The composition of a rotation and translation is represented using dual quaternion multiplication. As such,

the unit dual quaternion that represents a translation by rfollowed by rotation qis given by (taking (11)

into account)

˜

q="q

1

2q⊗rI#="q

1

2rB⊗q#∈R8

u,(16)

where rIand rBdenote the coordinates of the vector rin the inertial and body frame respectively. The ﬁrst

expression describes a translation by rIfollowed by a rotation q, whereas the second expression describes a

rotation by qfollowed by a translation rB. Figure 1 depicts each of these cases, and shows how they result

in the same geometric deﬁnition of relative position and orientation.

The equivalence of the two expressions in (16) leads to the observation that

rI=q⊗rB⊗q∗and rB=q∗⊗rI⊗q.(17)

FI

FB

q

rB

⇐⇒

˜

q

FI

FB

q

rI

Figure 1: Rotation followed by translation is geometrically equivalent to a translation followed by a rotation.

This leads to the two equivalent deﬁnitions of the dual quaternion in (16).

Similarly, we can represent the velocity states using dual quaternions as follows. Let ωB,vB∈R3denote the

angular and linear velocity of a rigid body, respectively, expressed in body frame coordinates. By appending

a zero to each vector, we represent these as pure quaternions and deﬁne the dual velocity to be

˜

ω="ωB

vB#∈R8.(18)

Note that there is no requirement that this is unit dual quaternion.

1. Kinematics & Dynamics

We can take a time derivative of (16) to arrive at the dual quaternion kinematic equation.

d˜

q

dt =d

dt "q

1

2rI⊗q#="˙

q

1

2(˙

rI⊗q+rI⊗˙

q)#="1

2q⊗ωB

1

2(vI⊗q+1

2rI⊗q⊗ωB)#

=1

2"q

1

2rI⊗q#⊗"ωB

vB#=1

2˜

q⊗˜

ω(19)

where we’ve used (17) and (13) to write vI⊗q=q⊗vBand obtain the second to last equality.

The dynamics are obtained using the Newton-Euler equations in a rotating frame. We assume that neither

the mass nor the inertia are constant. Rather, the mass, m∈R+, is assumed to vary as a linear function of

the thrust magnitude according to

˙m=−αkuBk2, α :=1

Ispge

(20)

5 of 16

American Institute of Aeronautics and Astronautics

where uB∈R3is the thrust vector in body frame coordinates, Isp is the speciﬁc impulse of the rocket

engine in vacuum and ge= 9.806 m/s2is the acceleration due to gravity at sea level on Earth. The inertia

is assumed to be a function of the mass,

J:=J(m)∈S3

++,(21)

where the speciﬁc form of J(m) may vary with applications. We shall deﬁne the form assumed for our lunar

landing application in §V. The dynamical equations of motion are then obtained by taking a derivative of

the linear and angular momenta in the rotating body frame according to

d

dt(mvB) = m˙

vB+ω×

B(mvB) = XFB+uB,(22a)

d

dt(JωB) = ˙

JωB+J˙

ωB+ω×

B(JωB) = XTB+r×

uuB,(22b)

where FB∈R3and TB∈R3represent the externally applied forces and torques, respectively, and rudenotes

the constant vector from the vehicle’s center of mass to the point where the thrust is applied. We assume

in this work that PFB=gBand PTB= 0, where gBis the force due to gravity in the body frame. Note

that our deﬁnition of the mass depletion dynamics in (20) allows us to capture momentum changes due to

mass variability in (22a) using the term uB; see37 for details.

Combining the expressions in (22) with the deﬁnition of the dual velocity in (18) leads us to express the

equations of motion in terms of the dual velocity as

J˙

˜

ω+˜

ωJ+˙

JEr˜

ω= ΦuB+˜

gB,(23)

where Er=diag {I4,04×4}and,

J=

04×4mI30

0 1

J0

0 1 04×4

8×8

Φ =

I30

0 1

r×

u03×1

01×30

8×4

˜

gB="gB

0#8×1

.

We encourage the reader to refer to23, 24, 32, 33 for more details on rigid body kinematics and dynamics using

dual quaternions.

III. Problem Statement

This section details the ingredients necessary to state the continuous-time powered descent guidance problem

that we consider in this paper. Having already stated the equations of motion, this section focuses speciﬁcally

on the state and control constraints imposed during powered descent maneuvers. We now assume that the

inertial frame can be described by a set of three orthonormal vectors {xI,yI,zI}such that zIpoints locally

up, xIpoints south and yIpoints east. The body frame can similarly be described by the orthonormal

vectors {xB,yB,zB}that are assumed to describe the vehicle’s principal axes of inertia. We assume that

zBis the vector closest to the vehicle’s vertical axis.

This section is organized as follows. First, §A introduces the state and control constraints that we consider to

form a baseline problem. Next, §B introduces the concept of state-triggered constraints, and §C details their

application to distance-triggered line of sight constraints. We conclude in §D with a complete statement of

the optimal control problem that is to be solved.

A. Baseline Problem

Powered descent guidance problems are subject to several state and control constraints to ensure that

trajectories adhere to both safety considerations and vehicle limitations. We begin our formulation of the

baseline problem by discussing the control constraints.

6 of 16

American Institute of Aeronautics and Astronautics

1. Control Constraints

The control authority of a rocket-powered vehicle is limited by the rocket engine it is equipped with. These

complex machines necessitate, at times, operation in restricted regimes of thrust and maneuverability. For

example, the main engines of Apollo-era landers could operate either at 93% thrust, or in the permitted

thrust interval of 11% to 65% of the rated thrust value.5The intervening thrust regions were forbidden to

avoid oxidizer and fuel cavitation, which could lead to the deterioration of propulsion system components.

We have assumed (in (23)) that main engine thrust is the only source of actuation, and thus do not consider

the additional constraints imposed by reaction control systems.

To model permitted thrust regions, we place restrictions on the norm of the thrust vector as

0< umin ≤ kuBk ≤ umax,(24)

where [umin, umax ]⊂R++ denotes the permitted thrust interval. This constraint implies that once ignited,

the engines are not turned oﬀ until touchdown.

Next, limited maneuverability of the engine is modeled with a gimbal angle constraint. The gimbal angle,

δ∈[0,90◦), is deﬁned as the total angular deﬂection of the thrust vector from its nominal position. We

express a gimbal angle constraint as the following second order cone constraint,

−zT

BuB+kuBk2cos δmax ≤0⇐⇒ kuBk2≤¯

zT

BuB(25)

where δmax ∈[0,90◦) is the maximum allowable gimbal angle and ¯

zB= (1/cos δmax)zB.

The ﬁnal constraint imposed on the control is a rate constraint that ensures commanded thrust vectors do

not change too rapidly for the engine to follow. This is formulated as

∆uB

∆t≤∆umax (26)

where ∆umax ∈R3

++ denotes the vector of maximum allowable thrust deviations over a speciﬁed time

interval ∆t∈R++.

2. State Constraints

We now proceed to describe the state constraints enforced in the baseline problem formulation. Powered

descent maneuvers must not use more fuel than is stored on board, a constraint enforced on the mass of the

spacecraft using

m≥mdry (27)

where mdry ∈R++ is the dry mass of the vehicle. Next, we use a glide slope cone to ensure the vehicle’s

altitude lies above the surface of the planet, while also ensuring suﬃcient elevation at large distances from

the landing site. If rIdenotes the inertial position of the vehicle, then we deﬁne the glide slope angle to be

the angle formed between rIand zIand denote it by γ∈[0,90◦]. A glide slope constraint enforces that

the glide slope angle must be less than some prescribed maximum value, γmax. Formally, the constraint is

expressed as

−rT

IzI+krIk2cos γmax ≤0.(28)

We can express this with dual quaternions by using (15) to write

krIk=rT

IrI1/2=(rI⊗q)T(rI⊗q)1/2=

"04×1

rI⊗q#

2

=

2"04×1

1

2rI⊗q#

2

=k2Ed˜

qk(29)

where Ed=diag {04×4, I4}. Another application of (15) yields

rT

IzI= (rI⊗q)T(zI⊗q) = (rI⊗q)T[zI]⊗q=1

2(rI⊗q)T[zI]⊗q+1

2(rI⊗q)T[zI]⊗q,

="q

1

2rI⊗q#T"04×4[zI]T

⊗

[zI]⊗04×4#" q

1

2rI⊗q#

=˜

qTMg˜

q.(30)

Using (29) and (30), we arrive at the following proposition.

7 of 16

American Institute of Aeronautics and Astronautics

Proposition 1. The constraint (28) is expressed in terms of the dual quaternion as

cg(˜

q):=−˜

qTMg˜

q+k2Ed˜

qk2cos γmax ≤0.(31)

Moreover, the function cg:R8

u→Ris convex over the domain dom cg=R8

uT˜

q|˜

qT˜

q≤1 + 1

4∆2, where

krIk2≤∆is an upper bound on the distance from the landing site.

Proof. See23, 24 for the proof.

The next constraint we consider is a tilt angle constraint. The vehicle’s tilt angle is the angle formed between

zIand zB, denoted by θ∈[0,90◦), and constrained to be less than some prescribed value. By expressing

zBin inertial coordinates using (17), a tilt constraint is written in terms of the attitude quaternion as

−zT

I(q⊗zB⊗q∗) + cos θmax ≤0,(32)

where θmax ∈[0,90◦) is the maximum allowable tilt angle. Note that zIand zBare being treated as pure

quaternions in (32). To write this constraint as a function of the dual quaternion, we ﬁrst use (15) to write

zT

I(q⊗zB⊗q∗)=(zI⊗q)T(q⊗zB⊗q∗⊗q) = (zI⊗q)T(q⊗zB) = qT(zI⊗q⊗z∗

B) = qT[zI]⊗[z∗

B]∗

⊗q,

with which we can rewrite (32) to be

˜

qTMt˜

q+ cos θmax ≤0, Mt="[zI]⊗[zB]∗

⊗04×4

04×404×4#(33)

by noting that −[z∗

B]∗

⊗= [zB]∗

⊗. Since both zIand zBare unit vectors, we ﬁnd that the eigenvalues of Mt

lie in the set {−1,0,1}, and thus it is a symmetric but indeﬁnite matrix.

Proposition 2. The tilt constraint (32) is equivalently expressed in terms of the dual quaternion as

ct(˜

q):=˜

qT˜

Mt˜

q+ cos θmax −ζ≤0,˜

Mt=Mt+ζEr(34)

where Er=diag {I4,04×4}and ζis a constant. Moreover, the function ctis convex for all ˜

q∈R8

uwhen

θ∈(0,90◦]and ζ≥1.

Proof. The proof follows by noting that ˜

qTEr˜

q−1 = 0, due to the fact that the real part of the dual

quaternion is a unit quaternion. Hence for any ζ > 0 we have ζ˜

qTEr˜

q−1= 0. Adding this term to (33)

yields

˜

qTMt˜

q+ cos θmax +ζ˜

qTEr˜

q−ζ≤0

˜

qT(Mt+ζEr)˜

q+ cos θmax −ζ≤0

˜

qT˜

Mt˜

q+ cos θmax −ζ≤0.

Now the eigenvalues of ˜

Mtcan be obtained as a function of the parameter ζ. Speciﬁcally, we ﬁnd that

spec n˜

Mto={−1 + ζ, 0,1 + ζ}.

It is clear then that for ζ≥1, we have ˜

Mt0. When this is the case, the Hessian of ctis positive semideﬁnite

for all ˜

q∈R8

uand θ∈[0,90◦). Hence ctis convex over this domain.

The ﬁnal state constraint considered part of our baseline problem is a bound on the angular rate of the

vehicle. We note that due to our assumption that the main engine is the only actuator producing torque,

angular accelerations can be limited by suitable choice of ∆umax in (26). We impose an addition angular

rate constraint of the form

kωBk∞≤ωmax (35)

where ωmax ∈R++ is the maximum allowable angular velocity about any axis.

8 of 16

American Institute of Aeronautics and Astronautics

B. State-Triggered Constraints

We now detail the state-triggered constraints and their continuous formulation. State-triggered constraints

(STCs) were introduced in28 and represent constraints that are enforced only when a state-dependent crite-

rion is met. When formulated using the continuous variables of an optimization problem, these constraints

model an if-statement conditioned on the solution variables that they are constraining. In a trajectory gener-

ation problem, optimal solutions are thus obtained with a simultaneous understanding of how the constraint

aﬀects the solution, and of how the solution enables or disables the constraint.

An STC is composed of two functions, the trigger function and the constraint function. Using z∈Rnzto

denote an arbitrary solution vector, we denote these by g:Rnz→Rand c:Rnz→R, respectively. Vector-

valued trigger and constraint functions are addressed in.38 The constraint function is to be conditionally

enforced based on the value of the trigger function, and thus we formally deﬁne the STC to be

g(z)<0⇒c(z)≤0.(36)

We refer to g(z)<0 as the trigger condition and c(z)≤0 as the constraint condition. If the trigger function

is non-negative, then the optimization variable zis not subject to the constraint condition. If however, the

trigger function becomes strictly negative (i.e., becomes active), then the state is subject to the constraint

condition. The feasible region in the g(z)-c(z) space is depicted in the bottom two axes of Figure 2.

1. Continuous Formulation

In order to incorporate constraints of the form (36) into a continuous optimization problem, they must be

represented using continuous variables. To do so, we introduce the auxiliary variable σ∈R++ and the

following system of equations

σ≥0,(37a)

g(z) + σ≥0,(37b)

σc(z)≤0.(37c)

The idea is to represent the (binary) logical implication in (36) as the outcome of this system of equations

in continuous variables. The equations in (37) are such that when the trigger condition is satisﬁed, (37b)

and (37a) imply that σ > 0. It follows then that (37c) holds if and only if constraint condition is met.

Therefore (37) is logically equivalent to (36). We refer to this continuous formulation as continuous state-

triggered constraints (cSTCs).

The formulation in (37) does not, however, admit a unique solution for σ. As illustrated in Figure 2, when

g(z)<0, the auxiliary variable satisﬁes σ∈[−g(z),∞). Moreover, when the trigger condition is not met, σ

is free to be any non-negative number, including a non-zero value that enforces the constraint condition. We

have found that this ambiguity can both inadvertently constrain the solution variables and cause numerical

issues during solutions due to the unboundedness of the slack variable.

To alleviate these problems, we introduce an altered set of constraints motivated by the linear complemen-

tarity problem (LCP).39 The new set of constraints form a complementarity condition between the left-hand

sides of (37b) and (37a), and results in

0≤σ⊥g(z) + σ≥0,(38a)

σc(z)≤0,(38b)

where the notation in (38a) represents the trio of constraints σ≥0, g(z) + σ≥0 and s·g(z) + σ= 0.

For a given z, (38a) deﬁnes an LCP in σ, and we refer to this formulation as the projected continuous

state-triggered constraints (Projected cSTCs). This problem has a unique solution that varies continuously

as a function of z,39 and can be solved for analytically as

σ∗:=−min(g(z),0).(39)

Substituting σ∗into (38) guarantees the satisfaction of (38a), and thus we may remove it from the for-

mulation. The result is that (38b) becomes a single, logically equivalent, constraint to (36) that uses only

continuous variables. We deﬁne the constraint (38b) with σ∗to be

h(z):=−min(g(z),0) ·c(z)≤0.(40)

9 of 16

American Institute of Aeronautics and Astronautics

Feasible Set of cSTC Feasible Set of Projected cSTC

σ≥0, g(z) + σ≥0, σc(z)≤00≤σ⊥g(z) + σ≥0, σc(z)≤0

g(z)

c(z)

σ

g(z)

c(z)

c(z)

σ

g(z)

c(z)

σ

g(z)

c(z)

Feasible sets of corresponding STC

Figure 2: Geometric interpretation of cSTCs with an inequality constraint condition. The blue axes on the

left represent the cSTCs in (37), while the green axes on the right represent the Projected cSTCs in (38).

The red regions depict the feasible space of the auxiliary variable σ, with the volume observed in the central

axes portraying the ambiguity noted for (37).

The geometry resulting from this analytical solution for σ∗is illustrated in the upper-rightmost axes of

Figure 2. The removal of the ambiguity from (37) was accomplished by the additional complementarity

constraint by eﬀectively removing the volume of the red region seen in the central blue set of axes that

denote the feasible space of (37).

C. Distance-Triggered Line of Sight Constraints

We now consider the application of STCs to line of sight constraints. Line of sight (LOS) constraints restrict

the permissible attitude and position of the vehicle such that the vector to the landing site is aligned with

a particular boresight direction within some maximum angle. We denote the LOS angle by ξ∈[0,180◦],

and similarly denote its maximum allowable angle by ξmax. We highlight that this type of constraint has

been considered in powered descent problems in past work,23,24 however it was applied at all times during

a trajectory. The current methodology is required for powered descent problems with tight LOS bounds

imposed by vision-based sensors for two reasons. First, the LOS angle is a constant oﬀset from the sum of

the glide slope and tilt angles. As a result, a small LOS angle can severely limit the maneuverability of the

vehicle, thus limiting the set of feasible initial conditions. Second, long trajectories may require pointing to

diﬀerent regions of a planets surface to acquire navigation data, something that would typically require the

solution of two problems that are properly joined. The use of STCs can handle these scenarios in a single

optimization framework.

To formulate a distance-triggered LOS constraint, we propose a trigger function gl:R8

u→Rof the form

gl(˜

q):=d− k2Ed˜

qk2(41)

where from (29) the second term is equivalent to the normed distance from the landing site. This function

is seen to satisfy the trigger condition for distances strictly greater than d∈R. We note that d= 0 recovers

the previous LOS constraints considered in the literature.23, 24

To construct the constraint function, consider a unit vector in body coordinates, pB∈R3, that deﬁnes the

boresight of an optical sensor or window. The line of sight angle ξis deﬁned as the angle between pBand

10 of 16

American Institute of Aeronautics and Astronautics

FB

FI

−rB

Body-ﬁxed

ξmax-cone

centered

around pB

ξ

Landing site

Figure 3: A line of sight constraint to be conditionally imposed based on the distance from the landing site.

−rB, and the line of sight constraint can be expressed as

rT

BpB+krBk2cos ξmax ≤0,(42)

and is visualized in Figure 3. To write this constraint with dual quaternions, we note that the same trick

from (30) can be used on the ﬁrst term in (42) to yield

rT

BpB= (q⊗rB)T(q⊗pB) = ˜

qTMl˜

q, Ml="04×4[pB]∗

⊗

T

[pB]∗

⊗04×4#

which in conjunction with (29) leads us to the following proposition.

Proposition 3. The line of sight constraint (42) is expressed in terms of the dual quaternion as

cl(˜

q):=˜

qTMl˜

q+k2Ed˜

qk2cos ξmax ≤0 (43)

Moreover, the function cl:R8

u→Rdeﬁned above is convex over the domain dom cl=R8

uT˜

q|˜

qT˜

q≤

1 + 1

4∆2, where krIk2≤∆is an upper bound on the distance from the landing site.

Proof. See23, 24 for the proof.

The distance triggered line of sight constraint can thus be expressed using (40) as

hl(˜

q):=−min(gl(˜

q),0) ·cl(˜

q)≤0.(44)

Remark III.1. The formulation presented here is equally applicable to time-triggered constraints for prob-

lems where either the ﬁnal or ignition time is a variable. In this case, it is a simple matter to construct the

trigger function to model an arbitrary interval of time as a function of the ignition time t0, the ﬁnal time tf

and the current time t.

Remark III.2. The state-triggered constraints are formulated in a way that avoids using iterative schemes

that update the constrained temporal intervals based on the value of the trigger function from a previous

iteration. The advantage lies primarily in al lowing the optimization process to understand how adjusting the

state will enable or disable the constraint, a feature not enjoyed by these heuristic methods.

D. Problem Statement

We conclude this section with a full statement of the problem to be solved. We state the problem as a

free-ﬁnal time continuous optimal control problem subject to nonlinear dynamics and both state and control

constraints. We wish to ﬁnd the burn time, tf∈R++ and the piecewise continuous thrust commands uB(t)

for t∈[0, tf] that solve the following optimal control problem.

11 of 16

American Institute of Aeronautics and Astronautics

min

tf,uB(·)−m(tf)

subject to: ˙m=−αkuBk2(20)

˙

˜

q=1

2˜

q⊗˜

ω(19)

J˙

˜

ω= ΦuB+˜

gB−˜

ωJ+˙

JEr˜

ω(23)

umin ≤ kuBk2≤umax (24)

kuBk2≤¯

zT

BuB(25)

∆uB

∆t≤∆umax (26)

mdry ≤m(27)

cg(˜

q)≤0 (31)

ct(˜

q)≤0 (34)

kωBk∞≤ωmax (35)

hl(˜

q)≤0 (44)

(Problem 1)

Finally, we note that the baseline problem is Problem 1 with constraint (44) removed.

IV. Solution Method

This section will brieﬂy describe the solution method for Problem 1. In,28 a method was presented to

convert a general free-ﬁnal time nonlinear continuous-time optimal control problem into a sequence of ﬁxed-

ﬁnal time convex discrete-time parameter optimization subproblems. The general formulation was speciﬁed

for a powered descent guidance problem using Cartesian variables, however the steps remain the same when

using dual quaternions. The algorithm works by iteratively solving these subproblems until a converged

solution is attained. Each iteration can be decomposed into two main steps; a propagation step and a solve

step. The propagation step is responsible for obtaining a convex approximation to Problem 1, while the solve

step solves this subproblem to full optimality using well-studied algorithms.40–43 The solve step’s solution

is then used during the next iteration’s propagation step to obtain an improved approximation of Problem

1. Upon convergence, the algorithm is designed to obtain solutions that adhere exactly to the nonlinear

dynamics of the problem, while approximating constraint feasibility and local optimality. For brevity, we do

not repeat the steps to obtain a convex approximation of Problem 1 here. We refer the reader to28 for these

details, but provide a summary of the key steps and assumptions made for the current work.

In,44 several methods for the propagation step are compared in a Monte Carlo campaign, and the methods

that appear suitable for real-time implementations were discussed. In particular, the trade study of direct

transcription methods in44 compared methods that parameterize the control trajectory to global pseudospec-

tral methods (that parameterize the state and control trajectories). It was found that the former group of

methods result in a more sparse optimization, leading to faster solution times. When the accuracy of the

solutions was taken into account, a piecewise linear approximation of the control signal was seen to perform

the best over the scenarios tested. As a result of this analysis, we proceed in this work with this assumption

in the propagation step.

We discretize the time interval [0, tf]⊂R+into N−1 evenly spaced temporal intervals such that 0 = t0<

t1< . . . < tk< . . . < tN−1=tf. The control trajectory can then be expressed by a set of Nvectors

uB,k ∈R3such that uB,k =uB(tk). The continuous-time signal is reconstructed using the piecewise linear

interpolation scheme between these discrete values. Each solve step therefore obtains the value of the control

signal at discrete temporal points along the trajectory.

During the propagation step, the nonlinear dynamics in (19), (20) and (23) are approximated by a ﬁrst

order Taylor series centered about the previous iteration’s solve step solution. We point out that due to

the chosen discretization method,28, 44 the behaviour of the original nonlinear dynamics during inter-node

temporal intervals is captured even in the discrete solution. All constraints in Problem 1 are enforced only

at the discrete temporal points, and non-convex state and control constraints are approximated by a ﬁrst

order Taylor series expansion centered about the previous iteration’s solve step solution.

12 of 16

American Institute of Aeronautics and Astronautics

V. Numerical Examples

This section provides example solutions to both the baseline problem and Problem 1 discussed in §III. These

examples are intended to demonstrate the main contribution of this paper, namely the distance-triggered

line of sight constraint. The scenario is modeled as a lunar landing whereby the vehicle must provide a line of

sight to the nominal landing site until it has reached a distance of 200m from the landing site. The problem

parameters are given in Table 1, and we assume that the inertia matrix is computed as an aﬃne function of

mass according to

J(m) =

αxm+βx0 0

0αym+βy0

0 0 αzm+βz

,(45)

where α=αxαyαzT,β=βxβyβzT∈R3

++ are vehicle speciﬁc parameters. For an appropriate choice

of αand β, this model amounts to a linear interpolation between the wet and dry inertia matrices. It is

important to note that the use of this model in conjunction with the solution strategy discussed in §IV means

that all thrust commands are computed with an understanding of how mass depletion will alter the inertia

of the vehicle and aﬀect rotation induced by gimbaling the engine.

Table 1: Problem parameters for the solution of Problem 1.

Parameter Value Units Parameter Value Units

α[1.85 1.85 1.83] m2β[7605 7605 13395] kg m2

mwet 3250 kg mdry 2100 kg

rI(0) [250 150 433] m vI(0) [−30 0 −15] m/s

rI(tf) [0 0 30] m vI(tf) [0 0 −1] m/s

ru−0.25 ·zBmωB(0),ωB(tf) [0 0 0] ◦/s

Isp 225.0 s q(tf) [0 0 0 1] -

θmax 80.0◦N20 -

ωmax 28.6◦/sξmax 30 ◦

γmax 75.0◦pB[0.906 0 −0.423] -

δmax 20.0◦d200 m

Tmin 6000 N Tmax 22,500 N

All problems are solved using SDPT343 and CVX.45 We solve both the baseline problem (Problem 1 with

constraint (44) removed) and Problem 1 for comparison. The solution is initialized with the straight-line

interpolation method detailed in,28 in which each state is linearly interpolated between its boundary values,

and the thrust is chosen to oppose the force of gravity.

Converged trajectories are shown in Figure 4, while corresponding state and control trajectories are given

in Figure 5a and Figure 5b, respectively. In all ﬁgures, the black dots represent the discrete solution values

(both states and controls) from the optimization process. The solid curves are the trajectories obtained by

integrating these control signals through the nonlinear dynamics in (19), (20) and (23).

In Figure 4, the light blue lines represent the boresight vector pBat the discrete temporal points used for the

optimization procedure. In particular, the upper-right South-Zenith projection shows how both the attitude

and position of the vehicle are changed from the baseline scenario to account for the pointing constraint

enforced at this distance from the landing site. Figure 5a illustrates the distance from the landing site versus

the line of sight angle for each trajectory. This ﬁgure demonstrates that the line of sight angle is maintained

below its desired bound while the vehicle is far enough from the landing site (i.e., when the trigger condition

is active). Since the baseline problem does not enforce the line of sight constraint, the corresponding angles

are seen to violate the desired limit during the initial portion of the descent. Figure 5b indicates, at times,

large deviations in the thrust commands between the two problem instances as the solution to Problem 1

must accommodate for the additional line of sight constraint.

13 of 16

American Institute of Aeronautics and Astronautics

-50 0 50 100 150 200 250 300

-50

0

50

100

150

200

0 100 200 300

0

100

200

300

400

500

0 100 200

0

100

200

300

400

500

0

300

200

100

200

200

100 100

300

00

400

500

Figure 4: Converged trajectories for both the baseline problem (brown curve) and Problem 1 (blue curve).

For Problem 1, a line of sight constraint is enforced conditionally on the distance from the landing site. The

light blue line represents the boresight vector pBin both cases.

VI. Conclusions

In this paper, the 6-degree-of-freedom powered descent guidance problem with state-triggered constraints was

formulated. Using dual quaternions to represent the equations of motion, the kinematics, dynamics, and state

and control constraints for a variable mass and variable inertia rigid body with a single engine conﬁguration

were presented. This work introduced the inequality form of state-triggered constraints with an application

to distance-triggered line of sight constraints. The formulation enables the use of continuous optimization

tools to generate and study feasible trajectories that are subject to pointing constraints only during certain

portions of the descent. The solution method leverages recent work in developing iterative methods to solve

nonlinear and nonconvex problems in a way that is amenable to real-time and on-board computation. A

numerical example demonstrates these methods for a representative lunar landing scenario, and highlights

the utility and impact of state-triggered constraints on the resulting state and control trajectories.

Acknowledgements

This research has been supported by NASA grant NNX17AH02A and was partially carried out at the Johnson

Space Center. Government sponsorship acknowledged.

14 of 16

American Institute of Aeronautics and Astronautics

0 10 20 30 40 50 60 70 80

0

50

100

150

200

250

300

350

400

450

500 Discrete Solution

Baseline

Problem 1

STC Trigger Distance

(a) Altitude versus line of sight angle.

0 5 10 15 20 25

0

1

2

104

0 5 10 15 20 25

0

5

10

15

20

(b) Thrust magnitude and gimbal angle commands.

Figure 5: State-triggered constraint phase plot and thrust commands for the converged trajectories. Con-

straint boundaries are represented by dashed red lines.

References

1J. S. Meditch, “On the Problem of Optimal Thrust Programming For a Lunar Soft Landing,” IEEE Transactions on Automatic

Control, vol. 9, no. 4, pp. 477–484, 1964.

2D. Lawden, “Optimal Trajectories for Space Navigation,” in Optimal Trajectories for Space Navigation, London: Butter-

worths, 1963.

3T. N. Edelbaum, “Optimal Space Trajectories,” tech. rep., Analytical Mechanics Associates, Inc., Jericho, NY, 1969.

4J.-P. Marec, Optimal Space Trajectories. Amsterdam: Elsevier Scientiﬁc Publishing Company, 1979.

5A. R. Klumpp, Apollo guidance, navigation, and control: Apollo lunar-descent guidance. Charles Stark Draper Laboratory,

1971.

6C. N. D’Souza, “An Optimal Guidance Law for Planetary Landing,” in AIAA Guidance, Navigation, and Control Conference,

(New Orleans, LA), pp. 1376—-1381, 1997.

7U. Topcu, J. Casoliva, and K. D. Mease, “Fuel Eﬃcient Powered Descent Guidance for Mars Landing,” in Guidance,

Navigation, and Control Conference and Exhibit, (San Francisco, CA), 2005.

8U. Topcu, J. Casoliva, and K. D. Mease, “Minimum-Fuel Powered Descent for Mars Pinpoint Landing,” Journal of Spacecraft

and Rockets, vol. 44, no. 2, pp. 324–331, 2007.

9F. Najson and K. Mease, “A Computationally Non-Expensive Guidance Algorithm for Fuel Eﬃcient Soft Landing,” in AIAA

Guidance, Navigation, and Control Conference and Exhibit, Guidance, Navigation, and Control and Co-located Conferences,

(San Francisco, CA), aug 2005.

10J. R. Rea, An Investigation of Fuel Optimal Terminal Descent. Ph.D. Dissertation, University of Texas at Austin, 2009.

11J. Rea and R. Bishop, “Analytical Dimensional Reduction of a Fuel Optimal Powered Descent Subproblem,” in AIAA

Guidance, Navigation, and Control Conference, (Toronto, ON), 2010.

12A. B. Acikmese and S. Ploen, “A Powered Descent Guidance Algorithm for Mars Pinpoint Landing,” in AIAA Guidance,

Navigation, and Control Conference and Exhibit, (San Francisco, CA), 2005.

13S. Ploen, B. Acikmese, and A. Wolf, “A Comparison of Powered Descent Guidance Laws for Mars Pinpoint Landing,” in

AIAA/AAS Astrodynamics Specialist Conference and Exhibit, (Keystone, CO), 2006.

14B. Acikmese and S. R. Ploen, “Convex Programming Approach to Powered Descent Guidance for Mars Landing,” Journal

of Guidance, Control, and Dynamics, vol. 30, no. 5, pp. 1353–1366, 2007.

15J. M. Carson, B. A¸cıkme¸se, L. Blackmore, and A. Wolf, “Capabilities of Convex Powered-Descent Guidance Algorithms for

Pinpoint and Precision Landing,” in 2011 IEEE Aerospace Conference, (Big Sky, MT), pp. 1–8, 2011.

16J. M. Carson, B. Acikmese, and L. Blackmore, “Lossless Convexiﬁcation of Powered-Descent Guidance with Non-Convex

Thrust Bound and Pointing Constraints,” in Proceedings of the 2011 American Control Conference, (San Francisco, CA),

pp. 2651–2656, 2011.

17B. Acikmese, J. M. Carson, and L. Blackmore, “Lossless Convexiﬁcation of Nonconvex Control Bound and Pointing Con-

straints of the Soft Landing Optimal Control Problem,” IEEE Transactions on Control Systems Technology, vol. 21, no. 6,

pp. 2104–2113, 2013.

18L. Blackmore, B. Acikmese, and D. P. Scharf, “Minimum-Landing-Error Powered-Descent Guidance for Mars Landing Using

Convex Optimization,” Journal of Guidance, Control, and Dynamics, vol. 33, no. 4, pp. 1161–1171, 2010.

19B. A¸cıkme¸se and L. Blackmore, “Lossless Convexiﬁcation of a Class of Optimal Control Problems with Non-Convex Control

Constraints,” Automatica, vol. 47, no. 2, pp. 341–347, 2011.

15 of 16

American Institute of Aeronautics and Astronautics

20L. Blackmore, B. A¸cıkme¸se, and J. M. Carson, “Lossless convexiﬁcation of control constraints for a class of nonlinear optimal

control problems,” Systems and Control Letters, vol. 61, no. 8, pp. 863–870, 2012.

21M. W. Harris and B. Acikme¸se, “Lossless Convexiﬁcation of Non-Convex Optimal Control Problems for State Constrained

Linear Systems,” Automatica, vol. 50, no. 9, pp. 2304–2311, 2014.

22U. Lee and M. Mesbahi, “Dual Quaternions, Rigid Body Mechanics, and Powered-Descent Guidance,” in Proceedings of the

IEEE Conference on Decision and Control, (Maui, HI), pp. 3386–3391, 2012.

23U. Lee and M. Mesbahi, “Optimal Powered Descent Guidance with 6-DoF Line of Sight Constraints via Unit Dual Quater-

nions,” in AIAA Guidance, Navigation, and Control Conference, (Kissimmee, FL), 2015.

24U. Lee and M. Mesbahi, “Constrained Autonomous Precision Landing via Dual Quaternions and Model Predictive Control,”

Journal of Guidance, Control, and Dynamics, vol. 40, no. 2, pp. 292–308, 2017.

25M. Szmuk, B. Acikmese, and A. W. Berning, “Successive Convexiﬁcation for Fuel-Optimal Powered Landing with Aerody-

namic Drag and Non-Convex Constraints,” in AIAA Guidance, Navigation, and Control Conference, (San Diego, CA), 2016.

26M. Szmuk, U. Eren, and B. Acikmese, “Successive Convexiﬁcation for Mars 6-DoF Powered Descent Landing Guidance,” in

AIAA Guidance, Navigation, and Control Conference, (Grapevine, TX), 2017.

27M. Szmuk and B. Acikmese, “Successive Convexiﬁcation for 6-DoF Mars Rocket Powered Landing with Free-Final-Time,” in

AIAA Guidance, Navigation, and Control Conference, (Orlando, FL), 2018.

28M. Szmuk, T. P. Reynolds, and B. A¸cıkme¸se, “Successive convexiﬁcation for real-time 6-dof powered descent guidance with

state-triggered constraints,” arXiv e-prints, November 2018. arXiv:1811.10803.

29Y. Mao, M. Szmuk, and B. Acikmese, “Successive Convexiﬁcation of Non-Convex Optimal Control Problems and its Con-

vergence Properties,” in 2016 IEEE 55th Conference on Decision and Control, (Las Vegas, NV), pp. 3636–3641, 2016.

30Y. Mao, D. Dueri, M. Szmuk, and B. A¸cıkme¸se, “Successive Convexiﬁcation of Non-Convex Optimal Control Problems with

State Constraints,” IFAC-PapersOnLine, vol. 50, no. 1, pp. 4063–4069, 2017.

31Y. Mao, M. Szmuk, and B. Acikmese, “Successive Convexiﬁcation: A Superlinearly Convergent Algorithm for Non-convex

Optimal Control Problems,” arXiv e-prints, 2018. arXiv:1804.06539.

32N. Filipe and P. Tsiotras, “Adaptive Position and Attitude Tracking Controller for Satellite Proximity Operations using Dual

Quaternions,” Advances in the Astronautical Sciences, vol. 150, no. 4, pp. 2313–2332, 2014.

33A. Valverde and P. Tsiotras, “Modeling of Spacecraft-Mounted Robot Dynamics and Control Using Dual Quaternions,” in

American Control Conference, pp. 670–675, 2018.

34W. Cliﬀord, Mathematical Paper. Macmillan and Company, 1882.

35U. Lee and M. Mesbahi, “Dual Quaternion Based Spacecraft Rendezvous With Rotational and Translational Field of View,”

in AIAA/AAS Astrodynamics Specialist Conference, (San Diego, CA), pp. 1–20, 2014.

36J. M. McCarthy, Introduction to Theoretical Kinematics. Cambridge, MA: The MIT Press, 1990.

37W. T. Thomson, Introduction to Space Dynamics. Toronto, ON: Dover Publications, Inc., 1986.

38M. Szmuk, T. P. Reynolds, D. Malyuta, B. Acikmese, M. Mesbahi, and J. M. Carson, “A Tutorial on Successive Convexiﬁ-

cation for Real-Time Rocket Landing Guidance with State-Triggered Constraints,” in AIAA SciTech Forum, (San Diego, CA),

2019.

39R. W. Cottle, J.-S. Pang, and R. E. Stone, Linear Complementarity Problem. San Diego, CA: Academic Press Limited, 1992.

40A. Domahidi, E. Chu, and S. Boyd, “ECOS: An SOCP solver for embedded systems,” in European Control Conference,

pp. 3071–3076, 2013.

41D. Dueri, B. A¸cıkme¸se, D. P. Scharf, and M. W. Harris, “Customized Real-Time Interior-Point Methods for Onboard Powered-

Descent Guidance,” Journal of Guidance, Control, and Dynamics, vol. 40, no. 2, pp. 197–212, 2016.

42D. Dueri, J. Zhang, and B. A¸cikmese, “Automated Custom Code Generation for Embedded, Real-time Second Order Cone

Programming,” IFAC Proceedings Volumes, vol. 47, no. 3, pp. 1605–1612, 2014.

43K. C. Toh, M. J. Todd, and R. H. T¨ut¨unc¨u, “SDPT3: A Matlab software package for semideﬁnite programming, Version

1.3,” Optimization Methods and Software, vol. 11, no. 1-4, pp. 545–581, 1999.

44D. Malyuta, T. P. Reynolds, M. Szmuk, M. Mesbahi, B. Acikmese, and J. M. Carson, “Discretization Performance and

Accuracy Analysis for the Powered Descent Guidance Problem,” in AIAA SciTech Forum, (San Diego, CA), 2019.

45M. Grant and S. Boyd, “CVX: Matlab Software for Disciplined Convex Programming, version 2.1,” 2014.

16 of 16

American Institute of Aeronautics and Astronautics