Note: This tutorial assumes that you have completed the previous tutorials: Introspect Rapps.
(!) 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.

Troubleshooting Rapps

Description: How to troubleshooting an invalid rapp

Keywords: rapp

Tutorial Level: INTERMEDIATE

Overview

This tutorial provides some tips to investigate invalid rapps.

Preparation

It is highly recommended to review Rapp Specification Document before move on. Also make sure you have installed either the rocon_app_platform environment, or the full rocon environment itself.

Frequent Rapp Invalid cases

These are the frequent

Rapp launch file not in ROS_PACKAGE_PATH or includes invalid XML format

  • rocon_app list tool parses and validates all available rapps in indexer. If a rapp includes malformed roslaunch, it marks them as invalid Rapp and provides why it is invalid.

Example

== Invalid Rapp List == 
  turtle_concert/teleop : failed to parse top-level args from rapp launch file [Invalid roslaunch XML syntax: mismatched tag: line 5, column 4]
  cafe_rapps/waiter_waiterbot : failed to parse top-level args from rapp launch file [waiterbot_ctrl_cafe
ROS path [0]=/opt/ros/hydro/share/ros
ROS path [1]=/home/jihoonl/research/ros/rocon/src
ROS path [2]=/opt/ros/hydro/share
ROS path [3]=/opt/ros/hydro/stacks]

Rapp includes invalid resource pointer

  • It is easy to make a mistake on setting resource pointer to interface, icon, or parent_name.

Example

== Invalid Rapp List ==
  turtle_concert/turtle_stroll : invalid rapp - turtle_concert/wrong_name.png does not exist
  turtle_concert/teleop : Invalid parent_name [rocon_apps/invalid_name] in resource [turtle_concert/teleop]

Virtual Child Rapp

  • Rapp without (compatibility, launch) or (public interface, parameters) is classified as Virtual Child which is invalid according to Rapp Specification. Rapp should be classified as Virtual Ancestor, Implementation Ancestor, or Implementation Child.

== Invalid Rapp List == 
  turtle_concert/teleop : Virtual Child rapp. Invalid!

Wiki: rocon_app_utilities/Tutorials/indigo/Troubleshooting Rapps (last edited 2015-05-06 08:18:39 by jihoonl)