This is a part of the implementation for Test Driven Development.
Teams of two have implemented a stub for the class PID controller to be usd in ACME robot.
The project includes the stub and the test code for making sure the controller is working properly.
Driver - Vishaal KannaSivakumar
Navigator - Rishabh Singh
Driver - Sanchit Kedia
Navigator - Adarsh Malapaka
git clone https://github.com/Vishaal-Kanna/ENPM808X_TDD_group3_team2.git
cd
mkdir build
cd build
cmake ..
make
Run tests: ./test/cpp-test
Run program: ./app/pid_control
cd build
sudo apt-get install lcov
cmake -D COVERAGE=ON -D CMAKE_BUILD_TYPE=Debug ../
make
make code_coverage
Upon discussion the following future changes/suggestions were agreed upon:
- Include an Activity UML diagram.
- Add More Test cases for the computeCommand function.
- Test3 to check time step is redundant since there is no user input to set the value as negative.
- The error threshold for convergence of the PID loop is currently set to 0.1, consider reducing this value.
- Consider replacing pragma once with #ifndef guards in pid.hpp.
- _tstep can be lumped into the Ki and Kd gains.