8
In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003 Ribbon Networks for Modeling Navigable Paths of Autonomous Agents in Virtual Urban Environments Peter Willemsen School of Computing University of Utah [email protected] Joseph K. Kearney Dept. of Computer Science University of Iowa [email protected] Hongling Wang Dept. of Computer Science University of Iowa [email protected] Abstract This paper presents a real-time database modeling complex networks of intersecting roads and walkways in urban virtual environments. The database represents in- formation about the layout of streets and sidewalks, the rules that govern behavior on roads and walkways, and the locations of agents with respect to road and sidewalk structures. This information is used by programs that con- trol the behavior of autonomous vehicles and pedestri- ans populating the virtual urban environment. Roads and sidewalks are modeled as ribbons in space. The ribbon structure provides a natural coordinate frame for defining the local geometry of navigable surfaces. This geometry is important for way finding and also forms the geomet- ric basis on which spatial relationships among agents are defined. The database includes a powerful run-time in- terface supported by robust and efficient code for locat- ing objects on the ribbon network, for mapping between Cartesian and ribbon coordinates, and for determining behavioral constraints imposed by the environment. 1. Introduction Building dynamic, active content for use in virtual environments is a difficult and time consuming process. Quite often, the information required for programming the behaviors that might populate such environments, such as vehicle or pedestrian navigation, is not easily computed or inferred from sets of polygons into a usable form. Such behavior codes are generally complex and require signifi- cant spatial, logical, and socio-cultural information about the environment. The research addressed in this paper in- volves creating a run-time environment database to facili- tate behavior programming in virtual environments. This Figure 1: Virtual urban environment. work bridges a gap between the visual, polygonal model and the needs of autonomous agents to gain spatial aware- ness. In the real world, much of our way finding in urban en- vironments occurs on ribbon-like pathways such as roads, sidewalks, and alleys. These pathways wind through cities meeting and crossing other pathways. They structure the movements of travelers and provide a frame of reference for determining local spatial relationships. Social conven- tions for organizing interactions on roadways and walk- ways rely on having a shared understanding of this frame of reference. For example, in many societies we walk and drive on the right side of a sidewalk or road. In order to traverse pathways in a virtual environment, autonomous agents must understand the spatial structure and local ge- ometry of navigable routes. To travel safely, they must be aware of nearby agents and obstacles.

Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

Ribbon Networks for Modeling Navigable Paths of Autonomous Agents inVirtual Urban Environments

Peter WillemsenSchool of ComputingUniversity of Utah

[email protected]

Joseph K. KearneyDept. of Computer Science

University of [email protected]

Hongling WangDept. of Computer Science

University of [email protected]

Abstract

This paper presents a real-time database modelingcomplex networks of intersecting roads and walkways inurban virtual environments. The database represents in-formation about the layout of streets and sidewalks, therules that govern behavior on roads and walkways, andthe locations of agents with respect to road and sidewalkstructures. This information is used by programs that con-trol the behavior of autonomous vehicles and pedestri-ans populating the virtual urban environment. Roads andsidewalks are modeled as ribbons in space. The ribbonstructure provides a natural coordinate frame for definingthe local geometry of navigable surfaces. This geometryis important for way finding and also forms the geomet-ric basis on which spatial relationships among agents aredefined. The database includes a powerful run-time in-terface supported by robust and efficient code for locat-ing objects on the ribbon network, for mapping betweenCartesian and ribbon coordinates, and for determiningbehavioral constraints imposed by the environment.

1. Introduction

Building dynamic, active content for use in virtualenvironments is a difficult and time consuming process.Quite often, the information required for programming thebehaviors that might populate such environments, such asvehicle or pedestrian navigation, is not easily computedor inferred from sets of polygons into a usable form. Suchbehavior codes are generally complex and require signifi-cant spatial, logical, and socio-cultural information aboutthe environment. The research addressed in this paper in-volves creating a run-time environment database to facili-tate behavior programming in virtual environments. This

Figure 1: Virtual urban environment.

work bridges a gap between the visual, polygonal modeland the needs of autonomous agents to gain spatial aware-ness.

In the real world, much of our way finding in urban en-vironments occurs on ribbon-like pathways such as roads,sidewalks, and alleys. These pathways wind through citiesmeeting and crossing other pathways. They structure themovements of travelers and provide a frame of referencefor determining local spatial relationships. Social conven-tions for organizing interactions on roadways and walk-ways rely on having a shared understanding of this frameof reference. For example, in many societies we walk anddrive on the right side of a sidewalk or road. In order totraverse pathways in a virtual environment, autonomousagents must understand the spatial structure and local ge-ometry of navigable routes. To travel safely, they must beaware of nearby agents and obstacles.

Page 2: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

This paper presents a scheme for representing networksof ribbon-like pathways to support behavior and scenarioprogramming in virtual environments. The scheme en-codes (1) geometric information about the shape of path-ways, (2) topological information about interconnectionsamong pathways, (3) logical information encoding rulesgoverning behavior on the pathways, and (4) occupancyinformation giving the locations of nearby objects on thepathway.

Because we focus on real-time, interactive simulation,a high premium is placed on robustness and efficiency.A database employing the scheme has been implementedin the Hank virtual environment software and rigorouslytested in psychological studies investigating the behaviorof children and adults riding a virtual bike on roadwayspopulated with simulated vehicles.

2. Related Work

Our work builds on two related bodies of research: ur-ban modeling aimed at animating humans in virtual envi-ronments and road modeling for driving simulation. Inthe spirit of Farenc et al’s notion of informed environ-ments, we embed information in the representation of theroads and sidewalks to guide agent behaviors [11]. In theirscheme, behavior content is connected to the hierarchicalscene graph used for rendering. In contrast, our repre-sentations are independent (but correlated with) the scenegraph, relatively flat, and emphasize the 3D ribbon-likestructure of pathways. This simplifies motion planningand allows us to build very fast, robust computations foraccessing local geometry, the positions of nearby objects,and recovering embedded content that guides agent deci-sion making and actions.

Our research is closely tied to research in modeling ur-ban roadway environments [2, 3, 5, 14, 19]. Civil engi-neering guidelines specify design standards for road con-struction based on three planar shapes: straight, arc of acircle, and spiral [1, 10]. Modern roads are composed of asequence of straight and curved sections with a transitionspiral interposed between them to smoothly blend fromone curvature to another curvature. A desirable prop-erty of roads built to this standard is that curvature variessmoothly along the road contour. One problem with thisapproach is that many real roads do not conform to the de-sign standards (especially roads in older urban areas). Thework presented here uses a spline based representation,but provides code to translate standard road specificationsinto accurate spline approximations.

Donikian et al. developed a comprehensive system formodeling complex urban networks of streets, sidewalks,and tramways called the Virtual Urban Environment Mod-eling System (VUEMS) [9, 15]. As in our work, the un-derlying geometry of pathways in VUEMS is based withinterconnected ribbon-like surface segments. Our workextends this approach from 2D to 3D, addresses computa-tional difficulties in the parameterization and coordinatetransforms, and introduces overlay ribbons to simplifysteering and collision avoidance behaviors.

3. Representing Ways as Ribbons in Space

Our representation of urban streets and sidewalks isbased on a network of interconnected ribbons. Each rib-bon represents a segment of a ”way” (a roadway or walk-way). The ribbon defines the geometry of a navigablesurface and gives a local orientation to the way. Theribbon channels pedestrian and vehicle traffic into paral-lel streams by defining two preferred directions of travel(along the two opposing tangents of the central axis ofthe ribbon). It is important to emphasize that the repre-sentation places no restrictions on agent behaviors. Au-tonomous vehicles and pedestrians can choose to moveacross a ribbon, for example, to change lanes.

In addition to representing geometric information fornavigation and route planning, the ribbon provides a frameof reference for defining spatial relations among occu-pants of the way. Thus, an oncoming vehicle headingstraight at us in an adjacent lane on a curved road poses nothreat because we expect it to remain in its lane and passby us.

We represent a ribbon by an annotated 3-dimensionalspace curve. This curve acts as a central axis or spinefor the way. A surface normal is defined at each pointon the curve allowing the ribbon to twist about its spine.The ribbon establishes a curvilinear coordinate system inwhich 3-dimensional points are expressed in coordinatesof distance along the spine, D, offset on the ribbon surfacefrom the spine, O, and loft (displacement above or belowthe ribbon), L. Figure 2 illustrates the ribbon based frameof reference.

Some simulation computations are most naturally ex-pressed in Cartesian coordinates. For example, the dy-namics code that computes object motions from controlparameters set by object behaviors is most simply com-puted in Cartesian coordinates. Other computations, suchas behavior code that tracks roads and avoids obstacles,require that object locations be expressed in ribbon co-

Page 3: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

ordinates. Because these computations are performed at avery high frequency, it is essential to have efficient and ro-bust code to map from ribbon coordinates to global Carte-sian coordinates and to compute the inverse mapping fromglobal Cartesian coordinates to local ribbon coordinates.

To avoid self-intersections, the width of a way is re-stricted to be less than the radius of curvature of the spine.As a consequence, there is a single nearest point on thespine for all points on the surface of a way. Thus, themapping from Cartesian coordinates to way coordinatesis unique.

3.1. The Guts of Ribbon Computations

The choice of a mathematical representation for theribbon axis is critical to the efficiency and effectiveness ofdatabase computations. Parametric cubic splines are com-monly used to represent space curves in computer graph-ics. They are flexible, smooth, differentiable, and simpleto evaluate. In addition to these properties, it is importantthat the ribbon axis be parameterized by arc-length so thatdistances can be easily computed from ribbon coordinates.

Parametric spline curves are not, in general, parame-terized by arc length. Most approaches to compute arclength or to reparameterize a curve by arc length are tooinefficient to be used in real-time applications. In [16]we present a simple and efficient technique to generateapproximately arc-length parametrized spline curves thatclosely match the shapes characteristic of road and side-walk contours. A desirable byproduct of the approachis that the component cubic segments of the spline haveequal arc length. This makes indexing of segments veryefficient.

Following notation conventions used in robotics [6],we identify the coordinate system in which a point isexpressed with a preceding superscript. Thus, Cp =(Xp, Yp, Zp) represents the point p in Cartesian coordi-nates and Rp = (Dp, Op, Lp) represents the point p inribbon coordinates.

The mapping from ribbon coordinates to Cartesian co-ordinates is computed by a simple three step process.Given ribbon coordinates for a point Rp = (Dp, Op, Lp):

1. Compute a point, Cp1 = (Xp1, Yp1

, Zp1), on the

ribbon axis, Q(s), at distance Dp by evaluating thespline curve at Q(Dp).

2. Compute a point, Cp2 = (Xp2, Yp2

, Zp2), displaced

from p1 in a direction perpendicular to both the rib-bon axis and the ribbon normal at p1 by offset Op.

p

Op p1

p2

L

p

Dp

O

L D

Figure 2: Curvilinear coordinate system based on aribbon structure.

3. Compute a point, Cp = (Xp, Yp, Zp), displaced fromp2 in the direction of the ribbon normal at p2.

The point Cp is the Cartesian representation of the pointRp = (Dp, Op, Lp) in ribbon coordinates.

The inverse mapping (from Cartesian to ribbon coor-dinates) is usually a serious computational bottleneck indriving simulators. The steps to compute the inverse map-ping mirror those for the forward mapping. Given Carte-sian coordinates Cp = (Xp, Xp, Zp):

1. Compute the closest point on the ribbon axis,Q(Dp1

) = Cp1 = (Xp1, Yp1

, Zp1). This point has

ribbon coordinates: Rp1 = (Dp1, 0, 0). Note that

Dp1= Dp.

2. Project the Cartesian point, Cp, onto a line perpen-dicular to both the ribbon axis and the ribbon normalat Q(Dp) to get the nearest point on the ribbon sur-face, Cp2 = (Xp2

, Yp2, Zp2

). The distance betweenCp1 and Cp2 gives the offset Op.

3. Compute the distance from Cp to the point Cp2 on theribbon surface. This gives the loft Lp.

The key component in this mapping is the computa-tion of the closest point on the central axis of the rib-bon from Cartesian coordinates (step 1 above). Conven-tional optimization techniques such as Newton’s methodor quadratic minimization work well most of the time.However, we found that the standard techniques consis-tently fail (converge very slowly or diverge) at a smallnumber of points on many ordinary ribbons. Because ofthe frequency with which the mappings are performed (i.e.

Page 4: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

thousands of times a second for a modestly complex sim-ulation) even these rare problematic instances are likely tooccur with regularity. This leads to unacceptable compu-tational delays and can halt a simulation if the optimiza-tion procedure is not terminated.

To address weaknesses with standard optimizationtechniques, we developed a two stage technique that com-bines quadratic minimization and Newton’s method. Thismethod finds the closest point on the spine of the rib-bon with very high reliability in a small number of iter-ations [17].

To facilitate modeling of roads from standard engi-neering specifications, we provide interfaces to constructspline segments from straight, arc of circle, and spi-ral parameters. Adjacent segments can be concatenatedtogether to form multi-piece ribbons. Database man-agement software allows these composite ribbons to betreated as a single, uniform ribbon.

3.2. Coping with Cracks

Small numeric errors in modeling can cause cracks andoverlaps to appear along the borders where ribbons con-nect to other ribbons or intersections. A point very nearthe boundaries of two logically connected ribbons maymap onto one, both, or neither ribbons. Numeric errorby itself is not a significant problem; for the most part,virtual environments do not demand that object positionsbe known with very high precision. (The exception is highfidelity dynamics computations used to drive haptics de-vices and motion platforms.) Cracks pose the greatestchallenge. If a Cartesian point maps onto neither of theadjoining ribbons it disappears from the logical pathwaynetwork. When the point represents the location of anagent, this disappearing act can disrupt the behavior ofthis agent as well as other nearby agents.

We solve this problem by giving an object an imper-ceptible nudge whenever it lands in a crack. The nudge issufficiently minute that it creates no difficulties with con-trollers and is not noticeable to viewers. This simple ad-justment eliminates a thorny problem.

3.3. Ribbon Structure and Attributes

The ribbon structure provides a framework in which toembed logical information about the properties of ways.This information is important to inform behaviors aboutthe characteristics of the pathways they traverse.

The cross-section of a ribbon is decomposed into lanesthat serve to channel traffic flow. Lanes carry attributesthat indicate their width and typical function, e.g. vehi-cle lane, parking lane, sidewalk, or boulevard. In the cur-rent implementation, ways have a constant cross-sectionalprofile. The model can be extended to permit varying lanewidths by adding supplemental functions to compute lanewidths and offsets at a distance Dp along the way.

Longitudinal attributes encode markings and featuresthat govern the rules of the roads. This includes speedlimits, passing zones, stop lines, and the location of trafficcontrol objects such as flag men. Wayside features areparameterized by ribbon coordinates and provide ribbon-relative information to behavior programs. Tying the datato the ribbon structure affords agents convenient access tothe attributes regulating appropriate behavior on a road orwalkway.

4. Intersections

Ways connect to other ways through intersections. Incontrast to roadways and walkways, an intersection hasno central axis and hence imposes no local orientation.An intersection defines a surface area with a well-definedboundary along which incident ways connect to it.

The ribbons that bundle road and sidewalk lanestogether terminate at the boundary of an intersection.Agents entering the intersection must choose an appropri-ate lane to exit the intersection and then plot a path acrossthe intersection from the point of entry to the point of de-parture. To guide agents across an intersection, we overlaythe intersection with corridors (essentially invisible one-lane roads) that splice together the lanes of incoming andoutgoing ways. Agents track corridors through intersec-tions to reach outgoing ways.

Intersections provide queries to determine how incom-ing and outgoing lanes interconnect. Agents use this in-formation to plan routes through the way network.

Intersections pose a difficult challenge for agents[4]. Because corridors cross and merge with one an-other, agents must be alert for potential collisions withother agents traversing the intersection. Formal right-of-way rules and informal social conventions are criticalto the safe and orderly flow of traffic through intersec-tions. Right-of-way rules prioritize movement of vehiclesthrough intersections on the basis of arrival time, incom-ing and outgoing lanes, signage, and the state of signalsthat regulate traffic flow. Generally accepted social con-ventions help to avoid problems where the formal rules

Page 5: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

are ambiguous or incomplete.To assist agents in determining priorities, we annotate

corridors with right-of-way information. This includes in-formation about signs and traffic control devices that reg-ulate passage on corridors and information about the re-lationships between corridors. Traffic control devices andsignage define constraints on corridor traversal. For exam-ple, a stop sign indicates that approaching vehicles shouldstop at the entrance to the corridor and yield to traffic onunrestricted corridors that cross or merge with the corridorto be taken.

The traffic control state tells agents what rule currentlyapplies to a corridor (stop, yield, go, protected go, etc.),The internal structure of an intersection sets a context forinterpreting what a rule means. For example, in a four-way stop example, the agent must know what corridorscross or merge with the corridor to be taken. The stoppedagent must wait until there are gaps on all these corridorssufficiently large to permit the agent to safely transit itscorridor. To compute corridor gaps, the agent must inspectthe corridors and the incident lanes that feed the intersec-tion corridor. To assist agents in applying right-of-wayrules, corridors are annotated with information about de-pendency relations between corridors. An agent waitingat a stop sign examines the dependency relations on thecorridor to be taken to find the crossing and merging cor-ridors that have right of way. Object behaviors are respon-sible for selecting actions that respect traffic control stateconsistent with the relationships encoded in the corridor.

4.1. Connecting Ways to Intersections

Ways connect to intersections at attachment points onthe boundaries of intersections. The beginning or end-ing point of the ribbon axis (either end will do) must becoincident with a fixed connection point on the edge ofthe intersection. Surrounding the fixed point of attach-ment on the intersection boundary are floating ”junctures”to which lanes of the incident ribbon connect. The num-ber and type of junctures on an edge is predetermined inthe intersection definition. Only roads with profiles thatmatch the junctures in number and type can be connectedto the intersection at this attachment point. By saying thatthe junctures are floating, we mean that the order of thejunctures is set, but the junctures can slide along the edgeto match roads with different lane widths.

Corridors start and end at junctures. By fixing the num-ber and order of junctures along the boundary of the in-tersection, we can specify the interconnection topology

Bicycle CorridorsVehicle Corridors

Pedestrian Corridors

Figure 3: Example hierarchical intersection.

(how junctures are linked by corridors) and dependencyrelations among corridors without knowing what specificroads will be connected to the intersection. This greatlysimplifies modeling because many intersections come instandard configurations. These can be duplicated, trans-formed, and easily modified to adapt to new configura-tions. For many intersections, we can compute corridorgeometry automatically using Hermite cubic spline curvesconstructed from the attachment points and tangent di-rections of the connecting ribbons. This curve is thensampled and converted into an arc-length parameterizedspline. Complicated corridors must be explicitly modeledby specifying a series of interpolation points in the inter-section through which the corridor must pass.

In addition to modeling road crossings, we use inter-sections to add or delete lanes on a continuous stretch ofpavement and to close a loop by connecting two ends of aroad together. To add or delete a lane, we join two separateroads with n and n+1 lanes. We’ve found it convenient tobuild the intersection so that the endpoints of connectinglanes are coincident. Thus, the intersection becomes a linewith lanes attached to junctures on both sides and, conse-quently, there are no corridors or dependency relations.The n + 1st lane terminates on the intersection boundary.If the lane is deleted, vehicles must change from the ter-minating lane to an adjacent lane before reaching the in-tersection. Vehicles can choose to change to an added laneafter they cross the intersection. Zero-length intersectionsprovide a convenient means to specify the topological re-lationship between connecting roads with differing num-bers of lanes while maintaining a simple and consistentinterface to the database.

Intersections are hierarchically structured. Thus, an in-tersection can contain other intersections. The corridorsof the parent intersection link to attachment points on thesub-intersection. We’ve found the hierarchical structure

Page 6: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

Figure 4: Path structure overlayed onto the ribbonnetwork.

most useful in modeling sidewalk structures. Figure 3 il-lustrates intersection topology.

5. Paths – Overlay Ribbons

Agents rely on the ribbon structure of a way to de-termine where they are, where they’re going, and what’saround them. The transitions at intersection boundariescan make it cumbersome to extract and interpret this in-formation. The change in coordinate systems that happensas attention shifts from a way to an intersection (on enter-ing an intersection) and from an intersection to a way (onexiting the intersection) causes behavior code to be clut-tered with bookkeeping chores. For example, to cross anintersection, a vehicle must track a multi-segment contourcomposed of a lane of a way, an intersection corridor towhich it connects, and an outgoing lane of another way.In addition, collision avoidance behaviors must monitorother objects following the same route ahead of the vehi-cle. Adding additional complication, the coordinate sys-tems of the connected ribbons may be oriented in oppos-ing directions (i.e. linked head to head or tail to tail) mak-ing distance computations tricky and error prone.

From the egocentric view of an object traversing theroad network, queries such as ”Where am I?”, ”Where amI going?”, ”What’s around me?”, and ”What rules applyto me?” are most naturally understood with respect to thenear-term route the object plans to take. From the object’spoint of view, this route forms a natural frame of referencefor navigation and sets a context for interpreting spatialrelations and right of way rules.

To facilitate behavior programming, we created a dataobject called a path that represents the short-term, in-

tended route of an object. A path is a one-lane ribbonoverlayed on the road network. Paths consist of a com-position of lanes on ways and intersection corridors thatdefine a single, continuous coordinate system. As an ex-ample, in Figure 4, the path for a vehicle making a leftturn is shown with shading.

A path provides a local, egocentric coordinate sys-tem for database queries. Steering behaviors control mo-tion trajectories by aiming for a succession of look-aheadpoints located on the path some distance ahead of the ob-ject’s current location. By formulating the look-aheadqueries with respect to the composite path, we avoid awk-ward bookkeeping to handle transitions from road to in-tersections and intersections to roads. The database mapspath queries into the corresponding way or intersectionqueries and returns the results. As a consequence, thesteering code is enormously simplified.

Similarly, path-based occupancy queries return infor-mation about relative positions of other objects on thepath. One commonly used query determines the next ob-ject in front of the reference object (called the leader of theobject.) As with geometric queries, the path-based occu-pancy queries eliminate the need to cope with road and in-tersection boundaries throughout the behavior code. Thepath provides a smooth, continuous frame of reference.

In contrast to the permanence of roads and intersec-tions, paths are temporary constructions. They are fre-quently modified as an agent moves through the environ-ment and reformulates its plans based on traffic condi-tions, impulses, and instructions from directors that or-chestrate scenarios [8]. The database provides operationsto assist in path construction and modification.

5.1. Occupancy

An important advantage of the ribbon framework isthat it naturally defines spatial relationships among occu-pants. This is essential for the virtual environment sincedynamic objects must know where they are and whereother nearby objects are located. For example, the ob-ject in immediately ahead of another object on a path isimportant for following behavior.

There are two general forms of occupancy queries. Thefirst form returns the first object on a way between pointa and point b. The second form returns an ordered list ofall objects on a way between point a and b. The way canbe a road, an intersection corridor, or a path. The queriesare oriented from point a to point b and can be reversed byswapping the order of points a and b. Moreover, queries

Page 7: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

Figure 5: An adult riding through virtual “Biketown”.

can be restricted to a single lane of a multi-lane road.Queries are made efficient by exploiting the spatial

structure of ways. As objects enter the virtual environ-ment, they are added to an occupancy list for a way. Oneach iteration of the simulation, occupancy for each wayis updated based on new object positions.

6. A Modeling Language for Way Networks

A language that describes way networks is imple-mented and is used with the Hank virtual environmentsystem. The language preserves the structure of way net-works and includes the ability to create intersections androad forms which can be instanced and transformed sothat they fit together. The language attempts to mimic tra-ditional instancing and templating so that ways, intersec-tions, and lane definitions can be reused within the modelspace. Complete syntactic and semantic details for thelanguage are presented in [18].

7. Results

The ribbon network presented in the preceding sec-tions forms the basis of the urban environment model inour real-time simulation software, Hank. In addition todatabase modeling of city streets and sidewalks, Hank in-cludes modules for real-time process scheduling, for sim-ulating the dynamics of scene entities, for rendering im-ages on large projection screens, and a substrate for mod-eling reactive and intentional behaviors through Hierar-chical Concurrent State Machines (HCSM) [7]. The Hanksoftware drives our immersive virtual bicycle riding envi-ronment shown in Figure 5.

Our research broadly focuses on the use of virtual en-vironments as laboratories for the study of human behav-

ior. We are currently using the bicycle simulator to con-duct experiments investigating the ability of children andadults to negotiate traffic-filled roadways.

Synthetic traffic is generated by populating the roadswith vehicles controlled by independent, autonomousdriving behaviors. Vehicle behaviors query the databaseto plan paths through the road network, to steer alongroads and corridors, to obey speed limits, to detect ve-hicles ahead on their path and follow at a safe distance, toobserve the state of traffic lights and stop accordingly, andto yield right of way as they cross intersections. Intersec-tion crossing behaviors use corridor dependency relationsto determine priorities. When intersection navigation re-quires crossing or merging with a higher priority corridor,vehicles wait for gaps in the traffic sufficient to permit safetraversal.

In other work, we are examining methods to controlthe behavior of autonomous walkers traveling alone or insmall groups on networks of ribbon walkways [12, 13].

In addition to behavior programming, the database isalso important in configuring scenarios to meet the needsof experimenters. In order to compare results across sub-jects, it is important that the essential aspects of the simu-lation be replicated from trial to trial. Autonomous vehi-cles are dynamically created and removed from the envi-ronment during the simulation by director objects. Thesedisembodied agents are responsible for making sure theright things happen at the right place and time. The ribbonstructure provides a natural way to specify experimentalrequirements for object placement and the sites for criti-cal actions.

The database software has undergone rigorous testingunder the stringent demands of psychological studies. Insix months of running an average of about 20 hours a weekwe have had no failures in database computations. Themost costly computations are the functions that map fromCartesian to ribbon coordinates. We’ve found our imple-mentation sufficiently fast to run dozens of vehicles in realtime with very high accuracy.

While performance is very important, the most criticaltest of the approach is the ease of use in coding complexbehaviors. Our experience has been enormously positive.Ribbon based coordinate frames provide a simple and nat-ural means to situate objects in their environment.

8. Conclusion

Engaging virtual urban environments need street life –cars that drive and pedestrians that stroll. Creating an-

Page 8: Ribbon Networks for Modeling Navigable Paths of Autonomous ...willemsn/pubs/vr2003_willemsen.pdf · bon represents a segment of a flwayfl (a roadway or walk-way). The ribbon denes

In Proceedings of IEEE Virtual Reality 2003, p. 79–86, Los Angeles, March 2003

imated, autonomous agents that realistically locomote onfoot or on wheel and that plausibly interact with each otherand with human participants remains an enormously dif-ficult challenge. A good conceptual model of the urbanlandscape forms a key building block on which to developbehavioral ”street sense”.

To adeptly maneuver through cities, autonomousagents need to understand their whereabouts. To gainthis situational awareness, agents must be able to ascer-tain: ”What routes are accessible to me?”, ”Where otherobjects are in relationship to my intended route?”, and”What constraints does the environment impose on my in-teractions with other objects?”.

We believe interconnected ribbon coordinate systemsprovide a natural and efficient means to situate objectsin their environment. They provide a convenient way torepresent the spatial layout of navigable pathways. Ourimplementation provides a robust and efficient means toaccess information about the surroundings in natural co-ordinate frames. By embedding logical constraints in theenvironment model, we provide ready access to the rulesof the road that govern object interactions.

9. Acknowledgments

The authors wish to thank Ken Atkinson for his helpon the numerical methods employed in ribbon computa-tions and Jim Cremer for his significant contributions tothe Hank simulator and many valuable insights on behav-ior and scenario control. We also wish to thank Joan Sev-erson, Shayne Gelo, and Kate Kearney for creating our vi-sual databases. This material is based on work supportedthrough National Science Foundation Grants CDA-96-23614, INT-9724746, EIA-0130864, and IIS-0002535.

References

[1] B.E. Artz. An analytical road segment terrain databasefor driving simulation. In Driving Simulation Confer-ence, pages 274–284, Sophia Antipolis, France, September1995.

[2] A.C. Bailey, A.H. Jamson, Parkes A.M., and Wright S. Re-cent and future development of the Leeds driving simula-tor. In Driving Simulation Conference, July 1999.

[3] S. Bayarri, M. Fernandez, and M. Perez. Virtual real-ity for driving simulation. Communications of the ACM,39(5):72–76, May 1996.

[4] E. Bonakdarian. Generation and Management of AmbientTraffic in Real-Time Driving Simulation. PhD thesis, Uni-versity of Iowa, May 2001.

[5] O. Carles and S. Espie. Database generation systemfor road applications. In Driving Simulation Conference,pages 87–103, 1999.

[6] J. J. Craig. Introduction to Robotics: Mechanics and Con-trol. Addison-Wesley, 1989.

[7] J. Cremer, J. Kearney, and Y. Papelis. HCSM: A frame-work for behavior and scenario control in virtual environ-ments. ACM Transactions on Modeling and ComputerSimulation, 5(3):242–267, July 1995.

[8] J. Cremer, J.K. Kearney, and P. Willemsen. Directable be-havior models for virtual driving scenarios. Transactionsof the Society for Computer Simulation, 14(2), 1997. Spe-cial Issue on Multiagent Systems.

[9] S. Donikian. VUEMS: a virtual urban environment model-ing system. Computer Graphics International, pages 84–92, June 1997.

[10] D.F. Evans. Ground vehicle database modeling. In RealTime Systems ’94, Paris, France, 1994.

[11] N. Farenc, R. Boulic, and D. Thalman. An informed en-vironment dedicated to the simulation of virtual humans inurban context. EUROPGRAPHICS, 18(3), 1999.

[12] T.R. Hostetler. Controlling Steering Behavior for SmallGroups of Pedestrians in Virtual Urban Environments.PhD thesis, University of Iowa, August 2002.

[13] T.R. Hostetler and J.K. Kearney. Strolling down the av-enue with a few close friends. In Third Irish Workshop onComputer Graphics, pages 7–14, Dublin, Ireland, March2002.

[14] G. Reymond, O. Munier, and A. Kemeny. A road descrip-tion using reference points. In Proceedings of the first sem-inar on traffic generation, pages 15–21, 1994.

[15] G. Thomas and S. Donikian. Modelling virtual citiesdedicated to behavioural animation. EUROPGRAPHICS,19(3), 2000.

[16] H. Wang, J. Kearney, and K. Atkinson. Arc-length param-eterized spline curves for real-time simulation. 5th Inter-national Conference on Curves and Surfaces, June 2002.

[17] H. Wang, J. Kearney, and K. Atkinson. Distance calcula-tion between space points and cubic curves. 5th Interna-tional Conference on Curves and Surfaces, June 2002.

[18] P. Willemsen. Behavior and Scenario Modeling for Real-Time Virtual Environments. PhD thesis, University of Iowa,May 2000.

[19] Papelis Y. and S. Bahauddin. Logical modeling of road-way environment to support real-time simulation of au-tonomous traffic. In SIVE95: The First Workshop on Sim-ulation and Interaction in Virtual Environments, pages 62–71, Iowa City, IA, March 1995.