The way to go with WPS Knut Landmark and Espen Messel The Norwegian Defence Research Establishment (FFI)
Path planning: Best route between two points • Quickest • Shortest • Cheapest • Safest • Least exposed
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
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
Task: Path planning in terrain • Cover all of Norway – 325.000 km 2 – 2000 km ? • Shortest or safest route for vehicles or troops • Motion not restricted to roads or paths • Estimate travel time • Estimate exposure/visibility Nordmarka, Oslo (25 km 2 )
Perspective • 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 Image: Norwegian Mapping Authorities (Kartverket). Pilot study, detailed national elevation model
Road map • Graph/weight generation • Routing examples • WPS implementation • Outlook km 2 Image: http://www.skiforeningen.no
Graph types • Regular • Random • Visibility graph • Voronoi graph • Navigation mesh
Graph types • Regular • Random • Sight graph • Voronoi graph • Navigation mesh
Graph types • Regular • Random • Visibility graph • Voronoi graph • Navigation mesh
Data types • Elevation (10 m) • Land cover • Road network • Path network (OSM) • Aerial Lidar • Ground physics model • Weather forecasts • Hazards • Aerial photography
Data types • Elevation (10 m) • Land cover • Road network • Path network (OSM) • Aerial Lidar • Ground physics model • Weather forecasts • Hazards • Aerial photography Axial variance
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
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
Lidar (4 km 2 test dataset, 1 m grid)
Graph generation principles 1) Random graph with node density depending on terrain attributes 2) Triangulation 3) Hierarchical representation based on clustering of nodes
Node placement (roads) • All vertices are preserved and used for computing weights • Additional nodes are inserted
Node placement (roads+paths) • All vertices are preserved and used for computing weights • Additional nodes are inserted
Node placement (terrain, probabilistic) • All vertices are preserved and used for computing weights • Additional nodes are inserted
Triangulated graph • All vertices are preserved and used for computing weights • Additional nodes are inserted
Graph: Sparse matrix representation Node: i 0 0 w j ji 0 = G 0 w 0 ij 0
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 Path planning at step 𝑙 • performed on union of clusters in shortest path at step 𝑙 − 1 In step 𝑙 , may also include • neighbors of SP at step 𝑙 − 1
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 𝐵 = ⋃ 𝐷 𝑙 and 𝐿 is minimal. • 𝑙=1 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.
Partition with size 𝐄 = 𝟐𝟐 mi min walking distance
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
Cost functions for pedestrians Downhill Uphill
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
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 • Needed for speeding up: – Cost calculations – Routing algorithm
WPS client
Routing example
Routing example
Routing example
Routing example
Routing example
Example: shortest path in three (coarse) levels
Example: shortest path in three (coarse) levels
Example: shortest path in three (coarse) levels
Further work: ground physics • Norwegian Meterological Institute R&D • Validation against observations • Predict snow depth, temperature profile, load carrying capacity, fresh-water run-off
Summary • Path planning in terrain • Situation-dependent edge weights • Random graph, hierarchical representation • Service-oriented implementation with WPS and ZOO • PostGIS with pgRouting
Aknowledgements
Thank you!
Recommend
More recommend