Implementation of the BiC-MPPI (Bidirectional Clustering Model Predictive Path Integral) in C++.
Bi_MPPI_Video_Test_comp.mp4
EigenRand needs to be named as same as in CMakeLists.txt.
git clone https://github.com/i-ASL/BiC-MPPI.git
cd BiC-MPPIPlease download BARN_dataset/grid_files from BARN_dataset
cd BARN_dataset
python3 npy_to_txt.py
Map modification in the BARN dataset with extended boundaries and inflated obstacles
cd BiC-MPPI
mkdir build && cd build
cmake.. -Dquadrotor=1 && make
./bi_mppi   # or other variants (mppi, log_mppi, cluster_mppi)| Native | Log-MPPI | Cluster-MPPI | BiC-MPPI (ours) | |
|---|---|---|---|---|
| No. Sim. | 300 | 300 | 300 | 300 | 
| No. Failure | 78 | 170 | 81 | 10 | 
| Avg. Iter. | 82.302 | 99.946 | 84.954 | 35.866 | 
| Avg. Time [s] | 5.642 | 10.437 | 7.768 | 2.456 | 
| Avg. Err (x, y) | 2.105 | 6.592 | 2.011 | 0.531 | 
| Q1 | 0.773 | 4.500 | 0.829 | 0.263 | 
| Q2 | 1.367 | 6.604 | 1.359 | 0.433 | 
| Q3 | 2.694 | 8.821 | 2.490 | 0.692 | 
Q1, Q2, Q3 represent the quantiles of error (x, y), respectively.
cd BiC-MPPI
mkdir build && cd build
cmake.. -Dquadrotor=0 && make
./bi_mppi   # or other variants (mppi, log_mppi, cluster_mppi)| MPPI | Log-MPPI | Cluster-MPPI | BiC-MPPI (ours) | |
|---|---|---|---|---|
| No. Sim. | 600 | 600 | 600 | 600 | 
| No. Failure | 117 | 107 | 119 | 79 | 
| Success Rate | 0.805 | 0.822 | 0.802 | 0.868 | 
| Avg. Iter. | 101.650 | 103.919 | 101.004 | 88.198 | 
| Avg. Time [s] | 2.766 | 4.161 | 7.356 | 3.346 | 
