平时用惯了好机器突然来用TX1这样的小开发板有点小小不适应,实在是有点慢。当然还是要夸一夸Nvidia,256个CUDA核心也只需要用10+W的功耗,还是不错的,就是4个A57核心CPU有点差,几千块的开发板大家都趋之若鹜,大家也不介意多花点钱买到更好的CPU。
把TX1用在机器人上真的是个不错的选择,低功耗,不错的性能,配上Nvidia在深度学习上的支持库,把DL引到机器人开出了一条“康庄大道”。ROS是现在最热门社区也最活跃的系统,对ARM也有不错的支持,把ROS安装到TX1上正是新的课题需求,我又一次在默默地填坑铺路。(在这里要喷一下那些自吹自擂搞学术的臭老九,不知道有多少是把CUDA和CuDNN性能的提升算成了自己工作的成果;还有那些想一出是一出的idea,真是吐了;想想还是敬佩那些做开源的大牛)
回归正题,因为之前有很多东西是基于ROS indigo版的,所以就在Jetson TX1上安装indigo了,注意不要安装新的JetPack L4T 2.3.1里带的Ubuntu镜像,新镜像是16.04,不能安装indigo只能安装Kinetic 。Ubutu 14.04上装CUDA和CuDnn后续再装,估计还会有些问题。
本来是想直接用编译好的ros-base的,但是按官网的教程配好了之后发现好多包找不到,不想去折腾了,直接从源码编译。
一、安装bootstrap和依赖
1.1Installing bootstrap dependencies
sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential
1.2安装rosdep
sudo rosdep init
rosdep update
二、安装ROS
2.1建立catkin目录下载源文件
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --tar > indigo-ros_comm-wet.rosinstall
wstool init -j8 src indigo-ros_comm-wet.rosinstall
wstool init中断后是可以恢复的
wstool update -j 4 -t src
这里选择安装ROS base版,以后需要什么包再自己加,TX1只有16G的空间,按个Full版太浪费空间。
2.2roddep安装依赖项
rosdep install --from-paths src --ignore-src --rosdistro indigo -y
2.2用catkin工具build
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
然后source ROS的bash文件
source ~/ros_catkin_ws/install_isolated/setup.bash
运行一下roscore测试一下,没有问题就把ROS的bash文件写到.bashrc中
vim .bashrc
source ~/ros_catkin_ws/install_isolated/setup.bash
注意从源码中编译来生成的与直接从仓库安装的bash路径有些不同。
后续在TX1中安装cuda,又要花不少流量,唉,作为科研院所居然还限流量,真是无语,带宽还那么小