An open API service indexing awesome lists of open source software.

https://github.com/winstxnhdw/offlinepathoptimisation

An investigation of various path planning optimisation techniques from academic papers in Jupyter Notebook.
https://github.com/winstxnhdw/offlinepathoptimisation

constraints minimize optimisation path-planning path-smoothing scientific-computing scipy visualisation waypoints

Last synced: about 2 months ago
JSON representation

An investigation of various path planning optimisation techniques from academic papers in Jupyter Notebook.

Awesome Lists containing this project

README

        

# OFFLINE PATH PLANNING OPTIMISATION

This notebook elaborates the testing and development of an offline path planning optimisation pipeline to generate a safe and feasible reference path for an ego vehicle.

## Objective

The pipeline takes a set of coarsely placed waypoints and adjusts their localisation so as to comply with certain **path curvature** constraints in view of the vehicle's size and steering capability. The adjusted waypoints should be as close as possible to the original waypoints without violating any curvature constraints.



## Approaches

- [Focused Trajectory Planning for Autonomous On-Road Driving](https://www.ri.cmu.edu/pub_files/2013/6/IV2013-Tianyu.pdf) by Gu et. al.

- [Segmented Constrained Path Optimisation](examples/constrained.ipynb)

- [Unconstrained Waypoint Optimisation](examples/unconstrained.ipynb)

- [Controlled Unconstrained Waypoint Optimisation](examples/controlled.ipynb)

## Results

A controlled real-world test was conducted only on the waypoints generated from the [unconstrained approach](examples/unconstrained.ipynb). Empirical data indicated higher comfort levels during transportation when compared to the tracking of unoptimised waypoints. With curb information accounted for ([see the controlled approach](examples/controlled.ipynb)), the resultant path held a safer distance from the curb without any noticeable loss in passenger comfort.

## Requirements

```bash
pip install -r requirements.txt
```