(by Gradient12)
PedSim allows you to run simplified pedestrian simulation in real time in Grasshopper.
Support Email

PedSim allows you to run simplified pedestrian simulation in real time in Grasshopper for demonstration purpose.  It can be integrated in your Rhino/GH workflow for master plan, public space, commercial and architectural projects.

In PedSim, People move from Start Gate to Destination Gate, following the best route, avoiding obstacles and other People. If they see a Target of their Interest, they will go to that Target, stay a while and re-route to the Destination Gate.

V0.08 (Rhino 5) and V0.09 (Rhino 6) with examples available here:

If you like PedSim, please consider buying me a coffee to keep me updating:

You will receive news and links for future updates if you leave your email there.

V0.09 (Rhino 6, November 15, 2018) Updates:

  1. Added OrientParallel component for (faster) visualizing people with 3d mannequins
  2. Engine's performance is improved when there is a large number (hundreds) of people and obstacles
  3. GridPersonCounter component's performance is improved (uses parallel computing)
  4. GridSpeedCounter component's performance is improved (uses parallel computing)
  5. The current version fixed a bug that occasionally broke the simulation in November 10, 2018 Release. 

V0.08 Updates :

  1. Gates and Targets can count visits
  2. Added GridSpeedCounter component that can output data for speed heat map
  3. Added DeconstructPersonRecord component that can gather statistics for each person from the Engine

Note that your old Grasshopper definitions might not work in the new version. 

V 0.07 Updates:

Verson 0.07 has some significant changes. It keeps the modeling logic while providing more realistic simulation result. Please update to this version. Note that your old Grasshopper definitions will not work in the new version. You need to rebuild them.

  1. Added Anticipatory Collision Avoidance to Person's behavior. In addition to the particle dynamics collision behavior, a person anticipates imminent collision with a neighbor and avoids it early.
  2. Settings component is simplified. Person-related settings are moved to PersonTemplate. This allows user to create people with different speed, size, etc. in one simulation.

  3. Person generation control is changed. The rate of generation used to be determined by Generation Time in Gate and Probability in PersonTemplate. These two settings were not compatible. Now the rate of generation becomes a parameter of the engine and the Probability in PersonTemplate works effectively. Generation Time in Gate is removed.

  4. GridPersonCounter now generates its own grid instead of using Grasshopper grid, and it runs faster.

  5. Target can have multiple access points (Same functionality existed but the implementation had some flaws.). Each access point allows one Person to access at any time. Person will choose an access point with the shortest queue to visit. The access points of a target should be close together. When a person sees the tag of a target, the person will choose an access point and go there in a straight line.

  6. Person now selects a target of interest with the shortest queue in sight to visit (used to select the closest target in sight).

  7. PersonTemplate and Person now have a Need Value for each interest. If an interest is satisfied, the interest no longer has effect on the person's behavior. This means that a map can have many shops of the same kind, and a person does not need to visit every one that it sees. Interests and Need values can be displayed using DeconstructPerson component.

  8. Target now has an optional visiting time parameter.

  9. Target and Gate now have access radius parameter.

  10. New component: PanoVision. PersonTemplate no longer have default vision. It accepts either FanVision or PanoVision.

  11. DeconstructPerson output parameters changed.

  12. Bug fixes.

If you downloaded the tool, welcome to join our discussion group:

- Peng Wang