• No results found

Angle-Only Target Tracking

N/A
N/A
Protected

Academic year: 2021

Share "Angle-Only Target Tracking"

Copied!
137
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

Angle-Only Target Tracking

Examensarbete utfört i Reglerteknik vid Tekniska högskolan i Linköping

av

Tina Erlandsson

LITH-ISY-EX--07/3904--SE

Linköping 2007

Department of Electrical Engineering Linköpings tekniska högskola

Linköpings universitet Linköpings universitet

(2)
(3)

Angle-Only Target Tracking

Examensarbete utfört i Reglerteknik

vid Tekniska högskolan i Linköping

av

Tina Erlandsson

LITH-ISY-EX--07/3904--SE

Handledare: Per-Johan Norldund

isy, Linköpings universitet

Sören Molander

Saab Aerosystems

Examinator: Rickard Karlsson

isy, Linköpings universitet

(4)
(5)

Avdelning, Institution Division, Department

Division of Automatic Control Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

Datum Date 2007-02-23 Språk Language  Svenska/Swedish  Engelska/English  ⊠ Rapporttyp Report category  Licentiatavhandling  Examensarbete  C-uppsats  D-uppsats  Övrig rapport  ⊠

URL för elektronisk version http://www.control.isy.liu.se http://www.ep.liu.se/2007/3904 ISBNISRN LITH-ISY-EX--07/3904--SE Serietitel och serienummer Title of series, numbering

ISSN

Titel Title

Vinkelbaserad målföljning i en UAV Angle-Only Target Tracking

Författare Author

Tina Erlandsson

Sammanfattning Abstract

In angle-only target tracking the aim is to estimate the state of a target with use of measurement of elevation and azimuth. The state consists of relative position and velocity between the target and the platform. In this thesis the tracking platform is an Unmanned Aerial Vehicle (UAV) and the tracking system is meant to be a part of the platform’s anti-collision system. In the case where both the target and the platform travel with constant velocity the angle measurements do not provide any information of the range between the target and the plat-form. The platform has to maneuver to be able to estimate the range to the target. Two filters are implemented and tested on simulated data. The first filter is based on a Extended Kalman Filter (EKF) and is designed for tracking non-maneuvering targets. Different platform maneuvers are studied and the influence of initial errors and the geometry of the simulation scenario is investigated. The filter is able to estimate the position of the target if the platform maneuvers and the target travels with constant velocity. Maneuvering targets on the other hand can not be tracked by the filter.

The second filter is an interacting multiple model (IMM) filter, designed for tracking maneuvering targets. The filter performance is highly dependent of the geometry of the scenario. The filter has been tuned for a scenario where the target approaches the platform from the front. In this scenario the filter is able to track both maneuvering and non-maneuvering targets. If the target approaches the platform from the side on the other hand, the filter has problems with distinguish target maneuvers from measurement noise.

Nyckelord

(6)
(7)

Abstract

In angle-only target tracking the aim is to estimate the state of a target with use of measurement of elevation and azimuth. The state consists of relative position and velocity between the target and the platform. In this thesis the tracking platform is an Unmanned Aerial Vehicle (UAV) and the tracking system is meant to be a part of the platform’s anti-collision system. In the case where both the target and the platform travel with constant velocity the angle measurements do not provide any information of the range between the target and the platform. The platform has to maneuver to be able to estimate the range to the target.

Two filters are implemented and tested on simulated data. The first filter is based on a Extended Kalman Filter (EKF) and is designed for tracking non-maneuvering targets. Different platform maneuvers are studied and the influence of initial errors and the geometry of the simulation scenario is investigated. The filter is able to estimate the position of the target if the platform maneuvers and the target travels with constant velocity. Maneuvering targets on the other hand can not be tracked by the filter.

The second filter is an interacting multiple model (IMM) filter, designed for tracking maneuvering targets. The filter performance is highly dependent of the geometry of the scenario. The filter has been tuned for a scenario where the target approaches the platform from the front. In this scenario the filter is able to track both maneuvering and non-maneuvering targets. If the target approaches the platform from the side on the other hand, the filter has problems with distinguish target maneuvers from measurement noise.

(8)
(9)

Acknowledgments

I would like to thank Saab Aerosystems for an interesting thesis work. I have enjoyed studying the problem and I have learned a lot.

Special thanks to my supervisors Sören Molander and Per-Johan Nordlund for sharing your ideas with me and specially for letting me try my own. Thanks to my examinator Rickard Karlsson for many useful remarks on my report and for the advice of how to use LaTeX. My opponent Joella Lundkvist has read the report thoroughly and her questions were valuable to help me realize which parts that needed to be clarified.

Finally a great thanks to my family and friends for your love and for supporting me, even when you not understand what I am doing.

Linköping February 2007 Tina Erlandsson

(10)
(11)

Contents

1 Introduction 1 1.1 Background . . . 1 1.2 Existing Work . . . 3 1.3 Problem Formulation . . . 5 1.4 Limitations . . . 6

1.5 Outline of the Thesis . . . 6

2 Angle-Only Target Tracking 7 2.1 Observability . . . 8

2.2 Dynamic Target Models . . . 9

2.2.1 Constant Velocity Model (CV) . . . 10

2.2.2 Constant Acceleration Model (CA) . . . 10

2.2.3 Coordinated Turn Models . . . 11

2.3 Sensor Model . . . 11

2.4 Coordinate Systems . . . 12

2.4.1 Cartesian Coordinates . . . 12

2.4.2 Modified Spherical Coordinates (MSC) . . . 14

2.5 Platform Maneuvers . . . 15

2.5.1 Platform Maneuver Requirements . . . 15

2.5.2 Choice of Platform Maneuver . . . 16

3 Tracking Filters 19 3.1 Single Model Filters . . . 19

3.1.1 Kalman Filter . . . 19

3.1.2 Extended Kalman Filter . . . 21

3.1.3 MSC-EKF . . . 22

3.2 Multiple Model Filters . . . 25

3.2.1 The IMM-Filter Algorithm . . . 25

3.2.2 Choice of Subfilters . . . 29

4 Filter Performance Evaluation 31 4.1 Evaluation Simulations . . . 31

4.2 Performance Analysis . . . 32 ix

(12)

x Contents

5 Implementation 37

5.1 Implementation of the MSC-EKF . . . 37

5.1.1 Initialization of the State Vector . . . 37

5.1.2 Initialization of the Prediction Covariance Matrix ˆP . . . . 38

5.1.3 Covariances Matrices for the Process Noise, Q, and the Mea-surement Noise, R . . . 39

5.1.4 Correction of ˆP . . . 40

5.2 Implementation of the IMM Filter . . . 40

5.2.1 Models in the Subfilters . . . 40

5.2.2 Markov Transition Matrix and Initial Model Probabilities . 41 5.3 Simulations . . . 42

5.3.1 Simulation Scenarios . . . 42

5.3.2 Simulation Parameters . . . 43

6 Simulation Results - MSC-EKF 47 6.1 Choice of Initial Prediction Covariance Matrix ˆP . . . 47

6.2 Choice of Platform Maneuver . . . 51

6.2.1 S-turns and SS-turns . . . 51

6.2.2 Initial Time, ti, of the Platform Maneuver . . . 52

6.2.3 Right or Left Platform Maneuver . . . 53

6.2.4 Conclusion on Choice of Platform Maneuver . . . 55

6.3 Influence of Ω and ˙θ . . . 57

6.4 Influence of Errors in the Initial State Vector . . . 60

6.5 Target Maneuver . . . 62

6.6 Monte Carlo Simulations . . . 63

7 Simulation Results - IMM-Filter 67 7.1 Tracking Target Maneuvers . . . 67

7.1.1 Non-Maneuvering Target . . . 68

7.1.2 Maneuvering Target . . . 68

7.1.3 Target Maneuver with Time-Varying Angular Velocity . . . 72

7.2 Influence of Platform Maneuvers . . . 73

7.3 Influence of Initial Error in Range, ∆r . . . 74

7.4 Monte Carlo Simulations . . . 75

7.4.1 Scenario A . . . 75

7.4.2 Scenario B . . . 79

7.4.3 Scenario C . . . 81

8 Conclusions and Futher Work 83 8.1 Conclusions . . . 84

8.1.1 MSC-EKF . . . 84

8.1.2 IMM . . . 85

8.2 Future Work . . . 86

8.2.1 Target Tracking in a Sense and Avoid Application . . . 87

(13)

Contents xi

A Relation between Cartesian Coordinates and MSC 91

A.1 Transformations from zmscto xcar . . . . 91 A.2 Transformations from xcar to zmsc . . . . 95

B The Coordinated Turn Model in Cartesian Coordinates 98

B.0.1 Platform maneuvers . . . 98 B.0.2 Platform and Target Maneuver . . . 102

C Initialization of ˆP with the Propagation of Uncertainty Formula 103

D Simulation Scenarios 107

E RMSE Plots Showing the Influence of ∆r and ∆v 110

(14)
(15)

Notations

Variables and Parameters

α Angle describing the direction of vvvtarin azimuth β Angle describing the direction of vvvtarin elevation ∆r Error in the initial guess of range

∆v Error in the initial guess of the target’s speed e Measurement noise

ε Innovation in the Kalman Filter ϕ Azimuth angle

µj Probability that the system is in model j P Prediction covariance matrix

pj|i Transition probability from model i to model j Q Process noise covarinace matrix

r Range

rrel Relative error in range

R Measurement noise covariance matrix RM SEm Time mean of RMSE

σ Standard deviation T Sample period

ti Initial time for maneuver θ Elevation angle

u Deterministic input vvvtar Target’s velocity vector vvvUAV UAV’s velocity vector w Process noise

ωu UAV’s angular velocity ωt Target’s angular velocity

xcar State vector in Cartesian coordinates y Measurement vector

zmsc State vector in modified spherical coordinates

(16)

xiv Contents

State Vectors

xcar = ξ η ζ ˙ξ ˙η ˙ζ T zmsc= 1 r ϕ θ ˙ r r Ω ˙θ T See page 13 and page 14.

Abbreviations

CA Constant Acceleration CPA Closest Point of Approach CT Coordinated Turn

CV Constant Velocity EKF Extended Kalman Filter EO-sensor Electro-Optical Sensor IMM Interacting Multiple Model KF Kalman Filter

MSC Modified Spherical Coordinates

MSC-EKF Extended Kalman Filter using Modified Spherical Coordinates RMSE Root Mean Square Error

S&A Sense and Avoid TTG Time To Go

UAV Unmanned Aerial Vehicle

Operators

˙x Time-derivate of x xk x(tk), x at time tk ˆ x Estimate of x ˆ

xk|k−1 Estimate of x in tk given observations up to tk−1 Jf Jacobian of function f

vvv The geometric vector v AT Transpose of matrix A det(A) Determinant of matrix A v The magnitude of vector vvv

diag(α1, α2, . . . , αn) The diagonal matrix with α1, α2, . . . , αn in the main diagonal and zeros everywhere else

P r{A} Propability of event A

P r{A|B} Conditional probability of event A assuming that B has occurred

(17)

Chapter 1

Introduction

This chapter introduces the thesis work. First background and existing work in the area are presented. Thereafter the problem is formulated and the limitations of the thesis work are presented. Finally the thesis is outlined.

1.1

Background

Unmanned Aerial Vehicles (UAVs) are interesting for both military and civil appli-cations. UAVs can be built smaller and more fuel efficient than manned aircrafts. They can stay in the air for long periods of time and can fly in environments that are dangerous for humans, for instance a damaged nuclear power plant. Future applications for UAVs are surveillance of forest fires or frontiers, minesweeping, tracking ground vehicles and fast transportation of human organs between hospi-tals. Figure 1.1 shows Neuron, a UAV that Saab is developing in cooperation with an European team.

Figure 1.1. In cooperation with an European team, Saab is developing an UAV, called

Neuron, with combat capabilities.

(18)

2 Introduction

Many UAV applications require that the UAV is allowed to fly in civilian airspace. This requires that the UAV is able to detect other vehicles in airspace and to avoid collision. This is often referred to as Sense and Avoid (S&A). The S&A-system in the UAV must be at least equally reliable as a human pilot.

The UAV can be equipped with sensors to detect other vehicles, targets, in airspace. The sensors studied in this thesis are video cameras, also known as Electro Optical sensors (EO-sensors). Using image processing the direction to the target, also known as bearing, can be calculated. The direction is usually represented with the two angles, azimuth and elevation, between the target and the UAV depictured in Figure 1.2 and Figure 1.3. These angles can be used to estimate the position and velocity of the target and to calculate the collision probability. If the collision probability is high, the UAV must maneuver to avoid collision.

θ

Figure 1.2. Elevation θ is the angle between the horizontal plane and the target.

ϕ

Figure 1.3. Azimuth ϕ is the angle in the horizontal plane between the axis pointing

through the nose of the platform and the target.

The aim of this thesis work is to develop a target tracking system based on angle-only measurements. Assuming that a target has been detected the tracking system is provided with measurements of the angles between the target and the UAV. The tracking system estimates the position and velocity of the target. This information is sent to a collision avoidance system, which calculates the collision probability and, if necessary, initiates an evasive maneuver.

(19)

1.2 Existing Work 3

1.2

Existing Work

The problem of determining position and velocity of a target, with the use of mea-surements of azimuth and elevation is called angle-only target tracking, angle-only target motion analysis or as passive ranging. The name passive ranging refers to the fact that the sensors are passive sensor as opposite to active sensors. An active sensor transmits for instance light or sound and measures the time it takes for the reflection to return. A passive sensor on the other hand measures signals transmitted from the target without transmitting anything self. A passive sensor can measure the direction to the target, but not the range.

The problem of angle-only target tracking is well studied. In military applica-tions the use of passive sensors has the advantage of not revealing the position of the own platform, which has been important for instance in submarines. For UAVs the motivation of using passive sensor is that they are cheaper than active sensors, such as radar. Another reason for the why the problem is studied is because it is challenging.

"In the bearing-only problem, most of the estimation difficulties that could be expected to arise do so" 1[17]

The basics of target tracking is covered in [3]. [4] covers most asspects of tracking and devotes one chapter for the angle-only target tracking problem. [26] presents and compares different tracking methods, with one chapter about angle-only target tracking applications. [1] derives a tracking filter that is well suited for angle-only target tracking.

The absence of range measurements implies that it is troublesome to estimate range. Consider Figure 1.4. From the angle measurements, lines can be drawn

sensor y3 y2 y1 tr1 tr2

Figure 1.4. Two possible trajectories, tr1 and tr2 corresponding to the same angle

measurement. How can range be estimated with use of angle-only measurements?

(20)

4 Introduction

representing possible targets position. In the figure three angle measurements has been received and three lines are drawn, y1, y2and y3. Two possible target trajec-tories, tr1 and tr2 are also depicted. The target can either be close to the sensor and moving slow or be far away and move fast. How can the range to the target be estimate? If both the target and the UAV are traveling with constant velocity, the angle measurements do not provide any information of the range, and hence range can not be estimated. Range is said to be unobservable. To gain observabil-ity in range the UAV has to maneuver. [17] investigates the problem of finding maneuvers that will result in observability in range.

When the target travels with constant velocity, the tracking system can es-timate range if the UAV maneuvers. Assume that the range is known at some instance of time. If the target travels with constant velocity it is easy to construct a model of the target’s dynamics. The target tracking system can use the model to predict the future range. But what happens if the target maneuvers? In Figure 1.5 the system receives the same measurements as in Figure 1.4, but now the problem is how to distinguish between maneuvering targets and non-maneuvering targets. In a target tracking systems with full observability an inaccurate models of the

sensor y3 y2 y1 tr1 tr1

Figure 1.5. Two possible trajectories, tr1 and tr2 corresponding to the same angle

measurement. How can a target maneuver be detected and tracked with the use of angle-only measurement?

target’s dynamics can be compensated for with accurate measurements. In the case of unobservable range it is essential to have accurate dynamic models, since the measurements do not provide the system with information of the range. The system must rely on the model. On the other hand it is hard to design a model that describes the dynamics of both maneuvering and non-maneuvering targets. Instead it is common to use multiple models, where each model describes one pos-sible target maneuver (including no maneuver). The multiple model approach is described in for instance [3]. [25] presents algorithms for tracking maneuvering targets using angle-only measurements.

(21)

1.3 Problem Formulation 5

The tracking system is meant to supply a collision avoidance system with information of the target. The fastness of the filter is essential of two reasons. First of all, the target can not be assumed to stay in the field of vision for a long period of time. The tracking system must be able to suppress initial errors in the estimates before the target disappears from the field of vision, if the tracking system should be considered as good. Secondly, and probably most important, the collision avoidance system must be able to estimate the collision probability in such a good time that an evasive maneuver can be performed if necessary. If the collision is detected too late, the UAV will not be able to maneuver to avoid the collision. [23] describes how the collision probability can be calculated and how the UAV can maneuver to avoid to collide.

target

target target

UAV

Figure 1.6. The UAV have detected three targets. When must the position estimates

be good enough for the UAV to detect and avoid a collision?

1.3

Problem Formulation

In this thesis two tracking filters will be developed. The first filter is an Extended Kalman Filter using Modified Spherical Coordinates, denoted as a MSC-EKF. It is designed for tracking non-maneuvering targets. With this filter different plat-form maneuvers are evaluated. In literature it is common to find optimal platplat-form maneuvers. Since it is unrealistic to believe that a UAV have the maneuverability required for such maneuvers, the approach in this thesis is to evaluate platform maneuvers that a UAV can perform. The filter is also tested for different filter initializations and simulation geometries.

The second filter is an Interacting Multiple Model (IMM) filter that combines three MSC-EKFs assuming different models of the target’s dynamics. This filter is designed for tracking maneuvering targets. Instead of finding a model that describes all possible target maneuvers, the maneuver is assumed to be described as a combination of the models used in the filter. The filter is tested for different target maneuvers and simulation geometries.

(22)

6 Introduction

1.4

Limitations

A target tracking system must deal with the problem of detecting a target and cancelling the tracking when the target travels out of sight. These two problems will not be considered in this thesis work. It will be assumed that another system starts the filter when a target is detected and stops it when the target has disap-peared from the UAV’s field of vision. The image processing problem will not be addressed. Instead measurements in form of elevation and azimuth will considered as given from another system. The filter will not deal with the problem of multiple targets.

The target will be assumed to move in three dimensions, but target maneuvers will only be considered in the horizontal plane. This limitation may seem strange, but is due to the fact that the UAV’s field of vision is greater in the horizontal plane, than in the vertical plane.

1.5

Outline of the Thesis

This section outlines the thesis.

Chapter 2presents the basis of angle-only target tracking. The observability

problem is discussed. Thereafter target models and sensor models are presented togheter with the coordinate systems that are used in the thesis. Different plat-form maneuvers are discussed and the S-turn and SS-turn that will be used in the simulations are presented. Chapter 3 describes the theory behind the tracking filters. Two of the filters will be implemented and tested in the thesis. The MSC-EKF is designed for tracking non-maneuvering targets and the IMM filter that is designed for maneuvering targets.

Chapter 4discusses how the filter performance should be evaluated. Readers

who are not interested in the discussion can study the table in the end of the chap-ter, where several measures that will be used in the simulations are presented. In

Chapter 5the implementation of the two filters are described and the simulation

scenarios are presented.

Chapter 6presents the simulation results from the MSC-EKF and in

Chap-ter 7the simulation results from the IMM filter are included. Chapter 8

sum-marize the thesis and presents conclusions from the simulations. Ideas of future work are also presented.

Appendix A, B and Cpresent theory that have been omitted in the

chap-ters. They are meant to be a help for readers who want to implement there own filters. Appendix D presents the scenarios used in the simulations. In Appendix

E and Fsimulation results that have been omitted from the simulation chapters

(23)

Chapter 2

Angle-Only Target Tracking

The target tracking problem can be described as using measurement data to es-timate the state of a target. All foreign vehicles are considered as targets. The state consists primary of position and velocity of a target. It is possible to include other quantities in the state as well, such as angular velocity or class of target.

Target tracking can be performed by using sensors fixed on the ground or as in this case with sensors placed on a platform. The platform is an Unmanned Aerial Vehicle (UAV) equipped with video cameras, also known as Elecrto Optical sensors (EO-sensors). From image processing measurements of the two angles elevation θ and azimuth ϕ to the target can be obtained. Elevation is the angle between the horizontal plane and the target and azimuth is the angle in the horizontal plane measured from the axis pointing through the nose of the platform. Elevation is depicted in Figure 2.1 and azimuth in Figure 2.2. The field of vision for the UAV is limited to −110◦< ϕ < 110and −15< θ < 15.

θ

Figure 2.1. Elevation θ is the angle between the horizontal plane and the target.

In the case when both target and platform travel with constant velocity range is unobservable. This means that the measurements do not provide any informa-tion of the range between the target and the platform. To gain observability in range the platform has to maneuver.

(24)

8 Angle-Only Target Tracking

ϕ

Figure 2.2. Azimuth ϕ is the angle in the horizontal plane between the axis pointing

through the nose of the platform and the target.

This chapter starts with a discussion of the observability problem. Thereafter models of the target’s dynamics and the sensor are presented. Two different coor-dinate systems, Cartesian coorcoor-dinates and Modified Spherical Coorcoor-dinates (MSC), are described. Finally different platform maneuvers are discussed.

2.1

Observability

In [3] it is shown mathematically that in the case of both target and platform trav-eling with constant velocity range is unobservable. This can also be understood by considering Figure 2.3 where three different angular measurement has been depicted. From the angle measurement three lines y1, y2 and y3 can be drawn

sensor y3 y2 y1 tr1 tr2

Figure 2.3. Two possible trajectories, tr1 and tr2 corresponding to the same angle

measurement. When both the target and the platform travel with constant velocity the trajectories are indistinguishable, meaning that range is unobservable.

representing possible target positions. Two possible target trajectories, tr1 and tr2are also depicted. With the use of angle measurements only, these trajectories are indistinguishable. The target can either be close to the sensor and moving slow or be far away and move fast. From the measurements there is no possibility

(25)

2.2 Dynamic Target Models 9

to estimate range, meaning that range is unobservable.

The problem of unobservable range can be treated in several ways. If possible the platform can be equipped with additional sensors for instance radar which measures range. If multiple platforms are available they can cooperate and their measurements can be fused together according to a sensor fusion algorithm. An-other approach, which will be used in this thesis, is to let the platform maneuver to gain observability. In Section 2.5 the problem of choosing an appropriate platform maneuver will be addressed.

As will be seen in Section 2.4.2 the negative quotient between the range and range velocity, also known as the Time To Go (ttg), is observable under the con-dition of constant velocity and non-zero angular velocity.

ttg = −r ˙r

ttg can be interpreted as time to collision in the case when the target and UAV is traveling towards each other, where positive ttg means that the target is ap-proaching and negative ttg that the range is increasing. A third possibility would be to ignore the fact of unobservable range and focus on estimating the observable angles and ttg.

2.2

Dynamic Target Models

Since the target is moving it is not enough to only estimate the position of the target at one instance of time. It would be desirable to have a model that can predict future positions if the present position is known. Models describing the dynamics of targets are by nature continuous and are often described by differential equations. Consider a dynamic model written in the form

˙x(t) = fc(x(t), u(t), w(t))

where x(t) is the state vector containing the state of the system, for instance position and velocity, at time t. The vector notation used in this thesis is that geometric vectors are written in boldface, for instance vvv denotes the velocity vec-tor with magnitude v. Vecvec-tors that are not geometric, but neat ways to write some quantities toghter, such as the state-, noise- and measurement vectors are not boldfaced. u(t) is a known input vector to the system containing for instance information of the tracking platform’s maneuver or the present weather condition, such as wind. The function fc describes how the state vector will propagate in time. Since the model is not a perfect description of reality, process noise will arise which is described as a stochastic process w(t). Readers not familiar with the description of noise as stochastic process are encouraged to study [3] or [15] for references. The theory behind stochastic processes can be found in [7].

To implement a model in computers the model need to be discretized. How this is done is described in for instance [12]. Let tk= t0, t1, t2, ... describe the time

(26)

10 Angle-Only Target Tracking

steps in which the model is discretized. In the case of equidistant time steps tk can be written as tk = kT where T is the sample period. Let xk = x(tk) denote the state vector in time tk. The dynamic model can be expressed in discrete time as

xk+1= fd(xk, uk, wk)

The subscripts c and d indicates that the function fc in the continuous model is not identical with fd in the discrete model. In the case of a linear model the dynamic equation can be expressed as

xk+1= Axk+ Buuk+ Bwwk

where A, Bu and Bware matrices which may be time-dependent.

Since the target type is unknown beforehand it is troublesome to use sophis-ticated dynamic models. The target can be anything from a fighter aircraft to a skydiver and the equations of motion for such a target varies. One might want to only consider aircrafts but even for this restriction the problem will arise to decide the mass and momentum of inertia of the target. One possible solution would be to use some kind of classification system that identify the type of target and choose an appropriate model. This requires advanced image processing since the target must be classified when it only covers a few pixels in the video camera. The approach used in this thesis is to use general models that are applicable for all targets.

2.2.1

Constant Velocity Model (CV)

A simple dynamic model is to assume that both the target and the observing platform are traveling with constant velocity, i.e. straight-line trajectories. To simplify the model even more the platform’s velocity vector is assumed to point in the same direction as the nose of the platform. Let ppp be the position vector and vvv the velocity vector. The acceleration of the target is considered to be white noise w. The continuous model can be summerized as

˙ppp = vvv ˙vvv = w

This model is called the constant velocity (CV) model and is described in [4]. The state vector includes position and velocity.

2.2.2

Constant Acceleration Model (CA)

The constant acceleration model (CA) is similar to the constant velocity model and is also described in [4]. Instead of assuming the acceleration to be zero, the acceleration is considered to be constant, hence the time derivate of acceleration

(27)

2.3 Sensor Model 11

is considered to be white noise. The continuous model is ˙ppp = vvv

˙vvv = aaa ˙aa a = w

The state vector is extended to also include position, velocity and acceleration.

2.2.3

Coordinated Turn Models

The assumption of straight-line trajectories used in the CV-model will not hold when the target or the platform maneuver. In the coordinated turn (CT) model, presented in for instance [4], the aircraft is assumed to perform a turn with con-stant angular velocity ω. The change of the acceleration vector ˙a˙a˙a is given by the expression

˙a˙

a˙a = −ω2vvv + w

where vvv is the velocity vector and w is a white noise vector representing the process noise. The angular velocity is given by

ω = |vvv × aaa| v2

When the platform maneuvers the angular velocity ω will be known for all instances of time. This will simplify the implementation of the CT-model and the model will degenerate to the CV-model with an additive known input signal. In Appendix B the equations for the CT-model with known ω are derived.

When the target maneuvers the same model can be used if target’s angular velocity is known beforehand. If the angular velocity is unknown, the state vector can be extended to include ω. In [4] this is referred to as the horizontal turn model with velocity states and in [21] as the nearly coordinated turn model. The coordinated turn is assumed to be performed in a fixed plan, i.e. the angular velocity is considered to be a scalar. [27] derive the 3D coordinated turn called 3D constant-turn, where the angular velocity is considered to be a vector with three unknown components ωx, ωy and ωz. [4] also presents the nearly constant speed horizontal turn modelwhere both speed and angular velocity are used as states in the state vector.

2.3

Sensor Model

The video camera is able to measure the two angles elevation θ and azimuth ϕ to the target with great accuracy. When the target is close to the camera it is also possible to get measurements of the time-to-go, ttg, described above in Section 2.1. This requires that the target is big enough to cover more than only one pixel in the camera, which means that good measurements of ttg will not be available until the end of the tracking. Since ttg is observable the filter will probably have better

(28)

12 Angle-Only Target Tracking

estimates of ttg when the measurements are available and therefore this possibility will not be considered in this thesis.

The sensor can only perform measurements in discrete time, which means that the sensor model is time discrete. The relation between the measurement and the state vector is given by

yk= h (xk, ek)

where yk is the measurement vector including ϕ and θ. ek is a stochastic process describing the measurement noise caused by errors in the sensor. A common model for measurements is to assume an additive white Gaussian noise model which will simplify the implementation of the target tracking filter [21]. If the measurement relation is linear this can be written as

yk = Cxk+ ek

where C is a matrix. Since the measurements delivered by the video camera are very accurate, the noise is assumed to be small in this thesis.

2.4

Coordinate Systems

The state vector consists of the relative position and relative velocity between the target and the observing platform. Using a coordinate system fixed in the observ-ing platform gives the advantage that the trackobserv-ing system does not depend on the absolute position of the platform, i.e. the tracking system is independent of the platforms navigation system. To obtain the absolute position of the target, the position and orientation of the platform must be known.

2.4.1

Cartesian Coordinates

A common choice of coordinate system is to use Cartesian coordinates1illustrated in Figure 2.4. The ξ-axis is pointing through the nose of the observing platform, i.e. the UAV here illustrated as an airplane. The η-axis points through the left wing and the ζ-axis points through the back of the airplane. The η-axis points through the left wing and the ζ-axis points through the back of the airplane. The state vector in Cartesian coordinates is denoted xcar and is given by

xcar = ξ η ζ ˙ξ ˙η ˙ζ T = x1 x2 x3 x4 x5 x6  T

1Cartesian coordinates are commonly denoted by x, y and z. To avoid notation confusion

between the Cartesian coordinates and the state- and measurement vector the Greek letters ξ, η and ζ are used in this thesis.

(29)

2.4 Coordinate Systems 13

ξ

η ζ

Figure 2.4. Cartesian coordinates. The ξ-axis is pointing through the nose of the

airplane. The η-axis points through the left wing and the ζ-axis points through the back of the airplane.

This choice of coordinates is appealing in order to describe the dynamics of the target. Using the CV-model from Section 2.2 the equations of motions becomes

xcark+1=         1 0 0 T 0 0 0 1 0 0 T 0 0 0 1 0 0 T 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1         | {z } A xcark +         T2/2 0 0 0 T2/2 0 0 0 T2/2 T 0 0 0 T 0 0 0 T         | {z } Bw wk

The process noise in ξ- η- and ζ-direction are assumed to be independent. As can be seen the model is linear.

Also the CT-model with known angular velocity is linear. In Appendix B the equation of motion is derived for coordinated turns in the ξη-plane performed by the platform and/or the target.

Describing the measurement relation in Cartesian coordinates yields the fol-lowing expression. y =  ϕ θ  =   arctan(x2 x1) arctan  −x3 √ x2 1+x 2 2   + e

Here the extended definition of arctan(x) is used, that describes angles in all four quadrants. The observables, ϕ and θ, are coupled with the unobservable range, when the state vector is expressed in Cartesian coordinates. The measurements give some information about the states, but not enough information to fully esti-mate all states. It has been shown that this might cause an unstable behavior in tracking filters [1].

(30)

14 Angle-Only Target Tracking

2.4.2

Modified Spherical Coordinates (MSC)

An alternative to the Cartesian coordinates is to use Modified Spherical Coordi-nates (MSC). The state vector in MSC is

zmsc= 1 r ϕ θ ˙ r r Ω ˙θ T = z1 z2 z3 z4 z5 z6 T Ω = ˙ϕ cos θ

where r is the range, ϕ the azimuth angle and θ is the elevation angle according to Figure 2.5. For θ = ±90◦ the state vector in MSC is singular [13]. Since the field of vision for the tracking platform is limited to ±15◦this is not likely to cause any problems. Note that the fourth state is the negative inverse of ttg, introduced in Section 2.1.

ξ

η

ζ

r

ϕ

θ

target

Figure 2.5. Modified Spherical Coordinates (MSC). The coordinate system is assumed

to be fixed in the platform. r denotes the range to the target. ϕ is the azimuth defined as the angle between the ξ-axis and the projection of the target position in the horizontal plane. θ denotes the elevation defined as the angle between the horizontal plane and the target.

In order to distinguish the state vector in Cartesian coordinates and MSC the notation xcar is used for the state vector in Cartesian coordinates and zmscis the state vector expressed in MSC. The measurement equation in MSC is simple

y =  ϕ θ  =  0 1 0 0 0 0 0 0 1 0 0 0  zmsc+ e

(31)

2.5 Platform Maneuvers 15

The continuous equation of motion is ˙ z1= −z1z4 ˙ z2= z5 cos z3 ˙ z3= z6 (2.1) ˙ z4= z26+ z52− z42− z1(aRT − aRP) ˙ z5= z5(−2z4+ z6tan z3) − z1(aHT − aHP) ˙ z6= −2z4z6− z52tan z3+ z1(aVT − aVP)

where aRT, aHT and aVT are target acceleration in radial, horizontal and vertical

directions and aRP, aHP and aVP are the corresponding platform acceleration. See

for instance [21].

It can be seen in (2.1) that when neither the target nor the platform maneuver, the last five states are decoupled from the first. This means that theoretically all states except the first (the inverse of range) are observable. In practice however nonzero angular velocity is required to observe the fourth state, ˙r

r according to [4]. The advantage of implementing a target tracking filter in MSC is that the lack of range estimate does not degrade the estimates of the observable states in the case of no maneuver. If the target is not maneuvering an accurate range estimate is produced upon platform maneuvering. The disadvantage of using MSC is that solving and discretization of (2.1) will yield a highly nonlinear dynamic model.

2.5

Platform Maneuvers

To gain observability in range the platform can in some cases perform a maneuver. This section begins with a discussion about when platform maneuvers can be used to gain observability and requirements of platform maneuvers. Thereafter the maneuvers used in this thesis are presented.

2.5.1

Platform Maneuver Requirements

A first requirement upon a platform maneuver is that observability is gained when the maneuver is performed. [18] examines in which cases a maneuver is necessary and/or sufficient to obtain observability in passive target tracking. For the case of a target traveling with constant speed it is necessary for the platform to ma-neuver with non-zero acceleration, but this is not sufficient. The platform must have a non-zero velocity component perpendicular to the line of sight. Necessary and sufficient conditions for observability is given in [11]. If the target maneuvers the platform has to perform a maneuver with a higher non-zero time derivate. For instance, a target maneuvering with constant acceleration the platform has to maneuver with non-zero acceleration. In [17] platform maneuvers are statistically

(32)

16 Angle-Only Target Tracking

analyzed in accordance to their affect of the target tracking. The problem of find-ing a optimal maneuver is discussed for instance in [22].

To choose an appropriate platform maneuver the platform’s maneuverability has to be taken into consideration. It is also important that the mission of the platform is not prevented and that the maneuver does not lead to a collision. If the platform is supposed to travel along a given trajectory the maneuver should not differ too much from this trajectory. Finally the field of vision for the platform is limited. If the maneuver causes the target to disappear from the field of vision the tracking will worsen. Since the field is wider in azimuth it is preferable to perform the maneuver in the ξη-plane. In this thesis different platform maneuvers are evaluated, but the problem of when a platform maneuver should be performed is not addressed.

2.5.2

Choice of Platform Maneuver

Recall the Coordinated Turn (CT) model from Section 2.2.3. A CT is a good choice of platform maneuver since it has an infinite number of non-zero time derivates. This means that a platform performing a CT gains observability if the target travels with constant velocity or constant acceleration. If the target on the other hand performs a CT, it is not possible to gain observability in range. By combining two coordinated turns of the same length but with opposite signs of the angular velocity ω a so called S-turn is performed, which can be seen in Figure 2.6.

After performing an S-turn the platform has the same course as before the maneuver but the position in η has changed. To achieve the same position in η two S-turns can be combined into a SS-turn, which is shown in Figure 2.7.

The SS-turn might give better filter performance since the maneuver time is doubled, but the maneuver might be confusing for the target and other platforms in the aerospace. If the target also is equipped with a collsion avoidance system, it is likely to tracking the platform as well. Both S-turns and SS-turns will be evaluated in this thesis.

(33)

2.5 Platform Maneuvers 17 ξ η CV CT neg CTpos CV

Figure 2.6. The platform is performing an S-turn. An S-turn consists of a coordinated

turn with negative angular velocity (CTneg) followed by a coordinated turn with

posi-tive angular velocity (CTpos). Before and after the maneuver the platform travels with

constant velocity (CV ).

0

ξ

η

(34)
(35)

Chapter 3

Tracking Filters

In target tracking the aim is to estimate the target’s state vector from measure-ments. This chapter starts with single model filters. These filters are well suited for tracking non-maneuvering targets. For maneuvering target multiple model fil-ters are often used, which are presented in the end of the chapter. Readers who are not familiar with the estimation filters are encouraged to study the block diagrams and the text, but skip the algorithms.

3.1

Single Model Filters

There are a number of filters that can be used for target tracking. In this section the Kalman Filter (KF) will be presented, which is a commonly used filter. There-after the Extended Kalman Filter (EKF) which is suited for nonlinear systems will be described. Finally an extended Kalman filter using modified spherical coordi-nates, here denoted as MSC-EKF, will be discussed. The MSC-EKF has been implemented and the simulation results can be found in Chapter 6. All thess fil-ters uses one model to describe the dynamics of the system, which means that they are suited for tracking non-maneuvering targets.

3.1.1

Kalman Filter

The system can be described by a dynamic model of the target and the relations between the measurement and the state of the target. Combining a target model and a sensor model from Chapter 2 the system can be described as

xk+1= f (xk, uk, wk) (3.1) yk= h (xk, ek)

where x is the state vector, u the input signal and y the measurement vector. w and e represent the process noise and measurement noise respectively.

(36)

20 Tracking Filters

For a linear model with additive noise the system can be rewritten as

xk+1= Axk+ Buuk+ Bwwk (3.2) yk = Cxk+ ek

where A, Bu, Bw and C are matrices, possibly depending on time, but indepen-dent of the state vector x.

Assume that the noise realizations are Gaussian with expectation value zero and independent with covariance matrices Cov(wk) = Qkand Cov(ek) = Rk. Un-der these assumptions it can be shown that the optimal solution to the problem of estimating the state vector x based on the observations y is given by the Kalman filter.

Let ˆxk|k be the estimate of the state vector for time tk given the measurement up to time tk, y0, y1. . . , yk. In the same manner ˆxk|k−1 denotes the estimate of the state vector in time tk based on measurement up to time tk−1. Let ˆP be the estimate of the prediction covariance matrix for the state vector. ˆP representes the uncertainty in the estimated state vector. Figure 3.1 shows a block diagram of the Kalman filter for one time step.

Update Measurement Update Time ˆ xk−1|k−1 xˆ k|k−1 xˆk|k yk

Figure 3.1. Block diagram for the Kalman filter.

In the block called Time Update the model is used to predict the state vector in the next time step and ˆP is updated.When a new measurement is performed it is compared to the state vector in the block called Measurement Update. The estimate of the state vector and the prediction covariance matrix is corrected. The new estimate is fed back to the block Time Update in the next time step. In Al-gorithm 1 the alAl-gorithm of the Kalman filter is given.

ˆ

P does not depend on the measurements y meaning that it will not give any information of how well the estimates fits the measurements. Instead ˆP gives a theoretical value of how well the filter performs if the assumptions of Gaussian noise are valid. The parameter K, known as the Kalman gain, decides how much the innovation εk= yk− C ˆxk|k−1 should be regarded. Large values in ˆP meaning

(37)

3.1 Single Model Filters 21

Algorithm 1Kalman Filter

1. Time Update

Predict the state vector and the prediction covariance matrix for the next time step ˆ xk+1|k= Aˆxk+ uk ˆ Pk+1|k= A ˆPk|kAT+ Qk 2. Measurement Update

Correct the predicted state vector and prediction covariance matrix accord-ing to the measurement

εk = yk− C ˆxk|k−1 ˆ xk|k = ˆxk|k−1+ Kεk ˆ Pk|k = ˆPk|k−1− KC ˆPk|k−1 K = ˆPk|k−1CTS−1 S = C ˆPk|k−1CT + Rk

the uncertainty in the estimate result in large values of K and the measurement will have a great impact on the correction of the estimate. This will give a fast filter that considers the measurements to be reliable. Small values in ˆP and K on the other hand results in a slower filter that is more robust against measure-ment noise. ˆP depends on its initiatialization and of the values in the covariance matrices Q and R. The designer of the filter has to balance the robustness to mea-surement noise against the fastness of the filter by choosing appropriate values of the Q and R.

The Kalman filter is the optimal solution under the assumptions of Gaussian noise. In real applications the assumption of Gaussian noise might not be valid. However assuming that the specified covariance matrices, Q, R and the initial-ization of ˆP reflects the true second order moments the Kalman filter is the best linear filter [14]. A more detailed description of the Kalman Filter can be found in for instance [14] ,[15] or [3].

3.1.2

Extended Kalman Filter

In the case of a non-linear model or measurement equation as in (3.1) an Extended Kalman Filter (EKF) can be used. The idea is to linearize the system and apply a Kalman filter. Unlike the Kalman filter EKF is not an optimal filter, but a based on

(38)

22 Tracking Filters

the optimal Kalman filter. It is therefore sometimes referred to as a suboptimal filter. The implemention can be done in several ways, for instance discretized-linearization, which first linearize the non-linear continuous system and thereafter discretize the system. A derivation of the discretized-linearized EKF can be found in [21]. The equations are presented in Algorithm 2. Compare Algorithm 2 for EKF with Algorithm 1 for the KF. The main difference is that the matrices A and C have been replaced with the Jacobians of the functions f and h in the update of ˆP .

Algorithm 2Extended Kalman Filter

1. Time Update

Predict the state vector and the prediction covariance matrix for the next time step ˆ xk+1|k= f (ˆxk, uk) ˆ Pk+1|k= JfPˆk|kJfT + Qk 2. Measurement Update

Correct the predicted state vector and prediction covariance matrix accord-ing to the measurement

εk= yk− h(ˆxk|k−1) ˆ xk|k = ˆxk|k−1+ Kεk ˆ Pk|k = ˆPk|k−1− KJhPˆk|k−1 K = ˆPk|k−1JhTS−1 S = JhPˆk|k−1JhT + Rk

Jf and Jh are the Jacobians of the functions f and h respectivly.

3.1.3

MSC-EKF

Recall the discussion from Section 2.4, describing the state vector in Cartesian coordinates has the advantage of linear equations of motion. The disadvantage on the other hand is the coupling between observable and unobservable states, which likely will degrade the performance of the tracking filter. Describing the state vector in MSC on the other hand solves the problem of decoupling the unobserv-able state, the inverse range, from the observunobserv-able states to the cost of nonlinear equations of motion.

The MSC-EKF is a variant of the EKF developed to use the linear equations of motion in Cartesian coordinates without letting the coupling between observable

(39)

3.1 Single Model Filters 23

and unobservable states degrade the filter. It is presented in [1] for two dimensions and in [2] [4] for three dimensions. Readers familiar with the EKF may realize that there is no difference between the MSC-EKF and an EKF filter that expresses the state vector in MSC. The reason to present it as a separate filter in this thesis is that this approach simplifies the implementation and is also easier to understand for readers unfamiliar with the EKF.

The idea behind the MSC-EKF is to use Cartesian coordinates in the time update but use MSC in the measurement update. In this way both the equations of motion and the measurement equation become linear. Let xcar be the state vector in Cartesian coordinates and zmsc the state vector in MSC. Consider the system (3.3).

xcark+1= Axcark + uk+ wk

yk= Czkmsc+ ek (3.3) xcar = fX(zmsc)

zmsc= fZ(xcar)

The first equation describes the dynamics of the system in Cartesian coordinates and the second equation gives the relation between the measurements and the state vector in MSC. fX and fZ are functions that transform the state vector between Cartesian coordinates and MSC. The explicit expressions for fX andfZ as well as their Jacobians can be found in Appendix A.

Update Measurement Update Time ˆ xk−1|k−1 ˆzk−1|k−1 xˆk|k−1 zˆk|k−1 zˆk|k yk MSC MSC CAR CAR to to

Figure 3.2. Block diagram for an extended Kalman filter using modified spherical

coordinates (MSC-EKF).

Figure 3.2 shows a block diagram over the filter. In the blocks Time update and Measurement update the time update and measurement update are performed in the same way as in the Kalman filter. The tasks for the blocks MSC to Car is to transform the state vector from MSC to Cartesian coordinates while the block Car to MSC do the opposite transformation. The algorithm for the MSC-EKF is given in Algorithm 3 where the superscripts car and msc has been suppressed. The prediction covariance matrix P and the measurement noise covariance matrix R are described in MSC and the process noise covariance matrix Q is expressed in Cartesian coordinates.

(40)

24 Tracking Filters

Algorithm 3MSC-EKF

1. Transform the state vector to Cartesian coordinates ˆ xk−1|k−1 = fX(ˆzk−1|k−1) 2. Time Update ˆ xk|k−1= Aˆxk−1|k−1+ uk ˆ Pk|k−1= Φk|k−1k−1|k−1ΦTk|k−1+ Qmsck−1 Φ is given by the chain rule for derivates

Φk|k−1= ∂zk ∂zk−1 ˆ z = ∂zk ∂xk ∂xk ∂xk−1 ∂xk−1 ∂zk−1 = Jf Z(ˆxk)AJf X(ˆzk−1)

Jf Z and Jf X are the Jacobian for the transformation function fZ and fX respectivly evaluated in different time steps.

Qmsck−1= Jf Z(ˆxk|k)Qk−1Jf Z(ˆxk|k)T where Qk−1is expressed in Cartesian coordinates. 3. Transform the state vector to MSC

ˆ zk|k−1= fZ(ˆxk|k−1) 4. Measurement Update εk= yk− C ˆzk|k−1 ˆ zk|k= ˆzk|k−1+ Kεk ˆ Pk|k= ˆPk|k−1− KC ˆPk|k−1 K = ˆPk|k−1CTS−1 S = C ˆPk|k−1CT + Rk

(41)

3.2 Multiple Model Filters 25

3.2

Multiple Model Filters

The filters presented in the previous section are based on a single model that de-scribes the system in all instances of time. For maneuvering targets it is difficult to construct models that describe all possible maneuvers. Since targets often travel approximately along a straight line, it is important that the filter can handle this case, without getting unstable for maneuvering targets. The idea behind multiple model is to use multiple filters running parallel, where each filter uses a model describing one possible maneuver. The outputs from the filters are then combined to get an estimate.

Assume that the system in every time step obeys one of a finite number of models and that the switching between models can be described as a Markov process. In a Markov process the probability for the system to switch to another model (or stay in the same) at any instance of time depends only of which model the system obeyes.

“The future is independent of the past if the present is known”[3] Markov processes are described in [7].

In [3] the optimal solution to this problem is presented. Since this solution requires an exponentially increasing number of filters two suboptimal techniques are also presented, the Generalized Pseudo-Bayesian (GPB) filter and the Inter-acting Multiple Model (IMM) filter. IMM is conceptually similar to the second order of GPB, but requires fewer filters to run in parallel. This section presents the algorithm of the IMM filter. Thereafter the problem of choosing appropriate models is addressed. Readers who are not interested in the details are encouraged to study the block diagram to get a general idea of IMM and then read the section about choosing models.

3.2.1

The IMM-Filter Algorithm

In this section the algorithm for the Interacting Multiple Model (IMM) will be presented following [16] and [4], but alternative presentations can be found in [9], [21] and [26]. The idea behind IMM is to have multiple filters, here denoted as subfilters, running in parallel, one for every model mj= m1, m2· · · mN. Figure 3.3 shows a block diagram of IMM. For simplicity only two subfilters are illustrated. In IMM four different probability variables are used to calculate which model the system obeys. They are summerized in Table 3.2.1. Let mjkdenotes the event that the system obeys model mj for time k. The probability that the system changes from model i to model j, pj|i= P r{mj

k|mik−1}, is a priori probability and is con-sidered as a design parameter.

(42)

26 Tracking Filters

Table 3.1. The Probability variables that are used in the IMM algorithm

µjk P r{m j

k} Probability that the system is in model j at time step k. Based on measurements up to yk

Ckj P r{mjk+1} Probability that the system is in model j at time step k +1. Based on measurements up to yk

pj|i P r{mj

k+1|mik} A priori probability that the system will make the transition from model i to model j.

µi|jk P r{mi k|m

j

k+1} Conditional probability that the system was in model i at time k given that it is in model j at time k + 1. Based on measurements up to yk

Filter

1

Filter

Mixing

Merging

2

Probability

λ1 λ2 ˆ x1 k−1|k−1 xˆ2k−1|k−1 ˆ x01 k−1|k−1 ˆx02k−1|k−1 ˆ x1 k|k ˆx 2 k|k ˆ xk|k µ C

(43)

3.2 Multiple Model Filters 27

In the blocks called Filter 1 and Filter 2 each subfilter produces a new esti-mate of the state vector xjk|k according to the model the subfilter is using. The likelihood of the model λj

k is also calculated. λ j

k is used in the block Probability Updatewhere the probability variables are updated. In the block Merging all ˆxjk|k are combined (merged). The estimates from the subfilters xjk|k are weighted by their probabilities µjk to the total estimated state vector ˆxk|k.

In the block called Mixing the model interacts to produce the inputs for Filter j, called ˆx0jk−1|k−1. Assume that the system is in model j at time k. Since it is unknown in which model the system where at time k − 1 the estimates for the previous time step are weighted together according to

ˆ

x0jk−1|k−1=X i

µi|jk−1ˆxi k−1|k−1

µi|j is given by Bayes’ theorem

µi|jk−1= P r{mik−1|m j k} = P r{mjk|mik−1}P r{mik−1} P r{mjk} = p j|iµi k−1 Ck−1j The total IMM algorithm is given in Algorithm 4.

(44)

28 Tracking Filters

Algorithm 4Interacting Multiple Model

1. Mixing Calculate the mixed initial state vectors and covariance matrices. ˆ xj0k−1|k−1 =X i µi|jk−1xˆik−1|k−1 ˆ Pk−1|k−1j0 =X i µi|jk−1Pˆk−1|k−1i + DPk−1ij  DPk−1ij =xˆik−1|k−1− ˆxk−1|k−1j0  xˆik−1|k−1− ˆxj0k−1|k−1T

2. Filtering For all subfilters j perform the time update and measurement update according to the algorithm of the subfilter. This yields ˆxjk|k and ˆPk|kj .

3. Mode Matching Determine the likelihood λjk for the observation given model j. d2k= εkSk−1εTk λk= exp(−d 2 k/2) (2π)M/2p|det(S k)|

where the model superscript j has been suppressed. ε and S is calculated in the measurement update in the filter and M is the dimension of the mea-surement vector.

4. Propability Update Update the probability variables µj, µi|j and Cj.

µjk =λ j kC j k−1 ¯ C Ckj =X i pj|iµi k µi|jk =µ i kpj|i Ckj where ¯C =PjλjkCk−1j .

5. Estimate and Covariance Combination Calculate the output of the filter. ˆ xk|k =X j µjkxˆjk|k ˆ Pk|k =X j µjkPˆk|kj + δPj δPj = (ˆxjk|k− ˆxk|k)(ˆxjk|k− ˆxk|k)T

(45)

3.2 Multiple Model Filters 29

3.2.2

Choice of Subfilters

The IMM algorithm presented in the previous section describes how the subfilters should interact, but nothing has been said about the nature of these subfilters. This section addresses the problem of choosing appropriate subfilters.

The subfilter types used in IMM depends on which models that are used. For linear models Kalman filters can be used and for non-linear models EKF can be used, presented in the previous chapter. It is not necessary to use the same filter type in all filter, for instance a KF with a CV-model can be combined with an EKF with a maneuvering model.

The models can differ in structure, state vectors or process noise. For models with different state vectors the mixing part of the filter has to be modified slightly. This is described in [16] for the general case and in the references below for the models used there.

A simple approach is to use the same model in all filters and only vary the process noise. The subfilter with small process noise handles the non-maneuvering targets. This subfilter will be robust to measurement noise. Maneuvering targets are handled by subfilters with higher process noise. These models will be fast, but have to rely on the measurement data to be accurate.

Recall Chapter 2 where different target models where presented. One choice of subfilters is to extend the state vector for the maneuvering filters, i.e combine a constant velocity model with a constant acceleration model as in [25] or a mean jerk model described in [6] where the acceleration is assumed to be time correlated. This gives simple and general models and a straight forward implementation. [5] combines a CV-model and a CA-model where the CV-model is implemented using a MSC-EKF.

More complex filter uses a CV-model to track non-maneuvering targets, one or more turning models for maneuvering targets and possible one model that reflects the transition between maneuver and straight line. In Section 2.2.3 the coordi-nated turn was presented where the target was assumed to turn with a constant and known angular velocity. Two models with unknown angular velocity were also presented. Since the angular velocity of the target ωt is usually unknown, first consider the case where ωt is consider to be a state in the state vector. This is studied in [3] for targets maneuvering in the horizontal plane and in [27] for tar-gets maneuverin in 3D. The models are highly non-linear meaning that suboptimal filters must be used, for instance EKF. Consider a target traveling according to a straight line for some time and then performs a coordinated turn. During the non-maneuvering period the non-maneuvering filters are estimating the angular velocity, which will be small. When the target starts to maneuver the maneuvering filters have large errors in their estimates of the angular velocity. If the maneuvering time is small a slow filter might not estimate the correct angular velocity until the

(46)

30 Tracking Filters

end of the maneuver. In [3] this problem is solved by feeding the filter with an assumed angular velocity during the non-maneuvering part.

Now consider the coordinated turn with known angular velocity. The advantage of using this model is that it is linear in Cartesian coordinates. A very common approach for IMM is to find models that reflects the system for every instance of time, i.e. the system is assumed to be described of only one of the models. According to this approach ωt must be known or at least there must be a good guess of ωtavailable to use the CT-model. An alternative approach is to consider the system to be in a mixture of the models. For example a turn with small angular velocity can be seen as a mixture of a turn with large angular velocity and a straight line. Since the models interacts in the mixing part of the IMM and the estimate is merged from the estimates from the subfilters IMM is well suited for this approach. By choosing a large value of the angular velocity used in the model, ωmaxall turns with smaller ωtcan be seen as combinations of a CT-model with ωmax and a CV-model. In [10] an IMM with a CV-model and a CT-model with unknown angular velocity is compared to an IMM with a CV-model and two CT-models with known angular velocities (positive and negative). The CT-model with unknown angular velocity has higher complexity than the CT-models with known angular velocity, but the gain is that fewer filters are needed.

(47)

Chapter 4

Filter Performance

Evaluation

This chapter discuss how the filter performance can be evaluated. The first section discuss which simulations that should be performed and the second section discuss how these simulations can be evaluated. Readers who are not interested in these discussion are recommended to only study Table 4.2 where the parameters that are used in the rest of the thesis are summarized.

4.1

Evaluation Simulations

The performance of a tracking filter depends on a number of things, for instance the trajectories of the target and the platform, the initialization of the filter and process- and measurement noise. In angle-only target tarcking the accuracy of the estimates highly depends on the geometry of the scenario studied, according to [17]. To test the filter for all possible trajectories and filter initializations requires a huge number of simulations. Even if it was possible to simulate all scenarios, the result would be too large to survey. The alternative, to test the filter for only a few scenarios, raises the question of how to choose appropriate scenarios. One risk is that the filter shows to good performance in the simulations, but in practical use the filter performance is worse than expected, since the simulation scenarios differs too much from reality. Also the opposite risk must be considered, that a filter design is rejected since it performs bad in the simulations, but the simulation scenarios have low probability to occur in reality. If knowledge of com-mon scenarios is available these scenarios can be used in the simulations. An even better approach is to test the filter for scenarios where the filter performance is most critical. If the filter performs well in critical situations, a worse performance can probably be accepted during other scenarios. On the other hand filters that performs bad in critical scenarios can be rejected without more tests.

(48)

32 Filter Performance Evaluation

When knowledge about common scenarios is not available Monte Carlo simu-lations is a common method to evaluate filters. The idea is to consider all inputs to the filter as stochastic variables with known distributions. During a number of simulations inputs generated from these distributions are used. When the num-ber of simulation is large the performance of the filter is assumed to reflect the true behavior of the filter. The filter can be evaluated by Monte Carlo Simula-tions over different scenarios and the mean estimation error can be studied over a large number of simulations. This could be used as a measure of how well the filter performs in general. More about Monte Carlo simulations can be read in [24]. However this is not a solution to the problem discussed above. Without good information about the distributions there is a risk that scenarios with low prob-ability are considered too much, which can both result in an overestimate or an underestimate of the filter performance. For a collision avoidance system the per-formance of the filter in a scenario with high collision probability is more interesting than scenarios with low collision probability. The collision probability for a given scenario can be calculated, but to find all scenarios with high collision probability is hard.

Another drawback for Monte Carlo simulations is that the result might be hard to survey and to draw correct conclusions from. Information about how one parameter influence the performance of the filter is hard to find in Monte Carlo simulation where all parameters vary. This information is easier to obtain if the interesting parameter is varied in a deterministic way and all other parameters are held constant.

In the simulations presented in this thesis process- and measurement noise is simulated as Gaussian. To study the influence of a parameter it will be varied in a deterministic way and all other parameters are held constant. A number of simulations are performed and the mean value of the estimation error is studied. Thereafter Monte Carlo simulations are performed for four different combinations of target initial position and velocity where the errors in the initialization of the filter are simulated as Gaussian distributed. For the IMM filter the target maneu-ver is also simulated as Gaussian distributed. This will give an indication of the filter performance in general.

4.2

Performance Analysis

When the filter has been simulated on a number of scenarios, the next question is how to evaluate the performance. Measure that tells whether the filter per-formance is acceptable or not are needed. This section presents the perper-formance measures that will be used in this thesis. They are summarized in Table 4.2. Thereafter the question of how they should be used is discussed.

References

Related documents

One possible explanation for the short detection time of P-NG is that the mean of narrow Gaussian distribution lies at (0.5, 0.4) with a small deviation σ = 0.01, which means the

För det tredje har det påståtts, att den syftar till att göra kritik till »vetenskap», ett angrepp som förefaller helt motsägas av den fjärde invändningen,

Samtidigt som man redan idag skickar mindre försändelser direkt till kund skulle även denna verksamhet kunna behållas för att täcka in leveranser som

The results showed that the teacher’s choice of language in the classroom had an impact on the students since more teacher target language use encouraged more student target language

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

I dag uppgår denna del av befolkningen till knappt 4 200 personer och år 2030 beräknas det finnas drygt 4 800 personer i Gällivare kommun som är 65 år eller äldre i

Detta projekt utvecklar policymixen för strategin Smart industri (Näringsdepartementet, 2016a). En av anledningarna till en stark avgränsning är att analysen bygger på djupa