  The problem of path planning in unknown environments remains a challenging
problem - as the environment is gradually observed during the navigation, the
underlying planner has to update the environment representation and replan,
promptly and constantly, to account for the new observations. In this paper, we
present a visibility graph-based planning framework capable of dealing with
navigation tasks in both known and unknown environments. The planner employs a
polygonal representation of the environment and constructs the representation
by extracting edge points around obstacles to form enclosed polygons. With
that, the method dynamically updates a global visibility graph using a
two-layered data structure, expanding the visibility edges along with the
navigation and removing edges that become occluded by newly observed obstacles.
When navigating in unknown environments, the method is attemptable in
discovering a way to the goal by picking up the environment layout on the fly,
updating the visibility graph, and fast re-planning corresponding to the newly
observed environment. We evaluate the method in simulated and real-world
settings. The method shows the capability to attempt and navigate through
unknown environments, reducing the travel time by up to 12-47% from
search-based methods: A*, D* Lite, and more than 24-35% than sampling-based
methods: RRT*, BIT*, and SPARS.
