Skip to main content
QUICK REVIEW

[論文レビュー] A Modular Robotic Arm Control Stack for Research: Franka-Interface and FrankaPy

Kevin Zhang, Mohit Sharma|arXiv (Cornell University)|Nov 4, 2020
Robot Manipulation and Learning参考文献 9被引用数 25
ひとこと要約

本論文では、Franka Emika Panda ロボットの1 kHzでの高周波・リアルタイム制御を可能にするモジュラーなロボット制御スタック、Franka-Interface と FrankaPy を提案する。低レベル制御にはC++、高レベルプログラミングにはPythonを用いる。このフレームワークは、9種類のネイティブロボットコントローラー間での動的切り替え、リアルタイムでのセンサーフィードバック統合、インピーダンス制御やLQR制御などの制御戦略の迅速なプロトタイピングをサポートしており、5篇の出版論文および50名の学生が参加する大学の授業でも実証済みである。

ABSTRACT

We designed a modular robotic control stack that provides a customizable and accessible interface to the Franka Emika Panda Research robot. This framework abstracts high-level robot control commands as skills, which are decomposed into combinations of trajectory generators, feedback controllers, and termination handlers. Low-level control is implemented in C++ and runs at $1$kHz, and high-level commands are exposed in Python. In addition, external sensor feedback, like estimated object poses, can be streamed to the low-level controllers in real time. This modular approach allows us to quickly prototype new control methods, which is essential for research applications. We have applied this framework across a variety of real-world robot tasks in more than $5$ published research papers. The framework is currently shared internally with other robotics labs at Carnegie Mellon University, and we plan for a public release in the near future.

研究の動機と目的

  • ROSベースの制御スタック(例:franka_ros)に見られる制御アクセス制限やリアルタイムセンサーフィードバック統合の欠如といった課題を解決すること。
  • 研究者がFranka Panda ロボット上で高度な制御戦略の迅速なプロトタイピングを可能にする、モジュラーで拡張可能な制御スタックを提供すること。
  • 外部センサー(例:物体のポーズ推定)からのフィードバックをリアルタイムの低レベルコントローラーにシームレスに統合できること。
  • コントローラーの停止や遅延を伴わずに、すべての9つのネイティブ libfranka コントローラー間での動的切り替えを可能にすること。
  • 大規模な研究環境への展開を可能にし、5篇の出版論文および8台のロボットと50名の学生が参加する大学の授業でも実証済みであること。

提案手法

  • リアルタイムキーネルを搭載したLinuxシステム上にリアルタイムサーバーを構築し、1 kHzの制御を libfranka C++ API を用いて実現するクライアント・サーバー型アーキテクチャを採用する。
  • 高レベルの制御および計画処理は、Python を使用したクライアントコンピュータ上で実行され、FrankaPy を用いてロボットの状態やROSアクションクライアントへのAPIを公開する。
  • 共有メモリバッファを介して、クライアントとサーバー間で低遅延かつ効率的なデータ転送(スキルパラメータやセンサーデータ含む)を実現する。
  • スキルは、トラジェクトリ生成、フィードバック制御、終了ハンドラ、センサートピック購読といった、設定可能なコンponentsに分解される。
  • ジョイントポジション、キャリブレーテッドポーズ、インピーダンス、力制御など、複数のコントローラータイプをサポートし、それらを動的に入れ替えることが可能である。
  • ROSトピック(例:物体ポーズ推定)からのセンサーデータが、共有メモリインターフェース経由でリアルタイム制御ループにストリーミングされる。

実験結果

リサーチクエスチョン

  • RQ1複数のネイティブコントローラー間での動的切り替えを可能にしつつ、Franka Panda ロボットに対するリアルタイムで高周波の制御を実現できるモジュラー制御スタックを設計できるか?
  • RQ2外部センサーフィードバックを低レベル制御ループに統合する際、遅延やリアルタイム保証の破壊を引き起こさずに実現できるか、その程度はいかほどか?
  • RQ3このようなシステムが、インピーダンス制御やLQRなどの多様な制御戦略の迅速なプロトタイピングを、現実のロボットタスクにおいてどれほど効果的に可能にするか?
  • RQ4本フレームワークは、学術研究環境において複数台のロボットや複雑なマルチステージタスクをサポートできるスケーラビリティを備えているか?
  • RQ5コントローラーの柔軟性とリアルタイムパフォーマンスの観点から、既存のROSベースのスタックと比較して、本アプローチはどのように差別化されるか?

主な発見

  • C++ベースのリアルタイム制御ループを用いて、Franka Emika Panda ロボット上で1 kHzのリアルタイム制御を成功裏に達成した。
  • すべての9つのネイティブ libfranka コントローラー間での動的切り替えが可能であり、コントローラーの停止・再起動が不要になった。
  • オブジェクトポーズの推定値などのリアルタイムセンサーフィードバックが、遅延やシリアル化のオーバーヘッドなしに低レベルコントローラーにストリームされる。
  • 現実のタスクにおいて、キャリブレーテッドインピーダンス制御やLQRコントローラーといった高度な制御戦略が実装・検証された。
  • 本フレームワークは、5篇の出版論文に使用され、8台の共有ロボットを用いて50名の学生が参加する大学の授業でも活用された。
  • ライセンスおよびドキュメンテーションの改善を完了後、公開準備を進めている。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。