LeRobot documentation

Kamera

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Kamera

Kamera menyediakan pengamatan gambar yang dilihat oleh kebijakan. Setiap backend — OpenCV, Intel RealSense, Reachy 2 — mengimplementasikan antarmuka Camera, sehingga penggantian perangkat keras tidak mengubah kode yang membaca frame.

Lihat Panduan Kamera untuk memilih dan mengonfigurasi kamera, serta Kamera & Sensor Pihak Ketiga untuk perangkat di luar set inti.

Kamera

kelas lerobot.cameras.Camera

< >

( config: CameraConfig )

Parameter

  • fps (float | None) — Frame per second yang dikonfigurasi atau diukur
  • width (int | None) — Lebar frame dalam piksel
  • height (int | None) — Tinggi frame dalam piksel

Kelas dasar untuk implementasi kamera.

Mendefinisikan antarmuka standar untuk operasi kamera di berbagai backend. Subkelas harus mengimplementasikan semua metode abstrak.

Mengelola properti dasar kamera (FPS, resolusi) dan operasi inti:

  • Koneksi/diskoneksi
  • Penangkapan bingkai (sinkron/asinkron/terbaru)

connect

< >

( warmup: bool = True )

Parameter

  • warmup — Jika True (default), menangkap frame warmup sebelum mengembalikan. Berguna untuk kamera yang membutuhkan waktu untuk menyesuaikan pengaturan tangkapan. Jika False, melewati frame warmup.

Buat koneksi ke kamera.

putuskan

< >

( )

Putuskan koneksi dari kamera dan lepaskan sumber daya.

baca

< >

( ) → np.ndarray

Mengembalikan

np.ndarray

Frame yang ditangkap sebagai array numpy.

Ambil dan kembalikan satu frame dari kamera secara sinkron.

Ini adalah panggilan yang memblokir dan akan menunggu perangkat keras beserta SDK-nya.

async_read

< >

( timeout_ms: float = Ellipsis ) → np.ndarray

Parameter

  • timeout_ms — Waktu maksimum untuk menunggu frame baru dalam milidetik. Nilai defaultnya adalah 200ms (0,2s).

Mengembalikan

np.ndarray

Frame yang ditangkap sebagai array numpy.

Membuang

TimeoutError

  • TimeoutError — Jika tidak ada frame baru yang tiba dalam timeout_ms.

Kembalikan frame baru yang paling terakhir.

Metode ini mengambil frame terbaru yang ditangkap oleh thread latar belakang. Jika frame baru sudah tersedia di buffer (ditangkap sejak pemanggilan terakhir), metode ini akan mengembalikannya secara langsung.

Itu memblokir hingga timeout_ms hanya jika buffer kosong atau jika frame terbaru sudah dikonsumsi oleh panggilan async_read sebelumnya.

Pada dasarnya, metode ini mengembalikan frame terbaru yang belum dikonsumsi, dengan menunggu jika diperlukan hingga frame baru tiba dalam batas waktu yang ditentukan.

Penggunaan:

  • Ideal untuk loop kontrol di mana Anda ingin memastikan setiap frame yang diproses selalu segar, secara efektif menyinkronkan loop Anda dengan FPS kamera.
  • Penyebab timeout biasanya meliputi: FPS kamera yang sangat rendah, beban pemrosesan yang berat, atau jika kamera terputus.

find_cameras

< >

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

Mengembalikan

List[Dict[str, Any]]

Daftar kamus, di mana setiap kamus berisi informasi tentang kamera yang terdeteksi.

Mendeteksi kamera yang tersedia dan terhubung ke sistem.

CameraConfig

kelas 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