関節ロボットやアニメーションキャラクターの運動学・動力学・接触シミュレーションに対応した、Pythonバインディング付きのC++17物理ライブラリ。
frankarobotics/libfranka
Franka Roboticsの研究用ロボットをリアルタイムで低レベル制御するC++クライアントライブラリ。pylibfrankaによるPythonバインディングも提供。
- スター
- 463
- フォーク
- 258
- 未解決の Issue
- 2
- 最終コミット
- 2 か月前
これは何?
libfrankaは、Franka Roboticsの研究用ロボットを低レベルかつリアルタイムに制御するためのC++ライブラリです。ネットワーク経由でロボットと通信し、ロボット標準ソフトウェアの高レベルインターフェースではなく、アームを直接制御する必要があるアプリケーション向けに、モーション制御とロボット状態へのアクセスを提供します。
Ubuntu 20.04、22.04、24.04、26.04 LTS向けのDebianパッケージとして配布されており、ソースからのビルドや、CMakeを使ったDockerベースの開発環境でのビルドにも対応しています。リアルタイム動作には、PREEMPT_RTパッチを適用したLinuxカーネルの使用が想定されています。各libfrankaリリースの対象となるロボットシステムのバージョンは、互換性マトリクスに記載されています。
pylibfrankaは、同じライブラリのPythonバインディングを提供します。PyPIからインストールでき、Ubuntuのリリースに対応した複数のPythonバージョン向けにwheelが用意されています。また、リポジトリには関節位置制御やインピーダンス制御、ロボット状態の表示、グリッパー操作のサンプルプログラムも含まれています。
主な機能
- 01Frankaの研究用ロボットを低レベルかつリアルタイムにモーション制御。
- 02ネットワーク経由でロボットと通信し、状態の読み取りやコマンドの送信が可能。
- 03PyPIからインストールできるPythonバインディング(pylibfranka)。
- 04Ubuntu 20.04から26.04 LTS向けのDebianパッケージとソースビルドに対応。
- 05関節インピーダンス制御、ロボット状態の表示、グリッパー操作のサンプルプログラム。
ユースケース
- Frankaアームをリアルタイムで直接制御する必要がある研究プロジェクト。
- C++またはPythonで、インピーダンス制御や関節位置制御などのカスタムコントローラーを作成。
- Frankaロボットを外部の制御ループや研究用ソフトウェアスタックと連携。
- カスタムアプリケーションからFrankaのグリッパーを操作。
クイックスタート
- 1
GitHubのリリースページから、お使いのUbuntuバージョン用のlibfranka Debianパッケージをダウンロードします
wget https://github.com/frankarobotics/libfranka/releases/download/0.19.0/libfranka_0.19.0_jammy_amd64.deb - 2
パッケージのチェックサムを検証します
sha256sum -c libfranka_0.19.0_jammy_amd64.deb.sha256 - 3
パッケージをインストールします
sudo dpkg -i libfranka_0.19.0_jammy_amd64.deb
使う前に知っておきたいこと
- FCI機能を搭載したFranka Roboticsの研究用ロボットを対象としており、そのハードウェアがなければ役に立ちません。
- 公式にサポートされているのはUbuntu Linuxのみです。リアルタイム制御にはPREEMPT_RTカーネルが推奨されます。
収録されている特集
トピック
よくある質問
- libfranka とは?
- Franka Roboticsの研究用ロボットをリアルタイムで低レベル制御するC++クライアントライブラリ。pylibfrankaによるPythonバインディングも提供。 libfrankaは、Franka Roboticsの研究用ロボットを低レベルかつリアルタイムに制御するためのC++ライブラリです。ネットワーク経由でロボットと通信し、ロボット標準ソフトウェアの高レベルインターフェースではなく、アームを直接制御する必要があるアプリケーション向けに、モーション制御とロボット状態へのアクセスを提供します。
- libfranka は無料で使えますか?ライセンスは?
- libfranka は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- libfranka は今もメンテナンスされていますか?
- 半年以内に更新あり。libfranka の最終コミットは 2026年9月7日 です。
- libfranka は何に使えますか?
- Frankaアームをリアルタイムで直接制御する必要がある研究プロジェクト。 C++またはPythonで、インピーダンス制御や関節位置制御などのカスタムコントローラーを作成。 Frankaロボットを外部の制御ループや研究用ソフトウェアスタックと連携。 カスタムアプリケーションからFrankaのグリッパーを操作。
- libfranka のインストール方法は?
- GitHubのリリースページから、お使いのUbuntuバージョン用のlibfranka Debianパッケージをダウンロードします: wget https://github.com/frankarobotics/libfranka/releases/download/0.19.0/libfranka_0.19.0_jammy_amd64.deb パッケージのチェックサムを検証します: sha256sum -c libfranka_0.19.0_jammy_amd64.deb.sha256 パッケージをインストールします: sudo dpkg -i libfranka_0.19.0_jammy_amd64.deb
- libfranka はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/frankarobotics/libfranka
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
LinuxCNCは、フライス盤、旋盤、3Dプリンター、レーザー・プラズマカッター、ロボットアームなどを制御するオープンソースソフトウェアです。
Franka Emika Pandaアーム向けのROS 2 Humble統合パッケージで、実機とMuJoCoシミュレーションで同じros2_controlコントローラーを動かせます。
LeRobotライブラリに対応する、低価格なSO-100/SO-101ロボットアームのオープンソース3Dプリント設計データと部品リスト。
3Dプリント対応パーツとLeRobot互換の関節配置を備えた、5自由度+グリッパーのオープンソースLeader/Followerロボットアームキット。
Smoothed Particle Hydrodynamics(SPH)を用いた物理ベースの流体シミュレーションを行うオープンソースのC++ライブラリ。PythonバインディングとCLIを備えています。