LeRobot documentation
Caméras
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
< source >( config: CameraConfig )
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
< source >( warmup: bool = True )
Établir la connexion à la caméra.
Déconnectez-vous de la caméra et libérez les ressources.
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
< source >( timeout_ms: float = Ellipsis ) → np.ndarray
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
< source >( ) → 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
< source >( fps: int | None = Nonewidth: int | None = Noneheight: int | None = None )