next up previous
Next: Mouse interface Up: Keyboard commands and mouse Previous: General keyboard commands


Configuration database and task commands

Two lists of configurations are maintained by fmstudio: the 'Plan config' list and the 'Database config' list.

The latter list ('Database config') is meant as a repository of useful configurations. It is typically stored in a file with the same name base as the scene file but ending in '.conf' instead of '.iv'. It is read right after starting the fmstudio and written back to the same file when the program exits normally. (Use the '-db' option, see [*], to specify a different file name.)

In contrast, 'Plan config' contains a task, and possibly further configurations that define an entire plan (that is, a solved task). (Use a sequence of indices at the command line, see [*], to fill this list at start-up of fmstudio.) A 'task' is defined as an arbitrary sequence of collision-free, so-called 'key-configurations'. A 'plan' contains additional (non-key) configurations such that connecting two successive configurations by straight line segments yields a collision-free path. The planner tries to insert proper non-key configurations into a task to turn it into a plan.

Thus, 'Database config' is a conglomeration, most likely without significant order of the configurations, and is automatically saved at proper exit of fmstudio. In contrast, the order of the configurations in 'Plan config' does matter. 'Plan config' can be seen as something like the 'working memory' of fmstudio and needs to be saved explicitly if desired (see below). Both lists can be edited by the user. To this end, each list has a pointer associated with it that indicates the current position, similarly to a cursor position, in its list. The status output in the shell window shows the sizes ('plan-total' and 'db-total') of both lists and the respective current 'cursor' positions 'plan-curr' and 'db-curr':

  Plan config     : <plan-curr>/<plan-total> * - not planned yet
  Database config : <db-curr>/<db-total> (database file: <filename>)

An asterisk '*' in the 'Plan config' line shows if the configuration at the 'plan-curr' position in 'Plan config' is a key configuration (only key-configurations are considered when the planner is run; this allows re-starting the planner several times in a row on the same task). The key status flag can be changed by the user (see below). Furthermore, the 'Plan config' line indicates the planner status.

Similarly, the 'Database config' line shows the current position in the 'Database config' list and the total number of stored configurations. It also shows the name of the file from which the database was read at program start and to which it will be written back when the program exits normally.

The following keyboard commands can be used to edit and perform other operations on these two lists:

INS(+)
Insert the current configuration (the one shown in the graphics window) as a key configuration at the current position in the 'Plan config' list. The current position remains fixed, the number of configs is increased by one.

DEL(+)
Delete configuration from 'Plan config' list at current position in 'Plan config'.

ENTER(+)
Append current configuration (the one shown in the graphics window) at the end of the 'Plan config' list.

HOME(+)
Step to the previous configuration in the 'Plan config' list and display this configuration in the graphics window.

END(+)
Step to the next configuration in the 'Plan config' list and display this configuration in the graphics window.

+SHIFT
Pressing SHIFT together with the commands marked with '(+)' applies these commands to the 'Database config' list instead of the 'Plan config' list.

CTRL+SHIFT+DEL
Clear the entire 'Plan config' list.

(K)ey/unkey current configuration in plan
Toggle the key status flag of the current configuration in the 'Plan config' list. (See top of section for definition of the key status flag.

(G)oto database config #...
Sets the current position in the 'Database config' list to a user-specified number. After pressing 'G', move the mouse pointer to the shell window and enter the desired index (note that indices start with 1). The chosen configuration is then shown in the graphics window and the current position in the 'Database config' list is updated correspondingly in the shell window.

(L)oad task/path...
Load 'Plan config' list from file (the current list in memory will be overwritten). After pressing 'L', move the mouse pointer to the shell window and enter the name of a valid task/path file (e.g., one saved previously using the 'S' command below).

(S)ave task/path...
Save 'Plan config' list to file. After pressing 'S', move the mouse pointer to the shell window and enter a file name. Note: an existing file with the same name will be overwritten without any warnings!


next up previous
Next: Mouse interface Up: Keyboard commands and mouse Previous: General keyboard commands
Mitul Saha 2003-03-10