Note: This tutorial assumes that you have completed the previous tutorials: Initial Image Install.
(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Adding ROS to the Yocto Linux image

Description: How to add ROS to the Intel Galileo board Linux image.

Keywords: Galileo OpenEmbedded Yocto

Tutorial Level: INTERMEDIATE

Next Tutorial: Setting up files on the Galileo Setup on the Galileo

Adding ROS

Download the ROS for openembedded, and downgrade to a known good tag:

cd ~/devel_gal/meta-clanton*
git clone https://github.com/bmwcarit/meta-ros.git
cd meta-ros && git checkout tags/v0.1
cd ../yocto_build

Add this line to conf/bblayers.conf (replace <> with appropriate values):

  /home/<my user id>/devel_gal/meta-clanton_v<version>/meta-ros \

I'm not sure which of the following changes are required, but this is what worked for me.

Change the IMAGE_INSTALL line in ../meta-clanton-distro/recipes-core/images/image-full.bb to:

IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL} packagegroup-core-basic packagegroup-core-lsb kernel-dev"

Change the IMAGE_FEATURES line in ../meta-clanton-distro/recipes-core/images/image-full.bb to:

IMAGE_FEATURES += "package-management tools-sdk dev-pkg tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"

It would also be a good idea to increase the image size to 3G:

IMAGE_ROOTFS_SIZE = "3072000"

Add these line to ../meta-clanton-distro/recipes-core/images/image-full.bb

IMAGE_INSTALL += "roslaunch"
IMAGE_INSTALL += "roswtf roscpp rospy roscreate rosunit roslib rosbash rosbuild roslang rosmake rosclean rospack roscpp-traits rostime"
IMAGE_INSTALL += "roscpp-serialization rosmsg rosout rostopic rospy rosbag rosgraph rosmaster rosconsole roslaunch rosnode rosparam rosgraph-msgs"
IMAGE_INSTALL += "rostest roscpp rosservice roswtf class-loader actionlib nodelet catkin python-rosdep python-rospkg python-catkin-pkg python-rosinstall"
IMAGE_INSTALL += "catkin message-runtime python-wstool "
IMAGE_INSTALL += "screen mk"
IMAGE_INSTALL += "libc-dev libstdc++-dev"
IMAGE_INSTALL += "libc6-dev"
IMAGE_INSTALL += "vim git"

In order for I2C and may of the GPIO pins to work, you'll need to change the i2c_std-mode in ../meta-clanton-bsp/recipes-kernel/linux/files/clanton.patch:

+static unsigned int i2c_std_mode''' = 1''';

Bitbake it, copy the files and boot it.

Issues

As of 2/9/13, the python empy package has been updated, and therefore fails the md5sum check. It should give you an error message with the new md5sum and sha256sum. Just replace the appropriate lines of ../meta-ros/recipes-devtools/python/python-empy_3.3.bb.

And:

mv ../meta-ros/recipes-devtools/python/python-empy_3.3.bb ../meta-ros/recipes-devtools/python/python-empy_3.3.2.bb

Previous: Initial Image Install

Next: Setup on the Galileo

Wiki: IntelGalileo/IntelGalileoYoctoAddingRos (last edited 2014-02-10 11:50:03 by JonStephan)