praveenv4k / stochastic_planning

Model based Stochastic planning for the humanoid robot grasping of a moving object

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stochastic Planner evaluation project

About

  • The aim of the project is to study the Stochastic planning for the specific iCub grasping of a moving object. Markov decision process and Partially Observable MDP planning methods are focused.

Requirements

Build steps

  • Open Terminal and change directory to the stochastic_planning directory
  • mkdir build
  • cd build
  • cmake ..
  • make

Configuration Steps

  • The configuration is done using Json files.
  • The config folder contains a master.json file which contains the child json file which will contain actual config info
  • When you want to use a new config json file, the file name has to be specified in the master.json file

Generating Domain

  • Once the configuration is done the domain could be generated by starting the "domain_generator" application inside the build directory
  • The domain_generator will generate "states.txt", "action.txt" and "domain.pomdp" files. The states.txt contains the mapping of the states and their identifiers. The action.txt contains the action identifier and action mapping. The domain.pomdp is the actual domain description (Transition and reward specification" serialized in Cassandra Pomdp format.

Generating the policy

  • The APPL planner is used to generate the policy. The information about the APPL planner could be found at http://bigbird.comp.nus.edu.sg/pmwiki/farm/appl/index.php?n=Main.HomePage
  • For generating MDP policy, the domain.pomdp should be converted using the pomdpconvert to domain.pomdpx and "fullObs" attribute in the pomdpx file has to be set to true.
  • The pomdpsol tool is used to generate the policy for the given domain.
  • After generating the policy, all the related files (action.txt,states.txt,domain.pomdp/domain.pomdpx,domain.policy) could be put in a folder and the path of this folder could be specified in the config json file to notify this information to policy_simulator.

Running the application

  1. start up yarpserver
  2. start up iCub_SIM
  3. start up simCartesianSolver
  4. launch - iKinCartesianSolver --context simCartesianControl --part left_arm
  5. start robot_controller from build directory
  6. start object_controller from build directory
  7. start policy_simulator from build directory

About

Model based Stochastic planning for the humanoid robot grasping of a moving object


Languages

Language:C++ 95.9%Language:C 3.2%Language:CMake 0.5%Language:MATLAB 0.4%