Skip to content

This project aims to develop a solution for autonomous vehicle path planning in parking lots. The solution combines motion planning and collision avoidance algorithms to enable vehicles to navigate and park in tight spaces. A simulated world is created using a 2D grid, where different vehicle types are placed in a compact space.

License

Notifications You must be signed in to change notification settings

upasana099/Autonomous-Vehicle-Path-Planning-in-Parking-Lots

Repository files navigation

Autonomous Vehicle Path Planning in Parking Lots

Autonomous vehicles are becoming increasingly common on roads worldwide, and as they become more prevalent, they must be capable of performing complex maneuvers in tight and cluttered spaces, such as parking lots. The ability to navigate such environments requires advanced path planning algorithms that take into account the kinematics of the vehicle as well as potential collisions with other objects in the environment.

The challenge of parking becomes even more complex when the available space is compact, and multiple vehicles need to be parked in close proximity to each other. This requires a path planning algorithm that can take into account the kinematics of the vehicles, such as their turning radius and maximum steering angle, and can plan paths that enable the vehicles to park without colliding with each other.

Environment

The project is built using Python's pygame package, which provides a graphical environment for the simulation. The parking lot is represented as a two-dimensional grid, where each cell represents a portion of the parking area. The vehicles start from the northwest corner of the grid and need to reach a small spot at the southern boundary, surrounded by other parked vehicles and an obstacle in the middle area. environment

Vehicle Types

The project considers three vehicle types for parking and each vehicle type has different kinematics and steering mechanisms, which need to be taken into account during the path planning process.

  1. Delivery Robot with Differential Drive Kinematics

differential drive kinematics

  1. Car with Ackerman Steering Kinematics

ackerman kinematics

  1. Car pulling Trailer Kinematics

ackerman kinematics

Each vehicle type has different kinematics and steering mechanisms, which need to be taken into account during the path planning process.

Algorithms Used

A* Algorithm

The A* algorithm is employed to plan a safe and efficient route for the vehicles. The map is represented as a grid, where each cell represents a portion of the road. The algorithm calculates the cost of moving from one cell to another, considering factors such as road conditions, traffic, and obstacles. A heuristic function based on the Euclidean distance is used to estimate the cost of reaching the destination from each cell. The algorithm gradually explores neighboring cells with the lowest cost, moving towards the destination.

Results

The project provides path plots for the following scenarios:

  1. Delivery Robot with Differential Drive

  2. Car with Ackerman Steering

  3. Car pulling Trailer

The path plots demonstrate the planned paths that enable the vehicles to park without colliding with each other.

  1. Delivery Robot with Differential Drive

delivery robot

  1. Car with Ackerman Steering

police car

  1. Car pulling Trailer

WhatsApp Image 2023-06-23 at 20 03 04

The path plots demonstrate the planned paths that enable the vehicles to park without colliding with each other.

About

This project aims to develop a solution for autonomous vehicle path planning in parking lots. The solution combines motion planning and collision avoidance algorithms to enable vehicles to navigate and park in tight spaces. A simulated world is created using a 2D grid, where different vehicle types are placed in a compact space.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages