Giter VIP home page Giter VIP logo

nl_trajectory_reshaper's Introduction

IMPORTANT: ❗repo under maintenance❗

NL trajectory reshaper

Reshaping Robot Trajectories Using Natural Language Commands: A Study of Multi-Modal Data Alignment Using Transformers

iterative NL interactions over a trajectory

example of multiple iterative interactions over the initial erroneous trajectory (red)

setup

tested on Ubuntu 18.04 and 20.04

install anaconda

Environment setup

conda create --name py38 --file spec-file.txt python=3.8
conda activate py38

Install CLIP + opencv

pip install ftfy regex tqdm dqrobotics
pip install git+https://github.com/openai/CLIP.git
pip install opencv-python

Download models

pip install gdown
gdown --folder https://drive.google.com/drive/folders/1HQNwHlQUOPMnbPE-3wKpIb6GMBz5eqDg?usp=sharing -O models/.

Download syntetic dataset

gdown --folder https://drive.google.com/drive/folders/1_bhWWa9upUWwUs7ln8jaWG_bYxtxuOCt?usp=sharing -O data/.

Running the visual demo

cd src
python modify_draw.py

How to use:

  1. press 'o' to load the original trajectory
  2. press 'm' to modify the trajectory using our model for the given input on top.
  3. press 't' to set a different interaction text.
  4. press 'u' to update the trajctory setting the modified traj as the original one

ROS setup:

IMPORTANT: make sure that conda isn't initialized in your .bashrc file, otherwise, you might face conflicts between the python versions

install ROS melodic

manually install CVbridge

NOTE: this is the catkin config that I used to intall CVbridge with the Anaconda
catkin config -DPYTHON_EXECUTABLE=/home/mirmi/anaconda3/envs/py38/bin/python -DPYTHON_INCLUDE_DIR=/home/mirmi/anaconda3/envs/py38/include/python3.8 -DPYTHON_LIBRARY=/home/mirmi/anaconda3/envs/py38/lib/libpython3.8.so -DSETUPTOOLS_DEB_LAYOUT=OFF

Running with ROS

terminal 1

roscore

terminal 2

roscd NL_trajectory_reshaper/src
source $HOME/cvbridge_build_ws/install/setup.bash --extend
python modify_draw.py --ros true

coppelia_simulator + ROS + anaconda setup

install coppelia simulator https://www.coppeliarobotics.com/helpFiles/en/ros1Tutorial.htm add export COPPELIASIM_ROOT_DIR=~/path/to/coppeliaSim/folde to your ~/.bashrc

cd <ros_workspace>/src
git clone https://github.com/CoppeliaRobotics/ros_bubble_rob
git clone --recursive https://github.com/CoppeliaRobotics/simExtROS.git sim_ros_interface
cd <ros_workspace>
catkin config -DPYTHON_EXECUTABLE=$HOME/anaconda3/envs/py38/bin/python -DPYTHON_INCLUDE_DIR=$HOME/anaconda3/envs/py38/include/python3.8 -DPYTHON_LIBRARY=$HOME/anaconda3/envs/py38/lib/libpython3.8.so -DSETUPTOOLS_DEB_LAYOUT=OFF

catkin config --install
catkin build

Other relevant files

overview of the project model_overview.ipynb

plots and ablation studies plots_and_ablasion_exp.ipynb

generate syntetic dataset data_generator/data_generator.py

nl_trajectory_reshaper's People

Contributors

arthurfenderbucker avatar

Watchers

 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.