540 likes | 687 Views
Peds and Paths: Small Group Behavior in Urban Environments. Joseph K. Kearney Hongling Wang Terry Hostetler Kendall Atkinson The University of Iowa. Pedestrian Activity in Urban Environments. Couples walking down a sidewalk Families window shopping Commuters queuing at a bus stop
E N D
Peds and Paths: Small Group Behavior in Urban Environments Joseph K. Kearney Hongling Wang Terry Hostetler Kendall Atkinson The University of Iowa
Pedestrian Activity in Urban Environments • Couples walking down a sidewalk • Families window shopping • Commuters queuing at a bus stop • Friends stopping to chat
Related Research • Social psychology (McPhail) • Flocking (Reynolds, Tu & Terzopoulos, Brogan and Hodgins) • Vehicle and crowd simulation (Musse & Thalmann, Thomas & Donikian, Sukthankar)
Public Gatherings • Mix of singles and small groups of companions • Majority of people are in clusters of two to five • Frequency of occurrence of a cluster is inversely proportional to size
What is a Group? • Proximity • Coupled Behavior • Common Purpose • Relationship Between Members
Moving Formations • Pairs: Side by side • Triples: Triangular shape
Stationary Formations Conversation Circle Group Center is Focus Arc Fixed Center of Focus
Modeling Walkways and Roads as Ribbons in Space walkway axis offset Object distance
Curvilinear Coordinate System • Defines geometry of navigable surfaces • Give a local orientation to the path • Channels traffic into parallel streams • Frame of reference for spatial relations • Obstacle avoidance • Navigation walkway axis offset Object distance
Arc-Length Parameterization • Parametric spline curves for ribbon axis • Flexible • Differentiable • Must relate parameter to arc length • Current approaches impractical for real-time applications
Traditional approach of arc-length parameterization for parametric curves • Compute arc length s as a function of parameter t s=A(t) • Compute the inverse of the arc-length function • Replace parameter t in Q(t)=(x(t),y(t),z(t)) with
Problems with traditional approach • Generally integral for A(t)does not integrate • Function is not elementary function • Solutions by numeric methods impractical for real-time applications
Related work • Numerical methods for mappings between parameter and arc length, e.g., [Guenter 90] • Impractical in real-time applications • Build 2 Bezier curves for mappings between arc length and parameter, one for each direction, e.g., [Walter 96] • Error uncontrolled • Possible inconsistency between the 2 mapping directions • No guarantee of monotonicity
Approximately arc-length parameterized cubic spline curve (1) Compute curve length (2) Find m+1 equally spaced points on input curve (3) Interpolate (x,y,z) to arc length s to get a new cubic spline curve
Compute Curve length • Compute arc length of each cubic spline piece with Simpson’s rule • Adaptive methods can be used to control the accuracy of arc length computation • Lengths of all spline pieces are summed • Build a table for mappings between parameter and arc length on knot points
Find m+1equally spaced points • Problem • Mappings from equally spaced arc-length values to parameter values • Solution: • Table search to map an arc length value to a parameter interval • Bisection method to map the arc length value to a parameter value within the parameter interval
Compute an approximate arc-length parameterized spline curve • m+1 points as knot points • Using cubic spline interpolation • End point derivative conditions • Direction consistent with input curve • Magnitude of 1.0 • Not-a-knot conditions
Errors • Match error • Misfit of the derived curve from an input curve • Arc-length parameterization error • Deviation of the derived curve from arc-length parameterization
Errors analysis • Match error • Match error is difference between the two curves at corresponding points, |Q(t)-P(s)| • Arc-length parameterization error • For an arc-length parameterized curve, • Arc-length parameterization error measured by
Experimental results (1) Experimental curve (2) Curvature of the curve
Experimental results (cont.) (1) m=5 (2) m=10 Experimental curve(blue) and the derived curve (red)
Experimental results (cont.) (1) m = 5 (2) m = 10 Match error in the derived curve
Experimental results (cont.) (1) m=5 (2) m=10 Arc-length parameterization error in the derived curve
Error factors in experimental results • Both errors increase with curvature • Both errors decrease with m • Maximal match error decreases 10 times when m doubled • Maximal arc-length parameterization error decreases 5 times when m doubled
Strengths of this technique • Run-time efficiency is high • No mapping between parameter and arc-length needed • No table search needed for mapping from curvilinear coordinates to Cartesian coordinates • Mapping form Cartesian coordinates to curvilinear coordinates is efficient (introduced in another paper) • Time-consuming computations can be put either in initialization period or off-line
Strengths of this technique (cont.) • Higher accuracy can be achieved • By computing length of the input curve more accurately • By locating equal-spaced points more accurately • By increasing m • Burden of higher accuracy is only more memory • Doubling m requires doubling the memory for spline curve coefficients
Walking Behavior • Influenced by constraints on movement • Control Parameters • Speed • Accelerate, Coast, or Decelerate • Orientation • Turn Left, No Turn, or Turn Right
Action Space Accelerate Accelerate Accelerate Turn Left No Turn Turn Right Coast Coast Coast Turn Left No Turn Turn Right Decelerate Decelerate Decelerate Turn Left No Turn Turn Right
Distributed Preference Voting • Delegation of voters: Constraint Proxies • A proxy votes on all cells of the action space • Votes are tallied • Winning cell represents best compromise among competing interests
Vote Tabulation Pursuit Point Tracking Maintain Target Velocity Inertia 1.0 1.0 Avoid Obstacles Avoid Peds Maintain Formation 1.0 Centering 4.0 2.0 5.0 2.0 Electioneer Winning Cell
Pursuit Point target path walkway axis • Located a small distance ahead of pedestrians on their target path • Shared by all members of a group pursuit point ped
Pursuit Point Tracking • Pursuit Direction • vector from group’s center to the Pursuit Point • This proxy votes to align a walker’s orientation with the group’s Pursuit Direction
One Pedestrian Following a Path walkway axis pursuit point pursuit direction offset ped 1 distance
Two Pedestrians Following a Path walkway axis pursuit point pursuit direction ped 1 ped 2
Vote to Turn Right Turn No Turn Left Turn Right Accelerate Coast Decelerate
Maintain Formation • Group Slip • maximum distance a pedestrian is allowed to move in front of or behind the rest of the group • If group slip is violated, this proxy votes to accelerate or decelerate to catch up with the group
Group Slip walkway axis walkway axis walkway axis pursuit point pursuit point pursuit point group slip group slip group slip Two pedestrians in formation Three pedestrians in formation Two pedestrians not in formation
A Group of Two Following a Path Pursuit Point Tracking Maintain Formation walkway axis -1.0 -1.0 +1.0 -1.0 -1.0 +1.0 -1.0 -1.0 +1.0 +1.0 +1.0 +1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 pursuit point 1.0 2.0 +1.0 +1.0 +3.0 -3.0 -3.0 -1.0 -3.0 -3.0 -3.0 ped 2 ped 1 Winning vote = Accelerate/Turn Right Election for ped 1
Avoiding Pedestrians • Activated when a companion intrudes • Repulsion can lead to undesirable equilibria of forces • By adding a small orthogonal force we rotate out of local minima walkway axis ped 2 ped 1 ped 3
Scenarios • Following a circular path • Avoiding an obstacle • Passing through a constriction
Following a Circular Path • Target path is formed by the series of pursuit points • Parameters • turn angle increment • look-ahead distance • path curvature
Following a Circular Path -- Trajectory walkway axis walkway axis ped 1 ped 1 target path target path Large look-ahead distance Small look-ahead distance
Avoiding an Obstacle • Avoid Obstacle proxy steers pedestrian to an obstacle’s nearest side • Pursuit point’s offset is shifted around large obstacles
Avoiding an Obstacle -- Trajectory walkway axis walkway axis ped 1 ped 1 ped 2 ped 2 Small look-ahead distance Large look-ahead distance
Passing Through a Constriction • Groups • compress at the entrance • move nearly single file down the corridor • reform as a group as they emerge • State change: suspending Maintain Formation proxy produces smoother motion
Passing Through a Constriction -- Trajectory walkway axis walkway axis Maintain Formation proxy voting Maintain Formation proxy not voting