Hybrid Polynomial Prediction Hybrid Polynomial Prediction The - - PDF document

hybrid polynomial prediction hybrid polynomial prediction
SMART_READER_LITE
LIVE PREVIEW

Hybrid Polynomial Prediction Hybrid Polynomial Prediction The - - PDF document

Special Course on Networked Virtual February 12, 2004 Environments Hybrid Polynomial Prediction Hybrid Polynomial Prediction The remote host can dynamically choose the order of The remote host can dynamically choose the order of


slide-1
SLIDE 1

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 1

Hybrid Polynomial Prediction Hybrid Polynomial Prediction

  • The remote host can dynamically choose the order of

The remote host can dynamically choose the order of prediction polynomial prediction polynomial

  • first

first-

  • order or second
  • rder or second-
  • order?
  • rder?
  • First

First-

  • order
  • rder
  • fewer computational operations

fewer computational operations

  • good

good when acceleration changes frequently or when acceleration is when acceleration changes frequently or when acceleration is minimal minimal

  • prediction can be more accurate without acceleration information

prediction can be more accurate without acceleration information

Position History Position History-

  • Based Dead Reckoning

Based Dead Reckoning

  • Chooses dynamically between first

Chooses dynamically between first-

  • order and second
  • rder and second-
  • order
  • rder
  • Evaluates the object’s motion over the three most recent positio

Evaluates the object’s motion over the three most recent position updates n updates

  • If acceleration is minimal or substantial, use first

If acceleration is minimal or substantial, use first-

  • order
  • rder
  • threshold cut

threshold cut-

  • off values for each entity
  • ff values for each entity
  • The acceleration behaviour affects to the convergence algorithm

The acceleration behaviour affects to the convergence algorithm selection selection

  • Ignores instantaneous derivative information

Ignores instantaneous derivative information

  • update packets only contain the most recent position

update packets only contain the most recent position

  • estimate velocity and acceleration

estimate velocity and acceleration

  • Reduces bandwidth requirement

Reduces bandwidth requirement

  • Improves prediction accuracy in many cases

Improves prediction accuracy in many cases

slide-2
SLIDE 2

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 2

Limitations of Derivative Polynomials Limitations of Derivative Polynomials

  • Add more terms to the derivative polynomial

Add more terms to the derivative polynomial— —why not? why not?

  • With higher

With higher-

  • order polynomials, more information have to be
  • rder polynomials, more information have to be

transmitted transmitted

  • The computational complexity increases

The computational complexity increases

  • each additional term requires few extra operations

each additional term requires few extra operations

  • Sensitivity to errors

Sensitivity to errors

  • derivative information must be accurate

derivative information must be accurate

  • inaccurate values for the higher derivatives might actually make

inaccurate values for the higher derivatives might actually make the the prediction worse prediction worse

p(t) = ½at2 + vt + p p p( (t t) = ½ ) = ½at at2

2 +

+ vt vt + + p p

Limitations of Derivative Polynomials (cont’d) Limitations of Derivative Polynomials (cont’d)

  • Hard to get accurate instantaneous information

Hard to get accurate instantaneous information

  • entity models typically contain velocity and acceleration

entity models typically contain velocity and acceleration

  • higher

higher-

  • order derivatives must be estimated or tracked
  • rder derivatives must be estimated or tracked
  • defining jerk (change in acceleration):

defining jerk (change in acceleration):

  • predict human behaviour

predict human behaviour

  • air resistance, muscle tension, collisions,…

air resistance, muscle tension, collisions,…

  • values of higher

values of higher-

  • order derivatives tend to change more rapidly than
  • rder derivatives tend to change more rapidly than

lower lower-

  • order derivatives
  • rder derivatives

⇒ ⇒High High-

  • order derivatives should generally be avoided
  • rder derivatives should generally be avoided
  • The Law of Diminishing Returns

The Law of Diminishing Returns

  • more effort typically provides progressively less impact on the

more effort typically provides progressively less impact on the overall

  • verall

effectiveness of a particular technique effectiveness of a particular technique

slide-3
SLIDE 3

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 3

Object Object-

  • Specialized Prediction

Specialized Prediction

  • Derivative polynomials do not take into account

Derivative polynomials do not take into account

  • what the entity is currently doing

what the entity is currently doing

  • what the entity is capable of doing

what the entity is capable of doing

  • who is controlling the entity

who is controlling the entity

  • Managing a wide variety of dead reckoning protocols is expensive

Managing a wide variety of dead reckoning protocols is expensive

  • Aircraft making military flight

Aircraft making military flight manoeuvers manoeuvers

  • constant acceleration and instant

constant acceleration and instant velocity velocity ⇒ ⇒ position trajectory position trajectory

  • the

the aeroplane aeroplane’ ’s s orientation angle

  • rientation angle
  • All information does not need to be

All information does not need to be transmitted transmitted

  • dancing is relevant not the footwork,

dancing is relevant not the footwork, fire not the flames,… fire not the flames,…

  • In general, precise

In general, precise behaviour would be nice but behaviour would be nice but overall

  • verall behaviour

behaviour is enough is enough

Convergence Algorithms Convergence Algorithms

  • Prediction estimates the future value of the shared state

Prediction estimates the future value of the shared state

  • Convergence tells how to correct inexact prediction

Convergence tells how to correct inexact prediction

  • Correct predicted state quickly but without noticeable visual di

Correct predicted state quickly but without noticeable visual distortion stortion

slide-4
SLIDE 4

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 4

Zero Zero-

  • Order

Order Convergence (or Snap) Convergence (or Snap)

Time 3.5: Time 3.5: Position ( Position (5.5, 6 5.5, 6) ) Time 4.5: Time 4.5: Position ( Position (8.5, 8 8.5, 8) ) Current Predicted Path Current Predicted Path Time 4: Time 4: Position ( Position (6, 3 6, 3) ) Velocity ( Velocity (6, 3 6, 3) ) New Predicted Path New Predicted Path Time 4.5: Time 4.5: Position ( Position (9, 4.5 9, 4.5) )

Linear Convergence Linear Convergence

Convergence Convergence Path Path Time 3.5: Time 3.5: Position ( Position (5.5, 6 5.5, 6) ) Time 4: Time 4: Position ( Position (6, 3 6, 3) ) Velocity ( Velocity (6, 3 6, 3) ) Time 4.5: Time 4.5: Position ( Position (8.5, 8 8.5, 8) ) Current Predicted Path Current Predicted Path New Predicted Path New Predicted Path Convergence Convergence Point Point Time 5: Time 5: Position ( Position (12, 6 12, 6) )

slide-5
SLIDE 5

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 5

Quadratic Convergence Quadratic Convergence

Convergence Convergence Point Point Time 3.5: Time 3.5: Position ( Position (5.5, 6 5.5, 6) ) Time 4: Time 4: Position Position (6, 3 (6, 3) ) Velocity ( Velocity (6, 3 6, 3) ) Time 4.5: Time 4.5: Position ( Position (8.5, 8 8.5, 8) ) Time 5: Time 5: Position ( Position (12, 6 12, 6) ) Convergence Convergence Path Path Current Predicted Path Current Predicted Path New Predicted Path New Predicted Path

Convergence with Cubic Convergence with Cubic Spline Spline

New Predicted New Predicted Path Path Convergence Convergence Point Point Time 3.5: Time 3.5: Position ( Position (5.5, 6 5.5, 6) ) Time 4: Time 4: Position ( Position (6, 3 6, 3) ) Velocity ( Velocity (6, 3 6, 3) ) Time 4.5: Time 4.5: Position Position (8.5, 8 (8.5, 8) ) Time 5: Time 5: Position ( Position (12, 6 12, 6) ) Current Predicted Path Current Predicted Path Time 6: Time 6: Position ( Position (18, 9 18, 9) ) Convergence Convergence Path Path

slide-6
SLIDE 6

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 6

Nonregular Nonregular Update Generation Update Generation

  • By taking advance of knowledge about the computations at

By taking advance of knowledge about the computations at remote host, the source host can reduce the required state remote host, the source host can reduce the required state update rate update rate

  • The source host can use the same prediction algorithm than the

The source host can use the same prediction algorithm than the remote hosts remote hosts

  • Transmit updates only when there is a significant divergence

Transmit updates only when there is a significant divergence between the actual position and the predicted position between the actual position and the predicted position

Advantages Advantages of

  • f Nonregular

Nonregular Transmissions Transmissions

  • Reduces

Reduces update update rates, if prediction algorithm is reasonable rates, if prediction algorithm is reasonable accurate accurate

  • Allows to make

Allows to make guarantees about the overall accuracy guarantees about the overall accuracy

  • The source host can dynamically balance its network

The source host can dynamically balance its network transmission transmission resources resources

  • limited bandwidth

limited bandwidth ⇒ ⇒ increase error threshold increase error threshold

  • Nonregular

Nonregular updates provide a way to dynamically adapt the updates provide a way to dynamically adapt the consistency consistency-

  • throughput

throughput trade trade-

  • off
  • ff based on the changing

based on the changing consistency demands consistency demands

slide-7
SLIDE 7

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 7

Lack of Update Packets Lack of Update Packets

  • If the prediction algorithm is

If the prediction algorithm is really really good, or if the entity is not good, or if the entity is not moving significantly, the source moving significantly, the source might might never never send any updates send any updates

  • New

New participants never receive any initial participants never receive any initial state state

  • Recipients cannot tell the difference between receiving no

Recipients cannot tell the difference between receiving no updates because updates because

  • the object’s

the object’s behaviour behaviour has not changed has not changed

  • the network has failed

the network has failed

  • the object has left the NVE

the object has left the NVE

  • Solution: timeout

Solution: timeout on packet transmissions

  • n packet transmissions

Environmental Effects Environmental Effects

Wall Wall

? ?

slide-8
SLIDE 8

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 8

Dead Reckoning: Advantages Dead Reckoning: Advantages and and Drawbacks Drawbacks

  • Reduces bandwidth requirements because updates can be

Reduces bandwidth requirements because updates can be transmitted at lower transmitted at lower-

  • than

than-

  • frame

frame-

  • rate

rate

  • Because hosts receive updates about remote entities at a slower

Because hosts receive updates about remote entities at a slower rate than local entities, receivers must use prediction and rate than local entities, receivers must use prediction and convergence to integrate remote and local entities convergence to integrate remote and local entities

  • Does not guarantee identical view for all participants

Does not guarantee identical view for all participants

  • tolerate

tolerate and adapt to potential differences and adapt to potential differences

  • Complex to develop, maintain, and evaluate

Complex to develop, maintain, and evaluate

  • Dead reckoning algorithms must often be customized for

Dead reckoning algorithms must often be customized for particular objects particular objects

  • Are entities predictable?

Are entities predictable?

Recapitulation: Managing Dynamic Shared State Recapitulation: Managing Dynamic Shared State

  • Consistency

Consistency-

  • throughput trade

throughput trade-

  • off
  • ff
  • Centralized information repositories

Centralized information repositories

  • Frequent state regeneration

Frequent state regeneration

  • Dead reckoning

Dead reckoning

Absolute Absolute consistency consistency High High update rate update rate Dead Dead reckoning reckoning Centralized Centralized information information repositories repositories Frequent Frequent state state regeneration regeneration

The The Trade Trade-

  • off
  • ff Spectrum

Spectrum

slide-9
SLIDE 9

Special Course on Networked Virtual Environments February 12, 2004 Jouni Smed 9

§5 System Design §5 System Design

  • Model

Model-

  • View

View-

  • Controller

Controller

  • Threads

Threads

  • single

single

  • multiple

multiple

  • Important subsystems

Important subsystems

  • real

real-

  • time rendering

time rendering

  • polygon culling

polygon culling

  • level

level-

  • of
  • f-
  • detail processing

detail processing

  • real

real-

  • time collision detection and response

time collision detection and response

  • computational resource management

computational resource management

Model Model-

  • View

View-

  • Controller

Controller

control logic control logic driver driver proto proto-

  • view

view rendering rendering state instance state instance core structures core structures input input device device action action configuration configuration instance data instance data synthetic synthetic view view synthetic synthetic player player script script

  • utput
  • utput

device device human player human player

  • ptions
  • ptions

perception perception

model model view view controller controller