Ruckig
ロボットと機械のためのリアルタイムジャーク制限時間最適軌跡生成
ライセンス
MIT
概要
Ruckigはロボットと機械のためのインスタンタネオスモーション生成ライブラリで、時間最適でジャーク制限のある軌跡をオンザフライで計算します。位置・速度・加速度による目標ウェイポイントへの軌跡を任意の初期状態から生成し、速度・加速度・ジャーク制約によって制限され、状態間モーションの時間最適解を保証します。
Ruckigは任意の目標状態に対する最初のタイプV軌跡ジェネレーターで、Reflexxes Type IVライブラリよりも強力かつ高速です。位置/速度で1e-8、限界で1e-12の数値精度を持ち、50億以上のランダム軌跡で検証されており、250マイクロ秒まで低い制御サイクルに適したサブミリ秒の計算時間を実現します。
コアライブラリはゼロ依存でC++で書かれており、C++03までのC++20をサポートし、pip経由でPythonバインディングが利用可能です。MoveIt 2(ROS 2)の軌跡処理プラグイン・CoppeliaSim・Franka EmikaロボットコントロールのためのFrankxを含む主要なロボティクスフレームワークと統合されています。
Karlsruhe Institute of Technology(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、Franka Emikaロボット制御用のFrankxにも統合されています。
数学的厳密性、リアルタイム性能、摩擦のない統合の組み合わせにより、Ruckigは世界中の研究機関や産業用ロボティクス企業で標準的なコンポーネントとなっています。
重要な理由
スムーズでジャーク制限のある軌跡生成はリアルワールドのロボット動作に不可欠です。Ruckigはゼロ依存のリアルタイムソリューションを提供し、既にMoveIt 2に統合されており、何百もの研究ラボと企業が使用しています。
解決する課題
速度・加速度・ジャーク制約を尊重しながらセンサー入力に瞬時に反応しなければならないロボットのためのスムーズでジャーク制限されたモーションプロファイルのリアルタイム生成
主なポイント
- サブミリ秒の計算でのジャーク制限時間最適軌跡生成
- C++コアはゼロ依存 — 任意のロボティクススタックへの容易な統合
- MoveIt 2(ROS 2)とCoppeliaSiMにすぐに統合
- 限界で1e-12の精度で50億以上のランダム軌跡で検証
対象
- ロボットアーム開発者
- モーションプランニングエンジニア
- ROS 2 / MoveIt開発者
- 産業自動化エンジニア
制限事項
- コミュニティバージョンはローカルウェイポイント計算をサポートしない(Pro機能)
- 位置限界はProバージョンのみ
- 任意のシグナルのトラッキングインターフェースはProバージョンが必要
- Python APIドキュメントはC++より包括的でない