Skip to content

llDev-Rootll/PID_Control

 
 

Repository files navigation

Build Status Coverage Status

Week 5: Test-Driven Development Assignment - ENPM 808X

Overview

This repository pertains to the test driven development exercise. The group members of which are :

  • Arunava Basu
  • Shon Cortes
  • Anubhav Paras
  • Charu Sharma

Part 1

The members of the first pair for Part 1 of this repository are :

  • Arunava Basu (Driver)
  • Shon Cortes (Navigator)

Part 2

The members of the first pair for Part 1 of this repository are :

  • Charu Sharma (Driver)
  • Anubhav Paras (Navigator)

Description

The design contains one class, PID. The main function takes the target velocity and present velocity as input and calls the calculate function of the PID class for 100 iterations. The present voltage is updated with the controller output until it reaches within a margin of the target voltage. The UML class diagram is as follows :

UML

*Fig 1 : UML class diagram*

The activity diagram is as follows :

Activity

*Fig 2 : Activity diagram*

Steps to build

    cd ...<path_to_directory>/
    mkdir build
    cd build
    cmake ..
    make

Steps to run

    ...<path_to_directory>/app/shell-app

Steps to run cppcheck and cpplint

Run cppcheck: Results are stored in ./results/cppcheck_process_part2.txt, ./results/cppcheck_result_part2.txt

sh run_cppcheck.sh

Run cpplint: Results are stored in ./results/cpplint_result_part2.txt

sh run_cpplint.sh

About

A C++ implementation of a PID Controller

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TeX 50.2%
  • HTML 20.8%
  • CSS 11.7%
  • JavaScript 10.5%
  • CMake 3.0%
  • C++ 1.7%
  • Other 2.1%