Drake's C++ library is composed primarily of an interface for solving numerical optimization problems, interfaces for modeling dynamical system, and collection of state-of-the-art algorithms for optimization on dynamical systems:
For more general information, you can also visit the Drake documentation main page.
Drake's C++ libraries use a small amount of template metaprogramming to enable more advanced features (autodiff, symbolic computation, etc). We have tried to avoid users having to be expert template programmers, but this is a good reference if you'd like to learn more about generic programming.
If you want to make your own Doxygen locally, run make documentation or ninja documentation in the
drake-distro/build/drake directory. You may need to install Doxygen (e.g., with sudo apt-get install doxygen on Ubuntu).
Drake's Doxygen documentation is hosted online for the master branch, but is only updated nightly.