Train-Platform is my graduation project which is intended both as a theory reference for scientists to understand related work and as a experiment tool for engineers to practice their controller design.
This project initially tends to study cooperative control theory and methods. Besides this requirement, I spent much time for extensive functions and now this platform includes:
- dynamics model
- controller design
- computer simulation
- visualization
- documentation
-
Gurobi
-
spdlog
After you configure these third-party, you should change address information in makefile.
-
dp
make dp_ref ./dp_ref
-
leader mpc
make leader ./leader
-
follow mpc
make convoy ./convoy
-
data-driven mpc
make data_driven_leader ./data_driven_leader
train-platform
├─ README.md
├─ db
├─ examples
│ └─ demo
├─ include
├─ logs
├─ makefile
├─ src
│ ├─ calculate
│ │ └─ follow_MPC.cpp
│ ├─ communication
│ ├─ config
│ │ └─ logger.cpp
│ ├─ control
│ │ ├─ follow_controller.cpp
│ │ └─ predictor.cpp
│ ├─ environment
│ │ ├─ read_speed_limit.cpp
│ │ └─ read_speed_max.cpp
│ ├─ model
│ │ └─ dynamic_model.cpp
│ └─ programming
├─ user
│ ├─ analysis
│ ├─ result
│ └─ visualization
└─ utils
└─ exception