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, 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
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.
- 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.