robotology/yarp

YARP - Yet Another Robot Platform

Робототехника⭐ 602C++последний релиз: v4.0.1
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

YARP — это библиотека и набор инструментов для организации связи между устройствами и компонентами робототехнических систем.

Зачем нужен

Инструмент решает задачу создания гибких и масштабируемых архитектур для роботов, позволяя легко подключать новые датчики и исполнительные механизмы. Он полезен тем, кто разрабатывает сложные роботизированные системы, где требуется надежная коммуникация между разрозненными модулями.

Что можно реализовать

  • Разработка человекоподобных роботов и гуманоидов
  • Создание систем для встраиваемых устройств (embedded devices)
  • Построение распределенных робототехнических платформ
  • Интеграция разнородных аппаратных интерфейсов в единую сеть

Ключевые возможности

  • Кроссплатформенная поддержка: Ubuntu, Windows, macOS
  • Гибкая система интерфейсов для устройств
  • Активная разработка и CI-тестирование
  • Открытая лицензия (BSD-3-Clause и другие)

👤 Кому подойдёт: разработчики робототехники, исследователи, инженеры по встраиваемым системам

Релизы

v4.0.1minorbreaking
🕐 15 дн назад · релиз на GitHub ↗

Исправлены гонки данных и сегфолты, удалены устаревшие классы, улучшена генерация Thrift-сообщений.

  • Deprecated: Удалён устаревший класс PortablePair, данные теперь генерируются через Thrift.
  • Fixed: Исправлена гонка данных в PortCoreOutputUnit и сегфолт на Ubuntu 26.04.
  • Fixed: Исправлен интерфейс IJoypadControl: удалён некорректный метод getStickDoF, добавлен getAllAxes.
  • Fixed: Исправлена генерация .thrift-сообщений со сложными типами данных, например list<list<double>>.
  • Added: Метод очистки портов перенесён в libYARP_os, переименованы некоторые Thrift-файлы.
v4.0.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

YARP 4.0: поддержка OpenCV 5, новые портомониторы, рефакторинг интерфейсов устройств и отказ от старых версий CMake/OpenCV.

  • Breaking: Удалена поддержка CMake < 3.22 и OpenCV 3, добавлена поддержка OpenCV 5.
  • Breaking: Крупный рефакторинг визуальных интерфейсов устройств и изменение сигнатур методов IControlMode/IInteractionMode.
  • Deprecated: Удалены устаревшие устройства analogWrapper, analogSensorClient и RGBDSensorClient; переименованы rgbdSensor_nws_yarp и RemoteControlBoard.
  • Added: Добавлены портомониторы throttleDown и stats_monitor для контроля пропускной способности и статистики соединений.
  • Added: Введены новые типы данных yarp::conf::vocab64_t, VectorOf<float> и интерфейс IJointBrake для управления тормозами суставов.
v3.12.3minor
🕐 2 мес назад · релиз на GitHub ↗

Последний релиз серии YARP 3.x: новые типы данных, интерфейс для симуляций, исправления RPC и новые утилиты.

  • Added: Добавлены типы данных Pose6D и ColorRGB, улучшена скорость чтения MP3.
  • Added: Введен интерфейс ISimulatedWorld и новые устройства для управления симуляцией (Gazebo).
  • Added: Добавлены привязки (bindings) для интерфейсов навигации и локализации 2D, а также для ISimulatedWorld.
  • Fixed: Исправлено некорректное возвращение статуса RPC в FrameGrabberControls при отказе устройства.
  • Added: Появилась новая утилита yarpAudioPlayer и обновлен парсер yarprobotinterface.
v3.12.2minor
🕐 9 мес назад · релиз на GitHub ↗

Исправлены ошибки линковки и интерфейсов, добавлена поддержка объектов в картах 2D, улучшены тесты и привязки.

  • Fixed: Исправлена ошибка линковки в интерфейсе IJacobianCoupling и баг с ReturnValue в MultipleAnalogSensorsRemapper.
  • Added: В интерфейсы Nav2D добавлена работа с объектами карт (Map2DObject): создание, поиск, переименование и удаление.
  • Added: Добавлены новые методы для перезагрузки коллекций карт и локаций, а также привязки для интерфейса IBattery.
  • Added: Yarpmanager теперь использует fast_tcp как транспорт по умолчанию вместо обычного tcp.
  • Улучшены скрипты автодополнения Bash, привязки yarp.i и тесты для устройств Map2DStorage и ControlBoardRemapper.