GithubHelp home page GithubHelp logo

amanarora9848 / simple_tamp_2d_env Goto Github PK

View Code? Open in Web Editor NEW
0.0 4.0 0.0 2.28 MB

Mini AI Task and Motion Planning project. Part of Assignment of AI for Robotics 2 course at UniGe, Italy.

PDDL 5.62% CMake 1.26% C++ 59.01% Shell 6.58% Python 27.52%
ai ai-planning motion-planning path-planning

simple_tamp_2d_env's Introduction

Simple Task and Motion Planning

This project is the 2nd assignment of AI for Robotics 2 course at the University of Genoa, Italy.

Team:

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.

Getting Started

  1. Make sure the popf-tif planner is properly installed and working. For more information, please refer to the popf-tif repository.

  2. Clone the repository

    git clone https://github.com/amanarora9848/simple_TAMP_2d_env.git
  3. The planner executable has been left in the main folder of the repository.

  4. 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 directory visits_module. The script is located in visits_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
  5. 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.

  6. Note that to keep generating new set of waypoints everytime, it is necessary to set the variable keep_waypoints to False and random_waypoints to True in the file waypoint_gen/waypoints_gen.py

simple_tamp_2d_env's People

Contributors

amanarora9848 avatar lucas-pardo avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.