An educational tool to introduce AI planning concepts using mobile manipulator robots.

Overview

JEDAI Explains Decision-Making AI

Virtual Machine Image

The recommended way of using JEDAI is to use pre-configured Virtual Machine image that is available here: https://bit.ly/2WccU4K

To setup the system manually, you can use the steps given below:

Tutorial

A short video tutorial on how to use JEDAI is available here: https://bit.ly/3BmQugi

Running JEDAI

Use this command to start JEDAI from the JEDAI source directory (~/JEDAI/ in VM Image).

./start_jedai.sh

Alternatively execute this command:

python3 manage.py runserver

The output of this command includes a link to the development server hosting the frontend.

You can stop the execution anytime using this command from the JEDAI source directory (~/JEDAI/ in VM Image):

./stop_jedai.sh

Installing JEDAI on a new system

Requirements

  • Ubuntu 18.04
  • Python 2 and 3
  • Validate: https://github.com/KCL-Planning/VAL
    1. Retrieve and enter the repo:

      git clone https://github.com/KCL-Planning/VAL

      cd VAL

    2. Build the binary:

      ./scripts/linux/build_linux64.sh all Release

      • This will put Validate in <PARENT_DIR>/VAL/build/linux64/Release/bin

NOTE: JEDAI is tested extensively with Chromium (including Edge, Vivaldi, and Google Chrome). Support on other browsers is not guaranteed.

Setup

  1. Retrieve the TMP_Merged submodule by running the following in the project root (unless you already have TMP_Merged somewhere else on your system and want to use that, in which case you can try a symlink):

    git clone https://github.com/AAIR-lab/Anytime-Task-and-Motion-Policies.git TMP_Merged

    1. You must then install the dependencies for the submodule (this will probably take a while):

      bash TMP_Merged/install_tmp_dependencies.sh

    2. Also make sure to check out the correct branch of the submodule:

      cd TMP_Merged

      git checkout origin/TMP_JEDAI

  2. Install the web framework:

    pip3 install django

  3. Install the YAML library:

    pip3 install PyYAML

  4. Install the PDDL library:

    pip3 install pddlpy

    • If you get an error while running the code about a missing module named __builtin__ in the antlr4 library, then running this should help:

      pip3 install antlr4-python3-runtime==4.7

  5. Install the imaging library:

    pip3 install Pillow

  6. Check that PYTHON_2_PATH and VAL_PATH in config.py are pointing to the corresponding binaries on your system.

You are required to submit a domain and problem file, as well as a .dae environment file. See the test_domains directory for examples.

TMP submodule

After installing its dependencies, the TMP submodule should work out of the box, with environments popping up and giving a demonstration of successful plans. If you get any strange import errors from TMP despite packages seeming to be installed correctly, double-check your all your environment variables (especially if using an IDE like PyCharm).

Contributors

Trevor Angle
Naman Shah
Kiran Prasad
Pulkit Verma
Amruta Tapadiya
Kyle Atkinson
Chirav Dave
Judith Rosenke
Rushang Karia
Siddharth Srivastava

You might also like...
Official codebase for Legged Robots that Keep on Learning: Fine-Tuning Locomotion Policies in the Real World
Official codebase for Legged Robots that Keep on Learning: Fine-Tuning Locomotion Policies in the Real World

Legged Robots that Keep on Learning Official codebase for Legged Robots that Keep on Learning: Fine-Tuning Locomotion Policies in the Real World, whic

Manipulation OpenAI Gym environments to simulate robots at the STARS lab

Manipulator Learning This repository contains a set of manipulation environments that are compatible with OpenAI Gym and simulated in pybullet. In par

Autonomous Robots Kalman Filters
Autonomous Robots Kalman Filters

Autonomous Robots Kalman Filters The Kalman Filter is an easy topic. However, ma

Memory-efficient optimum einsum using opt_einsum planning and PyTorch kernels.

opt-einsum-torch There have been many implementations of Einstein's summation. numpy's numpy.einsum is the least efficient one as it only runs in sing

Politecnico of Turin Thesis: "Implementation and Evaluation of an Educational Chatbot based on NLP Techniques"

THESIS_CAIRONE_FIORENTINO Politecnico of Turin Thesis: "Implementation and Evaluation of an Educational Chatbot based on NLP Techniques" GENERATE TOKE

Official repository for "PAIR: Planning and Iterative Refinement in Pre-trained Transformers for Long Text Generation"

pair-emnlp2020 Official repository for the paper: Xinyu Hua and Lu Wang: PAIR: Planning and Iterative Refinement in Pre-trained Transformers for Long

Simple streamlit app to demonstrate HERE Tour Planning
Simple streamlit app to demonstrate HERE Tour Planning

Table of Contents About the Project Built With Getting Started Prerequisites Installation Usage Roadmap Contributing License Acknowledgements About Th

This is the official repo for TransFill:  Reference-guided Image Inpainting by Merging Multiple Color and Spatial Transformations at CVPR'21. According to some product reasons, we are not planning to release the training/testing codes and models. However, we will release the dataset and the scripts to prepare the dataset. An all-in-one application to visualize multiple different local path planning algorithms
An all-in-one application to visualize multiple different local path planning algorithms

Table of Contents Table of Contents Local Planner Visualization Project (LPVP) Features Installation/Usage Local Planners Probabilistic Roadmap (PRM)

Owner
Autonomous Agents and Intelligent Robots
ASU research group focusing on well-founded and reliable assistive AI systems
Autonomous Agents and Intelligent Robots
Image Segmentation Animation using Quadtree concepts.

QuadTree Image Segmentation Animation using QuadTree concepts. Usage usage: quad.py [-h] [-fps FPS] [-i ITERATIONS] [-ws WRITESTART] [-b] [-img] [-s S

Alex Eidt 29 Dec 25, 2022
Python Classes: Medical Insurance Project using Object Oriented Programming Concepts

Medical-Insurance-Project-OOP Python Classes: Medical Insurance Project using Object Oriented Programming Concepts Classes are an incredibly useful pr

Hugo B. 0 Feb 4, 2022
Demonstrates how to divide a DL model into multiple IR model files (division) and introduce a simplest way to implement a custom layer works with OpenVINO IR models.

Demonstration of OpenVINO techniques - Model-division and a simplest-way to support custom layers Description: Model Optimizer in Intel(r) OpenVINO(tm

Yasunori Shimura 12 Nov 9, 2022
The first machine learning framework that encourages learning ML concepts instead of memorizing class functions.

SeaLion is designed to teach today's aspiring ml-engineers the popular machine learning concepts of today in a way that gives both intuition and ways of application. We do this through concise algorithms that do the job in the least jargon possible and examples to guide you through every step of the way.

Anish 324 Dec 27, 2022
[CVPR 2021] A Peek Into the Reasoning of Neural Networks: Interpreting with Structural Visual Concepts

Visual-Reasoning-eXplanation [CVPR 2021 A Peek Into the Reasoning of Neural Networks: Interpreting with Structural Visual Concepts] Project Page | Vid

Andy_Ge 54 Dec 21, 2022
ImageNet-CoG is a benchmark for concept generalization. It provides a full evaluation framework for pre-trained visual representations which measure how well they generalize to unseen concepts.

The ImageNet-CoG Benchmark Project Website Paper (arXiv) Code repository for the ImageNet-CoG Benchmark introduced in the paper "Concept Generalizatio

NAVER 23 Oct 9, 2022
[NeurIPS 2021] Code for Unsupervised Learning of Compositional Energy Concepts

Unsupervised Learning of Compositional Energy Concepts This is the pytorch code for the paper Unsupervised Learning of Compositional Energy Concepts.

null 45 Nov 30, 2022
ManimML is a project focused on providing animations and visualizations of common machine learning concepts with the Manim Community Library.

ManimML ManimML is a project focused on providing animations and visualizations of common machine learning concepts with the Manim Community Library.

null 259 Jan 4, 2023
PaddleRobotics is an open-source algorithm library for robots based on Paddle, including open-source parts such as human-robot interaction, complex motion control, environment perception, SLAM positioning, and navigation.

简体中文 | English PaddleRobotics paddleRobotics是基于paddle的机器人开源算法库集,包括人机交互、复杂运动控制、环境感知、slam定位导航等开源算法部分。 人机交互 主动多模交互技术TFVT-HRI 主动多模交互技术是通过视觉、语音、触摸传感器等输入机器人

null 185 Dec 26, 2022