Jetson NX was able to recognize the Real Sense D435i, but not the L515

Jetson NX was able to recognize the Real Sense D435i, but not the L515.

After launching JetsonNX, I made it possible to use D435i recognition and pyrealsense as follows.

1,realsense set up
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository “deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main” -u
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev

mkdir buildCMake
cd buildCMake
sudo apt-get install libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2.tar.gz
tar xvf cmake-3.17.2.tar.gz
cd cmake-3.17.2
sudo ./bootstrap

sudo make -j5
sudo make install

2,pyrealsense set up
git clone GitHub - JetsonHacksNano/installLibrealsense: Build and install Intel's librealsense for the NVIDIA Jetson Nano Developer Kit
cd installLibrealsense
sh ./installLibrealsense.sh

[Correct buildLibrealsense.sh]

NVCC_PATH=/usr/local/cuda-10.0/bin/nvcc

NVCC_PATH=/usr/local/cuda-10.2/bin/nvcc

[delete]time make -j$(($NUM_CPU - 1))
[delete]time make

/usr/bin/cmake …/ -DBUILD_EXAMPLES=true -DFORCE_LIBUVC=true -DBUILD_WITH_CUDA="$USE_CUDA" -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS=bool:true

/usr/bin/cmake …/ -DBUILD_EXAMPLES=true -DFORCE_LIBUVC=true -DBUILD_WITH_CUDA="$USE_CUDA" -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS=bool:true -DPYTHON_EXECUTABLE=/usr/bin/python3

sh ./buildLibrealsense.sh
export PYTHONPATH=$PYTHONPATH:/usr/local/lib

However, when L515 is connected, it is not recognized even by realsense-viewer.
The D435i works with both realsense-viewer and pyrealsense.

How can I make L515 recognized?

Hi,
There is a forum user sharing experience in
Intel l515 support on XavierNX - #19 by LChachayma
Please check the steps and give it a try.

Thank you for your reply
With reference to the reference page, I ran the following command:

#update cmake
sudo apt-get install curl
sudo apt-get install libssl-dev libcurl4-openssl-dev #curl dependencies
wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/
cd cmake-3.13.0/
./bootstrap --system-curl
make -j6
echo ‘export PATH=/home/nvidia/cmake-3.13.0/bin/:$PATH’ >> ~/.bashrc #replace /home/nvidia with your instalation directory
source ~/.bashrc

#copy pyrealsense2 packages outside the folder
sudo cp -r /usr/lib/python3/dist-packages/pyrealsense2/* /usr/lib/python3/dist-packages/

#build Librealsense
wget https://github.com/IntelRealSense/librealsense/archive/v2.38.0.tar.gz && tar -xvf v2.38.0.tar.gz && cd librealsense-2.38.0/ && mkdir build && cd build && cmake …/ -DFORCE_RSUSB_BACKEND=true -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_WITH_CUDA=true -DBUILD_GRAPHICAL_EXAMPLES=true && make -j6 && sudo make install

But I get an error with #build Librealsense.

jetson@jetson-desktop:~/Desktop/librealsense-2.38.0/build$ cmake …/ -DFORCE_RSUSB_BACKEND=true -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_WITH_CUDA=true -DBUILD_GRAPHICAL_EXAMPLES=true
– The CXX compiler identification is GNU 7.5.0
– The C compiler identification is GNU 7.5.0
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ - works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc - works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Internet connection identified
– Info: REALSENSE_VERSION_STRING=2.38.0
– Performing Test COMPILER_SUPPORTS_CXX11
– Performing Test COMPILER_SUPPORTS_CXX11 - Success
– Performing Test COMPILER_SUPPORTS_CXX0X
– Performing Test COMPILER_SUPPORTS_CXX0X - Success
– Setting Unix configurations
– Info: Building with CUDA requires CMake v3.8+
– The CUDA compiler identification is unknown
CMake Error at CMake/cuda_config.cmake:3 (project):
No CMAKE_CUDA_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable “CUDACXX” or the CMake cache entry CMAKE_CUDA_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
CMake/global_config.cmake:65 (include)
CMakeLists.txt:44 (global_set_flags)

– Configuring incomplete, errors occurred!
See also “/home/jetson/Desktop/librealsense-2.38.0/build/CMakeFiles/CMakeOutput.log”.
See also “/home/jetson/Desktop/librealsense-2.38.0/build/CMakeFiles/CMakeError.log”.

It is said that there is no folder that should exist. Do you know the cause?
I have attached CMakeOutput.log and CMakeError.log.

CMakeOutput.log (44.5 KB)
CMakeError.log (446 Bytes)

You are attempting to use version v2.31 of lib realsense using the JetsonHacksNano install script. This version is from before the introduction of the L515. Also, the scripts were written before Intel provided Jetson support. Intel now supports the Jetson. See: librealsense/installation_jetson.md at master · IntelRealSense/librealsense · GitHub

Hi

Thank you for the information.
I installed the SDK corresponding to L515 by executing the command of the reference URL.
(NVCC path is also specified by cmake)
The L515 is now recognized by the realsense-viewer.

However, when I run pipeline.start (config) in pyreansense using the following code, it says that the device cannot be found.
Apparently pyrrealsense2 doesn’t recognize L515.
Works with D435i.
The installed pyrealsense is 2.31.0.

Do you know the cause?

pyrealsense2 code

import pyrealsense2 as rs
import numpy as np
import cv2

pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 1024, 768, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)

align_to = rs.stream.color
align = rs.align(align_to)

pipeline.start(config)

while True:
frames = pipeline.wait_for_frames()
aligned_frames = align.process(frames)
depth_frame = aligned_frames.get_depth_frame()
color_frame = aligned_frames.get_color_frame()

Hi

After updating the version of pyrealsense2, it works.

Thank you

@n.kanbe.i9
also you may try if not yet

  1. upgrading firmware of camera devices d400 series
  2. upgrading realsense sdk up to v2.43.0 (Release Intel® RealSense™ SDK 2.0 (v2.43.0) · IntelRealSense/librealsense · GitHub)
1 Like