ROS on Intel Edison using Ubilinux and Porting to Yocto
In order to expand the robotics capabilities of the Intel Edison integrating a Robot Operating System (ROS) is necessary. While Node.js has many modules like Johnny5 and Cylon.js, they are still limited when compared to ROS in terms of computer vision processing and sensor integration. I will be starting with the install instructions for Ubilinux at: http://wiki.ros.org/wiki/edison . Once I have an idea of the packages that are needed and the installation procedure I can begin considering how to install ROS on Yocto. Ubilinux was installed on the Edsion following: https://learn.sparkfun.com/tutorials/loading-debian-ubilinux-on-the-edison
First step is installing screen and git to make life easier. I'm also creating a new user and installing sudo so that I won't have to use root to install.
First enter root by typing su and enter "edison" as the password.
apt-get install screen git sudo adduser edison sudo exit logout
You can now log in with username edison password edison and have access to sudo.
Ok then, lets dive into it. I'm going to be following the instructions for installing ROS Indigo on Raspbian: http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi (Debian for Raspberry Pi) with the suggested changes of:
edit /etc/apt/sources.list and add line:
deb http://http.debian.net/debian wheezy-backports main
and install liblz4 with:
sudo apt-get update sudo apt-get install liblz4-dev
1. Prerequisites
Any commands with the code font are what I imputed into the terminal
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu wheezy main" > /etc/apt/sources.list.d/ros-latest.list' wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | apt-key add -
sudo apt-get update sudo apt-get upgrade
sudo apt-get install python-setuptools python-pip python-yaml python-argparse python-distribute python-docutils python-dateutil python-setuptools python-six
sudo pip install rosdep rosinstall_generator wstool rosinstall
sudo rosdep init
rosdep update
sudo apt-get install liblz4-dev
2. Installation
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-ros_comm-wet.rosinstall
wstool init src indigo-ros_comm-wet.rosinstall
terminal outputs: update complete
Since I will be using ROS_Comm I only need to install libconsole-bridge-dev and liblz4-dev and since linlz-dev was installed earlier I will only install libconsole-bridge-dev.
mkdir ~/ros_catkin_ws/external_src
sudo apt-get install checkinstall cmake
sudo sh -c 'echo "deb-src http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi" >> /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E
sudo apt-get update
cd ~/ros_catkin_ws/external_src
sudo apt-get build-dep console-bridge
apt-get source -b console-bridge
sudo dpkg -i libconsole-bridge0.2_*.deb libconsole-bridge-dev_*.deb
cd ~/ros_catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:wheezy
ERROR: the following rosdeps failed to install
apt: command [sudo -H apt-get install -y python-rospkg] failed
apt: command [sudo -H apt-get install -y python-catkin-pkg] failed
apt: command [sudo -H apt-get install -y python-rosdep] failed
apt: Failed to detect successful installation of [python-rospkg]
apt: Failed to detect successful installation of [python-catkin-pkg]
apt: Failed to detect successful installation of [python-rosdep]
From wiki: Note: Rosdep may report that python-rosdep, python-catkin-pkg, python-rospkg, and python-rosdistro failed to install; however, you can ignore this error because they have already been installed with pip.
Now time to install ROS: sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo
Once complete source the ROS install:
source /opt/ros/indigo/setup.bash
ROS is now installed and ready to use