Thunderhead Engineering Forum

Please login or register.

Login with username, password and session length
Advanced search  


Forum moved to

Author Topic: Simulation parameter: steering update interval  (Read 3967 times)


  • Member
  • **
  • Posts: 11
    • View Profile
Simulation parameter: steering update interval
« on: March 24, 2009, 11:38:42 pm »

Hi, I have a question about the parameter called steering update interval.

Does it mean that one occupant can re-calculate its path every time step which is specified by this update interval?

Now, the default value is 0.1s; and it seems occupants are quite smart, I mean they can soon find the optimistic route even in some complicated environment. Do you have any recommend to define a reasonable value for this parameter?

Charlie Thornton

  • Thunderhead
  • *****
  • Posts: 851
    • View Profile
Re: Simulation parameter: steering update interval
« Reply #1 on: March 25, 2009, 08:01:00 am »

The steering update interval (default: 0.1s) controls how frequently occupants will re-calculate their desired velocity.  The desired velocity is the output of the steering behaviors.  Each simulation time step (default: 0.025s), the occupant will attempt to accelerate to match its velocity with the desired velocity.  Recalculations of the desired velocity are also forced when occupants are bumped off-path or when they reach a waypoint.

The steering calculation is relatively expensive in CPU cycles, so the default parameters should make simulations run about 4x faster than if you put the steering update interval at 0.025s.

As the update interval gets bigger, where you start to see it is in crowds.  Occupants will take turns moving in something like strange coordinated shifts - about half will stop and the other half will angle off for the update interval.  It's not very pretty.  If it gets really big, they'll start to do more corner sliding.  However, the the default settings do a pretty good job of balancing speed with accuracy.  If you have a sparse simulation (no congestion) you can make both values bigger without much of a problem, but it'll already run faster anyway, so there's not much point.