LeRobot documentation

Camera

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Camera

Camera cung cấp các quan sát hình ảnh mà chính sách nhìn thấy. Mọi backend — OpenCV, Intel RealSense, Reachy 2 — đều triển khai giao diện Camera, do đó việc thay đổi phần cứng không làm thay đổi mã đọc khung hình.

Xem Hướng dẫn về camera để chọn và cấu hình camera, và Camera & Cảm biến bên thứ ba cho các thiết bị nằm ngoài bộ lõi.

Camera

lớp lerobot.cameras.Camera

< >

( config: CameraConfig )

Tham số

  • fps (float | None) — Số khung hình mỗi giây được cấu hình hoặc đo được
  • width (int | None) — Độ rộng khung hình tính bằng pixel
  • height (int | None) — Chiều cao khung hình tính bằng pixel

Lớp cơ sở cho các triển khai camera.

Định nghĩa một giao diện chuẩn cho các thao tác camera trên các backend khác nhau. Các lớp con phải triển khai tất cả các phương thức trừu tượng.

Quản lý các thuộc tính cơ bản của camera (FPS, độ phân giải) và các thao tác cốt lõi:

  • Kết nối/ngắt kết nối
  • Chụp khung hình (đồng bộ/phi đồng bộ/mới nhất)

connect

< >

( warmup: bool = True )

Tham số

  • warmup — Nếu là True (mặc định), sẽ ghi nhận một khung hình khởi động trước khi trả về. Hữu ích cho các camera cần thời gian để điều chỉnh cài đặt ghi hình. Nếu là False, sẽ bỏ qua khung hình khởi động.

Thiết lập kết nối với camera.

ngắt kết nối

< >

( )

Ngắt kết nối với camera và giải phóng tài nguyên.

đọc

< >

( ) → np.ndarray

Trả về

np.ndarray

Khung được ghi lại dưới dạng mảng numpy.

Chụp và trả về một khung hình duy nhất từ camera một cách đồng bộ.

Đây là một lệnh gọi chặn (blocking call) sẽ chờ cho đến khi phần cứng và SDK của nó sẵn sàng.

async_read

< >

( timeout_ms: float = Ellipsis ) → np.ndarray

Tham số

  • timeout_ms — Thời gian tối đa để chờ một khung hình mới, tính bằng mili giây. Mặc định là 200ms (0,2s).

Trả về

np.ndarray

Khung được ghi lại dưới dạng mảng numpy.

Gây ra

TimeoutError

  • TimeoutError — Nếu không có khung hình mới nào đến trong vòng timeout_ms.

Trả về khung hình mới nhất.

Phương thức này lấy khung hình mới nhất được ghi lại bởi luồng nền. Nếu một khung hình mới đã có sẵn trong bộ đệm (được ghi lại kể từ lần gọi trước), nó sẽ trả về ngay lập tức.

Nó chỉ chặn tối đa timeout_ms nếu bộ đệm trống hoặc nếu khung hình gần nhất đã được tiêu thụ bởi một cuộc gọi async_read trước đó.

Về cơ bản, phương pháp này trả về khung dữ liệu chưa được tiêu thụ gần nhất, đồng thời chờ nếu cần cho đến khi một khung mới đến trong khoảng thời gian chờ được chỉ định.

Cách sử dụng:

  • Phù hợp cho các vòng lặp điều khiển mà bạn muốn đảm bảo mỗi khung hình được xử lý đều là mới nhất, qua đó đồng bộ hóa vòng lặp của bạn với FPS của camera.
  • Nguyên nhân gây ra thời gian chờ quá hạn thường bao gồm: FPS của camera rất thấp, tải xử lý nặng, hoặc khi camera bị ngắt kết nối.

find_cameras

< >

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

Trả về

List[Dict[str, Any]]

Một danh sách các từ điển, trong đó mỗi từ điển chứa thông tin về một camera được phát hiện.

Phát hiện các camera khả dụng được kết nối với hệ thống.

CameraConfig

lớp 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