-
Notifications
You must be signed in to change notification settings - Fork 158
d. 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.)
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.
The ROSPlan Dispatcher plugin:
- provides tools to control the Planning System;
- displays information about the current plan;
- displays information about the current PDDL model; and
- provides tools to modify the PDDL model.
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
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.)
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.
A list of the current goals.
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.)
A list of the current facts true in the current model. This is continuously updated to remain true to the Knowledge Management System.
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.)
A list of object instances in the current model. This is continuously updated to remain true to the Knowledge Management System.
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).
The ROSPlan Action Dispatcher plugin allows the user to dispatch PDDL actions by hand. This is useful for:
- controlling the robot from a high-level interface; and
- 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!
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.
"ROSPlan: Planning in the Robot Operating System". M. Cashmore, M. Fox, D. Long, D. Magazzeni, B. Ridder, A. Carrera, N. Palomeras, N. Hurtos, M. Carreras. Proceedings of the 25th International Conference on Automated Planning and Scheduling (ICAPS-15). June 2015.