Raspberry Pi3 安装 ROS桌面完整版攻略

ROS(ROS,Robot Operating System)机器人操作系统是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。
Raspberry Pi(树莓派)是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑,预装Linux系统,体积仅信用卡大小,搭载ARM架构处理器,运算性能和智能手机相仿。
现将ROS安装在Raspberry Pi的攻略总结如下:


前提:
- 硬件版本:Raspberry Pi 3
- 操作系统版本:Raspbian Jessie
- ROS版本:ROS Indigo
主要参考:ROS wiki


1.配置ROS的资源环境

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

2.更新系统的安装包到最新

$ sudo apt-get update
$ sudo apt-get upgrade

3.安装Bootstrap依赖

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

4.初始化rosdep

$ sudo rosdep init
$ rosdep update

5.创建Catkin工作空间

$ mkdir ~/ros_catkin_ws
$ cd ~/ros_catkin_ws

6.下载ROS桌面版
Comm版本可以参考前面给的ROSwiki链接进行安装,桌面版本包含更多功能如3D可视化的rviz

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

如果下载中断可以用下面语句继续下载:

$ wstool update -t src

7.安装默认系统中缺少的依赖项
Jessie版的Raspbian只缺少collada-dom-dev, Wheezy版本的Raspbian可以参考前面给的ROS wiki链接进行安装

$ 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
$ sudo apt-get install cmake checkinstall
$ cmake .
$ sudo checkinstall make install

安装时询问需要做设置时选择[2],把名字从”collada-dom” 改为”collada-dom-dev” ,快结束时有两个询问都选择”n”.
这里还需要打一个补丁,因为后面在编译collada_urdf会发生错误,这里参考关于urdf补丁
由于这个补丁文件需要去google上下载,这里放在我的CSDN资源里面供大家下载,补丁下载地址

$cd ~/ros_catkin_ws/src/robot_model/collada_urdf/src
$patch < fix.patch

8.安装所有其他必要的依赖项

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

9.打rviz补丁
编译rviz时会发生错误,也需要打个补丁,这里参考编译rviz的问题
打开/ros_catkin_ws/src/rviz/src/rviz/mesh_loader.cpp
在最后一个#include下一行加入

#  ifdef __arm__                 // fix for ARM build
#include 
bool Assimp::IOSystem::ComparePaths(const char *p1, const char *p2) const
{
    return !::strcasecmp(p1, p2);
}
#  endif

10.编译ROS
这里j1和l1为了解决编译过程树莓派死机导致失败的问题。在树莓派编译ROS需要数小时,请做好心理准备。

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

11.添加资源启动项
为了让ROS命令成为系统命令

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

为了省去每次启动都要做一次添加,将这个语句加入系统启动项中。

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

12.验证安装成果
在终端中运行命令

$ roscore

至此ROS系统在Raspberry Pi上安装成功。整个过程历时十几个小时。

你可能感兴趣的:(Raspberry,Pi,ROS)