Jetson TX1上編譯ROS indigo

平時用慣了好機器突然來用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,又要花不少流量,唉,作為科研院所居然還限流量,真是無語,帶寬還那么小

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容