https://github.com/kamilpolok/acssimulation
Automatic Control System Simulation. Allows for simulation of various scenarios using different controllers, control objects and actuators
https://github.com/kamilpolok/acssimulation
cmake controlsystem cpp cpp17 googlemock googletest gtest pid pid-control
Last synced: 2 months ago
JSON representation
Automatic Control System Simulation. Allows for simulation of various scenarios using different controllers, control objects and actuators
- Host: GitHub
- URL: https://github.com/kamilpolok/acssimulation
- Owner: KamilPolok
- License: mit
- Created: 2024-06-07T07:15:31.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-14T10:55:36.000Z (over 1 year ago)
- Last Synced: 2025-01-20T17:17:05.486Z (about 1 year ago)
- Topics: cmake, controlsystem, cpp, cpp17, googlemock, googletest, gtest, pid, pid-control
- Language: C++
- Homepage:
- Size: 42 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ACSSimulation - Automatic Control System Simulation
## Overview
The **ACSSimulation** library provides a modular and extensible framework for implementing various control algorithms. It allows for simulation of various scenarios using different controllers, control objects and actuators. The library is designed with flexibility in mind, enabling users to extend the capabilities to suit specific simulation requirements.
### **Caution!**
As of now (August 2024) the library is under constant development. There is a high propability of introducing breaking changes. Use it on your own risk.
## Setup Instructions
### Prerequisites
* CMake version 3.20. or higher
* C++ Compiler with C++17 support (e.g., GCC, Clang)
* Optional: AddressSanitizer (for debugging)
### Building the library
**1. Configure the project:**
```bash
cmake -DBUILD_SHARED_LIBS= -DCMAKE_BUILD_TYPE= -B ./build -S .
```
Options:
* `-DBUILD_TESTS` - Build the unit tests.
* `-DBUILD_EXAMPLES` - Build the library usage examples
* `-DENABLE_ASAN` - Use Clang Adress Sanitizer for detecting memory leaks
**2. Build the library:**
```bash
cmake --build . --target install
```
## Examples and usage
To explore examples and usage of the library, refer to the [Examples README](./examples/README.md)
## Contributing
Contributions are welcome! Please fork the repository and create a pull request for any enhancements or bug fixes.
## License
This project is licensed under the MIT License. See the LICENSE file for details.