COMP781 Final Report and Slides

Report Slides

About

In the past ten years, there has been a large movement in industry toward web browser based applications and away from native desktop programs. This is due in large part because of the inherent cross-platform nature of in-browser applications. As a part of this movement, numerous open source libraries have been developed that provide functionality that has been available in other languages such as C/C++ for quite some time. While several libraries have covered important areas such as 3D graphics (three.js) and collision detection (ammo.js), there is not a widely used motion planning library to the best of my knowledge.

plan.js is a JavaScript library that addresses this gap in available software. It contains many of the commonly used motion planning algorithms such as RRT, RRT*, PRM, and exact geometric methods for 2D motion planning. The source code is available to others on GitHub, and users may view visualizations of the algorithms live in the browser.

Porting OMPL

Porting OMPL with Emscripten is very difficult due to a dependence on boost_thread.

Porting MSL

Porting MSL with Emscripten is much easier because of the project's structure and lack of thread use.

PQP Demo