Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Computer Science

Similar presentations


Presentation on theme: "Department of Computer Science"— Presentation transcript:

1 Department of Computer Science
A Parametric Model for Oriented, Navigable Surfaces in Virtual Environments Hongling Wang Joseph Kearney Department of Computer Science University of Iowa

2 Virtual Environments as Behavioral Laboratories
Gaining widespread acceptance Driving (Uc, Rizzo, Shi, Anderson, and Dawson, 2004; Lee, McGehee, Brown, & Reyes, in press) Bicycling (Plumert, Kearney, & Cremer, 2004) Navigating (Murray, Bowers, West, Pettifer, & Gibson, 2000; Warren, Tarr, & Kaebling, NEVLab; Bowman, Davis, Badre, & Hodges, 1999) Advantages Near natural Highly controlled Safe Developmental differences in road crossing The influence of disease, drugs, and disabilities Design of in-vehicle technology Cell phones, navigation aids, collision warning Uc EY, Rizzo M, Shi Q, Anderson SW, Dawson J. Driver Route-Following and Safety Errors in Early Alzheimer’s Disease. Neurology; 2004 Lee, J.D., McGehee, D.V., Brown, T.L., & Reyes, M.L., (In press), "Collision Warning Timing, Driver Distraction, and Driver Response to Imminent Rear End Collisions in a High-Fidelity Driving Simulator, Human Factors (in press) Navigation, Wayfinding and Place Experience within a Virtual City Murray et al, Presence, 2000 Landmarks vs. Path Integration in Virtual Reality, Vlada Aginsky, Andrew P. Duchon, William H. Warren, & Michael J. Tarr Paper presented at the 7th Annual Workshop on Object Perception and Memory (OPAM), November 1999 Bowman, D., Davis, E., Badre, A., and Hodges, L. Maintaining Spatial Orientation during Travel in an Immersive Virtual Environment. Also hostage rescue, firefighting

3 Focus of Our Research Behavioral Studies Validation Studies
Risk Factors for Intersection Crossing Temperament Adjustment to Change Validation Studies Distance and Motion Perception Building VE to Support Behavioral Studies Scenario Control and Behavior Modeling Vehicles and Pedestrians Database Modeling Data Analysis Tools

4 Gap Acceptance in the Hank Bicycle Simulator

5 Bicycle Simulator Video

6 Virtual Environment Three 10X8 ft screens (rear projection)
Electrohome DLV projectors -1280x1024 pixels/screen Square (Cave-like) configuration Seven networked PCs Dynamic pedal torque

7 Roadway Modeling (Willemsen, Kearney, Wang, IEEE VR 2003)
Roads as Ribbons Oriented Surface Smooth Strips Twist and turn in space Central Axis Arc-length parameterized curve Twist Angle Linked through Intersections

8 Ribbon Ribbon coordinate system Egocentric frame of reference
Distance, Offset, and loft (D,O,L) Efficient Mapping (D,O,L) (X,Y,Z) Egocentric frame of reference

9 Ribbon Centerline Modeled by cubic spline Q(t)=(x(t),y(t),z(t))
Arc-length parameterization Compute arc length s=A(t) Compute the inverse function t=A-1(s) Substitute A-1(s) for t P(s)=(x(A-1(s)),y(A-1(s)),z(A-1(s))) Pa’rameter ’inverse/in’verse conti’nuity ‘complex pa’rameterize in·ter·val /'in-t&r-v&l/ Centerline is the most important feature of a ribbon. It can be modeled as a parametric piecewise cubic spline curve. We choose some points from a ribbon centerline and use piecewise cubic spline functions to interpolate these points. Cubic Spline curves have great continuity. The first derivative and second derivative of a piecewise cubic spline are continuous. Polynomials of lower order lack continuity. Polynomials of higher order make computation unnecessarily too complex. Parametric curves are difficult to be used directly because Same parameter intervals don’t correspond to same arc length intervals. In this graph, blue points divide the curve into same parameter intervals, but different arc length intervals. This characteristic of a piecewise cubic spline curve makes motion control hard. In order to overcome this problem, we want piecewise cubic spline curves to be arc length Parameterized. This can be achieved in three steps, In the first step, we compute arc length as a function of parameter. In the second step, we compute the inverse function of the arc-length function. Finally, replace the parameter with the inverse arc length function. When we compare the two expressions, we find the parameter is changed. Now, in the new expression, for the same curve, the parameter is arc length. used for tracking spatial relationships. occupancy… etc…. Overlay ribbons… uniform way behaviors can deal with piece wise understructure…

10 Arc-length Parameterization
Generally A(t) does not integrate A(t) = Hence, A-1(s) is not an elementary function Numeric methods impractical in real-time Solution: Approximately arc-length parameterized cubic spline curve pa’rameterize ele’mentary nu’meric ‘integral ‘input However, it is hard to follow the three-step process to compute arc-length parameterization. The integral we use to compute arc length in the first step doesn’t integrate. Therefore, the inverse arc length function is not an elementary function. We have to use numeric methods to compute both arc length function and its inverse function. However, numeric methods are impractical for real-time simulation, especially when we have a lot of objects. Our solution is to create a second curve to approximate the original curve. We call the original curve input curve. We call the second curve derived curve. The derived curve is approximately arc length parameterized.

11 Approximately Arc-length Parameterized Cubic Spline Curve
Interpolate n input points Compute length of input curve Find m+1 equally spaced points on input curve: 0,t1, t2,…,tm-1,m Interpolate the equally space points to derive a new cubic spline curve in’terpolate ‘input sum / sΛm/ sample /’sæmpl/ The derived curve is also computed in three steps. In the first step, we compute arc length of the input curve. There are many methods to compute arc length, for example, Simpson’s rule and Gaussian quadrature. These methods can compute the arc length of a segment in one step. If there are more than one segment, the arc length of each segment is computed and the arc length of the whole curve is the sum of the arc length of all the segments. (IF WE HAVE TIME In order to control accuracy, we can use adaptive methods. Adaptive methods are based on the assumption that the more sampled points we have, the more accurate the result is. We compute the arc length with a fixed number of sampled points. Then, we double the number of sampled points and recompute the arc length. If the improvement is within the error limit, stop. Otherwise, continue to double the number of sampled points) In the second step, we compute equally spaced points on input curve. This computation maps arc length to parameter. We know the arc length between the start point and these points. We want to locate these points. We can use bisection method to locate these points. (IF WE HAVE TIME We have a segment. We know the parameter value and the arc length value on the two ends. To map an arc length to parameter value, we first assume the result is in the middle of the parameter range. We compute the arc length of the two halves. We then determine which half the parameter value is located. We have two new ends. Repeat) In the third step, we interpolate (X,y,z) to arc length S to get a new cubic spline curve. The derived curve goes through the equally spaced points we located in the second step. (IF WE HAVE TIME Direction of tangent vector on end points consistent with the input curve Magnitude of tangent vector on end points is 1.0)

12 Registration of Slant Curve
Compute the slant cubic spline Q(t) Based on slant at n input points Evaluate Q(t) at 0,t1,t2,…tm-1,m Interpolate Q(t), Q(t1), Q(t2),… Q(tm) to derive a new slant spline that corresponds to the arc-length parameterized ribbon axis Reparameterize the slant curve so that its parameterization corresponds to the arc-length parameterized ribbon axis.

13 Errors Analysis Match error Arc-length parameterization error
Misfit between the derived and input curves Measured by difference between the two curves at corresponding points, |Q(A-1(s) )-P(s)| Arc-length parameterization error Deviation of the derived curve from arc-length parameterization Measured by formula ‘Absolute To evaluate our method, we define match error and arc-length parameterization error. Because we derive a new curve to approximate the input curve, we need to compute their distance. Match error is the misfit of the derived curve from an input curve. We traverse the derived curve and input curve at the same time. The match error is measured as the difference between the two curves at corresponding points. It is an absolute error We want the derived curve to be arc length parameterized, we want to determine how accurately it is arc length parameterized. Arc-length parameterization error is the deviation of the derived curve from arc-length parameterization. Ideally, the value of this formula should always be 0. It is equal to the ratio of arc length error to arc length. It is a relative error.

14 Experimental Results (1) m=5 (2) m=10
Experimental curve(blue) and the derived curve (red) with their knot points Over’lap experi’mental We use a spiral curve as an experimental curve to show results of our method. We have two cases. In the left graph, we have 5 segments for the derived curve. We can see the misfit of the derived curve from the input curve. In the right graph, we double the number of segments for the derived curve. We can see the derived curve and the input curve match much better.

15 Experimental Results (cont.)
(1) m= (2) m=10 Match error of the derived curve These graphs show the match error for the two experimental cases. When the number of segments in the derived curve is doubled, the match error becomes 5 times smaller

16 Experimental Results (cont.)
(1) m= (2) m=10 Arc-length parameterization error of the derived curve These graphs show the arc-length parameterization error for the two experimental cases. When the number of segments in the derived curve is doubled, the parameterization error becomes 5 times smaller Now, The ribbon model is defined. Its centerline is approximately arc-length parameterized. Ribbon coordinate system is defined. We have two coordinate system: a global Cartesian coordinate system and local ribbon coordinate system. Some computations are most naturally expressed in cartesian coordinates. For example, the dynamics code that computes object motion. This is most simply computed in Cartesian coordinates. In other computations, object locations are expressed in ribbon coordinates. For example, behavior code that tracks roads. Because these computations are performed at very high frequency, we must have efficient and robust code to map between Cartesian coordinates and Ribbon coordinates. These mapping computations are often a bottleneck in real time simulators.

17 A parametric model for ribbons
A perpendicular line passes through any point on the ribbon Intersects the central axis at x(s),y(s),z(s) Parametric surface model Perpen’dicular Through any point on the ribbon, we can draw a line on the ribbon perpendicular to the central axis. The line intersect with the central axis. The intersection point can be computed from the cubic spline functions parameterized by arc length. The point on the ribbon can be expressed as sum of two parts, a point on the central axis, an offset along the line. Now, the central axis of a ribbon is approximately arc-length parameterized. Based on the arc-length parameterized centerline, we can build a parametric model for the ribbon. Motivate mapping between ribbon and Cartesian coordinates

18 Mapping between Ribbon and Cartesian coordinates
Some computations are most naturally expressed in Cartesian coordinates (D,O,L) Kinematics code computing object motion Other computations require object locations expressed in ribbon coordinates (X,Y,Z) Behavior code tracking roads Efficient and robust code to map between ribbon and Cartesian coordinates Mapping between Ribbon and Cartesian coordinates is important for a ribbon. Kinematics code computing object motion on a ribbon

19 Intersections—Where Roads Join
Shared regions Non-oriented Corridors connect incoming and outgoing lanes Single lane ribbons Annotated with right-of-way rules

20 Ribbon to Ribbon Transitions
Problem: Tangle of Ribbons Bookkeeping Tedious and Error Prone Possible switch in orientation Possible shift in alignment Solution: Paths Composite ribbons

21 Path One-lane Overlay Immediate Plan of Action
Removes transitions between ribbons Immediate Plan of Action Highly dynamic Natural frame of reference

22 Results Robust and Efficient Code Controllable Accuracy Flexible
Daily use Very reliable Controllable Accuracy Flexible Roadways Complex Intersections

23 Summary Ribbon Framework Intersections Paths
Natural frame of reference Local orientation explicit Relative distances simple to compute Intersections Paths Short-term immediate actions

24 Acknowledgments NSF Support: INT , EIA , and IIS ; National Center for Injury Prevention and Control: R49/CCR721682 Contributing students, staff, faculty Jim Cremer Jodie Plumert Hongling Wang Geb Thomas David Schwebel Pete Willemsen Penney Nichols-Whitehead Scott Davis Jennifer Lee Steffan Munteanu Sarah Rains Joan Severson Sara Koschmeder Tom Drewes Ben Fraga Forrest Meggers Kim Schroeder Paul Debbins Stephanie Dawes Bohong Zhang Lloyd Frei Zhi-hong Wang Keith Miller Xiao-Qian Jiang


Download ppt "Department of Computer Science"

Similar presentations


Ads by Google