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

http://blog.csdn.net/crazyquhezheng/article/details/43413231

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

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


1. 安装环

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


2. 安装装备

2.1 准备ROS代码仓库

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

确保Raspbian OS 已经更新

[html]  view plain  copy
  1. sudo apt-get update  
  2. sudo apt-get upgrade  

2.2 安装 bootstrap 依赖

[html]  view plain  copy
  1. sudo apt-get install python-setuptools  
  2. sudo easy_install pip  
  3. sudo pip install -U rosdep rosinstall_generator wstool rosinstall  

2.3 初始化 rosdep

[html]  view plain  copy
  1. sudo rosdep init  
  2. rosdep update  

3. 编译ROS

3.1 创建workspace来编译ROS

[html]  view plain  copy
  1. mkdir ~/ros_catkin_ws  
  2. cd ~/ros_catkin_ws  

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

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

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


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

[html]  view plain  copy
  1. rosinstall_generator desktop --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-desktop-wet.rosinstall  
  2. wstool init -j8 src indigo-desktop-wet.rosinstall  

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

[html]  view plain  copy
  1. wstool update -j 4 -t src  

3.2 解决依赖

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

创建新目录下载这5个包

[html]  view plain  copy
  1. <span style="font-size:18px;">mkdir ~/ros_catkin_ws/external_src  
  2. sudo apt-get install checkinstall cmake</span>  

安装libconsole-bridge-dev:

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

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


安装liblz4-dev

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


安装liburdfdom-headers-dev

[html]  view plain  copy
  1. <span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src  
  2. $ git clone https://github.com/ros/urdfdom_headers.git  
  3. $ cd urdfdom_headers  
  4. $ cmake .  
  5. $ sudo checkinstall make install</span>  

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

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


安装liburdfdom-dev

[html]  view plain  copy
  1. <span style="font-size:18px;">$ cd ~/ros_catkin_ws/external_src  
  2. $ sudo apt-get install libboost-test-dev libtinyxml-dev  
  3. $ git clone https://github.com/ros/urdfdom.git  
  4. $ cd urdfdom  
  5. $ cmake .  
  6. $ sudo checkinstall make install</span>  

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

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


安装collada-dom-dev

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

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


3.3 通过rosdep解决依赖

[html]  view plain  copy
  1. <span style="font-size:18px;">$ cd ~/ros_catkin_ws  
  2. $ 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 包,每安装一个重新编译一遍,成功编译的包可以删除,直到最后都编译成功。

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


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值