
Percepcja · Percepcja i wizja
1.45.0·
Luxonis OS to autorska dystrybucja systemu Linux oparta na projekcie Yocto, zaprojektowana dla układu Robotics Vision Core 4 (RVC4) z 6-rdzeniowym procesorem ARMv8. System jest fabrycznie instalowany na kamerach z rodziny OAK4 i może być aktualizowany, aby udostępniać nowe funkcje.
Luxonis OS to warstwa systemowa działająca bezpośrednio na urządzeniu, natomiast DepthAI to zestaw SDK/API (Python i C++) służący do budowania potoków percepcji. DepthAI w wersji 3 obsługuje zarówno starsze kamery OAK (RVC2), jak i OAK4 (RVC4). Luxonis OS pojawia się wraz z generacją RVC4 i sprawia, że kamery OAK4 są w pełni samodzielnymi urządzeniami.
Obraz systemu dostarczany jest w postaci binarnej i może być aktualizowany metodą OTA. Do zarządzania urządzeniem służą narzędzia oakctl (po stronie hosta) oraz agentconfd (na urządzeniu). Zalecanym sposobem wdrażania aplikacji jest uruchamianie ich w kontenerach przez oakctl. Na urządzeniu dostępny jest interpreter Python 3.
Na urządzeniach OAK4 opartych na RVC4 można uruchamiać aplikacje ROS 2 bezpośrednio na pokładzie. System udostępnia funkcje percepcji na urządzeniu: pomiar głębi, śledzenie obiektów, detekcję i dopasowanie cech oraz VIO/SLAM.
System operacyjny ogólnego przeznaczenia lub specjalizowany dla robotyki — Ubuntu, Ubuntu Core, dystrybucje ROS-aware. Stanowi platformę dla middleware, runtime i aplikacji robotycznych.
Perception Stack obejmuje warstwy oprogramowania przetwarzające dane z kamer, LiDAR-ów, IMU, mikrofonów i innych sensorów w celu rozpoznania otoczenia, lokalizacji, detekcji obiektów i interpretacji sceny.
Perception oznacza rolę oprogramowania przetwarzającego dane z kamer, LiDAR-ów, IMU i innych sensorów w celu wykrywania obiektów, rozpoznawania sceny, lokalizacji, mapowania i interpretacji środowiska.
Computer Vision oznacza rolę oprogramowania odpowiedzialnego za przetwarzanie obrazu, analizę wideo, detekcję obiektów, segmentację, śledzenie i inne zadania oparte na danych wizualnych.
Python to wysokopoziomowy język programowania szeroko stosowany w robotyce, AI, computer vision, automatyzacji, testach i szybkiej integracji komponentów sprzętowych oraz software'owych.
C++ to język programowania szeroko wykorzystywany w robotyce, systemach embedded, middleware, sterowaniu i przetwarzaniu danych, szczególnie tam, gdzie istotna jest wydajność oraz bliska integracja ze sprzętem.
Luxonis OS działa wyłącznie na urządzeniach OAK4 opartych na układzie RVC4.
Framework do budowania własnych dystrybucji Linux dla systemów embedded i robotycznych od podstaw. Nie jest menedżerem pakietów w klasycznym sensie – jest systemem tworzenia kompletnego obrazu systemu operacyjnego (BSP + kernel + rootfs + aplikacje) skrojonym pod konkretny hardware. Warstwy (layers) Yocto: meta-ros (oficjalna warstwa ROS 2 dla Yocto – umożliwia budowanie obrazu z ROS 2 dla dowolnego embedded hardware), meta-openembedded (dodatkowe biblioteki), meta-raspberrypi, meta-tegra (NVIDIA Jetson). BitBake: system budowania Yocto analizujący przepisy (recipes .bb) i budujący pakiety w prawidłowej kolejności. Stosowany przez: producentów robotów tworzących własny locked-down OS dla urządzeń produkcyjnych (deterministyczna, audytowalna wersja wszystkich komponentów), firmy wymagające certyfikacji oprogramowania (IEC 61508, ISO 26262 – pełna kontrola stosu), systemy wymagające minimalnego footprintu OS. Alternatywy: Buildroot (prostszy, mniej elastyczny), Debian/Ubuntu Core (łatwiejszy dostęp do pakietów). meta-ros umożliwia deployment ROS 2 Humble/Jazzy na niestandardowych platformach ARM/RISC-V niedostępnych w oficjalnych apt repos.
Python Package Index – pip install.
64-bitowa architektura ARM (Advanced RISC Machine) w wersji ARMv8-A i nowszych – dominująca architektura w embedded computing, robotyce mobilnej i edge AI. Dwie nazwy oznaczają to samo: ARM64 (nazwa stosowana przez Apple i w kontekście macOS/iOS), AArch64 (oficjalna nazwa architektury ARM, używana w Linuksie i ekosystemie embedded). Absolutnie dominująca architektura w nowoczesnej robotyce mobilnej i humanoidalnej: NVIDIA Jetson (Orin NX, AGX Orin – Cortex-A78AE), Raspberry Pi 4/5 (Cortex-A72/A76), Qualcomm Robotics RB5/RB6 (Kryo), Apple M1/M2/M3 (dla stacji deweloperskich macOS), procesory w smartfonach używanych jako moduły robotyczne. Oficjalne wsparcie ROS 2 tier-1 dla aarch64 od dystrybucji Humble – pakiety apt dostępne przez packages.ros.org dla Ubuntu 22.04/24.04 aarch64. Unitree SDK2 dostępne dla aarch64 (target: Jetson Orin NX w G1). Boston Dynamics Spot: Qualcomm aarch64. Zalety wobec x86_64: znacznie niższy pobór energii (TDP 5–65W vs 45–125W), lepsza wydajność na wat, wbudowane NPU/GPU dla edge AI, mniejszy footprint fizyczny. Ograniczenia: historycznie mniejsza dostępność prebuildowanych pakietów (szybko zmniejsza się), niektóre biblioteki x86-only nie są portowane.
Standard synchronizacji czasu w sieci Ethernet (IEEE 1588-2008, PTPv2) zapewniający precyzję synchronizacji poniżej 1 µs w sieciach LAN. Niezbędny w systemach wielorobotowych i wielosensorycznych.
Standardowy protokół sieciowy IEEE 802.3 z TCP/IP jako warstwą transportową. Stosowany jako główny interfejs komunikacji między komputerem nadrzędnym (host PC) a robotem w SDK takich jak Unitree SDK2, Boston Dynamics API, Universal Robots URScript. Nie zapewnia deterministyczności (best-effort delivery).
Szeroko stosowany standard połączeń peryferyjnych obsługujący USB 2.0 (480 Mbit/s), USB 3.x (5–20 Gbit/s) i USB4 (40 Gbit/s). W robotyce używany do podłączania kamer (Intel RealSense D435i, RGB kamery), IMU, skanerów LiDAR, urządzeń haptycznych i do programowania/debugowania mikrokontrolerów.
Universal Serial Bus 3.0 (przemianowany na USB 3.1 Gen 1) – standard o przepustowości do 5 Gbit/s (SuperSpeed). Powszechnie stosowany w robotyce do kamer głębi (Intel RealSense D435i, D455), kamer stereo i skanerów 3D wymagających wysokiego pasma dla strumieni depth + RGB. Zasilanie: 5V / 900 mA. Złącza: Type-A, Type-B, Micro-B, Type-C. NVIDIA Jetson AGX Orin posiada 4 porty USB 3.1 Gen 1.
Mobile Industry Processor Interface Camera Serial Interface 2 – dedykowany interfejs kamer stosowany w modułach embedded (NVIDIA Jetson: 6 portów CSI-2). Obsługuje prędkości do 4.5 Gbit/s na tor. Dominujący interfejs kamer w robotach korzystających z modułów Jetson.
Standard IEEE 802.3ab – Ethernet 1 Gbit/s przez skrętkę Cat5e/Cat6, złącze RJ-45. Dominujący interfejs sieciowy w robotyce: komunikacja SDK-robot (Unitree SDK2, Boston Dynamics API, UR e-Series), przesyłanie obrazów z kamer IP, integracja z ROS 2 przez DDS/RTPS.
Edge oznacza typ wdrożenia, w którym oprogramowanie działa na lokalnym urządzeniu obliczeniowym, bramce, komputerze przemysłowym lub innym zasobie blisko robota i sensorów, bez konieczności przetwarzania w chmurze.
Containerized oznacza typ wdrożenia, w którym oprogramowanie jest pakowane i uruchamiane w kontenerach, np. Docker lub innych technologiach konteneryzacji, co ułatwia przenoszenie, replikację i zarządzanie zależnościami.
Do 120 fps przy 1280x800 na czujnikach OV9282/OV9782; tryb binningu OV9282 do 240 fps; 14. kanał FSYNC STM32.
Współdzielenie Image Front End (IFE) – do pięciu równoczesnych kamer.
Od wersji 1.18 dostęp SSH z hasłem jest domyślnie wyłączony; oakctl działa bez hasła.
Pierwsze wydanie z gałęzi 1.x.