of 18
IWSCFF 19-76
DISTRIBUTED MULTI-TARGET RELATIVE POSE ESTIMATION
FOR COOPERATIVE SPACECRAFT SWARM
Kai Matsuka
, Elena Sorina Lupu
, Yashwanth Kumar Nakka
,
Rebecca Foust
§
, Soon-Jo Chung
, and Fred Hadaegh
Multi-agent relative state estimation is critical in enabling full swarm autonomy.
However, relative pose estimation of hundreds to thousands of cooperative agents
is challenging due to limited sensing, limited communication, and scalability. We
present a distributed algorithm for cooperative multi-agent localization with both
limited relative sensing and communication. Each agent locally exchanges the
relative measurements and jointly estimates the relative poses of its local neigh-
bors. Because the algorithm only estimates the local neighbors, the number of
states does not grow with the total number of agents given the same local sensing
and communication graphs, making the algorithm suitable for swarm application.
The proposed algorithm is applied to spacecraft swarm localization and verified
in simulation and experiments. Experiments are conducted on Caltech’s robotic
spacecraft simulators, the Multi-Spacecraft Testbed for Autonomy Research (M-
STAR), where each spacecraft uses vision-based relative measurements.
INTRODUCTION
Spacecraft swarms have the potential to revolutionize space technology by enabling missions like
distributed aperture telescopes, space structure assembly, and cooperative deep space exploration.
1, 2
These multi-spacecraft missions have several advantages over monolithic satellite missions, such
as robustness to agent loss and improved science return.
3
Relative state estimation is a critical
component of formation keeping, path planning, collision avoidance, and rendezvous and docking.
However, in order to enable full swarm autonomy in space, relative state estimation algorithms
must overcome several challenges that get increasingly difficult as the number of agents increases.
Even when the total number of agents is small, multi-agent systems face challenges such as limited
relative sensing and communication ranges. In addition, a swarm with a much larger number of
agents must use an algorithm architecture that does not grow with the total number of agents in
swarm to keep the computation tractable. Existing solutions for multi-agent localization carry the
Graduate Research Assistant, Graduate Aerospace Laboratories of the California Institute of Technology, 1200 E. Cali-
fornia Blvd, Pasadena, CA 91125.
Graduate Research Assistant, Graduate Aerospace Laboratories of the California Institute of Technology, 1200 E. Cali-
fornia Blvd, Pasadena, CA 91125.
Graduate Research Assistant, Graduate Aerospace Laboratories of the California Institute of Technology, 1200 E. Cali-
fornia Blvd, Pasadena, CA 91125.
§
Special Student, Graduate Aerospace Laboratories of the California Institute of Technology, 1200 E. California Blvd,
Pasadena, CA 91125.
Bren Professor of Aerospace, Graduate Aerospace Laboratories of the California Institute of Technology, 1200 E. Cali-
fornia Blvd, Pasadena, CA 91125.
Senior Research Scientist and Chief Technologist, Jet Propulsion Laboratory, 4800 Oak Grove Dr, Pasadena, CA 91109.
1
states for all the agents in the swarm, they are not scalable for swarm applications. Instead, a local
estimation algorithm that does not grow with swarm size is desired.
Figure 1. Concept mission with a formation flying swarm of Cubesats inspecting a bigger spacecraft
In this paper, we present the Distributed Pose Estimation (DPE) algorithm for collaborative multi-
agent localization of an individual agent with respect to its local neighbors. In the proposed archi-
tecture, each agent senses the relative poses of its neighbors with respect to its local frame us-
ing vision-based techniques and communicates the relative pose measurements with an associated
confidence-level that acts as a prior to the DPE algorithm. The DPE algorithm localizes each agent
by fusing relative estimates received from its neighbors. Figure 2 shows an example of the local
relative sensing graph given the sensing and communication graph topologies of the whole swarm.
The local relative sensing graph can be viewed as a pose graph, over which each agent jointly es-
timates relative pose states. Hence, the algorithm can utilize the additional cyclic structure in the
relative sensing graph, thereby improving the observability.
The DPE algorithm shares measurements with local neighbors, but not their estimated states.
Estimated states from different agents do not depend on each other, thereby allowing for more
straightforward stability analysis. The DPE is formulated as a nonlinear estimation problem with
the measurement equation augmented by relative pose measurements received from the agents in
the local graph. In this paper, we use the Extended Kalman Filter (EKF) approach to solve the DPE
problem for real-time implementation. The DPE algorithm can also be implemented using other
nonlinear estimation algorithms such as an unscented Kalman filter, a particle filter, and an optimal
nonlinear observer.
4
The algorithm is verified using simulations and experiments. The two simulation scenarios con-
sider a planar relative orbital dynamics in a planetary orbit described by the Hill-Clohessy-Wiltshire
(HCW) equations, one with four spacecraft and another with sixty spacecraft. The DPE algorithm
is compared against an independent EKF run for each neighbor for which direct measurement are
observable. Robotic experiments are conducted on the Caltech’s robotic spacecraft dynamics simu-
lators, the Multi-Spacecraft Testbed for Autonomy Research (M-STAR).
5
Each spacecraft simulator
is equipped with a monocular camera and unique visual markers with known geometry, whose full
poses are extracted using a computer vision algorithm run on-board each spacecraft. The M-STAR
utilizes a motion capture system, which provides ground truth for algorithmic verification. In sum-
2
Figure 2. An example of a local relative sensing graph of agent 1 given the communi-
cation and sensing topologies.
mary, we present a distributed algorithm for vision-based pose estimation of multiple targets and its
experimental validation.
Related Work
Extensive work has been done in the general field of distributed estimation. Several algorithms
have been developed to effectively fuse measurements from distributed systems like the Kalman
Consensus Filter,
6
the Information-Weighted Consensus Filter,
7
or the Logarithmic Consensus.
8
These algorithms can be applied to the multi-agent localization problem. Several algorithms have
also been developed specifically for multi-agent localization. For spacecraft and robotic applica-
tions, the
λ
-estimator estimates the relative translational states of a linear system switching sensing
topology,
9
and another algorithm estimates the relative pose of stationary agents without a common
reference frame.
10
In wireless sensor network applications, some algorithms
11, 12
estimate the sen-
sor locations with the knowledge of some agents in the network. One paper discusses the conditions
of observability for attitude states for multi-agent system with a relative sensing graph.
13
Another
discusses observability of multi-agent localization in the sense of graph connectivity.
14
The algorithms discussed above have been successfully tested with some small-scale multi-agent
applications, but they assume that the states to be estimated by each agent are the same. A challenge
arises when these algorithms are applied to large-scale swarm localization problems where the size
of the states to be estimated grows with the number of agents. Large-scale estimation problems can
be made tractable by limiting each agent to estimate only locally. As long as the size and complexity
of a local graph pertaining to each agent remains approximately the same, the computational load
for each agent does not change as more agents are added to the swarm. Estimation of local states in
a large-scale problem is studied in the context of static estimation for networked power systems.
15, 16
Similar to the existing literature, the algorithm proposed in this paper also considers local relative
states to achieve a tractable algorithm complexity for swarm applications. In contrast, our problem
involves dynamics and the states to be estimated are the local relative poses of neighbor agents.
Another important aspect of multi-agent localization is dealing with sensing and communica-
tion networks simultaneously. This is particularly relevant for spacecraft formation flying missions
where difficult sensing and power constraints exist. In general, the limitations for communication
and relative sensing graph may be different, and may occur simultaneously for swarm systems.
3
Much of the existing work focuses on either sensing or communication issues and not on the inter-
section of the two.
9, 10, 13
Some prior work
14
discusses the observability of the states when a com-
bination of relative sensing and communication networks are considered. While this addresses the
fundamental observability of the agent states given combined sensing and communication networks,
it is limited to a case where the communication has an infinite number of information exchange at
each time step. In this paper, we modify this notion of observability
14
to a case where the number
of information exchanges at each time step is also limited. Based on this observability, we create a
rule to select the size of the set of agents that each agent estimates.
The main contribution of this paper are as follows. First, we present a distributed, multi-agent
3-DOF localization algorithm for both limited sensing and communication networks. Estimated
states are local so the computation does not grow with the swarm size as long as the size of the
local sensing neighbor graph is fixed. Second, we provide a sufficient condition for when each
agent can observe its neighbors’ states. Based on this condition, we provide a rule to select which
agents are included in the local sensing neighbor graph. Finally we validate the proposed DPE
algorithm via simulation and experimentation using robotic spacecraft simulators with vision-based
pose extraction.
The outline of the rest of the paper is as follows. We first review preliminaries pertaining to the
graph theory notations, and the relative orbital dynamics. Next, we propose the Distributed Pose
Estimation (DPE) Algorithm. Then we describe the simulations and the robotic experiments results,
finally followed by the conclusion section.
PRELIMINARIES
Let
G
s
= (
V
,
E
s
)
denote a directed graph that describes the
relative sensing graph
, where
V
=
{
1
,...,N
}
denotes the set of agents and
E
s
denotes a set of edges. An edge
(
i,j
)
∈ E
s
when
i
-th agent measures the relative pose of
j
-th agent. Similarly, let
G
c
= (
V
,
E
c
)
denote the
communication graph
, a directed graph for the communication topology. We say
(
i,j
)
∈E
c
if there
is an information flow from
i
-th agent to
j
-th agent. Note that the measurement graph and the com-
munication graph may be different.
14
An agent
j
is a neighbor of
i
in the graph
X
if
(
i,j
)
∈E
(
X
)
.
The set of neighbors of
i
in graph
X
is defined as
N
i
=
{
j
∈ V |
(
i,j
)
∈ E
(
X
)
}
. An extended
set of neighbors is defined as
̄
N
i
=
N
i
∪{
i
}
. A
subgraph
of a graph
X
is a graph
Y
such that
V
(
Y
)
⊆ V
(
X
)
,
E
(
Y
)
⊆ E
(
X
)
. Let
I
:
Z
→ V
be a mapping from an index of a set of vertices to
the element at that index.
The relative orbital dynamics of formation-flying spacecraft are described using a local-vertical,
local-horizontal (LVLH) attached to each spacecraft. The LVLH frame defined at the
i
-th spacecraft,
denoted
L
i
, is defined as follows in this paper: the
x
direction,
R
, is along the position vector to
the spacecraft; the
z
direction,
N
, is along the angular momentum vector of the spacecraft’s orbit;
and the
y
direction, T, completes the right-handed rule. The origin of the LVLH frame, defined for
each spacecraft, coincides with the center of gravity of the spacecraft. The body-fixed frame of
i
-th
spacecraft is denoted
B
i
, and its origin coincides with the center of gravity of the
i
-th spacecraft.
For two formation flying spacecraft with a separation distance much smaller than its orbit radius,
the attached LVLH frames have negligibly small attitude difference. This is because the radial and
angular momentum vectors for the two spacecraft are much bigger than their differences. For the
rest of the paper, we assume that each pair of agents has a small intersatellite distance compared to
the orbital radius so that the relative attitude between the LVLH frames attached to different agents
are assumed to be aligned.
4
Relative Orbital Dynamics: 3DOF System
This section reviews the equation of motion for the relative orbital dynamics. This paper con-
siders that spacecraft are flying in formation in a circular orbit around a planet. For spacecraft in a
circular orbit, the linearized relative orbital motion simplifies to the HCW equations assuming no
perturbations and a short distance from the origin of the relative frame. The relative state vector of
the
j
-th agent with respect to the
i
-th agent is denoted
x
j/i
and is defined as
x
j/i
T
=
[
p
L
i
j/i
T
v
L
i
j/i
T
θ
j/L
i
ω
j/L
i
]
(1)
where
p
L
i
j/i
,v
L
i
j/i
R
2
are the position and velocity vectors of agent
j
with respect to agent
i
and
θ
j/L
i
[0
,
2
π
)
,
ω
j/L
i
R
are the attitude and angular rate of agent
j
with respect to LVLH frame
of agent
i
. Since all spacecraft are in the PRO with respect to all the other spacecraft, the relative
orbit dynamics can be conveniently defined with respect to
L
i
. The absolute state vector of the
i
-th
agent
x
i
[0
,
2
π
)
×
R
is defined as
x
i
T
=
[
θ
i/L
i
ω
i/L
i
]
(2)
where
θ
i/L
i
[0
,
2
π
)
and
ω
i/L
i
R
are the attitude and angular rate of
B
i
with respect to
L
i
. Recall
that
L
i
denotes these vectors are expressed in
L
i
frame. Since we assumed that the orientation of
the LVLH frame for each spacecraft
L
i
are approximately equal to each other, we will denote this
superscript
L
i
with
L
from here on. While there exist nonlinear, higher fidelity dynamics models
that include
J
2
and air drag,
17
we focus on the hcw dynamics to illustrate the distributed aspects of
the algorithm.
The relative states
x
j/i
can be propagated via a linear time-invariant state transition matrix
x
j/i
(
t
k
+1
) =
A
rel
x
j/i
(
t
k
)
, where
A
rel
=
[
A
1
0
4
×
2
0
2
×
4
A
2
]
(3)
where
A
1
= Φ
HCW
(∆
t
)
is the state transition matrix given by the solution to the HCW equations
and
A
2
is the state transition matrix for the double integrator system.
DISTRIBUTED POSE ESTIMATION ALGORITHM
In this section, we present the Distributed Pose Estimation Algorithm (DPE). The DPE algo-
rithm estimates the relative poses of a subset of agents in a swarm, given the relative sensing and
communication network topologies. First, each spacecraft makes relative pose measurements of
the neighbor agents. Then each spacecraft communicates its relative measurements and associated
measurement covariances with its communication neighbors. The agent
i
receives this information
from its communicating neighbor agent
l
∈ N
i
c
. Finally, using the relative measurements received
by communication, the DPE estimates the relative pose of the spacecraft. This algorithm is summa-
5
rized in Algorithm 1. The same algorithm is implemented on each agent.
Algorithm 1:
DPE Algorithm
Result:
Estimate
ˆ
x
+
i
and
P
+
i
1
ˆ
x
+
i
= ˆ
x
i
(0)
,
ˆ
P
+
i
=
ˆ
P
i
(0)
2
while
true
do
3
ˆ
P
i
=
ˆ
P
+
i
,
ˆ
x
i
= ˆ
x
+
i
4
M
i
= Measure()
5
for
j
∈N
i
c
do
6
Broadcast(
M
i
)
7
̄
M
i
=
M
i
Receive(
M
j
)
8
end
9
̃
M
i
= PruneUnobservable(
̄
M
i
)
10
ˆ
x
+
i
,
P
+
i
= EKF(
̃
M
i
,
ˆ
x
i
,
ˆ
P
i
)
11
end
We begin by defining a local relative sensing graph
G
i
with respect to the agent
i
. The local
relative sensing graph is a subgraph of the relative sensing graph (i.e.
G
i
⊆ G
). We suppose that
a list of vertices for the local relative sensing graph
V
i
is given (an approach on how to select
V
i
is
discussed in detail in later sections), and define the set of neighbor states to be
S
i
=
{
x
j/i
|
j
∈V
i
\
i
}
.
(4)
The goal of the DPE is to estimate the augmented state vector
x
i
R
nN
i
, which is a column
concatenation of
S
i
.
Relative Pose Sensing and Measurement Models
Each spacecraft is assumed to carry a relative pose sensor which directly measures the relative
pose of neighboring sensors in its field-of-view. The sensor is assumed to be capable of measuring
multiple targets simultaneously. For example, a monocular camera and computer vision algorithms
with known target geometry can provide such an estimate.
18
We define the planar true pose of
j
-th
body frame with respect to the
i
-th body frame as
T
i
j
,
[
p
i
j/i
θ
j/i
]
=
[
R
(
θ
i/L
)
T
p
L
j/i
θ
j/L
θ
i/L
]
(5)
The second equality relates the relative pose between agent
i
and
j
in terms of the states estimated
by agent
i
. Note that
θ
i/L
is an absolute measurement of agent
i
and is not a dependent variable,
hence both the absolute and relative measurement equations are linear. Then a relative measurement
of
j
-th agent with respect to
i
-th agent is given by following
y
j/i
=
h
j/i
+
v
j/i
(6)
where
h
j/i
=
T
i
j
and
v
j/i
is a zero-mean Gaussian noise with covariance
V
j/i
. The subscript
j/i
in
y
j/i
denotes it is a relative measurement associated with the
i
-th agent observing the
j
-th agent.
The same relative measurement may be used in DPE algorithms running on multiple agents.
Since each agent estimates the relative pose of neighbors with respect to itself, the relative states
6
representing an agent are different for each agent. Therefore, while
y
j/i
represents a measurement,
its measurement model may be expressed in different ways, depending on which agent the estima-
tion is done. Specifically, each relative measurement may take three different forms. Suppose that
the
i
-th agent is the reference spacecraft, on which the DPE algorithm is run. The first model is the
case where the relative measurement of the
j
-th agent is made by the
i
-th agent itself. This results
in the trivial case of Equation 6. The second is the relative measurement of the
i
-th agent made by
the
j
-th agent. Because the agent
i
has
p
L
i/j
and
θ
j/L
as states, the relative measurement becomes
y
i/j
=
h
i/j
+
v
i/j
(7)
where
h
i/j
= (
T
i
j
)
1
and
(
T
i
j
)
1
=
[
R
(
θ
j/i
)
T
p
i
j/i
θ
j/i
]
=
[
R
(
θ
j/L
)
T
p
L
j/i
θ
i/L
θ
j/L
]
.
(8)
Rotation matrix is defined as
R
i
j
=
R
(
θ
j/i
) =
[
cos (
θ
j/i
)
sin (
θ
j/i
)
sin (
θ
j/i
)
cos (
θ
j/i
)
]
(9)
such that
v
i
=
R
i
j
v
j
for some two dimensional vector
v
. Finally, when the
i
-th agent uses the
relative measurements between two of its neighbor agents
j,k
∈ N
i
then the relative measurement
model becomes
y
k/j
=
h
k/j
+
v
k/j
(10)
where
h
k/j
= (
T
i
j
)
1

T
i
k
and

denotes the addition of successive planar coordinate transforma-
tions defined as
(
T
i
j
)
1

T
i
k
=
[
R
(
θ
j/i
)
T
(
p
i
k/i
p
i
j/i
)
θ
k/i
θ
j/i
]
=
[
R
(
θ
j/L
)
T
(
p
L
k/i
p
L
j/i
)
θ
k/L
θ
j/L
]
.
(11)
The Jacobians of each form of these measurement equations are written as
H
j/i
=
∂h
j/i
∂x
j/i
=
[
R
(
θ
i/L
)
T
0
2
×
2
0
2
×
1
0
2
×
1
0
1
×
2
0
1
×
2
1
0
]
(12)
H
i/j
=
∂h
i/j
∂x
j/i
=
R
(
θ
j/L
)
T
0
2
×
2
∂R
T
∂θ
θ
j/L
p
L
j/i
0
2
×
1
0
1
×
2
0
1
×
2
1
0
(13)
H
k/j
=
∂h
k/j
∂x
j/i
=
R
(
θ
j/L
)
T
0
2
×
2
∂R
T
∂θ
θ
j/L
(
p
L
k/i
p
L
j/i
) 0
2
×
1
0
1
×
2
0
1
×
2
1
0
(14)
H
j/k
=
∂h
j/k
∂x
j/i
=
[
R
(
θ
j/L
)
T
0
2
×
2
0
2
×
1
0
2
×
1
0
1
×
2
0
1
×
2
1
0
]
(15)
Communication and Augmented Sensing
At each communication step, each agent broadcasts all of the relative measurements that it makes
and the associated covariance matrices to its neighbors, according to the communication graph
topology
G
c
defined earlier. For each edge
(
i,j
)
∈ E
m
, the relative sensing information is defined
7
as
(
y
i/j
,V
i/j
,
(
i,j
))
, which is a collection of the measurement, covariance, and edge element of the
graph. Then, define
M
i
to be a set of a relative sensing information for all the direct measurements
i
-th agent makes. That is
M
i
=
{
(
y
i
j
,V
i/j
,
(
i,j
))
R
3
×
R
3
×
3
×E
s
|
j
∈ N
i
s
}
where subscript
s
in
N
s
denotes that it is a neighbor in the relative sensing graph
G
s
. At each communication time
step, each agent broadcasts this
M
i
to its communication neighbors.
Each agent also collects the information broadcast by its neighbors. First define the list of all of
the agents that agent
i
is aware of from direct sensing or from the sensing of agents with which it
communicates. Denote this set of agents as
̄
V
i
. This set is obtained by
̄
V
i
=
̄
N
i
m
j
∈N
c
̄
N
j
m
(16)
Next, define
̄
E
i
as a set of all the relative sensing edges collected by the
i
-th agent. That is
̄
E
i
=
{
(
m,n
)
∈E
s
|
m
̄
N
i
c
,n
∈N
m
s
}
(17)
Let
̄
G
i
denote the graph
̄
G
i
= (
̄
V
i
,
̄
E
i
)
. In general, this graph may not be connected. Let
V
i
̄
V
i
be the set of agents in the local relative sensing graph for
i
-th agent, selected based on the relative
sensing and communication topologies. One of the later subsections discusses how to select
V
i
such that all of the states are observable. Once
V
i
is given, one can compute an induced sub-graph
G
i
= (
V
i
,
E
i
)
from
̄
G
i
= (
̄
V
i
,
̄
E
i
)
. This sub-graph is defined as a local relative sensing graph. Note
that because
V
i
̄
V
i
⊆V
and
E
i
̄
V
i
⊆V
,
G
i
is a sub-graph of
G
s
.
Recall that the measurement equations are given in three forms, Equations 6, 7, and 10. These
equations describe any of the the relative measurements in the
̄
M
i
. The augmented measurement
model for the augmented measurement vector can be defined as
y
i
=
h
i
(
x
i
) +
v
i
(18)
where
h
i
stacks Equations 6, 7, and 10 for all of the edges
(
j,k
)
∈ E
i
and corresponding measure-
ment Jacobian as
H
i
=
∂h
i
(
x
i
)
∂x
i
x
i
.
(19)
Note that because all of the measurement models only depends only on one or two agent states at a
time, the Jacobian
H
i
will be sparse in the row direction when there are many agents in
V
i
.
Using the augmented measurement and the augmented state
x
i
, the dynamical system to estimate
for each agent becomes
x
+
i
=
f
i
(
x
i
) +
w
i
(20)
y
i
=
h
i
(
x
i
) +
v
i
(21)
where
f
i
:
R
nN
i
R
nN
i
and
h
:
R
nN
i
R
mM
i
. The process noise term
w
k
R
mM
has
Gaussian distribution
w
k
∼N
(0
,W
k
)
.
W
k
is a block diagonal with
W
ij
. Let
F
i
be the Jacobian of
the possibly nonlinear dynamics
F
i
=
∂f
i
∂x
i
.
(22)
Because each agent’s equations of motion are decoupled, this augmented Jacobian is a block diag-
onal collection of the Jacobians with respect to each agent’s dynamics.
8
Estimation Filter
Once the augmented state dynamics and the augmented measurement are well defined, the dy-
namical system of Equations 20 and 21 are in the standard form. A nonlinear estimation technique
of choice may be used to estimate this system. For the purposes of this paper, an EKF is used but
any general nonlinear estimator may be used. Note that
F
i
and
H
i
are standard Jacobians linearized
around the prior estimate, defined as
F
i
=
∂f
i
∂x
i
x
i
= ̄
x
i
and
H
i
=
∂h
i
∂x
i
x
i
= ̄
x
i
.
̄
x
i
=
f
i
x
i
)
(23)
̄
P
i
=
F
i
P
i
F
T
i
+
W
i
(24)
S
i
=
H
i
̄
P
i
H
T
i
+
R
i
(25)
K
i
=
̄
P
i
H
T
i
S
1
i
(26)
ˆ
x
+
i
= ̄
x
i
+
K
i
(
y
i
h
i
x
i
))
(27)
P
+
i
= (
I
K
i
H
i
)
̄
P
i
(28)
Remark.
When cycles occur in the local graph, the DPE takes advantage of the constraint from rel-
ative pose graph, and joint estimation of the relative poses improve the observability and estimation
confidence. On the other hand, if any neighbors are not part of a cycle in the local relative sensing
graph, the terms for those neighbors in Local Pose Graph EKF (Algorithm 1) can be decoupled into
a separate pose EKF for each agent
j
∈N
i
.
Observability
The DPE requires each agent to know the set of agents
S
i
to be included in the local relative
sensing graph. One natural criteria for selecting the set is whether the states of those neighbor
agents are observable to the agent. If they are not observable, they are pruned from the measurement
set. In particular, we consider that the number of communication exchanges at each time step is
limited. Suppose that one communication exchange is allowed and assume there is no memory is
used to store the measurements from the previous time histories. In this case, any agent
j
6∈
̄
V
i
is
not observable. This is straightforward as no relative measurements are functions of those agents’
states.
̄
G
i
is not connected in general. The following lemma is used to determine subset of agents
that are observable. For this lemma, we first define
ˆ
G
i
= (
̄
V
i
,
ˆ
E
i
)
as the undirected graph generated
from the directed graph, where
ˆ
E
i
=
̄
E
i
∪{
(
u,v
)
̄
V
2
i
|
(
v,u
)
̄
E
i
}
.
Lemma 1.
Select a set
V
i
such that
j
∈ V
i
if and only if there exists a path between
i
and
j
in the
undirected version of the graph
ˆ
G
i
. Then the augmented state vector
x
i
, defined as a concatenation
of
x
j/i
for all
j
∈ V
i
, is observable. Furthermore, the measurements required to observe these
states are represented as
E
i
such that
G
i
= (
V
i
,
E
i
)
is an induced graph of
̄
G
i
= (
̄
V
i
,
̄
E
i
)
.
This means that the
j
-th agent is observable to
i
-th agent, if the relative sensing graph available
to
i
-th agent is connected. Then the set of observable agents is defined as
{
j
|
j
̄
V
i
}
that are
connected to
i
-th agent on
̄
G
i
. The proof is as follows.
Proof.
Recall the augmented measurement equation
h
i
and the measurement Jacobian
H
i
are given
by Equation 18 and Equation 19. Define
O
i
= [
H
i
;
H
i
F
i
]
. which is part of an observability matrix
constructed from a linearized system. We show that
O
i
is full rank and therefore the augmented
9
states are observable.
Let
N
i
be the size of
V
i
and
M
i
be the size of
E
i
. Without a loss of generality, sort
V
i
such that
j
=
{
1
,...,d,d
+ 1
,...,N
i
}
where an edge exists to
j
j
∈{
1
,...,d
}
,
(
i,j
)
∈E
i
or
(
j,i
)
∈E
i
,
and an edge does not exist to
j
j
∈{
d
+ 1
,...,N
i
}
,
(
i,j
)
6∈E
i
and
(
j,i
)
6∈E
i
. Consider the state
x
j/i
for
j
-th agent,
j
=
{
1
,...,d
}
. For these agents, there exists a direct measurement edge
(
i,j
)
or
(
j,i
)
in
E
s
, so denote this as
m
-th measurement in
E
i
. Consider the block rows corresponding
to
m
-th measurement on
H
i
, given by either
H
j/i
(Equation 12) or
H
i/j
(Equation 13). Define
O
mj
= [
H
j/i
;
H
j/i
A
rel
]
or
O
mj
= [
H
i/j
;
H
i/j
A
rel
]
, depending on whether
y
j/i
or
y
i/j
are avail-
able. Among block rows corresponding to the measurement
m
, the only non-zero block sub-matrix
of
O
i
is
mj
the block corresponding to
x
j/i
. It is easy to see that
O
mj
has full column rank, and
hence
O
i
has independent columns for the columns corresponding to
x
j/i
. Because this is true for
arbitrary
j
=
{
1
,...,d
}
, all the first
6
d
columns are linearly independent.
Next, we show that
O
i
has independent columns for
(6
d
+ 1)
-th to
6
N
i
-th column, via induction.
For each
j
∈{
d
+ 1
,...,N
i
}
, there is a path from
i
to
j
on
ˆ
G
i
. Let
(
α,β
)
ˆ
E
s
denote an edge along
this path, where
α
is closer to
i
than
β
in the path. For the sake of induction, assume that the states
of all agents on the path from
i
to
α
are observable.
x
α/i
(i.e. columns of
O
i
corresponding to
x
α/i
)
are independent. Because
m,n
ˆ
V
i
, we know at least one measurement exists between agents
α
and
β
, which are
y
α/β
or
y
β/α
. The measurement model is of the form of Equation 10 and its
Jacobians
H
α/β
and
H
β/α
are given by Equations 14 and 15. Define
O
= [
H
α/β
;
H
α/β,α
A
rel
]
and
O
= [
H
β/α
;
H
β/α
A
rel
]
, which are sub-matrices of
O
i
corresponding to columns of
x
α,i
and
x
β,i
respectively. Whether
H
β/α
is taken from Equations 14 or 15, it is easy to see that
O
has full column rank. Now for agents
j
∈ {
d
+ 1
,...,N
i
}
, the rows of
O
i
corresponding to
m
has two non-zero block matrices
O
and
O
. By the assumption of the induction, the columns
of
O
i
corresponding to
x
α,i
are already independent. In other words, there exist another rows
corresponding to the measurement
̃
m
,
O
̃
is full rank and
O
̃
= 0
. Therefore, following matrix
has full column rank.
[
O
̃
0
O
O
]
(29)
This is a sub matrix of
O
i
. Therefore the columns corresponding to all of the agents on the path
from
i
to
β
are shown to be linearly independent. We know that the first agent in the path is
observable as it is part of
1
,...,d
agent. Therefore, by induction, we conclude that the columns of
O
i
corresponding to the states of all agents along the path, including
j
, are linearly independent.
This is true for arbitrary
j
d
+ 1
,...,N
i
, therefore this concludes that
O
i
has a full column rank.
SIMULATION RESULTS
The DPE is applied to example scenarios in simulations for formation flying spacecraft. The first
example considers four spacecraft in low Earth orbit (LEO) with a 300 km altitude, that are placed
in a passive relative orbit (PRO) as shown in Figure 3(a). Figure 3(b) shows the assumed relative
sensing and communication network graphs. The relative sensing graph is described by the directed
10
sensor adjacency matrix
A
s
=
0 1 1 0
0 0 1 1
1 0 0 1
1 1 0 0
(30)
Transnational dynamics of each agent are given by relative orbital mechanics, the HCW equa-
tions. The attitude is represented by a double integrator, defined by a constant angular rotation at
the same rate as mean motion of the absolute orbit, so that the positive
x
axis of the each spacecraft’s
body frame points towards, but not necessarily aligned to, the center of the formation. The relative
measurements are obtained as described by Equation 6. The measurement noise for the position is
assumed to have a larger uncertainty in the radial direction (same as relative position vector from
observer to target) than that in a transverse direction (perpendicular to the radial direction). The
simulation is run for 3,000 sec, which is approximately half of an orbit.
(a) PRO Trajectory
(b) Sensor and Communication Graphs
Figure 3. Example scenario considered in the simulation
As a point of comparison, we also implement a single-target EKF, denoted ST. The ST only
uses the direct measurement of one target that the observer is estimating. This is equivalent to
the best estimate obtainable when the agents are not cooperating. Each agent may run multiple
copies of the ST, one for each target that it observes. The performance of the DPE and the ST are
compared in Figures 4(a) and 4(b). In Figure 4(a), the black triangles denote the absolute poses
of all of the spacecraft. The blue and orange triangles denote the relative pose estimates made
by spacecraft 1 (bottom), which is the observer spacecraft. A position error ellipse corresponding
to each position estimate is plotted based on the position covariance. Figure 4(a) shows that the
position error covariance for the DPE is much smaller than that of the ST. Especially the uncertainty
in the transverse direction is reduced significantly. This improvement is expected, as the DPE
estimates multiple relative poses of the neighbor spacecraft and utilizes the structure of the relative
pose network over its local graph. Also, the DPE can estimate the states for all three neighboring
spacecraft, even though there are only two direct relative measurements available to spacecraft 1.
Figure 4(b) shows the estimation error of spacecraft 2 as seen by the spacecraft 1 for both the DPE
and the ST. The DPE estimation error is smaller than that of the ST for both position and rotation
consistently.
11
(a) Rel. pose estimate of DPE and ST w.r.t. spacecraft 1
(b) Estimation errors of spacecraft 2 w.r.t. spacecraft 1
Figure 4. Four spacecraft simulation results for the DPE (blue) and ST (orange), with
the covariances represented as ellipses and the estimates represented as arrows
The second example considers sixty agents in LEO, where additional spacecraft are placed on
PRO trajectories at four radii. Each agent in the outer formation ring observes one neighbor space-
craft in the same ring in clockwise direction and one closest agent in the inner ring. This relative
sensing topology is given such that it represents the camera field of view and range constraints. Each
agent communicates with one closest neighbors from inner ring, two closest neighbors from same
ring, and two closest neighbors from the outer ring. Simulation results are shown in Figures 5(a)
and 5(b). Figure 5(a) shows that the DPE can estimate the states of five of its neighbor spacecraft,
even though it directly measures the relative poses of only two of them. In Figure 5(b), the statistics
of the total estimation error of the DPE and the ST are studied. For each sensing edge in the sensing
graph
G
s
,
i
∈{
1
,...,m
}
, define the position estimation error as
δp
i
(
k
) = ˆ
p
i
(
k
)
p
i
(
k
)
(31)
where
ˆ
p
i
(
k
)
and
p
i
(
k
)
are the relative pose estimate (from either the DPE or the ST) and the true
state at time step
k
. The averaged error distance is defined as
δd
(
k
) =
1
m
m
i
=1
||
δp
i
(
k
)
||
2
.
(32)
The
δd
(
k
)
is computed for the DPE and the ST are plotted in the Figure 5(b). Figure 5(b) shows
that the position estimation error of the DPE is smaller than that of the ST on average.
EXPERIMENTAL RESULTS
The DPE algorithm is also verified in robotic experiments on-board the Caltech’s robotic space-
craft simulators, the Multi-Spacecraft Testbed for Autonomy Research (M-STAR).
5
Each spacecraft
is equipped with one monocular camera with a high field-of-view (FOV) lens and visual markers
(ArUco markers
18
) on each side of the spacecraft simulator as seen in Figure 6. Using the images
from the monocular camera on-board each spacecraft, a standard computer vision algorithm
18
com-
bined with additional bias calibration is used to detect and estimate the full pose of the markers, as
shown in Figure 7. The spacecraft pose is computed from the pose of the markers by transforming
12