User Tools

Site Tools


workshops:nvidia_jetson:xavier_nx:ros_setup

ROS SETUP

ROS (Robot Operating System)) is an open source robotics middleware suite, provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license.

This tutorial is compatible with the Jetson Nano 4GB, Jetson Xavier NX and Jetson AGX Xavier.

Currently (02/21/2021) the recommended ROS distribution for Jetson boards is ROS Melodic Morenia because it is optimized to run on Ubuntu 18 Bionic Beaver. More current versions of ROS are available as ROS Noetic Ninjemys and ROS 2 Foxy Fitzroy both for Ubuntu 20.04 Focal Fossa. Ubuntu Focal is not yet (02/21/2021) officially CUDA compatible and is not available on Nvidia Jetson boards.

ROS installation

Open the terminal by pressing Ctrl + Alt + T or use the application launcher and search for “Terminal”.

Setup your sources.list to accept software from packages.ros.org.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Set up your keys

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

Update your Debian package index

sudo apt update

There are many different libraries and tools in ROS, for Jetson boards the recommend is the ROS-Desktop package which includes ROS, rqt, rviz, and robot-generic libraries. Other ROS packages such as ROS-Desktop-Full include 2D and 3D simulation tools which require more storage space and more processing power, these are not necessary in this case.

sudo apt install ros-melodic-desktop

Environment variables setup

The most convenient way is to add the ROS environment variables to the .bashrc file so that they are loaded automatically every time a new terminal is launched.

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc && source ~/.bashrc

Installation of dependencies

to install the dependencies for building ROS packages, run:

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt install python-rosdep
sudo rosdep init && rosdep update

At this point ROS is installed and ready to run.

Catkin workspace setup

To install ROS packages or create our own packages it is necessary to create a catkin workspace where the packages will be stored.

mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/ && catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc 
source ~/.bashrc

we can check that everything is working correctly by starting the ROS master with the command in the terminal.

roscore

Now our Jetson is ready to compile ROS packages that we create ourselves or additional packages that we install.

workshops/nvidia_jetson/xavier_nx/ros_setup.txt · Last modified: 2021/02/21 18:10 by harley01