The .app file is a file that defines an application. It is a yaml file.


These attributes define the general properties of the application, and must be specified.

  • display: the human-friendly name of the application
  • description: longer description of the application
  • platform: the platform the application is for (e.g. "pr2" or "turtlebot")

There are three parameters referencing files. The file references are ROS file names, in that they are in the form of package/file. The paths must not contain in intermediate files, for example my_app/launch/my_app.launch should be specified my_app/my_app.launch. In addition, the application package must contain only one file of the given name.

  • launch: launch file to start on the robot side
  • interface: the name of the interface file
  • icon: a .jpg, .png, or .jpeg file to visually represent the application


For now, simply put this as the content of the interface file:

published_topics: {}
subscribed_topics: {}


The Application Clients launched are defined in the application file in a YAML array called "clients:". This array is optional. If there are no clients, the application will run without user interaction, however its termination and running status will be displayed.

If the clients array is specified, then it contains objects with three attributes: type, manager, and app. The first, type, is a string declaring the type of the application client, which currently is only "android". The second and third, manager and app, are yaml dictionaries of key value pairs passed to the app manager client and application client respectively. The behavior of these dictionaries depends on the application manager client and application client.

Wiki: ApplicationsPlatform/AppFileSpec (last edited 2011-09-19 02:46:58 by TonyPratkanis)