LeRobot documentation

Câmeras

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Câmeras

As câmeras fornecem as observações de imagem que uma política observa. Todos os backends — OpenCV, Intel RealSense, Reachy 2 — implementam a interface Camera, de modo que a troca de hardware não altera o código que lê os frames.

Consulte o Guia de câmeras para escolher e configurar uma câmera, e Câmeras e sensores de terceiros para dispositivos fora do conjunto principal.

Câmera

classe lerobot.cameras.Camera

< >

( config: CameraConfig )

Parâmetros

  • fps (float | None) — Quadros por segundo configurados ou medidos
  • width (int | None) — Largura do quadro em pixels
  • height (int | None) — Altura do quadro em pixels

Classe base para implementações de câmera.

Define uma interface padrão para operações de câmera em diferentes backends. Subclasses devem implementar todos os métodos abstratos.

Gerencia as propriedades básicas da câmera (FPS, resolução) e as operações principais:

  • Conexão/desconexão
  • Captura de quadro (síncrono/assíncrono/mais recente)

connect

< >

( warmup: bool = True )

Parâmetros

  • warmup — Se True (padrão), captura um quadro de aquecimento antes de retornar. Útil para câmeras que precisam de tempo para ajustar as configurações de captura. Se False, ignora o quadro de aquecimento.

Estabeleça a conexão com a câmera.

disconnect

< >

( )

Desconecte da câmera e libere os recursos.

ler

< >

( ) → np.ndarray

Retorna

np.ndarray

Frame capturado como um array numpy.

Captura e retorna um único quadro da câmera de forma síncrona.

Esta é uma chamada bloqueante que aguardará pelo hardware e seu SDK.

async_read

< >

( timeout_ms: float = Ellipsis ) → np.ndarray

Parâmetros

  • timeout_ms — Tempo máximo de espera por um novo quadro, em milissegundos. Padrão: 200 ms (0,2 s).

Retorna

np.ndarray

Frame capturado como um array numpy.

Exceções

TimeoutError

  • TimeoutError — Se nenhum novo quadro chegar dentro de timeout_ms.

Retorna o novo quadro mais recente.

Este método recupera o quadro mais recente capturado pela thread em segundo plano. Se um novo quadro já estiver disponível no buffer (capturado desde a última chamada), ele é retornado imediatamente.

Ele bloqueia por até timeout_ms apenas se o buffer estiver vazio ou se o quadro mais recente já tiver sido consumido por uma chamada anterior de async_read.

Essencialmente, este método retorna o último quadro não consumido, aguardando, se necessário, a chegada de um novo quadro dentro do tempo limite especificado.

Uso:

  • Ideal para loops de controle em que você deseja garantir que cada quadro processado seja atual, sincronizando efetivamente seu loop ao FPS da câmera.
  • As causas de um timeout geralmente incluem: FPS muito baixo da câmera, carga de processamento elevada ou se a câmera estiver desconectada.

find_cameras

< >

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

Retorna

List[Dict[str, Any]]

Uma lista de dicionários, em que cada dicionário contém informações sobre uma câmera detectada.

Detecta as câmeras disponíveis conectadas ao sistema.

CameraConfig

classe 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