Control feedback with linearization and neural network for an inverted pendulum (single and on a cart)
- Git
- CMake
- clang
- curl
- Fortran
- HDF5
- OpenGL
- GLEW
- GLFW
- Dear ImGui
- implot
To get started with the control feedback:
- Clone the repository:
git clone https://github.com/azimonti/inverted-pendulum
- Navigate to the repository directory:
cd inverted-pendulum
- Initialize and update the submodules:
git submodule update --init --recursive
Further update of the submodule can be done with the command:
git submodule update --remote
- Compile the libraries in
ma-libs
cd externals/ma-libs
# optional steps if dependencies are not installed globally
# ./manage_dependency_libraries.sh -d
# ./manage_dependency_libraries.sh -b
./cbuild.sh --build-type Debug --cmake-params "-DCPP_LIBNN=ON -DCPP_LIBGRAPHIC_ENGINE=ON"
./cbuild.sh --build-type Release --cmake-params "-DCPP_LIBNN=ON -DCPP_LIBGRAPHIC_ENGINE=ON"
cd ../..
If any error or missing dependencies please look at the instructions here
- Compile the binaries
./cbuild.sh -t Release (or -t Debug)
- Run the programs
./build/Release/pendulum_cart
./build/Release/pendulum