这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 在BeagleBone Black上安装ROS Hydro

共1条 1/1 1 跳转至

在BeagleBone Black上安装ROS Hydro

菜鸟
2017-09-27 09:57:53     打赏

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

    在BeagleBone开发板刚推出时,无法直接在Angstrom发行版上安装ROS。由于这个原因,通常在BeagleBone上安装基于Ubuntu的操作系统。有不同版本的Ubuntu ARM兼容BeagleBone Black和ROS,推荐在运行ROS平台上使用Ubuntu13.04 ARM raring armhf的镜像。

    目前已有了Angstrom发行版的ROS版本安装文件。安装步骤可以参考网站http://wiki.ros.org/hydro/Installation/Angstrom。除此之外,我们选择在Ubuntu ARM 上安装ROS还因为这个发行版更常用,此外他还可以用于基于其他ARM的开发板,如UDOO Odroid U3、Odroid X2或Gumstick。

准备工作

    在安装ROS到BeagleBone Black之前,需要做一些准备工作。本书重点介绍ROS,我们将列出这些工作但不详细介绍。很多关于BeagleBone Black和Ubuntu ARM的信息可以在网站、论坛和书中找到。

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

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

    下载Ubuntu 13.04 armhf镜像,将其安装到SD卡上。可以在eLinux网站上的到关于如何安装Ubuntu到BeagleBone Back的更多细节:http://elinux.org/Beagleboard:Ubuntu_On_BeagleBone_Black#Ubuntu_Raring_On_Micro_SD。

    在之前的网页上描述的过程工作良好,但是我们必须注意所使用的Ubuntu版本。由于网站会定期更新,因此它们现在使用的是Ubuntu 14.04,但这可能与我们所使用的ROS不兼容。我们将使用之前提及的Ubuntu 13.04 Raring armhf。

    一旦在开发平台中安装好了Ubuntu ARM,就需要配置BeagleBone Black的网络接口已实现网络访问。所以,必须配置如IP、DNS和网关等网络配置。

    记住,在另一台计算机上挂载SD卡并编辑/etc/network/interfaces可能是最简单的方式。

    设置好网络后,为了安装ROS中如CMake、Python或Vim等可能需要的功能包、程序和库,使用一下命令:

$ sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev build-essential

 

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

    用于BeagleBone Black的操作系统在微型SD卡上配置的空间为1至4GB。这个存储空间是非常有限的,如果我们想要使用一个大的ROS Hydro功能包,它可能就不够用了。为了解决这个问题,我们可以使用空间更大的SD卡,重新分区,扩大文件系统占可用空间的比例。

    如果需要使用更大的存储空间,建议扩大BeagleBone Black内存文件系统。在网址http://elinux.org/Beagleboard:Expanding_File_System_Partition_On_A_microSD可以得到相关内容的进一步介绍。

    通过下列命令可以实现上述目的:

    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了。安装的过程非常类似于在本章之前介绍过的安装,主要区别是我们不能安装ROS full-desktop,必须单独安装每一个功能包。

配置主机和source.list文件

    现在开始配置主机:

$ sudo update-locale LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX

    在这之后。我们将配置资源列表,这基于我们安装的BeagleBone Black中的Ubuntu版本。兼容BeagleBone Black的Ubuntu版本数量有限,目前活跃的发行版本是Ubuntu 13.04 raring armhf,它也是Ubuntu ARM最受欢迎的版本。

    · Ubuntu 13.04 Raring armhf:

$ sudo sh -c 'echo "deb http://packages.namniart.com/repos/ros raring main" > /etc/apt/sources.list.d/ros-latest.list'

    · Ubuntu 12.10 Quantal armhf:

$ sudo sh -c 'echo "deb http://packages.namniart.com/repos/ros quantal main" > /etc/apt/sources.list.d/ros-latest.list'

    · Ubuntu 12.04 Precise armhf:   

$ sudo sh -c 'echo "deb http://packages.namniart.com/repos/ros precise 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

    这部分安装与BeagleBone Black略有不用。ROS中有很多库和功能包,并不是全部都在ARM上完整编译。所以不可能实现一个完整的桌面版安装。建议独立安装各个功能包,以确保它们能在ARM平台上运行。

    你可以尝试安装ROS-base,称为ROS Bare Bones。ROS-base会安装包括编译器和通信库以及ROS功能包,但不包括GUI工具:

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

    我们可以使用下面的命令来安装指定的ROS功能包:

$ sudo apt-get install ros-hydro-PACKAGE

    如果我们需要查找在BeagleBone Black中可用的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 install ros-hydro-rosparam

$ sudo apt-get install ros-hydro-rosservice

    虽然理论上讲,BeagleBone Black并不支持所有的ROS功能包,但实际上我们已经能够将在PC上开发的整个项目移植到BeagleBone Black。我们成功尝试了很多功能包,只有安装rviz没有实习。

初始化rosdep

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

$ sudo apt-get install python-rosdep

$ sudo apt-get install init

$ rosdep update

BeagleBone Black中配置环境

    如果你已经到达这一步,恭喜你,因为你已经在BeagleBone Black中成功地安装了ROS。添加下面的ROS环境变量到bash中,这样它们就会在每次命令行启动时自动加载:

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

$ source ~./bashrc

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

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

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

BeagleBone Black中安装rosinstall

    rosinstall是ROS中一个常见的命令行工具,是安装功能包更方便。如果你要安装它,可以在Ubuntu中使用下面的命令行:

$ sudo apt-get install python-rosinstall




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]