If you have an example from your own work that you would like to showcase, please edit doc/_pages/ directly and submit a pull request!

Underactuated Robotics

Drake is being used to teach Underactuated Robotics at MIT. The course textbook has numerous examples of modeling, controlling, and analyzing many of the canonical problems in dynamics and control for robotics.


The robotics team at TRI is exploring learning and by combining Drake with external high-fidelity rendering, we can generate highly realistic, both physically and visually, machine-learning training data to further our research.

The Robotics team at TRI is working hard to close the gap between simulation and reality. For manipulation, one important piece is accurate simulation of rigid-body contact.

Source Code: drake/examples/kuka_iiwa_arm

Manipulation class at MIT

Drake is being used to teach a new course on manipulation at MIT. The course software and materials give a complete autonomous manipulation pipeline, including deep and geometric perception, planning, and control. Here is a highlight video of the class “manipulation station” (the three views are rendered from the RGB-D cameras mounted on the station):

Source Code: drake/examples/manipulation_station

Trajectory Optimization

Michael Posa and the UPenn DAIR lab have an implementation of DIRCON, as described in

Michael Posa, Scott Kuindersma, Russ Tedrake. “Optimization and Stabilization of Trajectories for Constrained Dynamical Systems.” ICRA, 2016.

Source Code:

Task and Motion Planning

Caelan Garrett has examples using Drake in his STRIPStream/PDDLStream task-and-motion-planning framework.

Source Code:

Modelling Closed Loop Topologies

Drake has examples of combining its rigid body kinematic tree dynamics with penalty forces to model a closed loop topology, such as a four bar linkage.

Four Bar Source Code:

Strandbeest Source Code:

Hydroelastic contact between non-convex meshes

Drake has an example of modeling hydroelastic contact between non-convex meshes.

Source Code: drake/examples/hydroelastic/python_nonconvex_mesh

Third Party Documentation / Tutorials

Greg’s Tutorial (Python)

Greg Izatt put together a nice tutorial demonstrating how to put together a pretty complete simulation of kuka iiwa picking up a block with dynamics, planning, control, and depth sensing, all through the pydrake interface.

Source Code:

Zhaoyuan’s Tutorial (Drake concepts, C++ examples)

Zhaoyuan Gu learned Drake from scratch as a 2019 TRI summer intern and wrote this beginner’s tutorial:

Shoe simulation

A great simulation of a robot tying shoe laces. Implemented using pydrake with the laces represented with a piecewise linear approximation.

Authored by Michelle Tan, with help from Terry Suh, Mark Peterson, Russ Tedrake, and the team at TRI

Interactive visualization:

Source Code:

AcroMonk: An underactuated brachiation robot that uses Pydrake for trajectory optimization and stabilization

AcroMonk is an underactuated brachiation robot that is able to brachiate over a horizontally laid ladder with a passive gripper on the real system. Taking advantage of Pydrake, we have generated optimal trajectories and further stabilized them using Time-Varying Linear Quadratic Regulator (TVLQR). The project is open-sourced to support education and research of brachiation with easy to implement hardware and the work is published in the journal of IEEE Robotics and Automation Letters 2023 (IEEE, arXiv).


Source Code: AcroMonk