Hi everyone,
I’m working on integrating an Orbbec Gemini 335L camera into a Bosch Rexroth ctrlX X7 industrial controller running Ubuntu Core with strict snap confinement. I’m building a ROS2 snap that includes the OrbbecSDK ROS2 wrapper and all its dependencies.
The snap works perfectly on my development laptop (Ubuntu 22.04, ROS2 Humble) where I can install udev rules manually and have full shell access. However, on the ctrlX X7 it fails at camera enumeration/initialization — the device is not recognized.
The core issue seems to be udev rules: on a standard system I would install the Orbbec udev rules (e.g. /etc/udev/rules.d/99-obsensor-libusb.rules) to grant USB access permissions. But on the ctrlX:
- The OS is locked down (no shell access, strict snap confinement)
- I cannot manually drop udev rules into /etc/udev/rules.d/
- Snaps with strict confinement must use declared interfaces (e.g. raw-usb, hardware-observe) to access USB devices
My questions:
- Has anyone successfully run an Orbbec camera (Gemini 2 / Gemini 335L or similar) on a Bosch Rexroth ctrlX CORE or X7?
- Is there a way to bundle or auto-apply the Orbbec udev rules within a strictly confined snap (e.g. via a snap hook or a gadget snap)?
- Does the OrbbecSDK have any fallback mechanism for USB enumeration when standard udev rules are not in place?
Any experience or suggestions would be very appreciated. Thanks!