Drake, signifiant "dragon" en moyen anglais, est une boîte à outils C++ initiée par le Robot Locomotion Group du MIT Computer Science and Artificial Intelligence Lab (CSAIL). Avec un développement principalement dirigé par le Toyota Research Institute, Drake est une collection d'outils conçus pour analyser la dynamique des robots et construire des systèmes de contrôle pour ceux-ci, mettant l'accent sur la conception et l'analyse basées sur l'optimisation.
Contrairement à de nombreux outils de simulation en robotique qui fonctionnent comme des boîtes noires, Drake vise à simuler des dynamiques robotiques complexes (friction, contact, aérodynamique, etc.) tout en exposant la structure des équations gouvernantes (sparsité, gradients analytiques, structure polynomiale, quantification de l'incertitude, etc.). Cette information est rendue accessible pour des algorithmes avancés de planification, de contrôle et d'analyse.
Drake offre une interface Python pour permettre le prototypage rapide de nouveaux algorithmes et vise à fournir des implémentations open-source solides pour de nombreux algorithmes de pointe. De plus, Drake propose des exemples convaincants pour aider les utilisateurs à démarrer et fournir des benchmarks nécessaires. Les contributions des utilisateurs sont les bienvenues pour améliorer la couverture.
Des tutoriels basés sur Python utilisant des notebooks Jupyter sont disponibles, ainsi qu'une variété de cas d'utilisation démontrés dans le code source et la Drake Gallery. Drake est également utilisé comme une bibliothèque externe dans divers projets, avec des exemples d'intégration continue et de configuration avec différents systèmes de construction.
Drake est soutenu par le Toyota Research Institute, DARPA, la National Science Foundation, l'Office of Naval Research, Amazon.com, et The MathWorks, et intègre des langages et systèmes tels que Python, LCM, ROS 2™ (non supporté), et Julia (non supporté).