Note: This tutorial assumes that you have completed the previous tutorials: Getting Started. |
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. |
Documentation Interactions
Description: Defining interactions pointing to documentation on the web.Keywords: rocon interactions
Tutorial Level: BEGINNER
Next Tutorial: Qt Interactions
Overview
This tutorial will guide you through the process of linking to and viewing documentation on the web. This is extremely convenient as it directly connects the user of a robot/system with the documentation - no inbetween manuals or word of mouth.
Pointing to documentation is simply a matter of providing a url to the interaction specification. The remocons will then handle the job of starting a browser to view the documentation.
We will assume you are storing launchers/yamls in an arbitrary package foo.
Interactions Yaml
Let's define a couple of simple url's to point to. Save this in foo as foo.interactions.
1 - name: web_url(http://chimek.yujinrobot.com/)
2 role: 'Web URLs'
3 compatibility: rocon:/
4 display_name: Chimek
5 description: Everything you need to know about chimek to get through life.
6 icon:
7 resource_name: rocon_bubble_icons/chimek.png
8
9 - name: web_url(http://wiki.ros.org/rocon_interactions)
10 role: 'Web URLs'
11 compatibility: rocon:/
12 display_name: Ros Wiki - Interactions
13 description: Documentation for rocon_interactions on the ros wiki
14 icon:
15 resource_name: rocon_bubble_icons/ros.png
Note that the rocon_uri specified for the compatibility is open (rocon:/). We are assuming that we can view these web links from any platform.
Interactions Launcher
We don't need anything but the basic interaction node here since the interactions don't require anything but a browser and an internet connection. Save this as foo.launch in foo.
1 <launch>
2 <param name="name" value="Rocon Interactions"/>
3 <param name="description" value="A tutorial environment for interactions/remocons."/>
4 <param name="icon" value="rocon_icons/cybernetic_pirate.png"/>
5 <node pkg="rocon_master_info" type="master.py" name="master"/>
6
7 <node pkg="rocon_interactions" type="interactions_manager.py" name="interactions">
8 <rosparam param="interactions">[foo/foo]</rosparam>
9 </node>
10 </launch>
Interacting
# In the first shell > roslaunch foo foo.launch --screen # In a second shell > rocon_remocon
You should be able to add your ros master and load up the pair of web url's you have specified.
Caveat: currently only google chrome (stable/unstable) and chromium is supported. This should be fairly easy to extend if needed.