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

来源:互联网 发布:加盟淘宝网店是真的吗 编辑:程序博客网 时间:2024/06/07 06:55

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.验证安装成果
在终端中运行命令

$ roscore

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

0 0
原创粉丝点击