BeagleBone
This page documents the ROS implementation on the BeagleBone and the BeagleBone Black.
BeagleBone (BB) and BeagleBone Black (BBB)
The BeagleBone is an $89 MSRP, credit-card-sized Linux computer that connects to the Internet and runs software such as Ångström, Android 4.0 and Ubuntu. With plenty of I/O and processing power for real-time analysis provided by an AM335x 720MHz ARM® processor, BeagleBone can be complemented with cape plug-in boards to augment functionality. It has an very active community and a large user base.
The BeagleBone Black is a $45 MSRP community-supported development platform for developers and hobbyists. It is the evolution of the original BeagleBone, boots Linux in under 10 seconds and gets started on development in less than 5 minutes with just a single USB cable.
BB and BBB comparison |
||
|
Beaglebone |
BeagleBone Black |
Processor |
AM335x 720 MHz ARM Cortex-A8 |
AM335x 1 GHz ARM Cortex-A8 |
RAM |
256MB DDR2 |
512MB DDR3L |
Video out |
None |
HDMI |
Flash |
2Gb eMMC, uSD |
uSD |
Onboard JTAG |
Yes, over USB |
Optional |
Serial |
Via USB |
Header |
Power |
300-500 mA@5V |
210-460 mA@5V |
(It's important to note that although similar, they're not the same. Check the BeagleBone Black Wiki)
Ångström
The Ångström distribution is a Linux distribution for a variety of embedded devices. The distribution is the result of a unification of developers from the OpenZaurus, OpenEmbedded, and OpenSIMpad projects. Ångström is a distribution that aims at fitting on a small NAND. It's designed for ARM devices, and choose the best solution for this architecture.
ROS Hydro Medusa can be used in the BB or in the BBB together with Ångström through the Beagle-ROS project.
Beagle-ROS project
Beagle-ROS project aims to integrate the Robot Operative System (ROS) and the BeagleBone through the meta-ros layer.
Getting roscore running
Get an Ångström distribution following http://www.angstrom-distribution.org/building-angstrom.
Put the MLO, u-boot and FS in the SD card as explained in http://downloads.angstrom-distribution.org/demo/beaglebone/.
Update the Ångström feed through opkg update.
Install git using opkg install git.
Get the beagle-ros code: git clone git://github.com/vmayoral/beagle-ros.git.
- Install all the packages for ROS in Ångström (30 minutes):
cd beagle-ros/scripts source minimal-ros-install-angstrom.sh
run roscore.
First steps
Getting started with Ångström (or OpenEmbedded) and bitbake might be a bit tough at the beggining but it gets better and after a while you will love it, promised ;). First, take a look at the FAQ.
Beagle-ROS makes use of the meta-ros project, an OpenEmbedded layer that provides ROS to embedded devices. In order to get comfortable with meta-ros the diving-meta-ros repo aims to give you some aid with the first steps (take into account that this tutorial assumes that you are already comfortable with ROS. If not take a look at the ROS Tutorials.
Installing the recipes
The easiest way to install the bitbake recipes provided is to git clone the beagle-ros code directly into the Ångström sources/ directory and add the beagle-ros as a layer:
Edit conf/bblayers.conf
add ${TOPDIR}/sources/beagle-ros \ to the BASELAYERS variable
It's also possible to add the recipes inside of the meta-ros code. There're instructions in https://github.com/vmayoral/beginner_tutorials/blob/master/README.md of how to put these recipes in the meta-ros file structure. (Here you can see the recipes available).
Cross-compiling the recipes
From the TOPDIR of Ångström run bitbake <recipe-name>.
For example: bitbake beginner-tutorials
(Refer to the FAQ if you wish to cross-compile all the neccessary recipes to have ROS in your machine.)
BeagleBone ROS Packages
Some ROS Packages designed for the BeagleBone:
bb_sharp_ir: BeagleBone Shark IR sensors ROS Package.
bb_dc_motors: ROS package that launches a node to control a DC motor connected to the BeagleBone.
bb_mpu9150: BeagleBone ROS package that publishes the Invensense MPU-9150 data into a Topic.
bb_altimeter: ROS package for the BeagleBone that publishes the altimeter MPL3115A2 values to a Topic.
(recipes to cross-compile these packages are available here)
Resources
Ubuntu
The BB or the BBB can also run Ubuntu. Take a look here to see how.
You can get ROS running on Ubuntu for the BB and the BBB following UbuntuARM (Precise 12.04) or UbuntuARM (Raring 13.04).