Robot Operating System (ROS) on NVIDIA Jetson TX Development Kits

With the advent of L4T 28.2, we freshened up the ROS installers for the Jetson TX1 and Jetson TX2. Looky here:


In a previous article, Robot Operating System (ROS) on NVIDIA Jetson TX2, we discuss the history of ROS and why it has become the most popular operating system for robots in the world.

The L4T 28.2 release now allows us to use the same code base for the Jetson TX1 as the Jetson TX2 for the installer. Due to the legacy nature of this project, we still maintain two repositories. There are two repositories on the JetsonHacks account on Github. The first is installROSTX2 which is for the Jetson TX2. The second is installROSTX1 which is for the Jetson TX1.


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

The installation for both Jetsons are similar. On the Jetson TX2:

You can grab the repository:

$ git clone
$ cd installROSTX2

on the Jetson TX1:

$ git clone
$ cd installROSTX1

Usage: ./  [[-p package] | [-h]]
 -p | --package <packagename>  ROS package to install
                               Multiple Usage allowed
                               The first package should be a base package. One of the following:

Default is ros-kinetic-ros-base if no packages are specified.

Example Usage:

$ ./ -p ros-kinetic-desktop -p ros-kinetic-rgbd-launch

This script installs a baseline ROS environment. There are several tasks:

  • Enable repositories universe, multiverse, and restricted
  • Adds the ROS sources list
  • Sets the needed keys
  • Loads specified ROS packages (defaults to ros-kinetic-base-ros if none specified)
  • Initializes rosdep

You can edit this file to add the ROS packages for your application.


$ ./ [optionalWorkspaceName]

where optionalWorkspaceName is the name of the workspace to be used. The default workspace name is catkin_ws. This script also sets up some ROS environment variables. Refer to the script for details.


  • In the video, the Jetson TX2 was flashed with L4T 28.2 using JetPack 3.2. L4T 28.2 is derived from Ubuntu 16.04.


  1. Forgive me if you’ve already answered this, but I tend to skip around in the videos. What has been your overall impression of the performance increase from a TK1 to a TXx with ROS? I have a TK1 on a Kobuki (Turtlebot2) and have been considering an upgrade. My biggest performance bottleneck seems to be wifi, so I’m to sure if a processor upgrade is worth the time, effort, and expense.


    • The TX1 is about 2x as fast as the TK1, TX2 is almost 2X the TX1. A more interesting part is that each one has 2x the memory as the previous gen. The TK1 has 2M, the TX1 has 4M, the TX2 has 8M. Not quite sure how wifi would be a performance bottleneck, but each generation increases two fold. Thanks for reading.

Leave a Reply

Your email address will not be published.