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 prediction polynomial prediction polynomial � first � first- -order or second order or second- -order? order? � First � First- -order order � 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- -Based Dead Reckoning Based Dead Reckoning Position History � Chooses dynamically between first � Chooses dynamically between first- -order and second order and second- -order order � 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 order � threshold cut � threshold cut- -off values for each entity off 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 Jouni Smed 1
Special Course on Networked Virtual February 12, 2004 Environments 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 order 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 2 + p ( t ) = ½ at 2 + vt + p at 2 p ( p ( t t ) = ½ ) = ½ at + 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 order 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 order derivatives tend to change more rapidly than lower lower- -order derivatives order derivatives ⇒ High ⇒ High- -order derivatives should generally be avoided order 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 overall effectiveness of a particular technique effectiveness of a particular technique Jouni Smed 2
Special Course on Networked Virtual February 12, 2004 Environments Object- -Specialized Prediction Specialized Prediction Object � � 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 ⇒ ⇒ position trajectory velocity position trajectory � the � the aeroplane aeroplane’ ’s s orientation angle orientation 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 overall 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 � Jouni Smed 3
Special Course on Networked Virtual February 12, 2004 Environments Zero- -Order Order Convergence (or Snap) Convergence (or Snap) Zero Current Predicted Path Current Predicted Path Time 4.5: Time 4.5: Position (8.5, 8 8.5, 8) ) Position ( New Predicted Path New Predicted Path Time 3.5: Time 3.5: Position (5.5, 6 5.5, 6) ) Position ( Time 4.5: Time 4.5: Position (9, 4.5 9, 4.5) ) Position ( Time 4: Time 4: Position (6, 3 6, 3) ) Position ( Velocity ( Velocity (6, 3 6, 3) ) Linear Convergence Linear Convergence Current Predicted Path Current Predicted Path Time 4.5: Time 4.5: Position (8.5, 8 8.5, 8) ) Position ( New Predicted Path New Predicted Path Time 3.5: Time 3.5: Position (5.5, 6 5.5, 6) ) Position ( Convergence Convergence Point Point Convergence Convergence Path Path Time 5: Time 5: Position (12, 6 12, 6) ) Position ( Time 4: Time 4: Position (6, 3 Position ( 6, 3) ) Velocity ( Velocity (6, 3 6, 3) ) Jouni Smed 4
Special Course on Networked Virtual February 12, 2004 Environments Quadratic Convergence Quadratic Convergence Current Predicted Path Current Predicted Path Time 4.5: Time 4.5: Position (8.5, 8 8.5, 8) ) Position ( New Predicted Path New Predicted Path Time 3.5: Time 3.5: Position (5.5, 6 5.5, 6) ) Position ( Convergence Convergence Point Point Convergence Convergence Path Path Time 5: Time 5: Position (12, 6 12, 6) ) Position ( Time 4: Time 4: Position (6, 3 (6, 3) ) Position Velocity ( Velocity (6, 3 6, 3) ) Convergence with Cubic Spline Spline Convergence with Cubic Current Predicted Path Current Predicted Path New Predicted New Predicted Time 4.5: Time 4.5: Path Path Position (8.5, 8 (8.5, 8) ) Position Time 3.5: Time 3.5: Position (5.5, 6 5.5, 6) ) Position ( Convergence Convergence Point Point Time 6: Time 6: Convergence Convergence Position (18, 9 18, 9) ) Position ( Path Path Time 5: Time 5: Position (12, 6 12, 6) ) Position ( Time 4: Time 4: Position (6, 3 Position ( 6, 3) ) Velocity ( Velocity (6, 3 6, 3) ) Jouni Smed 5
Recommend
More recommend