在树莓派3上安装ROS

本文介绍如何在树莓派3上安装ROS Kinect

虽然可以在树莓派官方镜像Raspbian上安装ROS,不过实际上所有代码都在树莓派上本地编译,耗时不说还有可能出现意想不到的错误,因此我们还是推荐大家先把树莓派换成Ubuntu的镜像再安装ROS。

你需要准备以下东西:

  • 树莓派3
  • 最少16G的SD卡,最好Class10

下面让我们一步步来~

1. 在树莓派上安装Ubuntu

最新Kinect版本的ROS只能在16.04上运行,因此我们首先要在树莓派上安装Ubuntu Mate 16.04。

到ubuntu mate 下载最新的镜像,注意一定要选16.04不要下载成16.10了

https://ubuntu-mate.org/raspberry-pi/

下载完成后会得到一个如下的镜像文件

ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img.xz

将它解压得到

ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img

Windows的用户可以使用ImageWrite将镜像烧录到SD卡上,如果找不到工具可以在这里下载 https://sourceforge.net/projects/win32diskimager/

经过漫长的等待。。。。。


2. 首次启动Ubuntu Mate

将烧录好的SD卡插入树莓派3,接上电源,HDMI显示器和键盘鼠标

注意: 这里有同学可能跟我一样平时玩树莓派从来不接键盘鼠标和显示器,全部靠ssh远程操作。不过Ubuntu Mate在首次启动需要人工完成一下安装过程和配置,因此还是老老实实接上外设吧:)

安装过程基本就是一路Next,还有就是配置Ubuntu的用户名和密码。

进入系统后可以先将SD卡扩容到真实大小。具体操作是点击欢迎界面右下角的红色树莓派图标,里面有一个SD卡扩容选项。

也可以通过下面命令行手动重新分区sd卡。

sudo fdisk /dev/mmcblk0

在fdisk的提示框下按下d,2删除第二个分区,之后重新建立分区(n,p,回车,回车),最后按下w保存。重启系统,之后执行下面命令行

sudo resize2fs /dev/mmcblk0p2

注意:安装完系统后配置wifi连接并不能生效,这是一个bug重启系统后解决。


3. 安装ROS Kinect

接下来的步骤基本就是照着http://wiki.ros.org/kinetic/Installation/Ubuntu 走了

打开树莓派的终端,或者远程ssh连到树莓派。

首先加入ROS官方的源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" &gt; /etc/apt/sources.list.d/ros-latest.list'<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1">​</span>

并且设置秘钥

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

Ok,现在更新Package的列表

sudo apt-get update

在树莓派上安装ROS包,这里我们只安装ROS内核。因为平时机器人在运动的时候基本上是在PC上远程查看信息的,因此不需要安装ROS的GUI相关工具。

sudo apt-get install ros-kinetic-ros-base

更新ROS相关依赖和环境

sudo rosdep init
rosdep update

注意第二个命令有可能会超时,这是GFW经常卡gist.github造成丢包,多重试几次应该就能过了。
接着将ROS环境导入到bashrc,这样每次启动新的终端都有ros的命令和环境参数了。

echo "source /opt/ros/kinetic/setup.bash" &gt;&gt; ~/.bashrc
source ~/.bashrc

最后安装常用的ROS命令行工具

sudo apt-get install python-rosinstall

到这里位置ROS基本安装完毕了,打开一个新的终端,并且输入:

roscore

看看ROS内核是不是跑起来了呢?

参考链接:

http://wiki.ros.org/kinetic/Installation/Ubuntu

http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi

转载请注明出处:http://kittenbot.cn/install_ros_on_rpi3/ ‎