52
Automatic Design of Navigation Systems – A Dream or Near-term Future Zeev Berman [email protected] http://www.bermanconsult.com ETH, Zurich , June 2015

Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

  • Upload
    phamdan

  • View
    231

  • Download
    9

Embed Size (px)

Citation preview

Page 1: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Automatic Design of Navigation Systems –

A Dream or Near-term Future

Zeev Berman

[email protected]

http://www.bermanconsult.com

ETH, Zurich , June 2015

Page 2: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Design of Navigation Systems

How to select the architecture for Kalman filter (measurement model and state

selection) and select the proper parameters (tuning process ) for Kalman filter ?

Real time implementation Testing

Page 3: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Automatic Design

Automatic design: How the designer can get easily (by pushing a button) the proper design? Customer adapted system Self- design : how the customer can get design adapted for its application and requirement ?

Page 4: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Lecture overview

Introduction #1 Kalman filter

Introduction #2 Classical systematic methodology for Kalman filter design

Improved procedure for Kalman filter design

Implementation and testing to support flexible design

Customer-level adaptation

Summary and discussion

Page 5: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Introduction #1 – Kalman filter

Rudolf (Rudy) Emil Kalman , born in 1932 in Hungary, educated in USA, published in 1960, “A New Approach to Linear Filtering and Prediction Problems” - provided efficient, recursive solution for linear, Gaussian optimal estimation problem. Starting in 1973, he also held the chair of Mathematical System Theory at the Swiss Federal Institute of Technology in Zürich, Switzerland.

Define dynamics (propagation) equations for state vector Define measurement equation Set some statistics parameters

Get procedure for optimal state vector estimations

Page 6: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

6

Kalman filter assumptions

State vector propagation equation

The process noise should be zero mean, white (uncorrelated with respect to time) with known variance

( 1) ( ) ( ) ( )x k A k x k w k

( )w k( )Q k

Information about the system is conveyed in measurement equation which is modeled as follows:

( ) ( ) ( ) ( )z k H k x k v k

The measurement noise should be zero mean, white (uncorrelated with respect to time) with known variance

( )v k

( )R k

The process noise and measurement noise are uncorrelated (independent) processes.

Page 7: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

7

The recursive process to update state vector estimation

Problem solved by Rudolf Kalman

ˆ ˆ ˆ( ) ( ) ( ) ( ) ( ) ( )x k x k K k z k H k x k

1( ) ( ) ( ) ( ) ( ) ( ) ( )TK k P k H k H k P k H k R k

With

Is the optimal estimator with respect to minimal quadratic estimation error criteria.

• P(k)- The covariance of the estimation error • P(0) – initial value for covariance of state error is required

Page 8: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

8

Summary of Introduction #1 – Kalman filter

The “deal” proposed by Rudolf Kalman is as follows: Provide the system model : Fulfill some orthogonality properties of process and measurement noise You will get optimal estimator for your state vector

0 , ( ), ( ), ( ), ( )P A k Q k H k R k

Bad news; no deal !!! We do not know the system model , if we know it, it is too complicated for Kalman filter implementation

Page 9: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

9

Introduction #2 – Why it works so well ?

Since 1960’s, Kalman filter is widely used in many applications: navigation, radar, communication etc.

Rudolf Kalman has received the 2008 National Medal of Science, the highest honor the United States gives for scientific achievement.

Page 10: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

10

Introduction #2 – The first application

Stanley F. Schmidt , chief of Dynamic Analysis Branch at NASA (Mountain View), led the first implementation of Kalman filter for on board trajectory estimation in Apollo 11 Moon landing mission.

Reasons for selection: • Low computational complexity

(implementation was on 15 bits fixed point arithmetic's, 4Kb memory). Recursive estimation scheme designed for time variant systems.

• Satisfactory performance, achieved due to robustness with respect to modelling errors.

Page 11: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

11

Model (true) with state vector

Initial Conditions

Random disturbance

Random noise

Known: measurement value

Assume: system model, statistics for initial conditions, random disturbances, and random noise

Use Kalman filter equations, to provide “good” approximation for state vector

Introduction #2 – Engineering estimation problem

Measurement

Page 12: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

12

Introduction #2 – One model approach

Assume model for Kalman filter , implement the underlying Kalman filter, test real-life system.

After spending some time improving the system, decide that the system operates properly

Problem : we do not know what kind of performance to expect from the system, namely we do not know if the system works properly .

Page 13: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

13

Model (true) with state vector

Initial Conditions

Random disturbance

Random noise

Known: measurement value

Assume: system model, statistics for initial conditions, random disturbances, and random noise

Use Kalman filter equations, provide “good” approximation for state vector

Introduction #2 – Engineering estimation problem

Measurement

Page 14: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

14

Introduction #2 two models approach

Assume a model for the system (complete, truth) error model, assume model for Kalman filter, analyze performance, implement , test.

The expected performance is known before real-life test, so the decision about accepting the system or updating the error model the is based on engineering analysis

Page 15: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Introduction - Systematic Design Procedure

15

(1) Develop a “truth” model (2) Generate the Kalman filter based upon the “truth” model as a

“benchmark” for performance. (3) Propose simplified, reduced order system by removing and

combining states. (4) Conduct a covariance performance analysis of each proposed

Kalman filter being driven by measurements derived from the truth model, “tune” each filter.

(5) Conduct a performance/computer loading tradeoff analysis and select a design.

(6) Implement the chosen design on the online computer (7) Perform checkout, final tuning, and operational test of the filter

Peter S. Maybeck, Stochastic models, estimation and control, Academic Press 1979.

Page 16: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Introduction - Systematic Design Procedure

16

(1) Develop a “truth” model (2) Generate the Kalman filter based upon the “truth” model as a

“benchmark” for performance. (3) Propose simplified, reduced order system by removing and

combining states. (4) Conduct a covariance performance analysis of each proposed

Kalman filter being driven by measurements derived from the truth model, “tune” each filter.

(5) Conduct a performance/computer loading tradeoff analysis and select a design.

(6) Implement the chosen design on the online computer (7) Perform checkout, final tuning, and operational test of the filter

Peter S. Maybeck, Stochastic models, estimation and control, Academic Press 1979.

Page 17: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

17

Introduction #2 – Systemic design procedure

Large, well known navigation systems producers know and apply this procedure, or its modification. Navigation system development cycle used to take many months or even years.

Many developers abandoned this systematic design procedure because of its complexity and work effort required.

In the past, the space for reduced order KF design was very limited due to computer complexity constraints.

Page 18: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Part 1 : Improved procedure for Kalman filter

design

18

Expert monitored process , with partial automation, already implemented, with very

short navigation system design cycle.

Page 19: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Personal point of view

The scope and quantity of navigation systems is growing rapidly, mainly

because of two reasons:

o Low cost of sensors (MEM`S IMU, camera, GPS and other RF devices,

lasers, etc.)

o Low cost of computer resources

Page 20: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Design options

• IMU – constant drift and constant bias are well accepted, what about

drift instability, bias instability, scale factor, non-orthogonality,

vibration and acoustic noise bias shifts

• GPS – position and velocity error – white or white + Markov

• Camera data – boresight, calibration errors

• Time synchronization error

Page 21: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Design tasks

• Select IMU and other sensors for a required performance

• Computer complexity trade-off: measurement size and rate versus state

vector size.

• State vector size – the full model has 40-60 states, the reasonable

(today) Kalman filter may have 15-30 states. What kind of states to

include in the reduced order Kalman filter : instability, scale factor,

Markov components for GPS, boresight for camera , etc

Page 22: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

True Covariance Analysis

TCA Truth Covariance Analysis

Estimation error covariance

Systems models (truth and filter)

,t fm mS S

1

0 0 1, ( ), ( ) ( ), ( )

K K

m k kS P A k Q k H k R k

22

Page 23: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

23

Set preliminary truth model, Analyze the best achievable

performance.

Design reduced order KF with minor degradation with respect to the best achievable performance. Solve two problems: state vector selection and tuning.

Predict the expected performance, test , analyze actual performance , update error model (if requested)

Striving for performance

Striving for quality:

The truth model is validated by

tests

The Proposed Design Procedure

Page 24: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

The Proposed design framework

24

Error budget Sensitivity Study Needed for better analyzing the truth model.

KF design with different tuning policy: no additional, optimal , sub-optimal

Carried out by inputs manipulations, automated easily.

Instead of “blind” search for the best tuning , we use the truth model to reduce the search procedure

Candidate KF design Carried out by inputs manipulations, automated easily.

Page 25: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

System model parameterization

TCA Truth Covariance analysis

Estimation error covariance

Systems models (truth and filter)

,t fm mS S

1

0 0 1, ( ), ( ) ( ), ( )

K K

m k kS P A k Q k H k R k

Better parameterization is needed: error model , trajectory and scenario

For optimization a scalar output is needed: performance index.

25

Page 26: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

26

Error model describes all error sources of sensors participating in the integration by three main attributes: sigma, tau, and type (name).

The core Kalman filter states consists of position, velocity and attitude errors. Consequently propagation and measurement equation must be related to those errors.

System model parameterization

Page 27: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

27

Trajectory describes all dynamic data required to define transition matrix in propagation equation.

Scenario describes data required to define measurement matrices, measurements types, logics and timing and type of errors contributing to measurement noise.

System model parameterization

Page 28: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

28

1

( )pN

mi

E i

1

0( )

K

kA k

1

0( )

K

kQ k

1

( )K

kH k

1

( )K

kR k

Covariance matrices

0P

1

1

( ) ,

( )

p

p

N

mi

Ntype

mi

E i

E i

Model matrices

E2S (from error model to

system model)

Scenario

Trajectory

mEError model

System model parameterization

Page 29: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Implementation – the software structure

Filter system model

Performance Index

tmS

29

TCA Truth Covariance Analysis

E2S

fmS

Truth system model

Scenario, Trajectory

E2S

fmE

tmE

Error model

1. Normal 2. Error budget 3. Sensitivity study 4. Normal

Modes:

1. Normal 2. Normal 3. Normal 4. KF design

mE

Page 30: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

30

The resulting system is equivalent to the reduced order system model obtained by removing corresponding rows and columns.

Lets Ω be the set of selected states for the reduced order KF

By setting ( ) 0fmE i i

KF design – no additional tuning

The remaining entries represents the truth system model , which is not necessary the optimal “tuning” for the reduced order model.

Page 31: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

KF design - no additional tuning

Performance Index

tmS

31

TCA Truth Covariance Analysis

E2S

fmS

Scenario, Trajectory

E2S

fmE

tmE

Error model

tm mE E

0( )

f type typem m

fm m

fm

m

E E

E E

iE i

E i i

Selected states

mE

Page 32: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Performance Index

tmS

32

TCA Truth Covariance Analysis

E2S

fmS

Scenario, Trajectory

E2S

fmE

tmE

Error model

tm mE E

0( )

1

fm m

zero

E E

iK i

i

.*zeroK K K

zeroK

mE

Selected states

KF design – optimal tuning

Page 33: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

33

2

( )

Tf f f f f

dyn

tdyn zero

Ttdyn dyn dyn

P A P A Q Q

A A diag Q

Q A P A

1( )

0

tzero

t

iQ i

i

t

Lets Ω be the set of selected states for the reduced order KF

Lets be the set of states to be used for dynamic tuning t

Modified propagation equation

KF design – sub-optimal tuning

Page 34: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Implementation – the software structure

Filter system model

Performance Index

tmS

34

E2S

fmS

Truth system model

Scenario, Trajectory

E2S

fmE

tmE

Error model

Modes:

1. Normal 2. Normal 3. Normal 4. KF design

mE

, ,zero zeroK Q

Modified Truth Covariance analysis

1. Normal 2. Error budget 3. Sensitivity study 4. Normal

Tuning: no additional, optimal, sub-optimal

Page 35: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Implementation – Automated KF design

Filter system model

Performance Index

tmS

35

E2S

fmS

Truth system model

Scenario, Trajectory

E2S

fmE

tmE

Error model

Modes:

mE

, ,zero zeroK Q

Modified Truth Covariance analysis Manager

, ,t

* * *, ,t

Page 36: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

36

Automatic Kalman filter design – summary so far

Scenario

Trajectory

mEError model Automatic reduced- order Kalman filter

design + performance evaluation

The design product is abstract, it needs to be implemented and

tested.

* * *, ,t

The outcome of the design process is set of states and tuning parameters

Page 37: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Part 2 : Implementation and testing

44

Flexible navigation systems that may be re-configurated

Page 38: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Next challenge – how to implement flexible navigation system

How to implement real-time software that can accept different Kalman filter architectures: • States – parametric configuration • Sensors - parametric configuration • Tuning- parametric configuration

We need to prepare a framework, that inside its borders can be flexible.

Page 39: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Next challenge – how to implement flexible navigation system

Basic assumptions: The system core is inertial navigation Kalman filter is based on errors, therefore measurements

are calculated as differences between data based on inertial navigation and sensors

The implementation is based on optimal-reset principle , all known errors are immediately used to correct inertial navigation and to correct sensors

Page 40: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

47

Navigation system structure

Navigation

Algorithm

Senor 2

Measurement

preparation

(synchronization,

transformation to

error level

description,

measurement

compensation)

Error reset

IMUIMU errors

compensation

Senor K

Sensor 2 error

compensation

Sensor K errors

compensation

Sensor 2 data

processing

Sensor K data

processing

Kalman filter

propagation and update

Initial data

... ... ...

Pos,Vel,Att

( )eX k

( )z k

( ) ( ) ( )eX k K k z k

( )K k

,B Ba ,c cB Ba , ,P V

, , , ,B BP V a

Design = Kalman filter design = state selections and tuning equations

Page 41: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

48

Navigation system flexible implementation

1. Inertial navigation algorithm is a general one.

2. Prepare sensor layer as many as needed.

3. Prepare the error reset as general as possible.

4. Kalman filter equations (propagation, update) should be

reconfigurable. Matrices defined as maximal sizes , calculations

optimized for actual size. The models are the same as

developed for TCA scheme.

5. Extensive testing: should cover many possible configurations.

Page 42: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

49

Implementation and testing phase 1

Page 43: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

50

Implementation and testing phase 2

Page 44: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

54

The process of navigation system development

Define development envelope (trajectory, scenario, performance index).

Define the full error model

TCA analysis: Error budget, Sensitivity study,

Reduced order Kalman filter design

Implementation Testing

Update the error model from test data

Page 45: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Part 3 : Customer –level adaptation

56

Self-design systems are the ultimate goal of this approach

Page 46: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

57

Customer – level adaptation

The design methodology is based on trajectory, scenario, performance index and error model. There are strongly related to customer operational cycle and requirements.

We propose to consider three different levels of customer adaptation.

1. Data from customer 2. Test by customer 3. Self-design system

Page 47: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

58

Customer level adaptation - Data from customer

Customer fulfill a questionnaire about its requirements and operational cycle. Designer makes the necessary design updates.

The software version update is straightforward. This type of customization may lead to hardware updates as well, for example additional or alternative sensors.

Page 48: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

59

Customer level adaptation – Test by customer

Customer fulfill a questionnaire about its requirements and operational cycle. Customer rents a reference units and carries out tests of its system. Customer sends the recorded raw data to the designer. Designer makes the necessary design updates.

The software version update is straightforward. This type of customization may lead to hardware updates as well, for example additional or alternative sensors.

Page 49: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

60

Customer level adaptation – Self-design at customer level

Customer rents a reference units and carries out tests of its system. There is a software (internet server) that analyzes this test and makes the design updates.

The software version update is straightforward. This type of customization may lead to hardware updates as well, for example additional or alternative sensors.

Page 50: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Summary

61

Systematic , effective, automatic design of Kalman filter was presented. What next ?

perhaps a great retirement ?

Page 51: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Summary

62

Or to get into the next challenge : Automatic design leads to flexible, reconfigurable navigation system. Flexible, reconfigurable navigation system leads to customer –level adaptation All of this is feasible today (with some engineering effort)

Page 52: Automatic Design of Navigation Systems A Dream or Near ... · Automatic Design of Navigation Systems ... Systematic Design Procedure 15 (1) Develop a truth model (2) Generate the

Summary

63

Then the next challenge will appear as necessary: Self-design (at customer level) navigation system still need some technical and marketing progress.