Kyle-Xu001 / Planning_Project

RO47005 Planning & Decision Making

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quadrotor Planning (RO47005 Project)

Simulation environment

This project is built based on this simulation environment. The already built functionalities in this environment are:

  • Informed-RRT* path planner.
  • Minisnap trajectory generation (solved by closed-form solution) without collision avoidance .
  • A non-linear controller for path following.
  • A quadrotor simulator.

Our contributions

The newly added functionalities by us are:

  • PRM* path planner.
  • Collision free minisnap trajectory optimization using two methods, namely corridor bounding method and waypoint insertion method.
  • Kinodynamics RRT* using polynomial as steering function.
  • Velocity Obstacles (currently under construction).
  • Dynamic window approach (not used due to poor performance).
  • Random generated map for simulation.

Please refer to our report for detailed infomation.

Dependencies

numpy, matplotlib, rtree-linux, scipy, CVXPY, CVXOPT

Usage

K-PRM* with Minisnap and Corridor Bounding Method

python runsim_prm.py

Kinodynamics RRT*

python runsim_kinorrt.py

Velocity Obstacle (still under construction)

python Quadrotor-Simulation/runsim.py

Future work

  • Trajectory optimization of kinodynamics RRT*
  • Using B-spline for collision avoidance
  • Finer adjustment for velocity obstacle
  • Try to implement model predictive control (MPC)

About

RO47005 Planning & Decision Making


Languages

Language:Python 99.9%Language:Shell 0.1%Language:HTML 0.0%