LeRobot documentation

Kameralar

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Kameralar

Kameralar, bir politikanın gördüğü görüntü gözlemlerini sağlar. Her arka uç — OpenCV, Intel RealSense, Reachy 2 — Camera arayüzünü uygular; bu nedenle donanım değiştirildiğinde kareleri okuyan kod değişmez.

Bir kamera seçmek ve yapılandırmak için Kameralar kılavuzuna, çekirdek setin dışındaki cihazlar için ise Üçüncü Taraf Kameralar & Sensörler sayfasına bakın.

Kamera

sınıf lerobot.cameras.Camera

< >

( config: CameraConfig )

Parametreler

  • fps (float | None) — Yapılandırılmış veya ölçülen saniye başına kare sayısı
  • width (int | None) — Piksel cinsinden kare genişliği
  • height (int | None) — Piksel cinsinden kare yüksekliği

Kamera uygulamaları için temel sınıf.

Farklı arka uçlar arasında kamera işlemleri için standart bir arayüz tanımlar. Alt sınıflar tüm soyut yöntemleri uygulamak zorundadır.

Temel kamera özelliklerini (FPS, çözünürlük) ve çekirdek işlemleri yönetir:

  • Bağlantı/kurulum
  • Kare yakalama (senkron/asenkron/en son)

bağlan

< >

( warmup: bool = True )

Parametreler

  • warmup — True ise (varsayılan), döndürmeden önce bir ısınma karesi yakalar. Yakalama ayarlarını ayarlamak için zamana ihtiyaç duyan kameralar için faydalıdır. False ise, ısınma karesi atlanır.

Kameraya bağlantı kurun.

bağlantıyı kes

< >

( )

Kameradan bağlantıyı kesin ve kaynakları serbest bırakın.

okuma

< >

( ) → np.ndarray

Dönüş değeri

np.ndarray

numpy dizisi olarak yakalanan kare.

Kameradan senkron olarak tek bir kare yakalayın ve döndürün.

Bu, donanımın ve SDK'sının hazır olmasını bekleyen bir engelleyici çağrıdır.

async_read

< >

( timeout_ms: float = Ellipsis ) → np.ndarray

Parametreler

  • timeout_ms — Yeni bir kare için milisaniye cinsinden beklenmesi gereken maksimum süre. Varsayılan olarak 200 ms (0,2 sn)'dir.

Dönüş değeri

np.ndarray

numpy dizisi olarak yakalanan kare.

Yükseltilen

TimeoutError

  • TimeoutError — timeout_ms içinde yeni bir kare gelmezse.

En son yeni çerçeveyi döndürür.

Bu yöntem, arka plan iş parçacığı tarafından yakalanan en son kareyi alır. Tamponda yeni bir kare zaten mevcutsa (son çağrıdan bu yana yakalanmışsa), bunu derhal döndürür.

Yalnızca tampon boşsa veya en son kare daha önceki bir async_read çağrısı tarafından zaten tüketildiyse en fazla timeout_ms kadar bloklanır.

Özünde, bu yöntem, belirtilen zaman aşımı içinde yeni bir çerçevenin gelmesi için gerekirse bekleyerek, en son tüketilmemiş çerçeveyi döndürür.

Kullanım:

  • İşlenen her karenin güncel olmasını sağlamak istediğiniz kontrol döngüleri için idealdir; döngünüzü kameraların FPS'ine etkili bir şekilde senkronize eder.
  • Zaman aşımının nedenleri genellikle şunları içerir: çok düşük kamera FPS'i, ağır işleme yükü veya kameranın bağlantısının kesilmesi.

find_cameras

< >

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

Dönüş değeri

List[Dict[str, Any]]

Sözlüklerden oluşan bir liste, her sözlük algılanan bir kamera hakkında bilgi içerir.

Sisteme bağlı kullanılabilir kameraları algılar.

CameraConfig

sınıf 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