To build the package, follow these steps in the package directory:
mkdir build cd build cmake .. make
This will create a bin directory in the package directory where an executable run is created.
To run with default parameters from input/default.cfg, just run this executable.
cd ../bin ./run
This executable takes several options, but it is possible to put all of these options into a configuration file and pass that as an argument:
For an example of the parameters you can set, you may check the default configuration file:
This configuration file performs planning for a simple point system using SST. The planner runs for 15 seconds and then reports the resulting solution. Other configuration files can be found in the input directory.
All of the parameters can be found by running
The output of this command is shown here for reference:
Options: --help Print available options. --config arg (=../input/default.cfg) The name of a file to read for options (default is ../input/default.cfg). Command-line options override the ones in the config file. A config file may contain lines with syntax 'long_option_name = value' and comment lines that begin with '#'. --integration_step arg Integration step for propagations. --stopping_type arg Condition for terminating planner (iterations or time). --stopping_check arg Amount of time or iterations to execute. --stats_type arg Condition for printing statistics of a planner (iterations or time). --stats_check arg Frequency of statistics gathering. --intermediate_visualization arg (=0) Flag denoting generating images during statistics gathering. --min_time_steps arg Minimum number of simulation steps per local planner propagation. --max_time_steps arg Maximum number of simulation steps per local planner propagation. --random_seed arg Random seed for the planner. --sst_delta_near arg The radius for BestNear in SST. --sst_delta_drain arg The radius for witness nodes in SST. --planner arg A string for the planner to run. --system arg A string for the system to plan for. --start_state arg The given start state. Input is in the format of "0 0" --goal_state arg The given goal state. Input is in the format of "0 0" --goal_radius arg The radius for the goal region. --tree_line_width arg Line thickness for tree visualization. --solution_line_width arg Line thickness for solution path. --image_width arg Width of output images. --image_height arg Height of output images. --node_diameter arg Diameter of visualized nodes in output images. --solution_node_diameter arg Diameter of nodes along solution path in output images.
In addition to the terminal output, visualization images in .svg format are placed in the bin directory. One image shows the resulting tree of the motion planner along with the solution path (tree_.svg). The second image (nodes_.svg) shows the cost at each node in the tree. Darker nodes represent lower cost (better) while lighter nodes denote higher cost. A series of these images can be created to show the evolution of the planner's data structure over time using the intermediate_visualization parameter of the input.
Right now, the reported statistics are the number of iterations executed, the number of nodes stored, and the solution length in seconds. These are printed to the terminal at an interval set by the user with the stats_type and stats_check parameters.
Documentation for the package can be generated in the following way:
cd doc doxygen doxyfile
Then opening html/index.html
Header files can be found in the include directory. The corresponding source files are found in the src directory. Adding new files into these directories should be included in any subsequent builds of the code, provided that cmake is invoked again as detailed above in the COMPILING section.
New executables can be placed in the tests directory, where the run executable source code can be found.