Skip to content

d. User Interface

Michael Cashmore edited this page May 25, 2016 · 4 revisions

User Interface

ROSPlan has a user interface based on rqt (http://wiki.ros.org/rqt).

The interface is used to view the current PDDL model, goals, plan, and state of dispatch. It can also be used to alter the model and goals by hand. the interface shows the status of actions whether the action failed or achieved.

This interface is currently under development, and more features are planned. (Currently functions and non-simple conditions are not handled in the user interface.)

Table of Contents

screen.png


Running ROSPlan rqt

The interface can be run either as a standalone window:

rqt --standalone rosplan_rqt

Or it can be added to an existing rqt window by selecting "ROSPlan/ROSPlan dispatcher" from the plugins menu.


ROSPlan Dispatcher

The ROSPlan Dispatcher plugin:

  1. provides tools to control the Planning System;
  2. displays information about the current plan;
  3. displays information about the current PDDL model; and
  4. provides tools to modify the PDDL model.
Planning controls

screen_controls.png

Plan: executes the Planning System with given facts to find a valid plan from the initial state to meet goals in "Mission Goals".
Pause/Resume: pauses and resumes the plan dispatch.
Cancel: stops the plan dispatch and discards the plan.
System Status shows the status of Planning System:

  • Ready
  • Planning
  • Dispatching
  • Paused
Plan view

The plugin shows the list of actions generated by planning system, and gives some information about actions while the plan is being dispatched (duration of the action, the time that each action dispatches etc.)

screen_plan.png

action_id: a unique ID assigned to the action.
dispatch_time (in seconds): the time from the start of the current plan that the action is estimated to be dispatched.
action_name: the name of the planned action, as in the PDDL plan.
duration (in seconds): the estimated duration of the action.
status: the current status of the action.

Action status shows the status of the action feedback message (see Planning System.) Common statuses are:

  • precondition false, if the action's preconditions were not achieved, and the action was not dispatched.
  • action enabled, if the action is currently dispatching.
  • action achieved, if the action is successfully completed.
  • action failed, if the action dispatch failed. This happens when the planned action fails to be executed by ROS controllers.
Mission goals

A list of the current goals.

screen_goals.png

The user can manually add and remove simple PDDL goals. To add a goal, first select the name of the predicate, then select the fact that must be added. To remove goals, select any number of goals from the list and select "remove goals".

(PDDL function goals and metrics will be added to the interface soon.)

Facts

A list of the current facts true in the current model. This is continuously updated to remain true to the Knowledge Management System.

screen_facts.png

The Knowledge Management System should be updated automatically through components (see components) However, the user can also add/remove facts to alter information in the PDDL problem instance.

(PDDL functions will be added to the interface soon.)

Object instances

A list of object instances in the current model. This is continuously updated to remain true to the Knowledge Management System.

screen_objects.png

New objects can be added by selecting the object type and giving it a unique name. The new object instance is added to the Knowledge Management System (note that no data has been added to the MongoDB).

ROSPlan Action Dispatcher

The ROSPlan Action Dispatcher plugin allows the user to dispatch PDDL actions by hand. This is useful for:

  1. controlling the robot from a high-level interface; and
  2. testing integration of new action components with ROSPlan.

Simply select the desired action from the drop-down list, select the desired parameters of the action, and press the "dispatch" button!

ROSPlan Problem Viewer

The ROSPlan Problem Viewer plugin displays the current problem file. This file is automatically generated by ROSPlan. The Problem Viewer panel will automatically update whenever ROSPlan regenerates the problem.