Research Projects

Quick Navigation to the Projects: [2D Coverage Path Planning] [3D Coverage Path Planning] [Multi-robot Resilient Control] [Time-optimal Curvature-constrained Path Planning]

 

1. Coverage Path Planning in Unknown Environments: The ε* Algorithm

Paper published [here]

The Problem: Many real-world applications require to plan an efficient path for autonomous vehicles to completely search an area of interest, such as floor-cleaning, oil-spill cleaning, lawn mowing, etc. This is known as the Coverage Path Planning Problem.

Challenges:
(1). Unknown Environment: The exact shape and locations of obstacles must be detected online and coverage path must be adapted in real time based on information derived from sensor measurements.
(2). Path Pattern: The algorithm should produce the desired back-and-forth coverage path, as compared to spiral path that require a high number of turns for the vehicle;
(3). Tasking and Navigation Control for the Autonomous Vehicle: The autonomous vehicle must perform tasks (e.g., cleaning) in the coverage region, hence it must receive tasking and navigation commands from an on-board supervisor.
(4). Computational complexity: The complexity for waypoint computation must be fairly low for suitability to real- time applications.
(5). Complete coverage: The algorithm must not suffer from the looping or the local extrema problem, and it must guarantee complete coverage in finite time.

The ε* (pronounces: epsilon star) Algorithm: We proposed a novel sensor-based coverage path planning algorithm, called ε*, that guarantees complete coverage in unknown environments. The algorithm generates a back-and-forth trajectory with shorter length and less number of turns as compared to a number of popular existing coverage algorithms, as shown on the right hand side. More details are published [here].

The algorithm utilizes the concept of an Exploratory Turing Machine (ETM), which acts as a supervisor to the autonomous vehicle and guides it with navigational commands.
image1
The ETM maintains a multi-level adaptive potential surface (MAPS), denoted as ℰ, ℓ = 0,..., L;, which is dynamically updated using its on-board sensing measurements obtained via the input vector ip, as shown above. At the lowest level ℓ = 0, each cell is assigned a dynamically changing potential, while at higher levels ℓ = 1,..., L, each coarse cell is associated with the mean potential of all unexplored cells within it. Typically, the ETM operates at the lowest level (i.e., ℓ = 0) of MAPS and utilizes the information within its local neighborhood to update navigational commands, which is sent to the autonomous vehicle via an output vector Op. However, if it gets trapped into a local extremum, where no unexplored can be found locally, then it gradually switches to a higher level on the MAPS until it can find the next waypoint. Then it switches back to the lowest level and resumes to typical operation.

Typical operation of ETM: As an example, as shown below, initially, the entire search area is unknown hence all grid cells at level ℓ = 0 are assigned with symbol "U" (i.e., unexplored) and the potential surface is assigned with a time-invariant exogeneous positive potential field B, which is designed offline to have plateaus of equipotential surfaces along each column of the cells. The plateaus monotonically increase in height by one unit from 1 on the rightmost column to the maximum value on the leftmost column. Thus, such B facilitates the back-and-forth motion in an obstacle free region by following the highest positive equipotential surface from left to right.

Then, as the autonomous vehicle explores the search area and uses its on-board sensing systems to discover explored ("E"), obstacle ("O") and forbidden ("F", i.e., a buffer created around obstacles to prevent collision due to sensor noise) cells, the corresponding potential for explored cells are turned to 0, while the potential for "O" and "F" cells are turned to -1. These assignments will help obstacle avoidance and also prevent the vehicle from re-visiting already tasked cells. The next waypoint is the center of the cell in its neighborhood that has the max potential.
image2


Validations: The ε* algorithm has been validated both on the high-fidelity simulator of Player/Stage and in real experiments.

Validations: Simulations on Player/Stage


A comparison of coverage path with alternative online CPP methods in two complex environment

image1

Videos: Simulations on Player/Stage Simulator

Validations: Real Experiments


The algorithm was further validated in real experiments using an autonomous ground vehicle (AGV) that is equipped with a HOKUYO laser, a Hagisonic StarGazer indoor localization system and ten ultrasonic sensors. The videos are show below.

Videos: Real Experiments using an Autonomous Ground Vehicle

image2
 

1.5 Extended Work: 3D Coverage in Unknown Environments

Paper published [here]

The Problem: The ε* algorithm was extended to solve the 3D coverage problem in unknown environment. We use the underwater terrain reconstruction problem as an example for illustration. This problem requires the autonomous underwater vehicle (AUV) to completely scan and then reconstruct the 3D surface of the underwater terrian, thus an efficient coverage path is needed that guarantees complete coverage in the 3D unknown environment.
image1

3D Coverage using Multi-level Coverage Trees: We proposed the 3D coverage strategy using multi-level coverage trees, as shown below. The algorithm guides the AUV to scan layer by layer in a top-down manner, while it dynamically constructs a coverage tree to record the search progress.
image2


Each node in the coverage tree refers to a sub-region on a horizontal surface; initially, the tree contains a single root which is the highest layer. When the AUV is searching within a node using the ε* algorithm, it uses its multi-beam sensor to scan the environment beneath it and identifies the "child nodes" and addes them to the existing coverage tree.

As it completes searching the current node, it either calls Breadth-first-search (BFS) or Depth-first-search (DFS) to compute for the next region to explore. The coverage is completed when no more nodes are unexplored in the tree. Then, the multi-beam sensor measurements, which constitute a 3D point cloud, are used to reconstruct the surface using the Alpha-Shape.

Validations: We have validated its efficacy on the Robot Operating System (ROS) with UWSim. The results are shown on the right hand side.


A Comparison of 3D Coverage Path using BFS and DFS Search

image1

Terrain Reconstruction using Alpha-Shape

image1
 

2. Multi-robot Resilient Control

The Problem:

Challenges: Under construction

The care Algorithm: Under Construction...

Validations: under construction
 

3. Time-optimal Risk-aware Path Planning for Curvature-constrained Vehicles

The Problem: Under construction.

Idea: Under construction.

Results