在BeagleBone Black 上安装ROS Hydro

来源:互联网 发布:数据仓库与数据库区别 编辑:程序博客网 时间:2024/05/01 05:04

   BeagleBone Black(BBB) 是一种基于ARM Cortex A8处理器的低成本开发平台。此开发板是基于发行版制作的。由一支希望统一嵌入式系统发行版的小型团队开发,他们希望操作系统是稳定且用户是友好的。

考虑到社区的开发人员需要一个具有一些通用输入/输出(GPIO)引脚的机载机器人设备,德州仪器设计了BeagleBone Black。BeagleBone Black平台是BeagleBone的改进版。开发版的主要特性包括ARM Cortex A8处理器(时钟频率为1GHz,内存为512MB),具有以太网、USB接口、HDMI、46引脚GPIO接口。这些GPIO 可以设置为I/O、ADC、脉宽调制,以及I2C、SPI或者UART等通信协议接口。GPIO是一种直接将传感器和执行器与BeagleBone连接的简单方法。

我们选择在Ubuntu ARM上安装ROS因为这个发行版更常用,推荐在运行ROS的平台上使用Ubuntu 13.04 ARM raring armhf的镜像。此外还可以用于其他基于ARM 的开发版,如UDOO OdroioU3、Odroio X2或Gumstick.

一、在安装ROS 到BeagleBoneBlack之前,需要做一些准备工作。

首先,必须安装一个与ROS兼容的ubuntu ARM发行版。所以需要ubuntu ARM 的安装镜像。可以通过下面的命令使用wget 获得ubuntu 13.04 Raring armhf:

  $wget https://rcn-ee.net/deb/flasher/raring/BBB-eMMc-flasher-ubuntu-13.04-2013-10-08.img

下载镜像,将其安装到SD卡上:

1.将BeageBoneblack Ubuntu镜像放到micro SD卡上,并插入到封闭的BBB。还要确保有键盘、鼠标、显示器和以太网连接。

    2.同时按住“开始”按钮,为电源板供电。继续按住“开始”按钮,直到USER LED开始闪烁,你应该使用一个5V外部电源,USB电源可能无法正常工作。

    3.大约一分钟之后屏幕应显示登录提示。

    4.移开板大约10分钟后,图像将会闪烁到eMMC。

   5.经过十分钟后,4个LED应牢固而不闪烁。取出mirco SD卡,然后重新接通电源。

    6.要花一两分钟才能启动到登录屏幕用户是:ubuntu

     密码是:temppwd   注意:输入密码的回音是关闭的

   7.你现在应该在ubuntu的命令终端上,你的BeagleBone Black将从此开始启动。

    7.窗体顶端

窗体底端

     一旦在开发平台上安装好ubuntuARM,就需要配置BeagleBone Black的网络接口以实现网络访问,必须配置如IP、DNS和网关等网络配置。最简单的方式就是在另一台计算机上挂载SD卡并编辑 /etc/network/interfaces  设置好网络后,为了安装ROS中如CMake、Python或Vim等可能需要的功能包、程序和库,使用以下命令:

      $ sudo apt-get install cmakepython-catkin-pkg python-empty python-nose python-setuotools libgtest-devbuild-essential

      $ sudo apt-get install g++ curl pkg-configlibv41-dev libjpeg-dev build-essential libssl-dev vim

   用于BeagleBoneBlack的操作系统在微型SD卡上配置的空间为1至4GB,如果需要使用一个大的ROS Hydro功能包,我们可以使用空间更大的SD卡,重新分区,扩大文件系统占可用空间的比例。通过下列命令可以实现以下目的:

    1. 需要切换到超级用户模式,输入以下的命令并输入密码:

    $ sudo su

    2.查看SD卡的分区信息:

    $fdisk /dev/mmcblk0

    3.输入p,可见SD卡的两个分区:

    $ p

    4.输入‘d’删除分区,然后输入2指定要删除的分区/dev/mmcblk0p2:

    $ d

    $ 2

 5.输入n,创建一个新分区;如果输入p将创建一个主分区,输入2指定第二个分区的编号。

    $ n

    $ p

    $ 2

    6.如果没有问题,输入w保存这些操作,或者按ctrl+Z组合键取消更改:

    $ w

    7.完成后重启开发版

    $ reboot

    8.完成重启后,再次切换到超级用户模式:

    $ sudo su

    9.最后,运行下面的命令执行操作系统内存文件系统的扩容。

    $ resize2fs /dev/mmcblk0p2

     然后开始安装ROS,不能安装ROSfull-desktop,必须单独安装每一个功能包。

二、配置主机和source.list文件

     现在开始配置主机:

       $sudo update-locate LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX

    之后我们将配置源列表,目前活跃的发行版是ubuntu 13.04 Raring armhf,它也是ubuntu ARM 最受欢迎的版本。

       $ sudo sh -c ‘echo “deb http://packages.namniart.com/repos/rosraring main” > /etc/apt/sources.list.d/ros-latest.list’

三、设置密钥

       $wget http://packages.namniart.com/repos/namniart.key-O - | sudo apt-key add –

四、安装ROS 功能包

 在安装ROS 功能包之前,必须更新系统以避免出现库依赖的问题。

       $ sudo apt-get update

  ROS-base 会安装包括编译和通信库以及以及ROS 功能包,但不包括GUI工具:

   $ sudo apt-get install ros-hydro-ros-base

我们可以按照下面的命令来安装指定的ROS功能包,运行下面的命令:

   $ sudo apt-get install ros-hydro-PACKAGE

如果我们需要查找在BeagleBoneBlack中可用的ROS功能包,运行下面的命令:

   $ apt-cache search ros-hydro

例如,下面的包为ROS正常工作的基础,可以使用apt-get单独安装:

   $ sudo apt-get install ros-hydro-ros

   $ sudo apt-get install ros-hydro-roslaunch

   $ sudo apt-get installros-hydro-ros-rosparam

   $ sudo apt-get install ros-hydro-rosservice

五、初始化rosdep

在使用ROS之前,必须首先安装并初始化rosdep命令行工具,可以轻松的安装库并解决准备编译源代码的系统依赖问题,以及提供ROS 运行需要的一些核心组件。可以用下面的命令进行安装并初始化rosdep:

   $ sudo apt-get install python-rosdep

   $ sudo rosdep init

   $ sudo update

六、在BeagleBone Black中配置环境:

添加下面ROS 环境变量到bash中,这样它们每次命令行启动时就可以自动加载:

   $ echo “source /opt/ros/hydro/setup.bash” >> ~/.bash

   $ source ~/.bashrc

    如果在系统中有多个版本的ROS必须注意.bashrc 的变量设置为正在使用的版本。

    如果我们想要在当前命令行中配置环境,运行命令如下:

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

七、在BeagleBone Black中安装rosinstall

   Rosinstall 是ROS中一个常见的命令行工具,使安装功能包更方便。需要在  ubuntu 中使用下面的命令进行安装:

      $ sudo apt-get install python-rosinstall