Robot Operating System (ROS) on NVIDIA Jetson TX1

ROS TX1 Install

NOTE: Updated Article for installation on L4T 28.2 now available. This article is deprecated.

Robot Operating System (ROS) can now be installed from Debian packages on the 64-bit L4T 24.2 Jetson TX1. Looky here:


As discussed previously, the 64-bit ARM environment is relatively new. This means that most applications, including ROS, need to be ported to the new processor. For a complicated application like ROS, this may necessitate a variety of code and environment changes to support the new computer architecture.

Previously the only way to get ROS running on the Jetson TX1 was to compile everything from source. Even for experienced users that is a daunting task. Fortunately pre-built Debian packages are now available for ROS Kinetic on ARM 64. This means that binaries can be directly installed on the Jetson TX1 without the need for building from source.


The installROSTX1 repository on the JetsonHacks Github account contains scripts which install ROS on the TX1.

The main script,, is a straightforward implementation of the install instructions taken from the ROS Wiki.

You can grab the repository and run the script:

$ git clone
$ cd installROSTX1
$ ./installROSTX1

The script installs ros-base, rosdep and rosinstall. You can modify the script to install ros-desktop or ros-desktop-full if desired. ROS has a huge number of packages (over 1700) to choose from, this script provides an outline for installation.

There is a convenience script to install a Catkin Workspace, which is a tools supported environment for ROS. The script is called An optional parameter after the script names the workspace, the default name is catkin_workspace. The workspace will be installed in the home directory. For example:

$ ./ jetsonbot

will create a Catkin Workspace directory named jetsonbot in the home directory.