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

树莓派安装完整的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 包,每安装一个重新编译一遍,成功编译的包可以删除,直到最后都编译成功。

时间: 2024-10-10 11:29:23

ROS 学习系列 -- 树莓派编译安装完整版本ROS的相关文章

ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之一 joint 使用

我们接着上文  ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之一 link使用继续完成创建带四个可以转动轮子的双层小车. 一 建立可以转动的joint <span style="font-size:18px;"><?xml version="1.0"?> <robot name="sp1s"> <link name="base_link"> <v

hive学习系列2——环境安装

1.hive的安装  (1)解压缩.重命名.设置环境变量,参考hadoop1学习系列2 (2)在目录$HIVE_HOME/conf/下,执行命令mv hive-default.xml.template  hive-site.xml重命名     在目录$HIVE_HOME/conf/下,执行命令mv hive-env.sh.template  hive-env.sh重命名 (3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:     export HADOOP_CLASSP

hive学习系列1——Mysql安装

安装mysql (1)执行命令 rpm -qa |grep mysql 查看mysql是否安装     删除linux上已经安装的mysql相关库信息. rpm  -e  xxxxxxx(查看的库名,可使用右键复制)   --nodeps     执行命令 rpm -qa |grep mysql 检查是否删除干净 (2)执行命令  rpm -i   mysql-server-********  安装mysql服务端 (3)启动mysql 服务端,执行命令  后台运行 mysqld_safe &

git(学习之二)编译安装

Git学习笔记#####################################################qq:1218761836 qq群:150181442##################################################### Git安装1.    Yum安装gityum install git –yyum install -y  git-email git-gui gitk git-svn git-cvs    其中git-svn  git

64位FreeSWITCH编译安装(版本1.4.20)

1.安装64位的CentOS6.5操作系统(勾选的服务器版本安装). 2.下载FreeSWITCH安装包以及关联的lib库.下载地址http://files.freeswitch.org/downloads/. 3.此次安装的FreeSWITCH版本为1.4.20. 4.执行./devel-bootstrap.sh. 5.根据错误信息依次安装关联的依赖库(挂载系统安装盘(mount /dev/cdrom /media)通过配置进行本地yum安装): ①gcc ②gcc-c++ ③zlib-dev

树莓派编译安装 EMQ 服务器

前言 EMQ 是一款开源的物联网 MQTT 消息服务器,使用 Erlang/OTP 语言平台设计,在 DIY 智能家居时可以作为网关,前几天摸索了一下在树莓派中安装 EMQ 的方法,记录一下. 步骤 安装 Erlang sudo apt-get install erlang-dev erlang-edoc erlang-eunit erlang-reltool erlang-crypto erlang-eldap erlang-public-key erlang-runtime-tools er

Open vSwitch系列之二 安装指定版本ovs

在ovs学习过程中,如果自己想要安装一个ovs交换机其实一条简单的命令 apt  install openvswitch 就可以了,但是这种方法只能安装低版本的ovs.在特殊情况下需要安装指定版本,例如需要下发meters表时需要ovs2.8以上的版本,那么就需要下载安装包手动安装.看似一个复杂的过程,其实也是比较简单的.下面就一起来看看如果手动安装一个指定版本ovs交换机. 准备工作 安装python [[email protected] ~]# yum -y install python 安

马哥学习笔记六——编译安装LAMP只httpd

1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级.升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包.这里选择使用编译源代码的方式进行. (1) 编译安装apr # tar xf apr-1.4.6.tar.bz2 # cd apr-1.4.6 # ./configure --prefix=/usr/local/apr # make && make install (2) 编译安装apr-util # tar xf ap

PHP系列 | Swoole 编译安装

1.官方地址:https://wiki.swoole.com/wiki/page/6.html 2.下载地址: https://github.com/swoole/swoole-src/releases http://pecl.php.net/package/swoole http://git.oschina.net/swoole/swoole 3.下载 wget https://github.com/swoole/swoole-src/archive/v4.4.14.tar.gz 4.解压 s