Drake, desarrollado inicialmente por el Grupo de Locomoción Robótica del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT (CSAIL), es una caja de herramientas en C++ y Python que ha ganado un apoyo significativo del Instituto de Investigación de Toyota. Este conjunto de herramientas está diseñado para analizar la dinámica de los robots y construir sistemas de control para ellos, destacándose por su enfoque en el diseño y análisis basado en optimización.
A diferencia de muchas herramientas de simulación en robótica que funcionan como una caja negra, Drake se esfuerza por simular dinámicas muy complejas de robots, incluyendo fricción, contacto, aerodinámica, entre otros, siempre con el objetivo de exponer la estructura en las ecuaciones gobernantes. Esto incluye la esparsidad, gradientes analíticos, estructura polinomial, cuantificación de incertidumbre, y más, haciendo esta información disponible para algoritmos avanzados de planificación, control y análisis.
Drake ofrece una interfaz a Python para permitir el prototipado rápido de nuevos algoritmos y aspira a proporcionar implementaciones sólidas de código abierto para muchos algoritmos de vanguardia. Además, Drake espera ofrecer ejemplos convincentes que puedan ayudar a las personas a comenzar y proporcionar puntos de referencia muy necesarios. La comunidad de desarrolladores está emocionada de aceptar contribuciones de los usuarios para mejorar la cobertura.
Para aquellos interesados en aprender más sobre Drake, se ofrecen tutoriales basados en Python utilizando cuadernos Jupyter, recomendándose verlos en línea o ejecutarlos localmente a través de pip. Drake también cuenta con una variedad de casos de uso demostrados en su repositorio de código fuente y más disponibles a través de su Galería Drake, donde se fomenta la contribución de la comunidad.