Traversability Filter Fails on Jetson Orin (ARM64) - given image has PyTorch CPU-Only Installation
Environment
- Platform: NVIDIA Jetson Orin Nano (ARM64)
- JetPack: 6.0 (R36.4.0)
- Base Image: Built from
nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 (ARM64 variant)
- ROS2: Humble
- CUDA: 12.1.1
- cuDNN: 8
Issue Description
The elevation mapping node crashes when trying to initialize the traversability filter on Jetson Orin.
Error Output
[elevation_mapping_node-1] terminate called after throwing an instance of 'pybind11::error_already_set'
[elevation_mapping_node-1] what(): AssertionError: Torch not compiled with CUDA enabled
[elevation_mapping_node-1]
[elevation_mapping_node-1] At:
[elevation_mapping_node-1] /usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py(403): _lazy_init
[elevation_mapping_node-1] /usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py(1084): cuda
[elevation_mapping_node-1] /home/ros/workspace/install/local/lib/python3.10/dist-packages/elevation_mapping_cupy/traversability_filter.py(46): get_filter_torch
[elevation_mapping_node-1] /home/ros/workspace/install/local/lib/python3.10/dist-packages/elevation_mapping_cupy/elevation_mapping.py(112): __init__
[elevation_mapping_node-1]
[elevation_mapping_node-1] Fatal Python error: Aborted
[ERROR] [elevation_mapping_node-1]: process has died [pid 367, exit code -6]
PyTorch Installation Issue
$ python3 -c "import torch; print(torch.__version__, torch.cuda.is_available())"
2.9.0+cpu False
The Dockerfile's pip install command installs PyTorch 2.9.0 CPU-only on ARM64, which cannot run CUDA operations required for the traversability filter.
On ARM64, this downloads torch-2.9.0+cpu (CPU-only wheel) instead of CUDA-enabled builds.
The traversability filter requires:
- PyTorch with CUDA support
- GPU-compatible Conv2D operations
- cuDNN integration
Attempted Solutions
- ✅ Built using provided Dockerfile.x64 on Jetson ARM64
- ✅ All packages compiled successfully (elevation_mapping_cupy, grid_map, etc.)
- ✅ CuPy installed and working with CUDA
- ❌ PyTorch installed as CPU-only (no CUDA support)
- ❌ Traversability filter crashes when trying to use
.cuda()
- ❌ Disabling traversability in config still initializes PyTorch filter
- ❌ Commenting out weight_file and removing from layers still crashes
Questions
- ARM64 Support Verification: The README claims support for "ARM arch for NVIDIA Jetson Orin boards" - how is this achieved?
- PyTorch Installation: The Dockerfile installs CPU-only PyTorch on ARM64. Is there a Jetson-specific installation method?
- Traversability on Jetson: Has anyone successfully run the traversability filter on Jetson with GPU acceleration?
- Config-based Disable: Is there a way to completely disable traversability filter initialization via config (weight_file commented + layers removed still crashes)?
- Alternative Solutions: Recommendations for running traversability on Jetson or workarounds?
Workaround Needed
Could you provide guidance on:
- Recommended PyTorch installation method for Jetson (wheel URL or build instructions)
- Or, instructions for using Chainer backend on Jetson
System Info
# JetPack Version
$ cat /etc/nv_tegra_release
R36 (release), REVISION: 4.0, GCID: 37537400, BOARD: generic, EABI: aarch64
# CUDA Version (in container)
$ nvcc --version
Cuda compilation tools, release 12.1, V12.1.105
# Current PyTorch (problematic - CPU only)
$ python3 -c "import torch; print(torch.__version__, torch.cuda.is_available())"
2.9.0+cpu False
# Container Architecture
$ uname -m
aarch64
# CuPy (working correctly with CUDA)
$ python3 -c "import cupy; print(cupy.cuda.is_available())"
True
Traversability Filter Fails on Jetson Orin (ARM64) - given image has PyTorch CPU-Only Installation
Environment
nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04(ARM64 variant)Issue Description
The elevation mapping node crashes when trying to initialize the traversability filter on Jetson Orin.
Error Output
PyTorch Installation Issue
$ python3 -c "import torch; print(torch.__version__, torch.cuda.is_available())" 2.9.0+cpu FalseThe Dockerfile's pip install command installs PyTorch 2.9.0 CPU-only on ARM64, which cannot run CUDA operations required for the traversability filter.
On ARM64, this downloads
torch-2.9.0+cpu(CPU-only wheel) instead of CUDA-enabled builds.The traversability filter requires:
Attempted Solutions
.cuda()Questions
Workaround Needed
Could you provide guidance on:
System Info