LeRobot documentation

Камеры

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Камеры

Камеры обеспечивают поток изображений, которые видит политика. Каждый бэкенд — OpenCV, Intel RealSense, Reachy 2 — реализует интерфейс Camera, поэтому замена оборудования не требует изменения кода, читающего кадры.

См. Руководство по камерам для выбора и настройки камеры, а также Камеры и датчики сторонних производителей для устройств, не входящих в основной набор.

Камера

класс lerobot.cameras.Camera

< >

( config: CameraConfig )

Параметры

  • fps (float | None) — Настроенное или измеренное количество кадров в секунду
  • width (int | None) — Ширина кадра в пикселях
  • height (int | None) — Высота кадра в пикселях

Базовый класс для реализаций камеры.

Определяет стандартный интерфейс для операций с камерой в различных бэкендах. Подклассы должны реализовать все абстрактные методы.

Управляет базовыми свойствами камеры (FPS, разрешение) и основными операциями:

  • Подключение/отключение
  • Захват кадров (синхронный/асинхронный/последний)

connect

< >

( warmup: bool = True )

Параметры

  • warmup — Если True (по умолчанию), захватывает кадр прогрева перед возвратом. Полезно для камер, которым требуется время для настройки параметров захвата. Если False, кадр прогрева пропускается.

Установите соединение с камерой.

отключить

< >

( )

Отключитесь от камеры и освободите ресурсы.

read

< >

( ) → np.ndarray

Возвращает

np.ndarray

Захваченный кадр в виде массива numpy.

Синхронно захватить и вернуть один кадр с камеры.

Это блокирующий вызов, который будет ждать готовности оборудования и его SDK.

async_read

< >

( timeout_ms: float = Ellipsis ) → np.ndarray

Параметры

  • timeout_ms — Максимальное время ожидания нового кадра в миллисекундах. По умолчанию 200 мс (0,2 с).

Возвращает

np.ndarray

Захваченный кадр в виде массива numpy.

Исключения

TimeoutError

  • TimeoutError — если новый кадр не поступает в течение timeout_ms.

Возвращает самую последнюю новую рамку.

Этот метод получает последний кадр, захваченный фоновым потоком. Если новый кадр уже доступен в буфере (захвачен с момента последнего вызова), он возвращается немедленно.

Он блокируется не более чем на timeout_ms только в том случае, если буфер пуст или если последний кадр уже был потреблен предыдущим вызовом async_read.

По сути, этот метод возвращает последнюю непрочитанную рамку, при необходимости ожидая поступления новой в пределах заданного таймаута.

Использование:

  • Идеально подходит для циклов управления, где необходимо гарантировать, что каждый обработанный кадр является актуальным, фактически синхронизируя ваш цикл с частотой кадров камеры.
  • Причины тайм-аута обычно включают: очень низкий FPS камеры, высокую нагрузку на обработку или отключение камеры.

find_cameras

< >

( ) → List[Dict[str, Any]]

Возвращает

List[Dict[str, Any]]

Список словарей, где каждый словарь содержит информацию об обнаруженной камере.

Определяет доступные камеры, подключенные к системе.

CameraConfig

класс lerobot.cameras.CameraConfig

< >

( fps: int | None = Nonewidth: int | None = Noneheight: int | None = None )

make_cameras_from_configs

lerobot.cameras.make_cameras_from_configs

< >

( camera_configs: dict )

Update on GitHub