Skip to content

PKU-MACDLab/IMPC-DR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

IMPC-DR:Infinite-horizon Model Predictive Control with Deadlock Resolution

code for article: Recursive Feasibility and Deadlock Resolution in MPC-based Multi-robot Trajectory Generation

IMPC-DR is a online replanning method for multi-robot which can achieve the recursive feasibility when solving optimization problems during replanning in addition to its capibility that resolving deadlock problem in cluttered enviroment.

Here we provide a python3-based app which can simulate the trasition for multi-robot in free space in 2D and 3D. Since the we can gurantee the feasibility of convex programming in replanning, the high reliability can be expressed by this APP.

General Setup

We have tested our code with: ubuntu 18.0.4/20.0.4 in python3

This APP need following dependencies:

PyQt5          5.15.1
opencv-python  4.1.2.30
numpy          1.19.2
mosek          9.4.20
cvxpy          1.1.6
scipy          1.5.3
matplotlib     3.4.3

Beiseds, you need to install libxcb-xinerama0 as follows: sudo apt-get install libxcb-xinerama0

For mosek, you need a license to use it. How to get an offical license can refer to mosek

Running App

In 2D or 3D file: python3 app.py

You can get following interface:

 

 

First, you need to set the number of robots. Then, you can either input the initial position by yourself or get them randomly by press the button 'random initial state'. It is worth noting that if you input the initial state please gurantee that the initial position is collision free and you'd better choose a zero initial velocity. In addition, there has some other efficients which includes time step h, length of horizon K and minimum radius r_min and width of warnning band episilon. After seting all above, press Solve to calculate the trajectories and, wait for a moment, can obtain it and press start annimation to show it. You can also press Save annimation to save this annimation and the video will be stored in this file named as 'result01.avi'. Then, press save trajectory, you can obtain the following figure as 'trajectory.svg'. For an example, the following picture in our article:

 

 

At last, we provide a gif to show how to manipulat this APP:

 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages