Drake

Modules  
Primitives  
Generalpurpose Systems such as Gain, Multiplexer, Integrator, and LinearSystem.  
Controllers  
Implementations of controllers that operate as Systems in a block diagram.  
Estimators  
Implementations of estimators that operate as Systems in a block diagram.  
Sensors  
Models of sensors that operate as Systems in a block diagram.  
Automotive Systems  
The drake/automotive folder collects automotivespecific System models and related software.  
Manipulation  
Systems implementations that specifically support dexterous manipulation capabilities in robotics.  
Perception  
Systems for dealing with perception data and/or wrapping basic perception algorithms.  
Discrete Systems  
This page describes discrete systems modeled by difference equations (contrast to continuous systems modeled by ordinary differential equations) as well as considerations for implementing these systems in Drake.  
Stochastic Systems  
This page describes the implementation details of modeling a stochastic system in Drake and writing algorithms that explicitly leverage the stochastic modeling framework.  
Visualization  
Systems for connecting to external visualization tools/GUIs.  
Examples  
The examples contain a number of useful System implementations.  
(Attic) RigidBody Systems  
These systems are being replaced with drake::multibody::MultibodyPlant and drake::geometry::SceneGraph.  
Classes  
class  SceneGraph< T > 
SceneGraph serves as the nexus for all geometry (and geometrybased operations) in a Diagram. More...  
class  MultibodyPlant< T > 
MultibodyPlant is a Drake system framework representation (see systems::System) for the model of a physical system consisting of a collection of interconnected bodies. More...  
Drake uses a Simulinkinspired description of dynamical systems.
Includes basic building blocks (adders, integrators, delays, etc), physics models of mechanical systems, and a growing list of sensors, actuators, controllers, planners, estimators.
All dynamical systems derive from the drake::systems::System base class, and must explicitly declare all drake::systems::State, drake::systems::Parameters, and noise/disturbances inputs. The drake::systems::Diagram class permits modeling complex systems from libraries of parts.
For a "Hello, World!" example of writing a dynamical system, see simple_continuous_time_system.cc and/or simple_discrete_time_system.cc. For an example of a system that uses some of the more advanced features, such as typed input, output, state, and parameter vectors, see simple_car.h .