SLIDE 1
The way to go with WPS
Knut Landmark and Espen Messel The Norwegian Defence Research Establishment (FFI)
SLIDE 2 Path planning: Best route between two points
- Quickest
- Shortest
- Cheapest
- Safest
- Least exposed
SLIDE 3 Path planning: Best route between two points
- Quickest
- Shortest
- Cheapest
- Safest
- Least exposed
Image: Aurtjern, by Michal Klajban (unmodified) https://creativecommons.org/licenses/by-sa/3.0/deed.en
SLIDE 4 Path planning: Best route between two points
- Quickest
- Shortest
- Cheapest
- Safest
- Least exposed
Image: Hurrungane, by Tore Urnes https://creativecommons.org/licenses/by/2.0/deed.en
SLIDE 5 Task: Path planning in terrain
– 325.000 km2 – 2000 km
- Shortest or safest route for
vehicles or troops
roads or paths
- Estimate travel time
- Estimate exposure/visibility
?
Nordmarka, Oslo (25 km2)
SLIDE 6
- Situation-dependent path planning in large graph
- Service-oriented information infrastructure
- Detailed land cover data
- Hires elevation data (1 m) awaited
- Simulations of ground physics
Perspective
Image: Norwegian Mapping Authorities (Kartverket). Pilot study, detailed national elevation model
SLIDE 7 Road map
- Graph/weight generation
- Routing examples
- WPS implementation
- Outlook
km2
Image: http://www.skiforeningen.no
SLIDE 8 Graph types
- Regular
- Random
- Visibility graph
- Voronoi graph
- Navigation mesh
SLIDE 9 Graph types
- Regular
- Random
- Sight graph
- Voronoi graph
- Navigation mesh
SLIDE 10 Graph types
- Regular
- Random
- Visibility graph
- Voronoi graph
- Navigation mesh
SLIDE 11 Data types
- Elevation (10 m)
- Land cover
- Road network
- Path network (OSM)
- Aerial Lidar
- Ground physics model
- Weather forecasts
- Hazards
- Aerial photography
SLIDE 12 Data types
- Elevation (10 m)
- Land cover
- Road network
- Path network (OSM)
- Aerial Lidar
- Ground physics model
- Weather forecasts
- Hazards
- Aerial photography
Axial variance
SLIDE 13 Data types
- Elevation (10 m)
- Land cover
- Road network
- Path network (OSM)
- Aerial Lidar
- Ground physics model
- Weather forecasts
- Hazards
- Aerial photography
Land cover polygons
SLIDE 14 Data types
- Elevation (10 m)
- Land cover
- Road network
- Path network (OSM)
- Aerial Lidar
- Ground physics model
- Weather forecasts
- Hazards
- Aerial photography
Land cover polygons
SLIDE 15
Lidar (4 km2 test dataset, 1 m grid)
SLIDE 16
Graph generation principles
1) Random graph with node density depending on terrain attributes 2) Triangulation 3) Hierarchical representation based on clustering of nodes
SLIDE 17 Node placement (roads)
- All vertices are preserved
and used for computing weights
inserted
SLIDE 18 Node placement (roads+paths)
- All vertices are preserved
and used for computing weights
inserted
SLIDE 19 Node placement (terrain, probabilistic)
- All vertices are preserved
and used for computing weights
inserted
SLIDE 20 Triangulated graph
- All vertices are preserved
and used for computing weights
inserted
SLIDE 21 Graph: Sparse matrix representation
ji ij
w G w =
Node: i j
SLIDE 22 Graph: Hierarchical representation
- Based on cluster analysis of detailed graph
- Distance measure is travel time
- Cluster distance based on
representatives or centroids
- Form hierarchy of partitions,
𝑇1, . . , 𝑇𝑀, with decreasing number of clusters
performed on union of clusters in shortest path at step 𝑙 − 1
- In step 𝑙, may also include
neighbors of SP at step 𝑙 − 1
SLIDE 23 Cluster problem formulation and solution:
- 𝐵 = 𝑤1, … , 𝑤𝑂 is a set of nodes.
- For 𝐷 ⊆ 𝐵, 𝐸(𝐷) measures cluster size.
- Specify an upper limit on cluster size, 𝑆 = max
𝑙
𝐸(𝐷𝑙).
- Find partition such that 𝐵 = ⋃
𝐷𝑙
𝐿 𝑙=1
and 𝐿 is minimal.
- Exact solution is impossible in practice for sizable 𝑂 (NP-hard).
- Use non-optimal «greedy» algorithm instead (𝑙-centre based).
- Requires one single-source, all-shortest paths computation per
cluster.
SLIDE 24
Partition with size 𝐄 = 𝟐𝟐 mi min walking distance
SLIDE 25 Cost functions
- Cost functions for standard conditions for roads, paths, and terrain.
- Based on literature, physics, empirical data
- Scale factors account for effect of snow, surface roughness etc.
(work in progress).
- Standard cost functions used to generate grid, weights computed
dynamically for SP solution
- Different categories (work in progress):
– hikers/soldiers – vehicles – bicycles
SLIDE 26
Cost functions for pedestrians
Downhill Uphill
SLIDE 27 Our system
- The ZOO WPS-server handles all the requests
- The graph is stored in Postgres with PostGIS extension
- Our own Postgres module calculates edge weights
- We use pgRouting (two-way shortest path A*) to estimate the time to
traverse the route
SLIDE 28 Chained (nested) WPS request
- Run routing on different graph
resolutions in a nested request
– Starts on a rough graph and loops down to the graph with the best resolution
– Cost calculations – Routing algorithm
SLIDE 29
WPS client
SLIDE 30
Routing example
SLIDE 31
Routing example
SLIDE 32
Routing example
SLIDE 33
Routing example
SLIDE 34
Routing example
SLIDE 35
Example: shortest path in three (coarse) levels
SLIDE 36
Example: shortest path in three (coarse) levels
SLIDE 37
Example: shortest path in three (coarse) levels
SLIDE 38 Further work: ground physics
- Norwegian Meterological Institute R&D
- Validation against observations
- Predict snow depth, temperature profile, load carrying capacity, fresh-water run-off
SLIDE 39 Summary
- Path planning in terrain
- Situation-dependent edge weights
- Random graph, hierarchical representation
- Service-oriented implementation with WPS and ZOO
- PostGIS with pgRouting
SLIDE 40
Aknowledgements
SLIDE 41
Thank you!