Juliacon 2024

Optimization Methods for Robot Motion Planning in JuMP
2024-07-12 , If (1.1)

Path planning is used in applications from self-driving cars, unmanned aerial vehicles and in robotics. Recent developments in mathematical optimization theory and more capable solvers will enable exciting optimization-based techniques to further improve performance and reliability of autonomous systems. This talk will walkthrough from theory to application how trajectory optimization can be applied in the context of path planning for your desired application.


The optimization problem is as follows: our objective is to find the “smoothest” path from a starting point to an end point such that we avoid collision with any obstacles. The obstacles are assumed stationary for all time. Smooth means not jerky (i.e. low rate of change in acceleration over time).
To represent this problem, the map is divided into a set of safe regions. A safe region is one that does not contain any part of an obstacle. This is done so we can use mixed integer programming to assign path segments to safe regions. The paths themselves will be represented as polynomials. Using Hypatia, a generic conic solver with MOSEK solver one can solve this problem.

Once a feasible and optimal solution is found we need to visualize to verify the results. The talk will demonstrate using Makie to analyze these results. Furthermore, using IJulia, one can develop dashboards in an REPL like fashion so researchers and scientific programmers alike can focus on the problem at hand. We will discuss some main concepts such as observables, accepting user input and dynamically updating charts.

Finally, the talk will discuss the main results for a numerical experiment and outline the challenges associated with optimization-based approaches and techniques the practitioner can apply. This includes exploring some of the main APIs in JuMP and related math packages used to solve this optimization problem.

The talk is appropriate for a general audience especially for those in applied math, engineering, and robotics.

See also: