Ruckig
面向机器人和机器的实时加加速度受限时间最优轨迹生成
许可证
MIT
概述
Ruckig 是一个面向机器人和机器的即时运动生成库,能够即时计算时间最优、加加速度受限的轨迹。它从任意初始状态生成到目标路径点(含位置、速度和加速度)的轨迹,受速度、加速度和加加速度约束限制——保证状态到状态运动的时间最优解。
Ruckig 是首个针对任意目标状态的 V 型轨迹生成器,比 Reflexxes Type IV 库更强大更快速。它达到适合低至 250 微秒控制周期的亚毫秒计算时间,对位置/速度精度在 1e-8 以内,对限制精度在 1e-12 以内,通过超过 50 亿随机轨迹验证。
核心库以零依赖 C++ 编写,支持从 C++20 到 C++03,通过 pip 提供 Python 绑定。它与主要机器人框架集成,包括作为轨迹处理插件的 MoveIt 2(ROS 2)、CoppeliaSim 和用于 Franka Emika 机器人控制的 Frankx。
由卡尔斯鲁厄理工学院(KIT)开发,并在 RSS 2021 上发表。
Ruckig是一个即时运动生成库,能够为机器人和机械设备实时计算时间最优、加加速度约束的轨迹。该库由Karlsruhe Institute of Technology(KIT)开发并发表于RSS 2021,已成为机器人领域部署最广泛的开源运动规划组件之一,在生产环境中已计算超过50亿条轨迹。
该库是首个面向任意目标状态的Type V轨迹生成器,超越了著名的Reflexxes Type IV库的能力。给定任意初始状态(位置、速度、加速度)和带有速度/加速度/加加速度约束的目标路点,Ruckig能在亚毫秒时间内计算出数学上最优的轨迹——足够快以满足短至250微秒的控制周期。数值精度经过验证,位置/速度精度达到1e-8以内,限制值精度达到1e-12以内。
Ruckig使用C++编写,零外部依赖,支持从C++03到C++20的编译器标准,并通过pip提供Python绑定。其零依赖设计使得在任何机器人技术栈中的集成都非常简单。该库已集成到MoveIt 2(ROS 2)中作为轨迹处理插件、CoppeliaSim中用于仿真,以及Frankx中用于Franka Emika机器人控制。
数学严谨性、实时性能和无摩擦集成的结合使Ruckig成为全球研究实验室和工业机器人公司的标准组件。
为何重要
平滑的加加速度受限轨迹生成对真实世界机器人操作至关重要。Ruckig 提供了一个零依赖的实时解决方案,已集成到 MoveIt 2 中并被数百个研究实验室和公司使用。
解决的问题
为机器人实时生成平滑的加加速度受限运动曲线,机器人必须立即响应传感器输入,同时遵守速度、加速度和加加速度约束
要点
- 亚毫秒计算的时间最优加加速度受限轨迹生成
- C++ 核心零依赖——易于集成到任何机器人栈
- 开箱即用集成到 MoveIt 2(ROS 2)和 CoppeliaSim
- 通过 50 亿以上随机轨迹验证,限制精度达 1e-12
适用人群
- 机械臂开发者
- 运动规划工程师
- ROS 2 / MoveIt 开发者
- 工业自动化工程师
局限
- 社区版不支持局部路径点计算(专业版功能)
- 位置限制仅在专业版中提供
- 任意信号的追踪接口需要专业版
- Python API 文档不如 C++ 全面