isaac_ros_common icon indicating copy to clipboard operation
isaac_ros_common copied to clipboard

Jetson Orin Realsense IMU only with sudo inside container

Open maxklock opened this issue 6 months ago • 1 comments

I've worked with the Isaac ROS Stack quite a while now, but only on PC. Now we want to switch to Jetson and encounter some issues with the realsense:

On Jetson everything is setup to use our Realsense and I'm able to use all of our devices with the realsense-viewer without problems.

But as soon as I use the isaac docker container, we run into issues. The D435 is working fine and I can use rs-enumerate-deives and realsense-viewer to get all data. But when connecting our D435i or D455, I need to use sudo, to see the devices.

I've tried different solutions for this "sudo problem" but most of them target the host system itself and not the container, but on host everything works fine. I've tried to modify the container with additional mounts like /sys or mounting the device directly instead of /dev in general. But nothing works. On PC we don't have issues either.

Any ideas or suggestions, how to solve this issue?

Environment Jetson Orin NX 16GB on A603 I/O Board JetPack 6.2 with L4T 36.4.3 librealsense 2.55.1.0 with LIBUVC and CUDA enabled D455 with firmware 5.13.0.55 D435 with firmware 5.13.0.50 D435i with firmware 5.13.0.55 isaac_ros_common was tested with v3.2-5 and v3.2-8

maxklock avatar Jun 18 '25 11:06 maxklock

As discussed in the corresponding librealsense issue, it was recommended to use an older version of Isaac or JetPack. As the system requirements of isaac recommend to use the newest version, I don't want to downgrade Jetpack.

Therefore I tried to downgrade Isaac. But I'm not able to get the build running for v3.1-0 due to a error during docker build. I get the same error, when I try to use v3.2-5:

Building /<myfolder>/src/isaac_ros_common/scripts/../docker/Dockerfile.aarch64 as image: aarch64-image with base:
[....]
[stage-0 10/22] RUN python3 -m pip install -U     Cython     pymongo     wheel     scikit-learn     ninja     networkx     "numpy>=1.24.4,<2"     numpy-quaternion     pyyaml     "setuptools_scm>=6.2"     trimesh     "yourdfpy>=0.0.53"     "warp-lang>=0.9.0"     "scipy>=1.7.0"     tqdm     importlib_resources:                                                                                                                                                                                                                                             
2.077 Collecting Cython                                                                                                                                                                                                                                                            
2.308   Downloading cython-3.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB)                                                                                                                                                                             
2.559      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 13.2 MB/s eta 0:00:00                                                                                                                                                                                               
3.651 Collecting pymongo
3.664   Downloading pymongo-4.13.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB)
3.717      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 24.5 MB/s eta 0:00:00
3.725 Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (0.37.1)
3.806 Collecting wheel
3.818   Downloading wheel-0.45.1-py3-none-any.whl (72 kB)
3.827      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.5/72.5 KB 12.9 MB/s eta 0:00:00
4.140 Collecting scikit-learn
4.155   Downloading scikit_learn-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.2 MB)
4.407      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 51.3 MB/s eta 0:00:00
4.548 Collecting ninja
4.562   Downloading ninja-1.11.1.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (156 kB)
4.576      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.0/157.0 KB 17.5 MB/s eta 0:00:00
4.659 Collecting networkx
4.672   Downloading networkx-3.4.2-py3-none-any.whl (1.7 MB)
4.709      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 53.1 MB/s eta 0:00:00
5.484 Collecting numpy<2,>=1.24.4
5.499   Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.2 MB)
5.730      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.2/14.2 MB 58.5 MB/s eta 0:00:00
6.218 Collecting numpy-quaternion
6.233   Downloading numpy_quaternion-2024.0.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (182 kB)
6.247      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 182.5/182.5 KB 19.5 MB/s eta 0:00:00
6.251 Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (5.4.1)
6.382 Collecting pyyaml
6.396   Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (718 kB)
6.418      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 718.5/718.5 KB 41.4 MB/s eta 0:00:00
6.538 Collecting setuptools_scm>=6.2
6.551   Downloading setuptools_scm-8.3.1-py3-none-any.whl (43 kB)
6.562      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.9/43.9 KB 4.8 MB/s eta 0:00:00
6.959 Collecting trimesh
6.974   Downloading trimesh-4.6.12-py3-none-any.whl (711 kB)
6.996      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 712.0/712.0 KB 40.5 MB/s eta 0:00:00
7.142 Collecting yourdfpy>=0.0.53
7.155   Downloading yourdfpy-0.0.57-py3-none-any.whl (22 kB)
7.339 Collecting warp-lang>=0.9.0
7.354   Downloading warp_lang-1.7.2-py3-none-manylinux_2_34_aarch64.whl (127.5 MB)
14.55      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.5/127.5 MB 10.4 MB/s eta 0:00:00
14.76 Requirement already satisfied: scipy>=1.7.0 in /usr/lib/python3/dist-packages (1.8.0)
15.21 Collecting scipy>=1.7.0
15.23   Downloading scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (35.5 MB)
15.79      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 35.5/35.5 MB 41.4 MB/s eta 0:00:00
16.01 Collecting tqdm
16.02   Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)
16.04      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.5/78.5 KB 9.2 MB/s eta 0:00:00
16.14 Collecting importlib_resources
16.15   Downloading importlib_resources-6.5.2-py3-none-any.whl (37 kB)
16.25 Collecting dnspython<3.0.0,>=1.16.0
16.26   Downloading dnspython-2.7.0-py3-none-any.whl (313 kB)
16.27      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 313.6/313.6 KB 36.5 MB/s eta 0:00:00
16.44 Collecting joblib>=1.2.0
16.46   Downloading joblib-1.5.1-py3-none-any.whl (307 kB)
16.47      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 307.7/307.7 KB 36.9 MB/s eta 0:00:00
16.51 Collecting threadpoolctl>=3.1.0
16.52   Downloading threadpoolctl-3.6.0-py3-none-any.whl (18 kB)
16.82 Collecting tomli>=1
16.83   Downloading tomli-2.2.1-py3-none-any.whl (14 kB)
16.84 Requirement already satisfied: packaging>=20 in /usr/lib/python3/dist-packages (from setuptools_scm>=6.2) (21.3)
16.84 Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from setuptools_scm>=6.2) (59.6.0)
16.94 Requirement already satisfied: six in /usr/lib/python3/dist-packages (from yourdfpy>=0.0.53) (1.16.0)
17.71 Collecting lxml
17.72   Downloading lxml-5.4.0-cp310-cp310-manylinux_2_28_aarch64.whl (4.9 MB)
17.81      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 60.6 MB/s eta 0:00:00
18.21 Collecting mapbox_earcut>=1.0.2
18.23   Downloading mapbox_earcut-1.0.3.tar.gz (24 kB)
18.55   Installing build dependencies: started
23.26   Installing build dependencies: finished with status 'done'
23.28   Getting requirements to build wheel: started
23.61   Getting requirements to build wheel: finished with status 'done'
23.93   Installing backend dependencies: started
30.82   Installing backend dependencies: finished with status 'done'
30.83   Preparing metadata (pyproject.toml): started
31.25   Preparing metadata (pyproject.toml): finished with status 'error'
31.27   error: subprocess-exited-with-error
31.27   
31.27   × Preparing metadata (pyproject.toml) did not run successfully.
31.27   │ exit code: 1
31.27   ╰─> [30 lines of output]
31.27       Traceback (most recent call last):
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 515, in validate
31.27           packaging.utils.canonicalize_name(self.name, validate=True)
31.27       TypeError: canonicalize_name() got an unexpected keyword argument 'validate'
31.27       
31.27       During handling of the above exception, another exception occurred:
31.27       
31.27       Traceback (most recent call last):
31.27         File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
31.27           main()
31.27         File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
31.27           json_out['return_val'] = hook(**hook_input['kwargs'])
31.27         File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 164, in prepare_metadata_for_build_wheel
31.27           return hook(metadata_directory, config_settings)
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/__init__.py", line 96, in prepare_metadata_for_build_wheel
31.27           return _build_wheel_impl(
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 176, in _build_wheel_impl
31.27           return _build_wheel_impl_impl(
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 233, in _build_wheel_impl_impl
31.27           metadata = get_standard_metadata(pyproject, settings)
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/metadata.py", line 68, in get_standard_metadata
31.27           metadata = StandardMetadata.from_pyproject(
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 428, in from_pyproject
31.27           self = cls(
31.27         File "<string>", line 24, in __init__
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 293, in __post_init__
31.27           self.validate()
31.27         File "/tmp/pip-build-env-xj7aw31q/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_vendor/pyproject_metadata/__init__.py", line 516, in validate
31.27           except packaging.utils.InvalidName:
31.27       AttributeError: module 'packaging.utils' has no attribute 'InvalidName'
31.27       [end of output]
31.27   
31.27   note: This error originates from a subprocess, and is likely not a problem with pip.
31.27 error: metadata-generation-failed
31.27 
31.27 × Encountered error while generating package metadata.
31.27 ╰─> See above for output.
31.27 
31.27 note: This is an issue with the package mentioned above, not pip.
31.27 hint: See above for details.

A short research indicates mismatching package versions. I tried to make changes to the Dockerfile to update some versions, but I got other errors instead.

maxklock avatar Jun 23 '25 05:06 maxklock