ROS 2 driver for Luxonis OAK-x depth cameras on Husarion robots. Publishes RGB (raw + on-chip H.264 — hardware-encoded, ~0 host CPU) and, when enabled, depth + a point cloud.
Installation
sudo snap install husarion-depthai
sudo /var/snap/husarion-depthai/common/post_install.sh
sudo snap set husarion-depthai driver.model=OAK-D-PRO
sudo husarion-depthai.start
post_install.sh connects the interfaces snapd doesn't auto-connect on sideloaded installs. driver.model is required before start (hardware is autodetected; this is validation/cockpit metadata).
Camera settings (sudo snap set husarion-depthai <key>=<value>)
driver.bitrate (default 3400000) — on-chip H.264 encoder bitrate (bit/s) for the telepresence stream.driver.depth=true — adds metric depth + an on-chip H.264 disparity preview. Needs a stereo OAK (rejected on OAK-1/OAK-1-LITE).driver.fps (1-60, default 30) — RGB framerate.driver.imu=true — enable the IMU, on models that have one.driver.ip=<address> — PoE camera's IP address; leave unset for USB.driver.ir=true — enable the IR laser dot projector + floodlight (OAK-D-PRO/-W only).driver.name — node name / topic prefix.driver.pointcloud=true — publishes a /points point cloud (implies depth=true).driver.rectify-rgb=false — skip rectification to save CPU (raw image is always published regardless).driver.resolution (720P/1080P/4K, default 720P) — RGB resolution.driver.startup-delay — USB cold-start delay after a fresh reboot.Every setting above is checked against the declared camera model — an unsupported combination (e.g. depth on an OAK-1) is rejected immediately with a clear reason, never a silent failure at runtime.
ROS network: ros.namespace, ros.domain-id, ros.transport (udp/shm/udp-lo, fastdds/<name>, cyclonedds/<name>, rmw_cyclonedds_cpp).
Husarion cockpit integration
Installed alongside a rosbot snap, this joins its agent chain automatically and inherits ROS network config (RMW incl. Zenoh, domain, namespace) from the cockpit Manage tab — the Camera card there exposes the same driver.* keys as fields. When chained, don't set ros.transport locally. Sideloaded installs need snap connect husarion-depthai:agent-chain rosbot:agent-chain once.
Full parameter reference, custom camera presets, and architecture notes: see the project README.
You are about to open
Do you wish to proceed?
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
Snapd can be installed from Manjaro’s Add/Remove Software application (Pamac), found in the launch menu. From the application, search for snapd, select the result, and click Apply.
Alternatively, snapd can be installed from the command line:
sudo pacman -S snapd
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap and /snap:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
To install Husarion DepthAI, simply use the following command:
sudo snap install husarion-depthai
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.