CSCE 452/752 Robotics and Spatial Intelligence, Fall 2025

8. Navigation: Visibility graphs

Introduction

Definition
A visibility graph can be used to compute shortest paths among known polygonal planar obstacles.
a navigation problem

Problem

Given:
Compute:

Visibility graph definition

Definition
The visibility graph is a weighted graph that includes all paths consisting of line segments between obstacle vertices, the start, or the goal.
Nodes: Edges:
After computing the visibility graph, plan a path using your favorite path-finding algorithm for graphs.
Some common mistakes:
  • Leaving out edges between adjacent vertices, i.e. along the obstacle boundaries.
  • Leaving out edges between non-adjacent vertices on the same obstacle.

Comment 1: Some edges can be eliminated

Consider an edge in the visibility graph between obstacle vertices.
  • Extend that edge into a full line.
  • Inspect one of the endpoints of the edge. Do the two obstacle edges lie on opposite side of the extended line? If so, eliminate that edge.
  • Repeat for the other endpoint.
The result is called a reduced visibility graph.
a reduced visibility graph
To determine if an edge can be removed, imagine that it extends just a little further in each direction. If that extension goes into an obstacle, then the edge is not part of the reduced visibility graph.

Comment 2: Shortest vs. Safest paths

The paths generated by this method are, by construction, very unsafe. Be careful what you ask for!
a navigation problem the generalized Voronoi graph
visibility graph Voronoi graph