# PID Algorithm

**URL:** <https://discuss.bluerobotics.com/t/pid-algorithm/3280>\
**Category:** Blue Robotics Software\
**Created:** [August 29, 2018, 7:36am UTC](https://discuss.bluerobotics.com/t/pid-algorithm/3280 "2018-08-29T07:36:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sena\_K](https://avatars.discourse-cdn.com/v4/letter/s/b5e925/32.png) [@sena\_K](https://discuss.bluerobotics.com/u/sena_K)\
**Post date:** [August 29, 2018, 7:36am UTC](https://discuss.bluerobotics.com/t/pid-algorithm/3280/1 "2018-08-29T07:36:56Z")

</div>

How does autopilot cards calculate the PID value? Do you have any explanatory schema, information or visuals on this topic?  
Thanks a lot.

---

<div class="post-metadata">

**Author:** ![patrickelectric](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/patrickelectric/32/2162_2.png) [@patrickelectric](https://discuss.bluerobotics.com/u/patrickelectric)\
**Post date:** [August 29, 2018, 1:02pm UTC](https://discuss.bluerobotics.com/t/pid-algorithm/3280/2 "2018-08-29T13:02:15Z")

</div>

Hi,

ArduSub has two main control class, for [position](https://github.com/ardupilot/ardupilot/blob/master/libraries/AC_AttitudeControl/AC_PosControl_Sub.cpp) and [attitude](https://github.com/ardupilot/ardupilot/blob/master/libraries/AC_AttitudeControl/AC_AttitudeControl_Sub.cpp). Both based over the [copter control](http://ardupilot.org/dev/docs/apmcopter-programming-attitude-control-2.html). The last link contains videos, graphs and references.
