= Ubuntu ARM install of ROS Indigo = There are currently builds of ROS for Ubuntu Trusty armhf. These builds include most but not all packages, and save a considerable amount of time compared to doing a full source-based installation. <> == Supported/Tested Platforms == If this install works for your platform, please list it here: * [[https://developer.qualcomm.com/hardware/snapdragon-flight|Snapdragon Flight]] (Qualcomm Snapdragon 801 Processor), [[https://github.com/ATLFlight/ATLFlightDocs/blob/master/SnapdragonROSInstallation.md|ROS install guide]] * [[http://tfoote.gitbooks.io/a-guide-to-using-ros-on-the-ifc6410/content/|Inforce IFC6410]] (Qualcomm Snapdragon 600 Processor) * [[http://einfochips.viewpage.co/pre-order-now-eragon600-qualcomm|eInfochips Eragon600]] (Qualcomm Snapdragon 600 Processor) * [[http://wiki.ros.org/NvidiaJetsonTK1|Nvidia Jetson TK1]] * Odroid C1, X, U2, U3, XU3 (Ubuntu 14.04) and XU4 (Ubuntu 14.04) * !SolidRun !CuBox-i Pro with [[http://www.solid-run.com/community/topic1269.html|Ubuntu 14.04 LTS]] (tested; works) * BeagleBone Black (Ubuntu 14.04) * Parallella http://www.parallella.org (note default shell is not bash) * !RadxaRock http://radxa.com/ (Ubuntu 14.04) * Pandaboard ES (Ubuntu 14.04) * Gumstix Overo Fire with [[https://wiki.ubuntu.com/Core|Ubuntu Core 14.04 rootfs]] * Wandboard Quad (with [[https://github.com/RobertCNelson/armv7-multiplatform|Robert Nelson's kernel]] and Ubuntu 14.04) http://wandboard.org * Raspberry Pi 2 (with Ubuntu 14.04 2015-03-02 https://wiki.ubuntu.com/ARM/RaspberryPi) * [[http://www.google.com/nexus/5/|Google Nexus 5]] (with Ubuntu Touch) * DJI Manifold https://developer.dji.com/manifold/ (Ubuntu 14.04) * [[https://eragon.einfochips.com/products/eic-q410-200.html|eInfochips Eragon 410]] (Qualcomm Snapdragon 410 Processor) * [[https://developer.qualcomm.com/hardware/dragonboard-410c|Dragonboard 410c]] (Qualcomm Snapdragon 410 Processor) * [[http://namniart.com/ros/ubuntu/2016/02/06/orangepi-ubuntu-ros.html|Orange Pi 2]] and probably other Orange Pi's * [[https://orbbec3d.com/product-persee/|Orbbec Persee]] == Installation == === Configure your Ubuntu repositories === Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse." You can [[https://help.ubuntu.com/community/Repositories/Ubuntu|follow the Ubuntu guide]] for instructions on doing this. === Set your Locale === Boost and some of the ROS tools require that the system locale be set. You can set it with: . {{{ sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX }}} If there is a problem. Then try (other languages could be added): . {{{ $ export LANGUAGE=en_US.UTF-8 $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 $ locale-gen en_US.UTF-8 $ dpkg-reconfigure locales }}} === 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 Trusty armhf (14.04), since this is the stable, long-term Ubuntu release and is the most-requested distribution in conjunction with ROS Indigo. . '''Ubuntu 14.04 (Trusty armhf)''' . {{{ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list' }}} === Set up your keys === . {{{ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 }}} You can try the following command by adding :80 if you have gpg: keyserver timed out error due to a firewall . {{{ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 }}} === 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 - not all 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-indigo-ros-base }}} '''Desktop Install: ''' ROS, [[rqt]], [[rviz]], and robot-generic libraries . {{{ sudo apt-get install ros-indigo-desktop }}} ==== Add Individual Packages ==== . You can install a specific ROS package (replace underscores with dashes of the package name): . {{{ sudo apt-get install ros-indigo-PACKAGE }}} . e.g. {{{ sudo apt-get install ros-indigo-navigation }}} To find available packages, use: {{{ apt-cache search ros-indigo }}} The Ubuntu ARM package status is available [[http://repositories.ros.org/status_page/ros_indigo_arm.html|here]] ==== Install Sizes ==== ||'''Base Package''' ||'''robot variant''' ||'''desktop variant''' || ||407 MB ||572 MB ||~1GB || === 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. {{{ sudo apt-get install python-rosdep sudo rosdep init rosdep update }}} <> === 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 14.04, trusty. Modify the release number and name as per your target. {{{ DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04" }}} === Build farm status === The packages that you installed were built by [[http://jenkins.ros.org|ROS build farm]]. You can check the status of individual packages [[http://repositories.ros.org/status_page/ros_indigo_arm.html|here]]. <> === Using RVIZ === It is not recommended to run rviz on most ARM-based CPUs. They're generally too slow, and the version of OpenGL that is provided by the software (mesa) libraries it not new enough to start rviz. ''''IF'''' you have a powerful board with a GPU and vendor-supplied OpenGL libraries, it might be possible to run rviz. The IFC6410 and the NVidia Jetson TK1 are two such boards where rviz will run, although neither is fast enough for graphics-heavy tasks such as displaying pointclouds. Note that rviz will segfault if you have the `GTK_IM_MODULE` environment variable set, so it's best to unset it in your `~/.bashrc`: {{{ unset GTK_IM_MODULE }}} ---- CategoryCategory