Ubuntu ARM install of ROS Hydro
There are currently some experimental builds of ROS for Ubuntu Precise, Quantal and Raring armhf. These builds do not include all packages, but they should save a considerable amount of time compared to doing a full source-based installation.
The Ubuntu ARM build farm status is available here, and the build farm is maintained by Austin Hendrix.
Supported/Tested Platforms
If this install works for your platform, please list it here:
- Beaglebone Black with Ubuntu 12.04
- Beaglebone Black with Ubuntu 13.04
BeagleBoard xM - revC with Ubuntu 12.04 server (omap)
- Rockchip RK3188 with Ubuntu 13.04
- Pandaboard with Ubuntu 13.04 (omap4 variant)
- Cubieboard2
- Gumstix Overo FireSTORM (Stock Ubuntu Image)
Contents
Installation
Configure your Ubuntu repositories
Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse." You can follow the Ubuntu guide for instructions on doing this.
Set your Local
Boost and some of the ROS tools require that the system local be set. You can set it with:
sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX
Setup your sources.list
Setup your computer to accept software from the ARM mirror on packages.ros.org.
Due to limited resources, there are only active builds for Raring armhf, since this appear to be the most popular Ubuntu distribution in use on 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'
Set up your keys
wget http://packages.namniart.com/repos/namniart.key -O - | sudo apt-key add -
Installation
First, make sure your Debian package index is up-to-date:
sudo apt-get update
There are many different libraries and tools in ROS. Most of the default configurations do not yet compile fully on ARM. You can also install ROS packages individually.
ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.
sudo apt-get install ros-hydro-ros-base
Individual Package: You can install a specific ROS package (replace underscores with dashes of the package name):
sudo apt-get install ros-hydro-PACKAGE
- e.g.
sudo apt-get install ros-hydro-slam-gmapping
To find available packages, use:
apt-cache search ros-hydro
Install Sizes
Base Package |
Total Install Size |
ros-hydro-ros |
364MB |
ros-hydro-pcl-ros |
850MB |
ros-hydro-navigation |
891MB |
Initialize rosdep
Before you can use ROS, you will need to install and initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.
May be broken in Hydro for armhf builds. The latest version reported by apt is 0.10.18-1, but 0.10.21-1 is required. (Interestingly the .deb appears in the repository but is not 'active' when an apt-get update is performed.
sudo apt-get install python-rosdep sudo rosdep init rosdep update
Environment setup
It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:
echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc source ~/.bashrc
If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.
If you just want to change the environment of your current shell, you can type:
source /opt/ros/hydro/setup.bash
Getting rosinstall
rosinstall is a frequently used command-line tool in ROS that is distributed separately. It enables you to easily download many source trees for ROS packages with one command.
To install this tool on Ubuntu, run:
sudo apt-get install python-rosinstall
Verifying OS name
Make sure your OS name defined at /etc/lsb-release is as the following. Since ros does not recognize Linaro as an OS, this is necessary. The following is for Ubuntu 13.04, raring. Modify the release number and name as per your target.
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=13.04 DISTRIB_CODENAME=raring DISTRIB_DESCRIPTION="Ubuntu 13.04"