Aerospace and Electronic Systems Magazine May 2017 - 18

Feature Article:

DOI. No. 10.1109/MAES.2017.160215

The Tracker Component Library: Free Routines for
Rapid Prototyping
David Frederic Crouse, Naval Research Laboratory, Washington, DC, USA

INTRODUCTION
The area of target tracking is a mature field with a great many algorithms having been developed over the years. Although this means
that algorithms exist to suit a large number of specializations, such
as radar, sonar, and image tracking, this also means that it can be
difficult to determine which algorithm is the best. Additionally, the
literature does not, for the most part, present complete algorithms
for target tracking, but rather components of tracking algorithms.
For example, measurements might be processed in various filters,
which might themselves be incorporated into a framework for handling multiple dynamic models, which might be incorporated into
a procedure for handling target measurement assignments, which
could be part of a general track initiation and termination procedure, and all of which would tie into scheduling algorithms that select waveforms and dwell times for a radar. On top of that, various
physical models are needed for handling atmospheric refraction
and other effects. Consequently, the Tracking Component Framework described here has been created as a first step to simplifying
the rapid design and evaluation of target-tracking algorithms.
The Tracking Component Framework is an open-source library
of common routines that go into target-tracking algorithms written
in MATLAB with some functions written in C and C++ with MATLAB interfaces. Most of the code is copyright free, and all copyrighted code has very permissive copyleft-free licenses. Copyleft
refers to a license forcing its terms onto all derivative works. For example, any company that incorporates code under the GNU General
Public License (GPL) into their product1 would be forced to make
all of the source code for their product available to all users of the
product. Such draconian licensing terms can drastically limit the use
of open-source software by industry. Therefore, the Tracker Component Library does not contain any code subject to copyleft clauses.
The Tracker Component Library is currently available
online at https://github.com/USNavalResearchLaboratory/
1

Version 3 of the GPL is available at http://www.gnu.org/licenses/
gpl-3.0.html.

Author's current address: Naval Research Laboratory, Attn:
Code 5344, 4555 Overlook Avenue, SW, Washington, DC
20375, USA, E-mail: (david.crouse@nrl.navy.mil).
Manuscript received October 12, 2016, revised and ready for
publication November 17, 2016.
Review handled by P. Willett.
0885/8985/17/$26.00 © 2017 IEEE
18

TrackerComponentLibrary. The library is likely to eventually
be incorporated into a larger open-source project dubbed "Stone
Soup," which is described in this article. As overviewed in this
article, the library contains basic routines for filtering, coordinate conversions, assignment algorithms, physical effects, mathematics, and more. Every function is commented, listing the
inputs, outputs, citing sources for most algorithms and sometime
offering usage examples. Additionally, a folder entitled Sample
Code demonstrates some algorithms that are either more complicated or of the most interest to the target-tracking community.
The algorithms are designed to be very modular. For example,
measurement update and track-prediction routines are separated,
allowing a square-root cubature filter measurement update step
to be combined with a square-root continuous-discrete extended
Kalman filter propagation step. Many functions solve a general
problem, allowing the specific algorithm to be changed via an
argument. For example, the RKAdaptiveOverRange function is
similar to MATLAB's ode45 function for integrating differential
equations, but a parameter allows one to choose between 32 different embedded Runge-Kutta formulae from the literature. Additionally, through the use of default parameters, when inputs are
omitted, many functions are easy to use in standard settings. For
example, if a Jacobian is not provided to the EKFUpdate function
for performing an extended Kalman filter measurement update,
then the numDiff function for numerical differentiation using its
default parameters is used. In all, the library is expected to be a
useful resource to many in the target-tracking community, and contributions to the current library and the larger future Stone Soup
tracking framework are encouraged.

A CONCERTED PUSH FOR MORE OPENNESS IN GENERAL
AND IN TRACKING
The Tracker Component Library follows a larger push to make research more open and easily reproducible by making code publicly
available. This is important, not only because reproducing algorithms from published papers can be very time consuming, but also
because papers might contain errors that are not present in the code.
In [9], [10], [14], [16], [17], [24]-[26],2 among many other sources,
it is observed that published papers in computational research gen2

Indeed, the problem of irreproducible research has become such
a popular topic that three individuals at the People's Education
Society College of Engineering in Aurangabad, India, plagiarized the conference paper [24], as documented in [15].

IEEE A&E SYSTEMS MAGAZINE

MAY 2017


https://github.com/USNavalResearchLaboratory/TrackerComponentLibrary https://github.com/USNavalResearchLaboratory/TrackerComponentLibrary http://www.gnu.org/licenses/gpl-3.0.html http://www.gnu.org/licenses/gpl-3.0.html

Table of Contents for the Digital Edition of Aerospace and Electronic Systems Magazine May 2017

No label
Aerospace and Electronic Systems Magazine May 2017 - No label
Aerospace and Electronic Systems Magazine May 2017 - Cover2
Aerospace and Electronic Systems Magazine May 2017 - 1
Aerospace and Electronic Systems Magazine May 2017 - 2
Aerospace and Electronic Systems Magazine May 2017 - 3
Aerospace and Electronic Systems Magazine May 2017 - 4
Aerospace and Electronic Systems Magazine May 2017 - 5
Aerospace and Electronic Systems Magazine May 2017 - 6
Aerospace and Electronic Systems Magazine May 2017 - 7
Aerospace and Electronic Systems Magazine May 2017 - 8
Aerospace and Electronic Systems Magazine May 2017 - 9
Aerospace and Electronic Systems Magazine May 2017 - 10
Aerospace and Electronic Systems Magazine May 2017 - 11
Aerospace and Electronic Systems Magazine May 2017 - 12
Aerospace and Electronic Systems Magazine May 2017 - 13
Aerospace and Electronic Systems Magazine May 2017 - 14
Aerospace and Electronic Systems Magazine May 2017 - 15
Aerospace and Electronic Systems Magazine May 2017 - 16
Aerospace and Electronic Systems Magazine May 2017 - 17
Aerospace and Electronic Systems Magazine May 2017 - 18
Aerospace and Electronic Systems Magazine May 2017 - 19
Aerospace and Electronic Systems Magazine May 2017 - 20
Aerospace and Electronic Systems Magazine May 2017 - 21
Aerospace and Electronic Systems Magazine May 2017 - 22
Aerospace and Electronic Systems Magazine May 2017 - 23
Aerospace and Electronic Systems Magazine May 2017 - 24
Aerospace and Electronic Systems Magazine May 2017 - 25
Aerospace and Electronic Systems Magazine May 2017 - 26
Aerospace and Electronic Systems Magazine May 2017 - 27
Aerospace and Electronic Systems Magazine May 2017 - 28
Aerospace and Electronic Systems Magazine May 2017 - 29
Aerospace and Electronic Systems Magazine May 2017 - 30
Aerospace and Electronic Systems Magazine May 2017 - 31
Aerospace and Electronic Systems Magazine May 2017 - 32
Aerospace and Electronic Systems Magazine May 2017 - 33
Aerospace and Electronic Systems Magazine May 2017 - 34
Aerospace and Electronic Systems Magazine May 2017 - 35
Aerospace and Electronic Systems Magazine May 2017 - 36
Aerospace and Electronic Systems Magazine May 2017 - 37
Aerospace and Electronic Systems Magazine May 2017 - 38
Aerospace and Electronic Systems Magazine May 2017 - 39
Aerospace and Electronic Systems Magazine May 2017 - 40
Aerospace and Electronic Systems Magazine May 2017 - 41
Aerospace and Electronic Systems Magazine May 2017 - 42
Aerospace and Electronic Systems Magazine May 2017 - 43
Aerospace and Electronic Systems Magazine May 2017 - 44
Aerospace and Electronic Systems Magazine May 2017 - 45
Aerospace and Electronic Systems Magazine May 2017 - 46
Aerospace and Electronic Systems Magazine May 2017 - 47
Aerospace and Electronic Systems Magazine May 2017 - 48
Aerospace and Electronic Systems Magazine May 2017 - 49
Aerospace and Electronic Systems Magazine May 2017 - 50
Aerospace and Electronic Systems Magazine May 2017 - 51
Aerospace and Electronic Systems Magazine May 2017 - 52
Aerospace and Electronic Systems Magazine May 2017 - 53
Aerospace and Electronic Systems Magazine May 2017 - 54
Aerospace and Electronic Systems Magazine May 2017 - 55
Aerospace and Electronic Systems Magazine May 2017 - 56
Aerospace and Electronic Systems Magazine May 2017 - 57
Aerospace and Electronic Systems Magazine May 2017 - 58
Aerospace and Electronic Systems Magazine May 2017 - 59
Aerospace and Electronic Systems Magazine May 2017 - 60
Aerospace and Electronic Systems Magazine May 2017 - 61
Aerospace and Electronic Systems Magazine May 2017 - 62
Aerospace and Electronic Systems Magazine May 2017 - 63
Aerospace and Electronic Systems Magazine May 2017 - 64
Aerospace and Electronic Systems Magazine May 2017 - Cover3
Aerospace and Electronic Systems Magazine May 2017 - Cover4
http://www.brightcopy.net/allen/aesm/34-2s
http://www.brightcopy.net/allen/aesm/34-2
http://www.brightcopy.net/allen/aesm/34-1
http://www.brightcopy.net/allen/aesm/33-12
http://www.brightcopy.net/allen/aesm/33-11
http://www.brightcopy.net/allen/aesm/33-10
http://www.brightcopy.net/allen/aesm/33-09
http://www.brightcopy.net/allen/aesm/33-8
http://www.brightcopy.net/allen/aesm/33-7
http://www.brightcopy.net/allen/aesm/33-5
http://www.brightcopy.net/allen/aesm/33-4
http://www.brightcopy.net/allen/aesm/33-3
http://www.brightcopy.net/allen/aesm/33-2
http://www.brightcopy.net/allen/aesm/33-1
http://www.brightcopy.net/allen/aesm/32-10
http://www.brightcopy.net/allen/aesm/32-12
http://www.brightcopy.net/allen/aesm/32-9
http://www.brightcopy.net/allen/aesm/32-11
http://www.brightcopy.net/allen/aesm/32-8
http://www.brightcopy.net/allen/aesm/32-7s
http://www.brightcopy.net/allen/aesm/32-7
http://www.brightcopy.net/allen/aesm/32-6
http://www.brightcopy.net/allen/aesm/32-5
http://www.brightcopy.net/allen/aesm/32-4
http://www.brightcopy.net/allen/aesm/32-3
http://www.brightcopy.net/allen/aesm/32-2
http://www.brightcopy.net/allen/aesm/32-1
http://www.brightcopy.net/allen/aesm/31-12
http://www.brightcopy.net/allen/aesm/31-11s
http://www.brightcopy.net/allen/aesm/31-11
http://www.brightcopy.net/allen/aesm/31-10
http://www.brightcopy.net/allen/aesm/31-9
http://www.brightcopy.net/allen/aesm/31-8
http://www.brightcopy.net/allen/aesm/31-7
https://www.nxtbookmedia.com