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

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

2016-10-19 12:59 423 查看
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 <strings.h>
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.验证安装成果

在终端中运行命令

9d30

$ roscore


至此ROS系统在Raspberry Pi上安装成功。整个过程历时十几个小时。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ROS raspberry pi