您的位置:首页 > 编程语言 > ASP

在Raspberry Pi上安装ROS

2015-05-07 20:04 190 查看
Raspberry Pi(树莓派)是一款基于 Linux 系统的单板电脑,它的体积小,价格低廉,广泛地应用在智能家居、机器人***等领域。本人目前在学习 ROS(机器人操作系统),以 Pioneer 机器人为移动平台,配合 ROS 做相关的开发。刚听说这款开源硬件时就在想,能否在这个小板子上跑 ROS 呢?上网一查,果然,Raspberry Pi 上也能够运行 ROS。把过程给大家分享一下,本文主要是翻译工作,其中也带有我对一些步骤的解释。

我的树莓派安装的操作系统是官方原版的Raspbian,安装的 ROS 版本是 indigo。

准备工作

首先在源里添加 ROS Repositories,并更新源以及系统:

[code]$ 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 -
$ sudo apt-get update
$ sudo apt-get upgrade


安装必要的依赖:

[code]$ sudo apt-get install python-setuptools python-pip python-yaml python-argparse python-distribute python-docutils python-dateutil python-setuptools python-six
$ sudo pip install rosdep rosinstall_generator wstool rosinstall


配置
rosdep


[code]$ sudo rosdep init
$ rosdep update


Fetch源代码

首先,新建一个
catkin workspace
用来编译安装:

[code]$ mkdir ~/ros_catkin_ws
$ cd ~/ros_catkin_ws


将源代码 fetch 到该目录。我安装的是 ROS-Comm,只包含一些基础的软件,没有图形化工具:

[code]$ rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-ros_comm-wet.rosinstall
$ wstool init src indigo-ros_comm-wet.rosinstall


上面的
rosinstall_generator
命令生成
.rosinstall
文件,该文件包含了 ROS Stack/Package 的 repository 信息。wstool 根据生成的
.rosinstall
文件,通过版本管理软件(例如 git, subversion 等)将 Stack/Package 的源代码从远程仓库 fetch 到本地目录,该过程完成之后,我们可以在
~/ros_catkin_ws/src
中看到一些 Stack/Package 的源代码。

安装依赖

接下来,解决编译所需要的依赖,
rosdep
可以完成大部分工作,但是有些软件 Raspbian 仓库中还没有,需要手动安装。编译 ROS-Comm 之前需要安装
libconsole-bridge-dev
liblz4-dev
。 新建一个文件夹:

[code]$ mkdir ~/ros_catkin_ws/external_src
$ sudo apt-get install checkinstall cmake
$ sudo sh -c 'echo "deb-src http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi" >> /etc/apt/sources.list'
$ sudo apt-get update


安装
libconsole-bridge-dev


[code]$ cd ~/ros_catkin_ws/external_src
$ sudo apt-get build-dep console-bridge
$ apt-get source -b console-bridge
$ sudo dpkg -i libconsole-bridge0.2_*.deb libconsole-bridge-dev_*.deb


安装
liblz4-dev
,这一步花费的时间很长,大概要两个小时:

[code]$ cd ~/ros_catkin_ws/external_src
$ apt-get source -b lz4
$ sudo dpkg -i liblz4-*.deb


上面的操作首先使用
apt-get
将源代码下载下来并编译成
.deb
文件,然后通过
.deb
文件安装到系统中。

使用
rosdep
解决其他的依赖问题:

[code]$ cd ~/ros_catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:wheezy


rosdep
会检查
src
文件夹,安装其他的依赖包。

编译

上面的步骤都完成之后我们就可以开始编译了:

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


编译完成之后,indigo 就安装好了,安装的位置是
/opt/ros/indigo
,source 一下:

$ source /opt/ros/indigo/setup.bash


尝试着运行一下
roscore
命令,运行正常的话,ROS indigo 就安装成功了!

参考链接

Installing ROS Indigo on Raspberry Pi

ROS wiki

Raspberry Pi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: