You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+37-5Lines changed: 37 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
</p>
7
7
8
8
9
-
Implementation of distributed multi-agent collision avoidance algorithm based on the seminal sampling-based model predictive control algorithm, i.e., _MPPI_[[1]()], that originally solves a single-agent problem. We enhance it by introducing safe distributions for the multi-agent setting that are derived from the _Optimal Reciprocal Collision Avoidance (ORCA)_ linear constraints [[2]()], an established approach from the multi-agent navigation domain.
9
+
Implementation of distributed multi-agent collision avoidance algorithm based on the seminal sampling-based model predictive control algorithm, i.e., _MPPI_[[1](https://homes.cs.washington.edu/~bboots/files/InformationTheoreticMPC.pdf)], that originally solves a single-agent problem. We enhance it by introducing safe distributions for the multi-agent setting that are derived from the _Optimal Reciprocal Collision Avoidance (ORCA)_ linear constraints [[2](https://gamma.cs.unc.edu/ORCA/publications/ORCA.pdf)], an established approach from the multi-agent navigation domain.
10
10
11
11
12
12
This is supplementary code for paper "Model Predictive Path Integral for Decentralized Multi-Agent Collision Avoidance" which is under consideration in the PeerJ Computer Science journal.
@@ -28,7 +28,7 @@ To build and run the project you can use CMake, CMakeLists.txt file is available
28
28
29
29
### Prerequisites
30
30
31
-
- CMake 3.20
31
+
- CMake (3.20) and make (4.4.1)
32
32
- C++ compiler with C++17 standart support (e.g. GCC 13.2)
33
33
- Python 3.11 with next libraries:
34
34
- numpy (1.26.3)
@@ -57,12 +57,44 @@ Download current repository to your local machine. Use:
57
57
58
58
### Build
59
59
60
-
TODO
60
+
Go to the directory with the project and create a subdirectory `build/release`. Go to the new subdirectory.
61
61
62
+
```bash
63
+
mkdir -p build/release
64
+
cd build/release
65
+
```
66
+
67
+
Use the CMake and make tools to build the project. You can use the `-j` flag to improve building peroformance, but this may cause errors in case of resource deficit (in this case, it is worth specifying the number of processor cores to build, e.g. `-j4`)
68
+
69
+
```bash
70
+
cmake ../../ -DCMAKE_BUILD_TYPE=Release
71
+
make
72
+
```
73
+
74
+
or
75
+
76
+
```bash
77
+
cmake ../../ -DCMAKE_BUILD_TYPE=Release
78
+
make -j
79
+
```
62
80
### Launch an Example
63
81
64
-
TODO
82
+
Go to the example directory and run jupyter noterbook. After that choose `example.ipynb` file and run it.
83
+
84
+
```bash
85
+
cd ../../example
86
+
jupyter notebook
87
+
```
88
+
89
+
The notebook contains a circular scenario (see figure below), the size of the circle and the number of agents can be changed by updating variables `CIRC_R` and `AGENTS_NUM`.
90
+
91
+
```python
92
+
CIRC_R=6# size of the circle
93
+
AGENTS_NUM=5# number of agents
94
+
```
95
+
65
96
66
97
## References
67
98
68
-
TODO
99
+
1.[Williams, G., Wagener, N., Goldfain, B., Drews, P., Rehg, J. M., Boots, B., and Theodorou, E. A. (2017b). Information theoretic MPC for model-based reinforcement learning. In 2017 IEEE International Conference on Robotics and Automation (ICRA), pages 1714–1721](https://homes.cs.washington.edu/~bboots/files/InformationTheoreticMPC.pdf)
100
+
2.[Van Den Berg, J., Guy, S. J., Lin, M., and Manocha, D. (2011). Reciprocal n-body collision avoidance. In Robotics research, pages 3–19.](https://gamma.cs.unc.edu/ORCA/publications/ORCA.pdf)
0 commit comments