This project is the 2nd assignment of AI for Robotics 2 course at the University of Genoa, Italy.
The goal of this project is to implement a planning domain for a robot in a region with 4 "collection" desks and 1 "submission" desk. After sampling random waypoints in the environment, the robot needs to collect 2 assignments and submit them to the submission desk while minimizing the motion cost, i.e. the length of the covered path by the robot. For this assignment we have used the popf-tif planner found here.
More details are included in the attached report.
-
Make sure the popf-tif planner is properly installed and working. For more information, please refer to the popf-tif repository.
-
Clone the repository
git clone https://github.com/amanarora9848/simple_TAMP_2d_env.git
-
The planner executable has been left in the main folder of the repository.
-
A shell script was created which builds the external module (when required, as specified), runs this planner, generates new waypoints (code for which is located in the
waypoint_gen
directory) and displays the map which shows the path (both the expected and the planned path) the robot follows. An option can be specified to run the planner with or without using the external module, as defined in the directoryvisits_module
. The script is located invisits_domain
the usage of which can be seen by running the following:cd visits_domain chmod +x run_tamp_dom.sh ./run_tamp_dom.sh -h
-
A typical way to execute the planner is as follows:
./run_tamp_dom.sh dom1.pddl prob1.pddl -b -w
This generates the planner output in the file
waypoint_gen/output.txt
, prints the motion costs on the terminal, and finally displays a map which shows the path the robot follows. -
Note that to keep generating new set of waypoints everytime, it is necessary to set the variable
keep_waypoints
toFalse
andrandom_waypoints
toTrue
in the filewaypoint_gen/waypoints_gen.py