Title: Efficient Roadway Modeling and Behavior Control for Real-time Simulation
1Efficient Roadway Modeling and Behavior Control
for Real-time Simulation
- Hongling Wang
- Department Of Computer Science
- University of Iowa
- Oct. 28, 2004
2Overview
- Research introduction
- Motivation
- Model of roadways
- Behavior control on roadways
- Contributions
- Future work
3Research Introduction
- Dynamic Virtual Environment
- Vehicles, pedestrians, etc
- Lots of them!
- Roadway Modeling
- Put some activities on roadways
- Behaviors
- Control the activities happing on roadways
4Motivation
- Virtual environments
- Laboratories for psychology
- Understanding driver/rider behavior
- Test future car concepts
- More applications
5Roadway Modeling
- Ribbon network
- Modeling roads, streets, sidewalks, and other
navigable ways as ribbons - Ribbon defines geometry and orientation of
navigable surface - Centerline curve
- Ribbon twisting around centerline
- Boundaries on two sides
- Orientation
6Ribbon
- Ribbon coordinate system
- Distance, Offset, and loft (D,O,L)
- Provides a frame of reference for local spatial
relationships
7Ribbon Centerline
- Modeled by cubic spline
- Q(t)(x(t),y(t),z(t))
- Arc-length parameterization
- Compute arc length s as a function of parameter t
- Compute the inverse function
- tA-1(s)
- Replace parameter t with A-1(s)
- P(s)(x(A-1(s)),y(A-1(s)),z(A-1(s)))
8Arc-length Parameterization
- Generally integral for A(t) does not integrate
- sA(t)
- Function tA-1(s) is not elementary function
- Numeric methods impractical for real-time
applications - Solution Approximately arc-length
- parameterized cubic spline curve
9Approximately Arc-length Parameterized Cubic
Spline Curve
- Compute length of input curve
- Find m1 equally spaced points on input curve
- Interpolate the equally space points to arc
length s to derive a new cubic spline curve
10Errors Analysis
- Match error
- Misfit of the derived curve from an input curve
- Measured by difference between the two curves at
corresponding points, Q(t)-P(s) - Arc-length parameterization error
- Deviation of the derived curve from arc-length
parameterization - Measured by formula
11Experimental Results
- (1) m5
(2) m10 - Experimental curve(blue) and the derived curve
(red) with their knot points
12Experimental Results (cont.)
-
- (1) m5
(2) m10 - Match error of the derived curve
13Experimental Results (cont.)
- (1) m5
(2) m10 - Arc-length parameterization error of the
derived curve
14A parametric model for ribbons
- Through any point on a ribbon passes a line that
lies on it and is perpendicular to the central
axis - Intersection between the line and the central
axis (x(s),y(s),z(s)) - Unit normal vector v on the line pointing to left
side - A parametric surface model
15Mapping 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
16Mapping DOL to XYZ
- Compute p1 with distance coordinate Dp
- Compute p2 with p1 and offset coordinate Op
- Compute p with p2 and loft coordinate Lp
-
- Conclusion this mapping is very efficient
17Mapping XYZ to DOL
- Locate the closest point p1 and get Dp
- Compute p2, the projection of p
- Offset Op is p1-p2
- Loft Lp is p-p2
- Problem computation of the closest point
18Closest Point Computation
- Modeled as an optimization problem of computing
the minimum distance between a spatial point and
a parametric spatial curve -
- Quadratic minimization
- Newtons method
- Combining quadratic minimization and Newtons
method
19Method 1 Quadratic Minimization
- Let s1, s2, and s3 be estimates of s
- Compute a quadratic polynomial p(s) that
interpolates D(s) at s1, s2, and s3 - Solve s4 that minimizes p(s)
- if
- then s s4
- else si s4 with i such that p(si)
( p(sj) ) - repeat
20Observation of Quadratic Minimization
- Rates of slow convergence and divergence make
this method unacceptable by itself. - Fails on seemingly simple cases.
- In these cases the method usually makes progress
in the initial iterations and then stalls.
21Method 2 Newtons Method
- Solve the rootfinding problem
-
- Let s0 be initial estimate of s
- repeat
-
- until
22Observation of Newtons Method
-
- Infrequent divergence causes unacceptable
failure rate. - Unpredictably diverges for some points
- With a good initial estimate converges in 1 or 2
iterations.
23Method 3 Combining Quadratic Minimization and
Newtons Method
- Exploits the complementary strengths of the
- two optimization techniques
- Run the quadratic method for a small number of
steps (typically about 4). - Run Newtons method initialized with the result
from the quadratic method.
24Observation of Composite Method
- Reliable and rapid convergence
- Quadratic method provides a good estimate to
initialize Newtons method - Newtons method robustly converges (usually in 1
or 2 iterations.) - The method has undergone rigorous testing in the
Hank Simulator - We have had no failures.
25Results of Three Methods
Statistics of three methods
- Example curve and some spatial points
26IntersectionsWhere Roads Join
- Shared regions of way
- Non-oriented
- Corridors splice together incoming and outgoing
lanes - Seen as single lane ribbons
27Limitations of ribbons
- Transition between ribbons is hard
- Different ribbons represent different local
coordinate systems - Hard to understand the spatial relationship of
positions on different ribbons - Solution a uniform ribbon called a path to
unite connected, aligned ribbons - Lanes on roads and corridors on intersections are
seen ribbons
28Path
- Single-lane ribbon overlaid on the road network
- Easy transition between a road and an
intersection - An interface between behaviors and the
environment - The path relates behaviors to environment
- Augmented dynamically
- The vehicle is never behind or ahead of its path.
29A Path as a Basis for Building Behaviors
- A path is a frame of reference for tracking
- Aim for a succession of pursuit points on the
path - A frame of reference for local spatial
relationships
30Tracking Behavior
- Ribbon coordinates
- Pursuit point
- Project pursuit point onto the vehicles local XY
plane - Compute a circular track
- Move the vehicle to a new position on the
circular track - Project the new position onto ribbon surface
31Cruising Behavior
- Determine desired speed of an vehicle
- Proportional controller
32Path Based Following Behavior
- Query the leader on path
- Compute relative distance and relative speed
- Proportional-derivative controller
- Discarded if positive otherwise applied
33Intersection Behavior
- Gates access to a shared region of roads
- An intersection is a resource
- Decision of action selection
- Going forward/stopping
- Stop a vehicle on a desired position
- Right-of-way rules and social conventions
embedded in environment database - Regulate the motion of a vehicle before it enters
an intersection
34Intersection Behavior (Cont)
- Solve deadlock problem
- Two vehicles yield right of way to other two
vehicles to block them at the same time - Solve starvation problem
- A vehicle yielding right of way gets stuck if
vehicles having right of way come in a continuous
stream
35Limitations of a Path
- An action-oriented geometric steering guide
- A path between the current and goal positions
does not always exist - Solution a goal-oriented topological directional
steering guide called a route
36Route
- A succession of roads and intersections
- A global, strategic goal of an agent
- The route is determined ahead of the path
- The path is updated according to the requirements
of the route - Support lane changing behaviors
- Discretional lane change (DLC)
- Mandatory lane change (MLC)
37Route Based Lane Changing Decision Making
- The route forms constraints for choice of lane on
a road - Lane change decisions subject to the constraints
- A DLC must consider route constraints
- An MLC must enforce route constraints
38Path Based Lane Changing Action
- A lane changing gap determined by the spatial
relationship between the vehicle and nearby
vehicles - The path forms a frame of reference to deviate
the pursuit point from the current lane to the
target lane
39Behavior Combination
- Combine acceleration contributions from
- Cruising behavior
- Following behavior
- Intersection behavior
- Combine steering angle contributions from
- Tracking behavior
- Lane changing behavior
40Solve Disturbances between Component Behaviors
- The switch in leaders when a vehicle leaves one
lane and enters another - Abrupt acceleration change
- Start two copies of following behavior
- Following behavior stops lane changing progress
- Relaxing following distance
41Solve Disturbances between Component Behaviors
(Cont.)
- Following behavior unnecessarily slows down lane
changing process - Disable following behavior in the original lane
when it has a clear trajectory to the target lane - Visibility computation in DO plane
42Contributions
- An accurate, efficient, robust roadway model
- Ribbon network
- Arc length parameterization
- Efficient mapping between ribbon and Cartesian
coordinates - A framework for modeling behaviors
- Ribbon based tracking
- Path based behaviors
- Route as a strategic goal
43Future Work
- Accuracy, efficiency, and robustness of geometric
computations for off-road objects - Efficient model for non-oriented navigable
surfaces, i.e., intersections - Good pursuit point control
- Behavior diversity
- Non autonomous behaviors