the empirical process - agile alliance

211
The Empirical Process - at the very core of agile Daniel Brolund @danielbrolund [email protected]

Upload: others

Post on 28-Feb-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

The Empirical Process

- at the very core of agile

Daniel Brolund @danielbrolund [email protected]

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Desired

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Desired

Desired

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Desired

Desired

Controller

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

ControllerDesired

Desired

Controller

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

ControllerDesired

Desired

Systeminput

Controller

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

ControllerDesired

Systeminput

Desired

Systeminput

Controller

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

ControllerDesired

Systeminput

Desired

Systeminput

Controller

System

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Controller SystemDesired

Systeminput

Desired

Systeminput

Controller

System

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Controller SystemDesired

Systeminput

Desired

Systeminput

ActualController

System

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system

Schematic: Me

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system

Time

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system

Time

Desired

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system Actual

Time

Desired

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system Actual

Time

Desired

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system Actual

Time

Desired

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system Actual

Time

Desired

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

An everyday empirical process...

Actual==Desired ?

Controller SystemActualDesired

Systeminput

Desired

Systeminput

ActualController

System

Feed-forward or Open-loop system ?Actual

Time

Desired

Schematic: MeTemp

Do I jump in...?

Daniel Brolund — @danielbrolund — [email protected]

Exercise on feed-forward systems

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Exercise on feed-forward systems

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Exercise on feed-forward systems

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Robot

Exercise on feed-forward systems

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

RobotController

Exercise on feed-forward systems

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

RobotController

Exercise on feed-forward systems

↑↰

P

D

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

Exercise on feed-forward systems

↑↰

P

D

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

Tracker counts paper balls in dropzone as a function of time

Exercise on feed-forward systems

↑↰

P

D

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Tracker counts paper balls in dropzone as a function of time

Exercise on feed-forward systems

↑↰

P

D

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

Goal: Meet desired nr of paper balls in dropzone (see graph)

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Tracker counts paper balls in dropzone as a function of time

Exercise on feed-forward systems

↑↰

P

D

Daniel Brolund — @danielbrolund — [email protected]

What is the control error?

Daniel Brolund — @danielbrolund — [email protected]

Time

What is the control error?Temp

Daniel Brolund — @danielbrolund — [email protected]

Time

Desired

What is the control error?Temp

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

What is the control error?Temp

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

What is the control error?Temp

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

What is the control error?Temp

"Error surface"

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

Control Error = ∫|Desired-Actual|

What is the control error?Temp

"Error surface"

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

Control Error = ∫|Desired-Actual|

What is the control error?Temp

"Error surface"

Time

Control error

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

Control Error = ∫|Desired-Actual|

What is the control error?Temp

"Error surface"

Time

Control error

Daniel Brolund — @danielbrolund — [email protected]

Actual

Time

Desired

Control Error = ∫|Desired-Actual|

What is the control error?Temp

"Error surface"

Time

Control error∞

Daniel Brolund — @danielbrolund — [email protected]

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Points of Discussion - groups of 4-6

Impact of iteration length?

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Similarities with software development?

Points of Discussion - groups of 4-6

Impact of iteration length?

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Requires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input- that the System can handle System input

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Requires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input- that the System can handle System input

Errorsε

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Requires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input- that the System can handle System input

Errorsε

"Unlimited"energy

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Requires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input- that the System can handle System input

Errorsε

Change"Unlimited"

energy

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Requires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input- that the System can handle System input

Errorsε

Change"Unlimited"

energy

Complexity

Daniel Brolund — @danielbrolund — [email protected]

The "simplistic" solution

Controller SystemActualDesired

Systeminput Controller=(System)-1

⇒Desired = Actual

Requires: - detailed knowledge of System, Desired and hence Actual - that such a Controller exists and can create such System input- that the System can handle System input

Errorsε

Change"Unlimited"

energy

Complexity

Won't work in reality

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

Adding feedback!

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Sensor

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Sensor

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Sensor

SensorObserved result

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Sensor

Error-

SensorObserved result

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Feed-back or Closed-loop system

Sensor

Error-

SensorObserved result

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Feed-back or Closed-loop system

Sensor

Error-

SensorObserved result

Time

Temp

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Feed-back or Closed-loop system

Sensor

Error-

SensorObserved result

Time

Desired

Temp

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Feed-back or Closed-loop system

Sensor

Error-

SensorObserved result Actual

Time

Desired

Temp

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Schematic:

Controller SystemActualDesired

Systeminput

Daniel Brolund — @danielbrolund — [email protected]

Adding feedback!

Feed-back or Closed-loop system

Sensor

Error-

SensorObserved result Actual

Time

Desired

Temp

Observed result

Systeminput

ActualController

Me

Desired

System

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systemsAs before, but now

only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

↑↰

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

↑↰↑

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

↑↰

P

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

↑↰

P

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

↑↰

P

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

Robot

Controller

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back systems

↑↰

P

D

As before, but now only one step at a time!

Daniel Brolund — @danielbrolund — [email protected]

What is the control error now?

Daniel Brolund — @danielbrolund — [email protected]

What is the control error now?

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

What is the control error now?

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

Control Error = ∫|Desired-Actual|

What is the control error now?

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

Control Error = ∫|Desired-Actual|

What is the control error now?

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

Control Error = ∫|Desired-Actual|

What is the control error now?

Time

Control error

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

Control Error = ∫|Desired-Actual|

What is the control error now?

Actual

Time

Control error

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

Control Error = ∫|Desired-Actual|

What is the control error now?

Actual

Time

Control error

bounded!!

Actual

Desired

Temp

Daniel Brolund — @danielbrolund — [email protected]

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Points of Discussion - groups of 4-6

Impact of iteration length?

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Similarities with software development?

Points of Discussion - groups of 4-6

Impact of iteration length?

Daniel Brolund — @danielbrolund — [email protected]

Observability and controllability

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Observability and controllability

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Observability and controllability

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Flow

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Flow Acidity

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Mineral tracesFlow Acidity

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

ROI

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Acceptance test results

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

ROI

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Acceptance test results

Nr of checkins

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

ROI

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Acceptance test results

Nr of checkins Request statistics

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

ROI

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Acceptance test results

Nr of checkins Request statistics

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

User satisfaction

ROI

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

The Sensor has to measure

a relevant state (observability) that the

Controller can influence (controllability).

Lines of code

Unit test results

Acceptance test results

Nr of checkins Request statistics

Error- Controller System

ActualDesired

Systeminput

SensorObserved result

Uncontrollable

Unobservable

Observability and controllability

User satisfactionUsability

ROI

Water temperature

Mineral traces

Radioactivity

Flow Acidity

-

SW

Daniel Brolund — @danielbrolund — [email protected]

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Live user feedback/release

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Live user feedback/release Usability tests

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Live user feedback/release Usability tests

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Retrospective

Live user feedback/release Usability tests

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Retrospective

Live user feedback/release Usability tests

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

TDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

TDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

TDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Pairing

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

TDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Compilation Pairing

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

SquigglesTDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Compilation Pairing

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Feedback cycle-time sweet-spots are different due to

processing and delays

SquigglesTDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Compilation Pairing

Whiteboard discussions

There are many feedback loops at play!

Daniel Brolund — @danielbrolund — [email protected]

Feedback cycle-time sweet-spots are different due to

processing and delays

SquigglesTDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Compilation Pairing

Whiteboard discussions

There are many feedback loops at play!

too slow ⇒

Unstable system

Daniel Brolund — @danielbrolund — [email protected]

Feedback cycle-time sweet-spots are different due to

processing and delays

SquigglesTDD

ATDD

Daily stand-up

Retrospective

Live user feedback/release Usability tests

Compilation Pairing

Whiteboard discussions

There are many feedback loops at play!

too slow ⇒

Unstable system

too fast ⇒

Controller overloaded or too expensive

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

ATDD

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

ATDD Daily standups

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

ATDD

Iterations

Daily standups

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

ATDD

Iterations

Daily standups Continuous integration

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

ATDD

Iterations

Daily standups Continuous integration

Retrospectives

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected]

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

Feed-forward using the Controller is application of a priori knowledge.

We always need some of it to avoid re-inventing wheels.

TDD

ATDD

Iterations

Daily standups Continuous integration

Deployment environments

Retrospectives

Is feed-forward waste?

-

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Me

Desired

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Delay

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Delay

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Time

Temp

Delay

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Time

Desired

Temp

Delay

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Time

Desired

Temp

Delay

Tap temp

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Time

Desired

Temp

Delay

Tap temp

Tap tempError

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Time

Desired

Temp

Delay

Tap temp

Tap temp

Tap temp

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Observed result

Time

Desired

Temp

Delay

Tap temp

Tap temp

Tap temp

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected] Brolund — @danielbrolund — [email protected]

The impact of delay

Systeminput

ActualController

System

Sensor

Observed result

Time

Desired

Temp

Delay

Tap temp

Tap temp

Tap temp

Error

-

Schematic:

Controller SystemActualDesired

Systeminput

SensorObserved result

-

Me

Desired

Delay

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delayAs before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰↑

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰↑

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

D

As before, but now now three steps at a

time!

Daniel Brolund — @danielbrolund — [email protected]

Drop-zone

Tracker

RobotController

0

5

10

0 20 40 60 80 100

Time (s)

DesiredMeasured

Exercise on feed-back system with delay

↑↰

P

D

As before, but now now three steps at a

time!

Place sequence on back of Robot (FIFO queue). Give the first step to the robot, and add one step last in the queue.

Daniel Brolund — @danielbrolund — [email protected]

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Points of Discussion - groups of 4-6

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Points of Discussion - groups of 4-6

Impact of iteration length?

Daniel Brolund — @danielbrolund — [email protected]

Results in exercise? Error?

What are the measurements we make?

What are the unknowns?

Sensitivity to unknowns & changes? Robustness?

Impact of robot precision? Iteration length?

What are the delays?

Similarities with software development?

Points of Discussion - groups of 4-6

Impact of iteration length?

Daniel Brolund — @danielbrolund — [email protected]

Delay considerations

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

-

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

Delay position in loop is irrelevant w.r.t. instability!

-

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

DelayDelay position in loop is irrelevant w.r.t. instability!

-

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

Delay position in loop is irrelevant w.r.t. instability!

-

Delay

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

Delay

Delay position in loop is irrelevant w.r.t. instability!

-

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

DelayDelay position in loop is irrelevant w.r.t. instability!

-

Daniel Brolund — @danielbrolund — [email protected]

Observed result

Desired

Temp

Tap temp

Delay considerations

delay > half of required cycletime ⇒

Guaranteed instability!(in practice, instability comes earlier)

It often takes about 5-10 times the delay to tune the

system

Error

- Controller SystemActualDesired

Systeminput

Sensor

Observed result

DelayDelay position in loop is irrelevant w.r.t. instability!

-

Daniel Brolund — @danielbrolund — [email protected]

Noise

Daniel Brolund — @danielbrolund — [email protected]

Signal

Noise

Daniel Brolund — @danielbrolund — [email protected]

+

NoiseSignal

Noise

Daniel Brolund — @danielbrolund — [email protected]

+ =

Huh?NoiseSignal

Noise

Daniel Brolund — @danielbrolund — [email protected]

+ =

Huh?NoiseSignal

Signals must be filtered from noise. ⇒ Delays

⇒ Lower communication bandwidth

Noise

Daniel Brolund — @danielbrolund — [email protected]

+ =

Huh?NoiseSignal

Signals must be filtered from noise. ⇒ Delays

⇒ Lower communication bandwidth

Noise

In SW-development, noise can be - Irrelevant information - Disinformation

Daniel Brolund — @danielbrolund — [email protected]

• What does the following do to your control system?

• Trust?

• Distrust?

• Lies?

• Care?

• What is noise according to you?

• What other "soft" issues will affect the system? How?

"Softer" issues - discussion in groups

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

-

Daniel Brolund — @danielbrolund — [email protected]

• How can you break the empirical process? What part?

• Controller?

• System?

• Sensor?

• Desired?

Failure modes - discussion in groups

Error- Controller SystemActualDesired

Systeminput

SensorObserved result

-

Daniel Brolund — @danielbrolund — [email protected]

• Introduce feedback where appropriate!

• Apply reasonable amount of a priori (feed-forward) knowledge.

• Tune the Sensors to improve resolution.

• Remove unnecessary Sensoring.

• Find the iteration cycle-time sweet-spot.

• Reduce delays to improve responsiveness, extend margins, or cheapen the Controller.

• Reduce noise.

Conclusions & advice