Skip to content

idra-lab/safe-mpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Safe-MPC

This repo contains algorithms for Model Predictive Control, ensuring safety constraints and recursive feasibility. It is a general framework that can work with any manipulator. However for each system and environment (customizable in config.yaml) a network that approximate a control invariant set is needed.

Until now we tested the framework with the Unitree Z1 robot. URDF files and networks for the sets for some robot-environments settings can be downloaded here. Place the folder robots and nn_models in the root folder and follow the instruction in nn_models to use the networks properly.

Installation

  • Clone the repository
    git clone https://github.com/idra-lab/safe-mpc.git
  • Move on the branch devel
  • Install the requirements
    pip install -r requirements.txt
  • Follow the instructions to install CasADi, Acados and Pytorch.
  • In root folder, create a folder called robots, and place in it the needed subfolders containing the URDF files of the robots
  • Create also a folder named nn_models, in which are located the networks approximating the control invariant sets.

Usage

  • In config.yaml, set the simulation parameters
  • Run guess_acados.py (-- help to get instructions about the line command arguments) to find the initial configuration and the warm start trajectories. In guess_acados set also the type of cost and task defining cost_controller, and choosing one of the classes defined in cost_definition.
  • Run mpc.py to execute the RTI MPC control. Also here set the appropriate cost_controller.

About

Safe MPC using Learned Viability

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •