If you have an example from your own work that you would like to showcase, please edit doc/_pages/gallery.md
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.
Manipulation
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: https://github.com/DAIRLab/dairlib/tree/master/systems/trajectory_optimization/dircon
Task and Motion Planning
Caelan Garrett has examples using Drake in his STRIPStream/PDDLStream task-and-motion-planning framework.
Source Code: https://github.com/caelan/pddlstream#drake
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: https://github.com/RobotLocomotion/drake/tree/master/examples/multibody/four_bar
Strandbeest Source Code: https://github.com/RobotLocomotion/drake/tree/master/examples/multibody/strandbeest
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: https://github.com/gizatt/drake_periscope_tutorial
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: https://drake.guzhaoyuan.com
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: https://mntan3.github.io/
Source Code: https://github.com/RobotLocomotion/gym/tree/master/gym/envs/robot_locomotion_group/drake/shoe
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