sw_install_host
Target: Hekateros Networked Host
While the Hekateros software may be executed entirely on the embedded computer module (COM) on the Hekateros platform, it is recommended that users interface with the arm through a Host Computer. This page provides detailed configuration and installation instructions for the Hekateros ROS interface on a development host machine.
The Hekateros ROS packages are supported under 64-bit Ubuntu Linux. Effective use of the Hekateros software requires a working knowledge of Linux and the BASH command line. If you're new to Linux, git/github, or the BASH command line, visit these pages first to get your bearings:
⇒ Note: Per each Hekateros host target, the following (subset) of installation instructions must be performed once.
⇒ Note: For the end-of-life Hekateros hardware versions 1.x, only Ubuntu 12.04 is supported.
- Computer with x86_64 (amd64) compatible processors.
- Installation requires host to have network connectivity and DNS services.
Instructions for installing Ubuntu 14.04 Trusy (Long Term Support LTS) 64-Bit can be found here:
- Ubuntu - (be sure to install the 64-bit version!)
Instructions for installing ROS on you new Ubuntu System can be found here:
Be sure to install additional utilities for the new catkin build system...
sudo apt-get install python-wstool
... and the ROS MoveIt! motion planning framework...
sudo apt-get install ros-indigo-moveit-full
... and the control-msgs package
sudo apt-get install ros-indigo-control-msgs
... don't forget to run rosdep...
sudo rosdep init
rosdep update
... and finally, source the ROS configuration files:
source /opt/ros/indigo/setup.bash
Recommended: If you want the ROS setup.bash script to be sourced automatically whenever a new terrminal is opened, add the previous command to the end of your .bashrc.
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
Before moving on, please follow some of the ROS Tutorials.
RoadNarrows maintains a debian package repository for their core software libraries.
The RoadNarrows repos have moved!
wget -O - http://distro.roadnarrows.com/distro.roadnarrows.key | sudo apt-key add -
Add the RoadNarrows repository to your list of apt-get sources
sudo sh -c "echo 'deb [arch=amd64] http://distro.roadnarrows.com/repo-stable trusty main' > /etc/apt/sources.list.d/rnr.sources.list"
sudo sh -c "echo 'deb [arch=amd64] http://distro.roadnarrows.com/repo trusty unstable' > /etc/apt/sources.list.d/rnr.sources.list"
The RoadNarrows legacy repos. Only use for RoadNarrows robots with gumstix overo processors and Ubuntu 12.04 hosts.
wget -O - http://roadnarrows.com/packages.roadnarrows.key | sudo apt-key add -
Add the RoadNarrows repository to your list of apt-get sources
sudo sh -c "echo 'deb [arch=amd64] http://roadnarrows.com/distro/apt precise main' > /etc/apt/sources.list.d/rnr.sources.list"
Update the apt cache
sudo apt-get update
Install the required RoadNarrows packages
sudo apt-get install rnr-hekateros-dev rnr-peripherals-dev
Also install the python-imaging libraries for GUI support.
sudo apt-get install python-imaging python-imaging-tk
Finally - You are ready to install the Hekateros ROS packages!!!
We recommend overlaying the Hekateros ROS packages on your existing ROS installation using a catkin workspace (see Catkin Tutorials).
Create a directory for your catkin workspace (for example in your home directory)
mkdir -p ~/catkin_rnr/src
Initialize the catkin workspace
cd ~/catkin_rnr/src
catkin_init_workspace
Clone the required Hekateros ROS packages inside the catkin_rnr/src directory. These branches should match the branches on the target Hekateros robot.
For the unstable master branch:
git clone https://github.com/roadnarrows-robotics/hekateros
git clone https://github.com/roadnarrows-robotics/peripherals
git clone https://github.com/ros-industrial/industrial_core --branch indigo-devel
git clone https://github.com/bosch-ros-pkg/usb_cam
Build the Hekateros ROS packages:
cd ~/catkin_rnr
catkin_make
Source devel/setup.bash to add this workspace to your ROS search paths:
source ~/catkin_rnr/devel/setup.bash
Recommended: If you want the setup.bash script to be sourced automatically whenever a new terrminal is opened, add the previous command to the end of your .bashrc.
echo "source ~/catkin_rnr/devel/setup.bash" >> ~/.bashrc
Or copy-paste the following shell snippet to the bottom of your .bashrc:
# ROS environment
ros_base=/opt/ros/indigo
ros_ws=~/catkin_rnr
if [[ -f ${ros_ws}/devel/setup.bash ]]
then
source ${ros_ws}/devel/setup.bash
elif [[ -f ${ros_base}/setup.bash ]]
then
source ${ros_base}/setup.bash
fi
unset ros_base ros_ws
Hekateros End Effector camera (EECam) default video access uses GStreamer. GStreamer is a library for constructing mult-media compones, including video streaming across a network. (See GStreamer.)
Install the GStreamer requisites:
sudo apt-get install gstreamer1.0
At this point, the Hekateros ROS packages should be installed, and your system should be configured. To verify, please run the hekateros_control sanity check procedures.
Start the ROS master in a separate window:
roscore
Now run the following node. A graphical user interface should pop-up.
It will not connect to a real Hekateros, so no state information is displayed.
But the GUI should be displayed after connected with roscore
services.
rosrun hekateros_control hek_panel
Now kill (CTRL-C) both roscore
and hek_panel
.
For any ROS node to run, the ROS master must be running. Each Hekateros is its own ROS master. The environmental variable ROS_MASTER_URI points to desired ROS master. Note the Hekateros is assumed to be connected to the LAN/WAN and has the host name hekateros.
export ROS_MASTER_URI="http://hekateros:11311"
Now rerun the hek_panel and it should automatically connect to the Hekateros and provide active state data and control operations.
rosrun hekateros_control hek_panel
RoadNarrows Robotics Hekateros