Skip to content

Commit 73f2358

Browse files
committed
2 parents bbad616 + 103354f commit 73f2358

File tree

1 file changed

+39
-16
lines changed

1 file changed

+39
-16
lines changed

README.md

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,20 @@ aforementioned parts is provided.
2020

2121
- For the pre-computation step we make use of
2222
CaΣoS [1] v1.0.0-rc. The used version can be found
23-
in the repository. Add the main folder of CaΣoS to the Matlab
24-
path.
25-
26-
- MOSEK [2] v10.2.5 is used as the underlying SDP
23+
in the repository. After cloning this repository, get the submodule
24+
CaΣoS with
25+
```
26+
git clone https://github.com/iFR-ACSO/TAC25-Inf-MPC.git TAC-Inf-MPC
27+
cd TAC-Inf-MPC
28+
git submodule update --init --recursive
29+
```
30+
or in one go
31+
```
32+
git clone --recurse-submodules https://github.com/iFR-ACSO/TAC25-Inf-MPC.git TAC-Inf-MPC
33+
34+
```
35+
36+
- MOSEK [2] v11.0.4 is used as the underlying SDP
2737
solver for the pre-computation step. Academic licenses can be obtained
2838
from <https://www.mosek.com/products/academic-licenses/>. Follow the
2939
installation instructions from MOSEK.
@@ -36,16 +46,23 @@ aforementioned parts is provided.
3646
The solvers are included in CasADi so no additional installation
3747
required.
3848

49+
After installing all the above needed software:
50+
51+
1. Open Matlab and add navigate to the main folder. You should see three folder, one with the initialized submodule
52+
2. Add the CaΣoS folder to the MATLAB path.
53+
3. You can either re-run everything (see below) or if you just want to reproduce the data, you might need to copy paste some large .mat filder from the DARUS repository https://doi.org/10.18419/DARUS-5297 (see the ReadME.txt in DARUS)
54+
55+
3956
## Running Examples and Reproducing Results
4057

4158
In the following, it is assumed everything is installed and setup as
4259
explained before.
4360

44-
## Part I: Comparison
61+
## Part I: Comparative Study
4562

4663
### Overview Files
4764

48-
For the CBF-CLF-QP, infinetesimal MPC scheme the user finds a synthesis
65+
For the CBF-CLF-QP and infinetesimal MPC scheme the user finds a synthesis
4966
to compute the terminal conditions. These use an initial guess, which is
5067
loaded from a `.mat` file. Once the synthesis is done, the terminal
5168
conditions are also stored in a `.mat` file. This `.mat` files are the
@@ -54,10 +71,10 @@ loaded into the workspace in the simulation scripts.
5471
`.mex` functions for the simulation are generated to improve simulation
5572
time. To compile the `.mex` functions a C/C++ compiler is required.
5673

57-
For the full-horizon NMPC formulations (IPOPT, RTI), the terminal set is
74+
For the full-horizon NMPC formulations (Ipopt, RTI), the terminal set is
5875
also pre-computed, i.e., the maximum stable level set, which can be
5976
found in `full_MPC_IPOPT/termIngredient_full.m`. After the simulations
60-
run, plots from all runs are generated and `.mat ` files with the
77+
run, plots from all runs are generated and `.mat ` files. Due to the larger size, the `.mat` files are post-processed. You can find the full workspace `.mat` in the DARUS repo. The post-processed `.mat`
6178
results are stored in the main folder.
6279

6380
### Folder Structure
@@ -76,30 +93,30 @@ Comparison_singleAxis/
7693

7794
### Reproduction
7895

79-
We provide `.mat` files for each individual approach in the main folder. This includes the pre-computation results or the
96+
We provide `.mat` files for each individual approach in the main folder, of the
8097
actual simulation results. Run `comparison_MultipleRuns.m`, to reproduce
8198
the table from the paper and to get the plot for the single axis
8299
rotation. Due to the large amount of data, the full-horizon NMPC
83100
formulations (RTI and IPOPT) have post-processing scripts in their
84-
folders. Once the actual simulation ran, the post-processing script
101+
folders (see above). Once the actual simulation ran, the post-processing script
85102
reduces the data to the comparison minimum. The data of the complete
86-
workspace for the full-horizon formulations is not provided.
103+
workspace for the full-horizon formulations is provided in the DARUS data repository. This pre-computation results can be found in the corresponding folder of each method.
87104

88105
### Re-running
89106

90-
The user is welcome to run the scripts and functions. It should be noted
107+
The user is welcome to run the scripts and functions to reproduce the results. It should be noted
91108
that, for example, the full-horizon NMPC formulation might take a
92109
significant amount of time for the simulation in MATLAB.
93110

94-
## Part II: Three-Axis Constrained Problem
111+
## Part II: Performance Test
95112

96113
### Overview Files
97114

98115
The second part only considers the infinetesimal MPC scheme. The user
99116
finds a synthesis script to compute the terminal conditions. These use an
100117
initial guess, which is loaded from a `.mat` file. Once the synthesis is
101-
done, the terminal conditions are also stored in a `.mat` file. This
102-
`.mat` files are the loaded into the workspace in the simulation
118+
done, the terminal conditions are also stored in a `.mat` file.
119+
This`.mat` files are the loaded into the workspace in the simulation
103120
scripts.
104121

105122
`.mex` functions for the simulation are generated to improve simulation
@@ -120,7 +137,7 @@ Three-Axis_constrained_quartic_compFun/
120137

121138
### Reproduction
122139

123-
Run `evaluation.m` to get all plots from the paper and additional once.
140+
Run `evaluation.m` to get all plots from the paper and additional once. Due to the large size of the `.mat` file, you have to copy and paste it from the DARUS data repository. Or, you re-run the simulation. However, you might receive different results because a new uniform distribution is calculated for the initial conditions.
124141

125142
### Re-running
126143

@@ -132,6 +149,12 @@ script `inf_MPC_simulation.m` computes a new uniform distribution if
132149
re-run. Thus, different results to the paper are expected!
133150

134151

152+
### Final remarks
153+
In case of problems, questions or remarks, please contact the corresponding authors (see below).
154+
Jan Olucak: jan.olucak@ifr.uni-stuttgart.de
155+
Torbjørn Cunis: torbjoern.cunis@ifr.uni-stuttgart.de
156+
Arthur Castello B. de Oliveira: castello.a@northeastern.edu
157+
135158
### References
136159

137160

0 commit comments

Comments
 (0)