Drake, ein C++/Python-Toolkit, wurde ursprünglich von der Robot Locomotion Group am MIT Computer Science and Artificial Intelligence Lab (CSAIL) entwickelt und wird heute maßgeblich vom Toyota Research Institute unterstützt. Es bietet eine Sammlung von Werkzeugen zur Analyse der Dynamik von Robotern und zum Aufbau von Steuerungssystemen, mit einem starken Fokus auf optimierungsbasierte Design- und Analysemethoden.
Im Gegensatz zu vielen anderen Simulationswerkzeugen in der Robotik, die oft wie eine Black Box funktionieren, zielt Drake darauf ab, auch sehr komplexe Dynamiken von Robotern (einschließlich Reibung, Kontakt, Aerodynamik usw.) zu simulieren. Dabei wird besonderer Wert darauf gelegt, die Struktur in den zugrunde liegenden Gleichungen (Sparsity, analytische Gradienten, Polynomstruktur, Unsicherheitsquantifizierung usw.) offenzulegen und diese Informationen für fortschrittliche Planungs-, Steuerungs- und Analysealgorithmen verfügbar zu machen.
Drake bietet eine Schnittstelle zu Python, um das Rapid-Prototyping neuer Algorithmen zu ermöglichen, und strebt an, solide Open-Source-Implementierungen für viele state-of-the-art Algorithmen bereitzustellen. Darüber hinaus hofft das Entwicklungsteam, dass Drake viele überzeugende Beispiele bietet, die den Einstieg erleichtern und dringend benötigte Benchmarks liefern. Beiträge von Nutzern zur Verbesserung der Abdeckung sind willkommen.
Tutorials und Beispiele, die auf Jupyter Notebooks basieren, stehen zur Verfügung, um den Einstieg in Drake zu erleichtern. Diese können online angesehen oder lokal über pip ausgeführt werden. Darüber hinaus gibt es eine Vielzahl von Anwendungsfällen, die im Quellbaum unter drake/examples demonstriert werden, sowie weitere Beispiele in der Drake Gallery.
Drake wird von einer Reihe von Organisationen unterstützt, darunter das Toyota Research Institute, DARPA, die National Science Foundation, das Office of Naval Research, Amazon.com und The MathWorks. Es bietet Integrationen mit Python, LCM, ROS 2™ (nicht unterstützt) und Julia (nicht unterstützt).