Briefing

Sample Based Motion Planning.

This project is intended as educational replication of several general ideas: - Sparseness - Motion Primitives - Importance Sampling

A sub-goal of this project is to integrate and leverage benefits of several of these ideas in a hybrid solution.

Inputs to program - system dynamics and various constraints are supplied as functions - environment obstacles

What's in it: - Sparseness - Stable Sparse RRT (https://www.cs.rutgers.edu/~kb572/pubs/stablesparserrtWAFR14LLB.pdf) - approximate nearest neighbour with stochastic search - Motion Primitives: - lookup for feasible control for steering toward a direction (https://arxiv.org/pdf/1809.02399.pdf) - compile flag for enabling its use - adapted for run-time lookup filling - non-grid based greedy goal-neighbourhood search - Importance Sampling: - adaptive sampling (https://journals.sagepub.com/doi/pdf/10.1177/0278364912444543) - used for trajectory optimization with a given fitness function

Writeups, Benchmarks, etc..

project

Running Planner

Generating Random Obstacles (a couple obstacles exists in obstacles/ folder)

Using Random Obstacles

Generating Custom Maps (need to run this once in order to use custom maps):

Screenshots

Simple Environments

drawing drawing drawing drawing drawing

Hard Game Maps

drawing drawing drawing drawing drawing