dymoesco is my attempt at building a general purpose robotics library to speed up the testing of simple new ideas. It is also great as a teaching platform. Drake should be used for any serious project. But for prototyping or testing quick ideas, its API can feel inflexible and overly complicated. dymoesco also has matplotlib plotting and animations, which when a full-fledged rendering engine is not needed, makes for nice and easy gif generation. In a nutshell, dymoesco is to Drake what turtle is to unity.
dymoesco revolves around three subpackages: estimation
, control
, and dynamics
. There are other helper modules such as dymoesco.utils
and dymoesco.types
.
Installing dymoesco works just like any other package
git clone https://github.com/samlaf/dymoesco.git
pip install -r requirements.txt .
Sphinx documentation is found in the /docs directory.
With the general framework developed in this library, it is easy to extend it with simple dynamical systems, mapping the arrow keys to inputs and driving using matplotlib as gui.
Single Integrator | Double Integrator | Differential Drive |
---|---|---|
My general impetus for developing this library was to understand range/beacon EKFs better.