CVAE for sampling-based motion planning

course project for CSE535 at Rutgers.

This is the course project for CSE 535 in Fall 2020 at Rutgers University. The motivation of the project is to apply deep learning methods to motion planning problems, to learn the distributions of motion planning data so that to accelerate the motion planning algorithm, especially sampling-based motion planning. The idea of applying Conditional Variational Autoencoder (CVAE) comes from this paper, where the authors propose to use CVAE for learning the sampling distribution for motion planning problems and use the input to condition the distribution on specific planning problems. This project, however, uses the CVAE to condition upon meaningful criteria, specifically, the progression of the planning (the ratio in path length) and the mode of the solution. The conditional variables are thus the obstacle information, the start state, the goal state, and the ratio of progression. The concept can be illustrated as the following figure:

This figure illustrates the two dimensions that control the distribution for a 2D motion planning problem. One is along the path direction, which represents the ratio of progression. Another (could be more dimensions) denote the dimension that represents the mode of the solution. For the given figure, it shows the case where there are two modes, and thus the value along this dimension shows the blending of them for solution distribution.
Result of the CVAE model on simple 2D motion planning problem. As shown, different images are generated by the condition of progression ratio along the path given by user inputs (a variable in the range of 0 to 1 selecting the progression ratio). This illustrates the concepts of this project.
The CVAE model applied to complex 2D motion planning problem. The images are generated by concatenating the samples for all progression from 0 to 1 by user input. This illustrates the concept that the concatenated samples learn the distribution of near-optimal solutions.

However, the results I obtained from the course project wasn’t promising for accelerating the motion planning algorithm. It shows that there may be some issues, e.g. the way I combine the sampling distribution to motion planning. It shows that more analysis of the result remains to be done to understand the result and how to improve it.

the initial solution iteration number
the initial solution computational time
the initial solution cost
Comparison of CVAE sampling and uniform sampling in simple 2D environment on RRT*.
the initial solution iteration number
the initial solution computational time
the initial solution cost
Comparison of CVAE sampling and uniform sampling in complex 2D environment on RRT*.

Conclusions:

  • Constructed and trained a CVAE model for sampling-based motion planning by following a previous paper.
  • Added condition to select near or far samples relative to the start.
  • Constructed environments: simple 2d, complex 2d and TAMP.
  • Visualized and tested against a classical motion planner (RRT*)

Future Work:

  • Finish testing the model on complex 2d and TAMP problems.
  • Debug and analyze why there is no major improvements on the solution (possibly it could be because the planning problem is so too, e.g. the DOF of the problem is small, and hence the classical method is already fast enough, and thus there wouldn’t be dramatic improvement as the improvement factor is small)
  • Figure out how to further accelerate the performance
  • Study how to use the “multi-modal” dimension