Solve parking problem in an unstructured (i.e. no specific traffic rules for the vehicle) parking lot based on this simulation environment.
The added functionalities by us are:
- Simulation environment and graph building
- Hybrid A* path planner
- Nonlinear MPC formulation
For more details, please refer to our report.
hybrid_astar
: where hybrid A* path planner is implementedmotion_planning_scenes
: adapted (unmodified) from motion planning scenes repositoryobstacled_environments
: where the parking lot (obstacled) environments are defined ingym
mpc_controller
: where linear mpc controller is implementednonlinear_mpc
: where nonlinear mpc controller is implemented based on the acadosscenarios
: where the final files stored to get all togetherdummy_examples
: where we use some simple example to test the previous functionsparking_tasks
: where the final parking tests filed stored
With this project, we manage to solve the parking problem in an unstructured parking lot using the Hybrid A* algorithm as the path planner and the nonlinear model predictive control to further optimize the solution.
With Hybrid A* path planner, we manage to get a path from the initial place to the desired destination on our parking lot.
We use four different situations to test our code, separately without unexpected obstacle, static obstacle, encountering obstacle and following up obstacle. The plots for path and velocity of our self-driving car is shown below.
To run our code, please refer to the guidance here.