LeRobot documentation

Caméras

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Caméras

Les caméras fournissent les observations d’images perçues par une politique. Chaque backend — OpenCV, Intel RealSense, Reachy 2 — implémente l’interface Camera, de sorte que le changement de matériel ne modifie pas le code qui lit les images.

Consultez le guide des caméras pour choisir et configurer une caméra, et Caméras et capteurs tiers pour les appareils hors du jeu de base.

Caméra

classe lerobot.cameras.Camera

< >

( config: CameraConfig )

Paramètres

  • fps (float | None) — Images par seconde configurées ou mesurées
  • width (int | None) — Largeur de l'image en pixels
  • height (int | None) — Hauteur de l'image en pixels

Classe de base pour les implémentations de caméras.

Définit une interface standard pour les opérations de caméra sur différents backends. Les sous-classes doivent implémenter toutes les méthodes abstraites.

Gère les propriétés de base de la caméra (FPS, résolution) et les opérations principales :

  • Connexion/déconnexion
  • Capture de trame (synchrone/asynchrone/dernière)

connect

< >

( warmup: bool = True )

Paramètres

  • warmup — Si True (par défaut), capture un frame de mise en route avant de renvoyer. Utile pour les caméras qui ont besoin de temps pour ajuster les paramètres de capture. Si False, ignore le frame de mise en route.

Établir la connexion à la caméra.

déconnecter

< >

( )

Déconnectez-vous de la caméra et libérez les ressources.

lecture

< >

( ) → np.ndarray

Retourne

np.ndarray

Image capturée en tant que tableau numpy.

Capture et renvoie un seul image de la caméra de manière synchrone.

Ceci est un appel bloquant qui attendra le matériel et son SDK.

async_read

< >

( timeout_ms: float = Ellipsis ) → np.ndarray

Paramètres

  • timeout_ms — Durée maximale d’attente d’un nouvel image, en millisecondes. Valeur par défaut : 200 ms (0,2 s).

Retourne

np.ndarray

Image capturée en tant que tableau numpy.

Lève

TimeoutError

  • TimeoutError — Si aucune nouvelle image n’arrive dans le délai de timeout_ms.

Retourner le dernier nouveau frame.

Cette méthode récupère la dernière image capturée par le thread en arrière-plan. Si une nouvelle image est déjà disponible dans le tampon (capturée depuis l'appel précédent), elle la renvoie immédiatement.

Il bloque jusqu'à timeout_ms uniquement si le tampon est vide ou si la dernière image a déjà été consommée par un appel précédent à async_read.

Essentiellement, cette méthode renvoie la dernière image non consommée, en attendant le cas échéant qu'une nouvelle image arrive dans le délai spécifié.

Utilisation :

  • Idéal pour les boucles de contrôle où vous souhaitez vous assurer que chaque image traitée est fraîche, synchronisant ainsi efficacement votre boucle sur le FPS de la caméra.
  • Les causes d'un dépassement de délai incluent généralement : un FPS très faible de la caméra, une charge de traitement élevée, ou le fait que la caméra soit déconnectée.

find_cameras

< >

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

Retourne

List[Dict[str, Any]]

Une liste de dictionnaires, où chaque dictionnaire contient des informations sur une caméra détectée.

Détecte les caméras disponibles connectées au système.

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