Drake(中古英语中的“龙”)是由 MIT 计算机科学与人工智能实验室(CSAIL)的机器人运动组发起的 C++ 工具箱。现在,开发团队已经显著扩大,核心开发由丰田研究所领导。它是一套工具集,用于分析我们机器人的动力学并为其构建控制系统,特别强调基于优化的设计/分析。
尽管机器人学领域可用的仿真工具越来越多,但大多数工具的功能就像一个黑匣子:命令输入,传感器输出。Drake 旨在模拟机器人的非常复杂的动力学(例如包括摩擦、接触、空气动力学等),但始终强调暴露控制方程中的结构(稀疏性、解析梯度、多项式结构、不确定性量化等),并使这些信息可用于高级规划、控制和算法分析。
Drake 提供了 Python 接口,以支持新算法的快速原型设计,并旨在为许多最先进的算法提供坚实的开源实现。最后,我们希望 Drake 提供许多引人注目的示例,可以帮助人们入门并提供急需的基准。我们很高兴接受用户贡献以改进覆盖范围。
您可以在博客文章中阅读更多关于 Drake 的愿景。我们希望您发现这个工具有用。如果您希望分享您的评论、问题、成功故事或挫折,请参阅获取帮助。并请贡献您的最佳错误修复、功能和示例!
Drake 提供基于 Python 的教程,使用 Jupyter 笔记本。我们建议您在线查看教程。或者,要通过 pip 在本地运行教程,请参考 drake/tutorials/README.md。
我们在源代码树中的 drake/examples 下展示了许多用例,并通过我们的 Drake Gallery(欢迎贡献!)提供了更多示例。我们还有许多示例,展示了如何在您自己的项目中使用 Drake 作为外部库,包括使用各种构建系统的示例以及如何设置持续集成的示例。
Drake 开发者要感谢丰田研究所、DARPA、国家科学基金会、海军研究办公室、Amazon.com 和 The MathWorks 的重要支持。