
Here’s a quick technical post for anyone attempting to harness the capabilities of a Realsense D435 camera on a Jetson TX2. For me, this is about getting usable depth perception on a UAV, but it has proved more problematic than I originally anticipated.
This post aims to provide some simple instructions that now work for me, but took a long time to find out!
The Problem
The Intel librealsense2 library does not support ARM architectures as I write. This causes a fatal compile error when the file librealsense/src/image.cpp is accessed, as it queries the system architecture.
Solution
Modify image.cpp as in my Github gist here. This bypasses the architecture check.
Installation Sequence
- Flash the TX2 with JetPack 3.2
- git clone https://github.com/IntelRealSense/librealsense.git
- cd librealsense
- sudo apt-get update
- modify librealsense/src/image.cpp as per gist above
- sudo apt-get install git cmake
- sudo apt-get install libssl-dev
- sudo apt-get install libusb-1.0-0-dev pkg-config libgtk-3-dev
- sudo apt-get install libglfw3-dev
- sudo apt-get install libudev-dev
- sudo apt-get install cmake-curses-gui
- sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
- sudo udevadm control –reload-rules && udevadm trigger
- reboot
- mkdir build && mkdir install
- cd build
- cmake ../ -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DBUILD_UNIT_TESTS=false
- make -j4
- sudo make install
- Connect D435 to the USB3 port
- Navigate to the tools at usr/local/bin, such as:
Issues
I am getting some warnings of incomplete frames, but it’s not clear if this is due to a power issue on the powered hub or a software configuration. Despite this, the provided tools seem to work well and demonstrates some of the best depth camera capabilities I have seen (and this is my third depth camera to date).