To learn Julia, I wanted a project that was complex enough that I’d have to use various features of the language but also not too complex (or new) such that I got bogged down in the details of the algorithm. As such, I chose to implement a polynomial optimisation algorithm developed by Charles Richter at MIT.
Here’s a link to the project. It’s still pretty rough but I’m eventually hoping to:
- clean up the code – was writing a lot of OOP in C++, so I don’t think I’m following Julian conventions
- improve some of the performance, e.g. Dijkstra currently allocates a ton
- add more motion planning algorithms, e.g. FMT, BIT*, etc. (possibly add an interface to OMPL)
- figure out how to use the ODE package and implement a simple quadrotor model