= Benicassim ROS Workshop =
The instructions in this page apply to the example code that will be used in the ROS workshop o be held in the Handle Project meeting in Benicassim on the 7th of February 2012.

These instructions only cover installing ROS, the Shadow Robot stacks and the example code on a supported Ubuntu-based machine.

If you discover problems installing them, please contact us: toni@shadowrobot.com or contact@shadowrobot.com

== ROS and Shadow Robot stacks installation ==

These instructions cover installing [[electric|ROS Electric]] and the [[shadow_robot|Shadow Robot stacks]] on a supported Ubuntu-based machine. Please refer to the [[Robots/Shadow Robot/detailed_electric_trunk|Shadow Robot stacks installation page]].

== Example code installation ==

Before installing the example code please follow the instructions in the previous section.

Probably the easiest method to install the example code is editing the .rosinstall file in your workspace. Here we asume '''/code/ros/electric/workspace''' as the workspace directory.

First thing should be marking all the existing lines in the .rosinstall as "other" instead of bzr, svn, etc.

After that a new line can be added to configure the example code installation:

{{{
echo "- bzr: {local-name: handle_example, uri: 'lp:~shadowrobot/handle-benicassim-example/handle-example'}" >> /code/ros/electric/workspace/.rosinstall
}}}

Then run roinstall again to downlod the code:

{{{
cd /code/ros/electric/workspace
rosinstall .
}}}

Before being able to run the example, you will need to build all the packages and install the necessary dependencies.

{{{
roscd hnd_ex_move_robot
rosmake --rosdep-install
roscd hnd_ex_process_image
rosmake --rosdep-install
roscd hnd_ex_launch
rosmake --rosdep-install
roscd hnd_ex_msgs
rosmake --rosdep-install
}}}

== Running the example ==

To fully run the example you need to have a kinect available and correctly set up in your machine. Please refer to the [[openni_kinect|openni_kinect]] wiki page for installation instructions. 

To run the example you need to run a roscore on a terminal:
{{{
roscore
}}}

Launch the script for the example:
{{{
roslaunch hnd_ex_launch hnd_ex.launch
}}}

Run rviz to visualize the simulated hand. To configure rviz properly please refer to the '''Visualizing the data''' section in this [[sr_hand/Tutorials/Getting Started: running the hand and arm interface|running the hand tutorial]] for instructions on how to configure rviz.

{{{
rosrun rviz rviz
}}}

== Download code only ==

If you don't want to install ROS, but just download the code to have a look at the example, you can do it this way:

{{{
cd your_code_folder
bzr branch lp:~shadowrobot/handle-benicassim-example/handle-example
}}}

== Download ROS presentation ==

You can download the [[attachment:Handle_ROS_Presentation_Shadow.pdf|ROS presentation]] in pdf format.