Skip to content

[ICRA2024] A differentiable robot learning framework for task specifications and controller synthesis.

License

Notifications You must be signed in to change notification settings

mengyuest/stl_npc

Repository files navigation

Signal Temporal Logic Neural Predictive Control

Journal Conference

Reliable Autonomous Systems Lab @ MIT (REALM)

Yue Meng, Chuchu Fan

Alt Text

A differentiable learning framework to define task requirements and to learn control policies for robots.

This repository contains the original code and tutorial for our ICRA2024 paper, "Signal Temporal Logic Neural Predictive Control." [link]

@article{meng2023signal,
  title={Signal Temporal Logic Neural Predictive Control},
  author={Meng, Yue and Fan, Chuchu},
  journal={IEEE Robotics and Automation Letters},
  year={2023},
  publisher={IEEE}
}

Alt Text

Prerequisite

Ubuntu 20.04 (better to have a GPU like NVidia RTX 2080Ti)

Packages (steps 1 and 2 suffice for just using our STL Library (see tutorial)):

  1. Numpy and Matplotlib: conda install numpy matplotlib
  2. PyTorch v1.13.1 [link]: conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia (other version might also work )
  3. Casadi, Gurobi and RL libraries: pip install casadi gurobipy stable-baselines3 && cd mbrl_bsl && pip install -e . && cd -
  4. (Just for the manipulation task) pip install pytorch_kinematics mujoco forwardkinematics pybullet && sudo apt-get install libffi7

Tutorial

You can find basic usage in our tutorial jupyter notebook here.

Experimental results

Please look at exp_scripts to reproduce the full experiments.

About

[ICRA2024] A differentiable robot learning framework for task specifications and controller synthesis.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published