ROS:Nvidia Jetson TK1开发平台
原文链接:
http://wiki.ros.org/NvidiaJetsonTK1
1. 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.
K1 开发板暂时是最适合移动机器人使用的开发板
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 |
2. 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
预备工作:
安装最新的
JetPack 包;................
3. Install ROS
With the Ubuntu flavor installed the standard installation instructions should work. indigo/Installation/UbuntuARM
4. 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.
5. Known Issues
As seen on ROS answers: