Skip to content

Decreasing Uncertainty in Planning with State Prediction

Notifications You must be signed in to change notification settings

Senka2112/IJCAI2017

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IJCAI2017

Decreasing Uncertainty in Planning with State Prediction

This repository contains test scripts for the results presented in the paper "Decreasing Uncertainty in Planning with State Prediction" by Senka Krivic, Michael Cashmore, Daniele Magazzeni, Sandor Szdemak and Justus Piater

Prerequisities

You need the ROSPlan repository (follow the installation instructions here )

git clone https://github.com/clearpathrobotics/occupancy_grid_utils
git clone -b squirrel https://github.com/kcl-planning/ROSPlan.git

Additionally you will require Flex and MongoDB.

sudo apt-get install flex
sudo apt-get install mongodb
sudo apt-get install ros-indigo-mongodb-store

You also need the squirrel-prediction repository which represents the core method for predicting missing values in the planning state.

git clone https://github.com/squirrel-project/squirrel_prediction

Additionally you need to install a repository containing squirrel messages: squirrel_common

Planning domains

These domains are contained in this repository under domains_accuracy

Problems defined for evaluation with conditional planning are given under domain_problem_complexity

Runing the tests scripts

Running only predictions

You can run the service for predictions as:

rosrun squirrel_relations_prediction predict_relations_server.py 

Service call for relations prediction:

# input parameters
string data_path
string input_file
string output_file
int32 number_of_columns
---
#output
bool finished

Input file should contain the representation of a graph with missing values. First two columns have to contain string IDs of origin adn destination vertices. Rest columns represent the edges. The file has to be in .csv format where columns are separated with commas and rows with a new line. Empty values mark unknown edges in a graph. '0' marks no edge between vertices and '1' marks existance of the dge between two vertices. An example fo such file is given in examples

Running planning and predictions

GENERATOR:

In each domain folder there is the file: generator.bash

The generator script creates a problem instance in the ROSPlan Knowledge Base. The generator script takes two arguments. ./generator.bash [number of objects] [percent initial knowledge]

The generator scripts requires that:

  • ROSPlan KB is running
  • The /rosplan/domain_path parameter is set to the correct domain The generator script automatically clears the KB before generation.

PREDICTION:

The run_experiment and make_full bash files are used to generate csv files. The take on argument. ./make_full [domain name]

The scripts:

  • wait for 20 seconds while previous ROSPlan processes are killed
  • start ROSPlan with the correct domain. This is an absolute path to the folder so will need to be changed.
  • wait for 20 secods while ROSPlan starts
  • Loop for 5-80 percent knowledge and 5-100 objects
    • call the generator script
    • call the prediction service
    • save the files as above
  • Kill the ros launch

Additional info

The version of the MMMVR framework which does not recquire ROS can be found at mmr_mmmvr.

About

Decreasing Uncertainty in Planning with State Prediction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages