JetsonHacks

Developing on NVIDIA® Jetson™ for AI on the Edge

Robot Operating System (ROS) on NVIDIA Jetson TX1

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:

Background

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.

Installation

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

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

You can grab the repository and run the script:

$ git clone https://github.com/jetsonhacks/installROSTX1.git
$ 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 setupCatkinWorkspace.sh. 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:

$ ./setupWorkspace.sh jetsonbot

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

Notes

  • In the video, the Jetson TX1 was flashed with L4T 24.2.1 using JetPack 2.3. L4T 24.2.1 is derived from Ubuntu 16.04. These scripts are for installation on 64-bit versions of L4T 24.X only.
  • A custom kernel was compiled for the TX1. See this article. Note that this is an optional step, installing ROS will work on a stock kernel.
  • There appears to be an issue with SSL certificates which prevent rosdep from initializing correctly on the Jetson TX1. The script rehashes the SSL certificates as a work around.
Facebook
Twitter
LinkedIn
Reddit
Email
Print

6 Responses

  1. Hi, i installed the ROS on my tx1 as “http://wiki.ros.org/jade/Installation/UbuntuARM”suggested, but i failed to run the rviz as “bus error” appeared, and i unset GTK_IM_MODULE in my ./bashrc with no effect. i don’t kown what should i do!

  2. Hello~ Jim Benson
    I’m a beginner of Nvidia TX1 and also start to learn ROS.
    Thanks for your tutorial that I can run ROS-Kinetic on Ubuntu 16.04 installed by Jetpack2.3.

    But now I have some problems on installing Turtlebot packages.
    After googling “Turtlebot for ROS-Kinetic”…
    I found that we seems can install Turtlebot-indigo version for ROS-kinetic.
    forum link: https://github.com/turtlebot/turtlebot/issues/219

    Then I follow Turtlebot Source installation guide 1.3 to do Source Installation
    (http://wiki.ros.org/turtlebot/Tutorials/indigo/Turtlebot%20Installation)

    There’re 3 steps I need to do :
    1. build rocon – OK
    2. build konuki- Failed. some errors occurred after building.
    3. build Turtlebot – to be done after building kobuki

    I tried to modified code to pass code build.
    But still have some errors, ex:
    ============================================

    ============================================

    I think the problem might be as follows:
    1. So far, Turtlebot packages only support Ubuntu 14.04
    – I have to re-install Ubuntu 14.04 LTS on Nviida TX1.
    – Install ROS-Indigo on Ubuntu 14.04.
    (But it might have some problems to install ROS-indigo on Ubuntu 64bits. The forum shows there’s a case to successfully install on Ubuntu 32bits)

    Not sure my conclusion is correct or not.
    So need your experience to give me some suggestion.

    Thank you so much!!

    1. I’m not sure I have a lot of information on how to help you. I do know that it is not recommended to run ROS-Indigo on the 64 bit L4T.

      The current Turtlebot runs on Kinetic: https://github.com/turtlebot/turtlebot
      Branch: Kinetic

      I think the best place to get your questions answered is in the ROS forums or the Jetson TX1 forums. Unfortunately I don’t have any experience trying to run TurtleBot on the TX1 right now.

Leave a Reply

Your email address will not be published. Required fields are marked *

Disclaimer

Some links here are affiliate links. If you purchase through these links I will receive a small commission at no additional cost to you. As an Amazon Associate, I earn from qualifying purchases.

Books, Ideas & Other Curiosities