Физическая библиотека на C++17 с привязками Python для расчёта кинематики, динамики и контактов у сочленённых роботов и анимированных персонажей.
frankarobotics/libfranka
Библиотека C++ для низкоуровневого управления исследовательскими роботами Franka Robotics в реальном времени; поддерживает Python через pylibfranka.
- Звёзды
- 463
- Форки
- 258
- Открытые issues
- 2
- Последний коммит
- 2 месяца назад
Что это?
libfranka — библиотека C++ для низкоуровневого управления исследовательскими роботами Franka Robotics в реальном времени. Она взаимодействует с роботом по сети и предоставляет средства управления движением и доступа к состоянию робота для приложений, которым нужен прямой контроль над манипулятором, а не высокоуровневые интерфейсы встроенного ПО робота.
Библиотека распространяется в виде Debian-пакетов для Ubuntu 20.04, 22.04, 24.04 и 26.04 LTS; её также можно собрать из исходного кода или в среде разработки на базе Docker с помощью CMake. Для работы в реальном времени требуется ядро Linux с патчем PREEMPT_RT. Каждый выпуск libfranka рассчитан на определённые версии систем робота — они перечислены в таблице совместимости.
pylibfranka предоставляет Python-привязки к той же библиотеке. Пакет можно установить из PyPI; для нескольких версий Python доступны wheels, привязанные к выпускам Ubuntu. В репозитории также есть примеры программ для управления положением суставов и импедансом, вывода состояния робота и управления захватом.
Ключевые возможности
- 01Низкоуровневое управление движением исследовательских роботов Franka в реальном времени.
- 02Обмен данными с роботом по сети: чтение состояния и отправка команд.
- 03Python-привязки (pylibfranka), которые можно установить из PyPI.
- 04Debian-пакеты и сборка из исходного кода для Ubuntu 20.04–26.04 LTS.
- 05Примеры программ для управления импедансом суставов, вывода состояния робота и управления захватом.
Сценарии использования
- Исследовательские проекты, которым нужно напрямую управлять манипулятором Franka в реальном времени.
- Разработка собственных контроллеров, например для управления импедансом или положением суставов, на C++ или Python.
- Интеграция роботов Franka с внешними контурами управления или исследовательскими программными стеками.
- Управление захватом Franka из пользовательских приложений.
Быстрый старт
- 1
Скачайте Debian-пакет libfranka для вашей версии Ubuntu со страницы релизов GitHub
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
Что важно знать
- Предназначен для исследовательских роботов Franka Robotics с установленной функцией FCI; без такого оборудования он бесполезен.
- Официально поддерживается только Ubuntu Linux; для управления в реальном времени рекомендуется ядро PREEMPT_RT.
В подборках
Темы
Частые вопросы
- Что такое libfranka?
- Библиотека C++ для низкоуровневого управления исследовательскими роботами Franka Robotics в реальном времени; поддерживает Python через pylibfranka. libfranka — библиотека C++ для низкоуровневого управления исследовательскими роботами Franka Robotics в реальном времени. Она взаимодействует с роботом по сети и предоставляет средства управления движением и доступа к состоянию робота для приложений, которым нужен прямой контроль над манипулятором, а не высокоуровневые интерфейсы встроенного ПО робота.
- libfranka можно использовать бесплатно? Какая у него лицензия?
- libfranka распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- libfranka всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в libfranka — 7 сент. 2026 г..
- Для чего можно использовать libfranka?
- Исследовательские проекты, которым нужно напрямую управлять манипулятором Franka в реальном времени. Разработка собственных контроллеров, например для управления импедансом или положением суставов, на C++ или Python. Интеграция роботов Franka с внешними контурами управления или исследовательскими программными стеками. Управление захватом Franka из пользовательских приложений.
- Как установить libfranka?
- Скачайте Debian-пакет libfranka для вашей версии Ubuntu со страницы релизов GitHub: 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 проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
LinuxCNC — ПО с открытым исходным кодом для управления станками с ЧПУ, включая фрезерные и токарные станки, 3D-принтеры, лазерные и плазменные резаки и роботизированные манипуляторы.
Интеграция Franka Emika Panda с ROS 2 Humble, запускающая одни и те же контроллеры ros2_control на реальном роботе и в симуляции MuJoCo.
Открытые файлы для 3D-печати и списки комплектующих для недорогих роботизированных манипуляторов SO-100/SO-101, совместимых с библиотекой LeRobot.
Набор для сборки робота-манипулятора «ведущий — ведомый» с открытой конструкцией: 5 степеней свободы и захват, детали для 3D-печати и совместимая с LeRobot компоновка суставов.
Открытая библиотека на C++ для физически реалистичного моделирования жидкостей методом сглаженных частиц (SPH), с Python-привязками и CLI.