/!\ When asking questions or looking for help running ROS on the TK1, use the jetson_tk1 tag on ROS answers

Nvidia Jetson TK1

Jetson TK1 comes pre-installed with Linux4Tegra OS (basically Ubuntu 14.04 with pre-configured drivers). There is also some official support for running other distributions using the mainline kernel.

Jetson Specs

Nvidia Jetson TK1

Processor

2.32GHz ARM quad-core Cortex-A15

DRAM

2GB DDR3L 933MHz EMC x16 using 64-bit data width

Video out

HDMI

Flash

16GB fast eMMC 4.51

Mini PCIe

Addon wifi module, firewire IEEE 1394, etc.

Serial

a full-size DB9 serial port

Power

12V DC barrel power jack and a 4-pin PC IDE power connector

General Setup

  • Optionally: install the latest JetPack release (which will flash the latest L4T to your Jetson): link

  • Optionally: install the Grinch Kernel (pick a compatible version for your L4T release, which you can check on your Jetson using: cat /etc/nv_tegra_release, e.g. 21.3). It provides many useful drivers that NVidia failed to include with their stock kernel.

  • Install the nvidia cuda toolkit and opencv4tegra from https://developer.nvidia.com/linux-tegra-rel-21 (not necessary if you installed your Jetson through JetPack)

    • older versions of the opencv4tegra we're packaged properly, and attempting to install them alongside the main opencv libraries would result in file conflicts. use the latest version.
  • If not using "Grinch Kernel" you can enable most Wifi mini-PCIe card and USB interfaces simply installing linux-firmware from PPA: sudo apt-get install linux-firmware

Install ROS

With the Ubuntu flavor installed the standard installation instructions should work. indigo/Installation/UbuntuARM

Use opencv4tegra with ROS

With the latest opencv4tegra released by Nvidia, the compatibility problems with cv_bridge and image_geometry packages have been solved, so installing OpenCV ROS Packages from PPA does not force opencv4tegra to be uninstalled. There are yet a bit of incompatibility since cv_bridge and image_geometry search for OpenCV 2.4.8 in "/usr/lib/arm-linux-gnueabihf" and opencv4tegra is based on OpenCV 2.4.12 and is installed in "/usr/lib/". These diversities do not allow to compile external packages based on OpenCV. To solve the problem you can follow this guide.

Please note that opencv4tegra does not include "nonfree" module, so if your algorithms use SIFT or SURF and you want full CUDA support, the only solution is to compile OpenCV by yourself following this guide. Remember that compiling OpenCV by yourself you will lose Nvidia optimizations on the code running on the CPU that give 3-4 FPS more on heavy algorithms not running on CUDA.

Known Issues

As seen on ROS answers:

Wiki: NvidiaJetson/TK1 (last edited 2018-05-23 07:46:30 by Nathan Fopma)