机器人库(RL) 是一个独立的 C++ 库,用于刚体运动学和动力学、运动规划和控制。它涵盖空间矢量代数、多体系统、硬件抽象、路径规划、碰撞检测和可视化。它被用于研究项目和教育,可在 BSD 许可证下使用,并可免费用于商业应用程序。强化学习可以在许多不同的系统上运行,包括 Linux、macOS 和 Windows。它使用 CMake 作为构建系统,可以使用 Clang、GCC 和 Visual Studio 进行编译。
我们在Launchpad上提供预编译的 Ubuntu 软件包,并在GitHub上提供最新发布版本的 Windows 二进制文件,而Homebrew可以在 macOS 上使用来构建相应的软件包。我们网站上的教程提供了有关如何使用 RL 开发应用程序的更多信息。
这些教程包括有关如何
- 在Ubuntu、Windows或macOS上安装最新版本,
- 在Linux或Windows上使用 RL 创建您的第一个程序,
- 看看我们简短的 API概述和我们的文档,
- 使用运动学和几何定义创建机器人模型,
- 在路径规划场景中规划无碰撞路径,
- 在Ubuntu、Windows或macOS上从源代码构建 RL 。
强化学习包括许多演示应用程序以及一系列运动学、几何学和路径规划示例,演示如何将其用于更高级的应用程序。由于它们的大小,可以在单独的存储库中找到更大的示例集。
这些演示应用程序包括
- 用于旋转矩阵、角轴、四元数和欧拉角之间转换的工具,
- 碰撞检测查询的可视化,可以突出显示交叉点、最小距离和穿透深度,
- 使用 TCP 端口进行关节位置更新的运动学模拟器,
- 监听关节扭矩更新的动态模拟器,
- 使用概率路线图或快速探索随机树计算无碰撞路径,
- 基于 XML 文件中的场景定义的路径规划查询的可视化,
- 使用递归牛顿欧拉和铰接体算法方法的机器人正向和逆向动力学,
- 动力学属性的计算,例如质量矩阵、离心力和科里奥利力或重力补偿,
- 基于三次或五次多项式计算轨迹并将其发送到机器人控制器。
有关机器人库设计的更多详细信息,请查看我们的 IROS 论文。参考是
马库斯·里克特和安德烈·加施勒。机器人库:机器人应用程序的面向对象方法。IEEE/RSJ 国际智能机器人和系统会议 (IROS) 会议记录,第 733–740 页,加拿大不列颠哥伦比亚省温哥华,2017 年 9 月。
@InProceedings{Rickert2017a,
author = {Markus Rickert and Andre Gaschler},
title = {{R}obotics {L}ibrary: An Object-Oriented Approach to Robot Applications},
booktitle = {Proceedings of the {IEEE}/{RSJ} International Conference on Intelligent Robots and Systems},
year = {2017},
pages = {733--740},
address = {Vancouver, BC, Canada},
month = sep,
doi = {10.1109/IROS.2017.8202232},
}
RL 的所有源代码文件均根据宽松的BSD 2 条款许可证进行许可。第三方依赖的License请参考各自项目。