ROS 学习系列 -- 树莓派编译安装完整版本ROS

原创 2015年02月02日 20:01:30

树莓派安装完整的ROS并不容易,博主东方赤龙花费了数天总结了安装编译的经验,否则很容易走弯路。

ROS官方论坛里面有安装教程, 但是很容易出错。尤其是Desktop版的ROS!


1. 安装环

树莓派B+,  ROS Indigo, 16G TF卡,Raspbian OS


2. 安装装备

2.1 准备ROS代码仓库

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu wheezy main" > /etc/apt/sources.list.d/ros-latest.list'
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -

确保Raspbian OS 已经更新

sudo apt-get update
sudo apt-get upgrade

2.2 安装 bootstrap 依赖

sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install -U rosdep rosinstall_generator wstool rosinstall

2.3 初始化 rosdep

sudo rosdep init
rosdep update

3. 编译ROS

3.1 创建workspace来编译ROS

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

接下来下载ROS代码,ROS 提供了两个代码包

1)ROS-Comm: 这是官方推荐的,但只包含基本的ROS通讯功能,没有navigation, TF, action, RViz等 GUI 工具

2) Desktop: 完整的ROS 功能,适合所有机器人应用。我们选择安装这个。


下面的命令下载并生产编译package列表,会很花时间

rosinstall_generator desktop --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-desktop-wet.rosinstall
wstool init -j8 src indigo-desktop-wet.rosinstall

如果中途下载中断,下面的命令会接着下载:

wstool update -j 4 -t src

3.2 解决依赖

libconsole-bridge-dev, liburdfdom-headers-dev, liburdfdom-dev, liblz4-dev, 和 collada-dom-dev 这五个包并不在Raspbian里面,需要手工编译下载

创建新目录下载这5个包

<span style="font-size:18px;">mkdir ~/ros_catkin_ws/external_src
sudo apt-get install checkinstall cmake</span>

安装libconsole-bridge-dev:

<span style="font-size:18px;">cd ~/ros_catkin_ws/external_src
sudo apt-get install libboost-system-dev libboost-thread-dev
git clone https://github.com/ros/console_bridge.git
cd console_bridge
cmake .
sudo checkinstall make install</span>
当checkinstall询问是否改变安装选项时,选择[2],将名字从"console-bridge" 改为 "libconsole-bridge-dev"

接下来的两个问题连续选择'n', 否则会编译出错


安装liblz4-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ wget http://archive.raspbian.org/raspbian/pool/main/l/lz4/liblz4-1_0.0~r122-2_armhf.deb
$ wget http://archive.raspbian.org/raspbian/pool/main/l/lz4/liblz4-dev_0.0~r122-2_armhf.deb
$ sudo dpkg -i liblz4-1_0.0~r122-2_armhf.deb liblz4-dev_0.0~r122-2_armhf.deb</span>


安装liburdfdom-headers-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ git clone https://github.com/ros/urdfdom_headers.git
$ cd urdfdom_headers
$ cmake .
$ sudo checkinstall make install</span>

当checkinstall询问是否改变安装选项时,选择[2],将名字从"urdfdom-headers" 改为 "liburdfdom-headers-dev"

接下来的两个问题连续选择'n', 否则会编译出错


安装liburdfdom-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ sudo apt-get install libboost-test-dev libtinyxml-dev
$ git clone https://github.com/ros/urdfdom.git
$ cd urdfdom
$ cmake .
$ sudo checkinstall make install</span>

当checkinstall询问是否改变安装选项时,选择[2],将名字从"urdfdom" 改为 "liburdfdom-dev"

接下来的两个问题连续选择'n', 否则会编译出错


安装collada-dom-dev

<span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src
$ sudo apt-get install libboost-filesystem-dev libxml2-dev
$ wget http://downloads.sourceforge.net/project/collada-dom/Collada%20DOM/Collada%20DOM%202.4/collada-dom-2.4.0.tgz
$ tar -xzf collada-dom-2.4.0.tgz
$ cd collada-dom-2.4.0
$ cmake .
$ sudo checkinstall make install</span>
当checkinstall询问是否改变安装选项时,选择[2],将名字从"collada-dom" 改为 "collada-dom-dev"

接下来的两个问题连续选择'n', 否则会编译出错


3.3 通过rosdep解决依赖

<span style="font-size:18px;">$ cd ~/ros_catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:wheezy</span>
上面命令会便利所有的package并递归安装依赖

3.4 开始编译ROS

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo


常见错误:

编译过程中会编译180多个package并同时安装在/opt/ros/indigo目录,经常会报出 'urdf' 'collada_parser‘ ’collada_urdf' 这几个包出错而中断安装。 解决办法就是将这三个包从目录 ~/ros_catkin_ws/src/robot_model 目录中移出,再重新编译整个ROS. 最后单独建立一个workspace,将三个包放到src/robot_model 目录中。 再执行下面命令:

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

如果仍然报错,则需要重新一个一个安装 步骤3.2中的 liburdfdom-dev,liblz4-dev, 和 collada-dom-dev 包,每安装一个重新编译一遍,成功编译的包可以删除,直到最后都编译成功。

版权声明:本文为博主原创文章,未经博主允许不得转载。

在树莓派3上安装ROS

在树莓派3上安装ros,用做备忘,指不住哪天系统就坏了呢。
  • wxz3wxz
  • wxz3wxz
  • 2017年04月18日 15:34
  • 2811

树莓派3Raspbian-jessie编译安装ROS Indigo完整版

跟很多人的想法一样,我也想自己搭建一个基于ROS的可移动平台,由于特别喜欢树莓派,就想把ROS装到树莓派3上面,折腾了好几天,终于装好了。过程中参考了不少大神的教程,主要参考了著名博主东方赤龙和ROS...
  • Super_Miao0
  • Super_Miao0
  • 2016年12月11日 09:51
  • 5757

树莓派搭建ROS及简单应用

1,目的   使用树莓派GPIO控制电机驱动,实现小车的前进后退左转右转停止运行。    深入理解ROS框架    使用wiringPi控制pi的GPIO 2,环境搭建   a,小车部分:4个小电机,...
  • bspbspace
  • bspbspace
  • 2016年10月26日 08:35
  • 3968

ROS在树莓派上的安装

ROS在树莓派上的安装 第一章1.1本次安装我测试了3个平台,分别是 1.1.1:Raspbian-jessie 下载链接:树莓派官网 1.1.2:ubuntu-16.04-preinstall...
  • zhao_ke_xue
  • zhao_ke_xue
  • 2017年12月11日 12:33
  • 65

ROS 学习一:ROS indigo 在 树莓派2(raspberry pi 2)上的安装

本文介绍树莓派2(raspberry pi 2)上安装Desktop版ROS的过程 安装环境 硬件:raspberry pi 2 系统:dabin wheezy 安装步骤参考: http://...
  • wangmi0354
  • wangmi0354
  • 2015年05月05日 16:54
  • 4455

ROS 学习系列 -- 树莓派编译安装完整版本ROS

http://blog.csdn.net/crazyquhezheng/article/details/43413231 树莓派安装完整的ROS并不容易,博主东方赤龙花费了数天总结了安装编译...
  • AMDS123
  • AMDS123
  • 2017年05月02日 22:54
  • 6147

树莓派安装ros: raspberry pi 2 ubuntu14.04 + indigo

1. 安装的镜像 Raspberry Pi 2, FAT ROS INDIGO image 1GB compressed, 16GB uncompressed. ubuntu arm 14.04...
  • zyh821351004
  • zyh821351004
  • 2016年05月29日 10:28
  • 2423

ROS初探:(一)ROS架构

一.ROS架构ROS架构上分为三个层级: 计算图级(Computation Graph level):体现进程与系统的关系,描述系统怎么运行。 文件系统级(Filesystem lev...
  • u012325020
  • u012325020
  • 2017年12月31日 15:49
  • 81

树莓派上安装完整的ROS indigo(2017/4/18 修正)

截止至 2017 4/14  这篇文章 应该是没坑的,至少坑已经躺完了。  以下这篇文章转载至超级CHOOPER   如果 有什么问题 建议 参考 官网,有人说官网很容易出错,但是其实我感觉,理解了官...
  • walleva96
  • walleva96
  • 2017年04月14日 11:04
  • 1696

树莓派3代Raspbian Jessie安装ROS-Indigo-Desktop

手上有块树莓派3,最近实验室要求在树莓派上安装ROS-indigo-desktop版,参考了几篇教程,趟了无数坑,花费了数个日夜终于有些眉目,记录下来供以后参考。...
  • qq_34351621
  • qq_34351621
  • 2016年11月03日 21:00
  • 1964
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ROS 学习系列 -- 树莓派编译安装完整版本ROS
举报原因:
原因补充:

(最多只允许输入30个字)