Skip to content

jackft/iw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Invisible Walls | how pedestrians navigate around social interactions

Author(s): Jack Terwilliger1, Julia Di Silvestri2, Seika Murase1, Anne Elizabeth Clark White3, Federico Rossano1

Affiliation: University of California, San Diego | 1Cognitive Science Department 2Biology Department 3Herbert Wertheim School of Public Health and Human Longevity Science


Pedestrian dynamics are characterized as complex physical systems constrained by social norms, like personal space. Yet, prior research has ignored the spatial norms imposed by others’ social interactions, such as conversations. Unlike physical obstacles, the boundaries of social interactions are latent — even more so than those of personal space — as if they are invisible walls, and must be inferred from signs of interactional involvement. In four field experiments with 4,911 participants, we show that pedestrians integrate others’ gaze, proximity, body orientation, and talk to avoid interrupting possible interactions. However, pedestrians also collectively violate these spatial norms by walking through an interaction if other pedestrians had already done so. These results demonstrate how physical mobility depends on pedestrians’ social computations.

This repository contains the data, statistical analysis, and figures from our investigation.

experiment design

Fig. | A diagram of our field experiments. Actors (shown in orange) stood in busy pathways while displaying 5 distinct signs of interactional involvement (see depictions of Variables 1-5). Over various conditions, we observed whether pedestrians (shown in blue) walked between or around our actors and we measured pedestrians’ walking trajectories.

effects of involvement signs effects and trajectories

Fig. | (A) Video frames from experiment 1. (B) Video frames from experiment 2. (C) Breaching probabilities from experiment 1. Dots represent the estimated marginal mean and lines represent 95% confidence intervals. Empirical breaching rates are represented with white diamonds. (D) Breaching rates from experiment 2 plotted by condition and pedestrian walking direction. Conditions are depicted on the right side of the plot. (E) Pedestrian trajectories from experiment 2 are plotted and colored by direction. Green is rightward. Black is leftward. Actor body orientation is depicted by red arrows. Types of terrain are represented by the colored background. Off-white depicts a pedestrian pathway, yellow depicts patches of dirt and vegetation, and grey depicts an asphalt roadway.

collective_rule_breaking

Fig. | (Top) An example of breaching contagion where 46 pedestrians walk past an art mural while two actors silently stood 10 feet apart while facing and staring at each other. Before a group of 3 pedestrians walked between the actors, 22 pedestrians had walked around the actors. After the group of 3 pedestrians walked between the actors, 15 of 19 pedestrians then walked between the actors. (Bottom) Our statistical model’s running predicted breach probability over time which takes into account the number of breaches 5 seconds prior and crowding for a given point in time (black line). Breaches/non-breaches are indicated with circles. The moment the group of three breaches is indicated with a vertical red line.

Running the Analysis

analysis.R defines our statisical analysis. It depends on helper functions in src for plotting, preprocessing, and saving results and external R libraries we pinned using renv.

To install the same versions of external R libraries we used, run:

make install

To run the analysis run:

make run

Dependencies can be installed without make by running the following R commands:

install.packages("renv")
renv::restore()

Note, using renv will compile old versions of R libraries from source. This will require system tools and libraries cmake, gfortran, libharfbuzz, etc.

src/vanilla_install.R will install current libraries without renv and without compiling, but it will grab the latest versions of these libraries. Specific library versions should not matter for this analysis. To make sure renv isn't automatically activated in your R session (.Rprofile will tell R to do this) there are a few things you can do:

  • if you are in the terminal: launch Rscript (or the R repl) using the --vanilla option, e.g. Rscript --vanilla
  • if you are in the R repl: disable renv by executing renv::deactivate() (undo: renv::activate())

Repository Structure Relevent to Analysis

├── analysis.R      # main analysis script
├── data/           # datasets
├── figures/        # .png/.svg generated by analysis
├── results/        # .csv/.txt tests/models/descriptive statistics
├── renv.lock       # records R library dependencies
├── renv/           # for renv
└── src/            # utility functions for plotting, preprocessing trajectories, saving results.

About

an investigation into how pedestrians orient to the proxemic norms of other people's conversations

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages