# Transfer Function Representing Thrusters

**URL:** <https://discuss.bluerobotics.com/t/transfer-function-representing-thrusters/10548>\
**Category:** Modifications\
**Tags:** simulate\
**Created:** [September 7, 2021, 1:57am UTC](https://discuss.bluerobotics.com/t/transfer-function-representing-thrusters/10548 "2021-09-07T01:57:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![CBW3750](https://avatars.discourse-cdn.com/v4/letter/c/e274bd/32.png) [@CBW3750](https://discuss.bluerobotics.com/u/CBW3750)\
**Post date:** [September 7, 2021, 1:57am UTC](https://discuss.bluerobotics.com/t/transfer-function-representing-thrusters/10548/1 "2021-09-07T01:57:06Z")

</div>

Hi all,

I’m designing PID controllers of my own that drive the BlueROV2. Is there a transfer function, like \frac{K(s+8)}{(s+3)(s+6)(s+10)} available that I can use to represent the dynamics of the thrusters? It’s okay if there isn’t. I’ll just do a trial and error procedure with finding the best gains.

Thank you!

-Cameron

---

<div class="post-metadata">

**Author:** ![EliotBR](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.bluerobotics.com/eliotbr/32/6937_2.png) [@EliotBR](https://discuss.bluerobotics.com/u/EliotBR)\
**Post date:** [September 7, 2021, 3:44am UTC](https://discuss.bluerobotics.com/t/transfer-function-representing-thrusters/10548/2 "2021-09-07T03:44:33Z")

</div>

We don’t have one documented for a single thruster, because ArduSub doesn’t account for thruster properties in its vehicle control, just their [direction components](https://www.ardusub.com/developers/developers.html#making-a-custom-configuration). The control space is over the full vehicle angles (`ATC_ANG_*` params) and rates (`ATC_RAT_*` params) - there’s some more detail in the ArduCopter [Attitude Control docs](https://ardupilot.org/dev/docs/apmcopter-programming-attitude-control-2.html).

If it’s relevant, I did a couple of [forum searches](https://discuss.bluerobotics.com/t/how-to-use-the-blue-robotics-forums-please-read/10521#searching-the-forum-10) and came up with the following posts, which may be useful:

- [T200 Transient Response](https://discuss.bluerobotics.com/t/t200-transient-respone/6780)
- [T200 Simulation in Gazebo](https://discuss.bluerobotics.com/t/t200-simulation-in-gazebo/798/14)
- [T200 Dynamic Properties](https://discuss.bluerobotics.com/t/question-regarding-t200/997)
- [BlueROV2 Control Matlab Simulink](https://discuss.bluerobotics.com/t/bluerov2-control-matlab-simulink/7667)

By the way, I edited your example transfer function to be rendered as maths. There are instructions for how to do that in the [Formatting a Post/Comment](https://discuss.bluerobotics.com/t/how-to-use-the-blue-robotics-forums-please-read/10521#formatting-a-postcomment-15) section of the “How to Use the Blue Robotics Forum” pinned post 🙂

---

<div class="post-metadata">

**Author:** ![CBW3750](https://avatars.discourse-cdn.com/v4/letter/c/e274bd/32.png) [@CBW3750](https://discuss.bluerobotics.com/u/CBW3750)\
**Post date:** [September 13, 2021, 12:14am UTC](https://discuss.bluerobotics.com/t/transfer-function-representing-thrusters/10548/3 "2021-09-13T00:14:53Z")

</div>

Thank you Eliot! Those posts are very useful in helping me with my thesis and designing my PID controller. I made the mistake of saying PID controllers because I’m only designing one.
