Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Instructions for OpenVINS + Nvidia Jetson Orin Nano + Intel Realsense d455 setup

Step 1: Install ROS

For this project we have decided to use ROS2 Humble you can refer to the following link on how to install and test ROS2 on a Jetson: https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html

  • Set locale:
locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings
```sh

- Setup Sources:

```sh
sudo apt install software-properties-common
sudo add-apt-repository universe

sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb
  • Install ROS2:
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
  • Test:
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker # run this in one terminal 
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_py listener # run this in another terminal

Step 2: Install librealsense(from source)

The way that we have found to make the d455 work properly with the Jetson was by using the user space USB backend, which involves buiild the librealsense from source. I may lead to FPS drop but is better than working with kernel patches.

  • Install dependencies:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev
sudo apt-get install git wget cmake build-essential
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
  • Clone the Realsense Repo:
cd ~
git clone https://github.com/IntelRealSense/librealsense.git
  • Build and Install:
cd librealsense
mkdir build && cd build

# configure: RSUSB backend, no kernel patching
cmake .. -DFORCE_RSUSB_BACKEND=ON -DCMAKE_BUILD_TYPE=Release

make -j$(nproc)
sudo make install
  • Test:
realsense-viewer # Display application should open
rs-enumarate-devices # Show connect realsense devices and respective settings

lsusb # In case the above don't work test this to see if the device is being detected by the system

Step 3: Install OpenVINS

In case of any questions refer directly to https://docs.openvins.com/gs-installing.html

  • Clone Repo and Build:
mkdir -p ~/workspace/catkin_ws_ov/src/
cd ~/workspace/catkin_ws_ov/src/
git clone https://github.com/rpng/open_vins/
cd ..
colcon build --parallel-workers 1 --event-handlers console_cohesion+ --packages-select ov_core ov_init ov_msckf ov_eval

--parallel-workers 1 is optional but highly reccomended as we have experienced multiple instances where the build ran out of memory I encountered some issues with OpenCV and building from source was the solution

If you encounter a error similar to this c++: fatal error: Killed signal terminated program cc1plus it is likely a memory issue and you can try to set up a swapfile:

sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Step 4: Build Realsense-ros packages:

Reference Link: https://github.com/IntelRealSense/realsense-ros/blob/ros2-master/README.md#installation-on-ubuntu

About

Intructions on how to setup OpenVins visual-inertial estimator on Jetson Orin Nano and interfacing with Intel Realsense d455

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors