# Costum ROV with 12+ motors

**URL:** <https://discuss.bluerobotics.com/t/costum-rov-with-12-motors/12158>\
**Category:** ArduSub\
**Tags:** ardusub, vehicle-design\
**Created:** [May 20, 2022, 11:52am UTC](https://discuss.bluerobotics.com/t/costum-rov-with-12-motors/12158 "2022-05-20T11:52:24Z")\
**Posts on this page:** 1\
**Showing post:** 7

<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:** [May 25, 2022, 9:15pm UTC](https://discuss.bluerobotics.com/t/costum-rov-with-12-motors/12158/7 "2022-05-25T21:15:15Z")

</div>

> [@Fluyer2](#):
>
> Regarding the custom frame is there any documents that thoroughly explain the calculation for the motor factors?

We [don’t yet have great docs on that](https://github.com/bluerobotics/ardusub-gitbook/issues/220), but you may find these useful:

- [Custom vehicle frame - general questions about ArduSub - #2 by EliotBR](https://discuss.bluerobotics.com/t/custom-vehicle-frame-general-questions-about-ardusub/10623/2#thruster-contributionsfactors-2)
- [ROV Mass/Buoyancy Distribution and Compensation - #2 by EliotBR](https://discuss.bluerobotics.com/t/rov-mass-buoyancy-distribution-and-compensation/9877/2)
- [some Python code for generating thrust factors](https://github.com/ES-Alexander/frame-configurator/blob/main/frame.py)

> [@Fluyer2](#):
>
> Please correct my understanding. Motor number 1 in SUB\_FRAME\_VECTORED\_6DOF gives 100% of its thrust to yaw in clockwise direction - therefore 1.0f. But why isn’t the forward factor -0.5f and lateral factor 0.5f? Since it is giving “half” of its thrust to these directions… This concept is quite important for me to understand because our ROV is not fully symmetric (see the top and bottom motors on the same corner)

> [@Custom vehicle frame - general questions about ArduSub](https://discuss.bluerobotics.com/t/custom-vehicle-frame-general-questions-about-ardusub/10623/2):
>
> the factors are normalised by the relative strength of all available contributions to a given motion type, so ‘small vertical’ maps to 1.0 if all other thrusters contribute ‘no vertical’.

The reasoning there is that the thrust factors are scalers for the output, so if no normalisation is done then it’s unintentionally limiting motion directions that don’t have a thruster directly aligned with them.

A notable caveat is that

> [@ROV Mass/Buoyancy Distribution and Compensation](https://discuss.bluerobotics.com/t/rov-mass-buoyancy-distribution-and-compensation/9877/2):
>
> … the motors do have a full speed however, which from what I understand ArduSub doesn’t really know/care about, so if you’re driving your ROV hard then one or more motors can saturate (run at full speed) while others that partly contribute to the same motion aren’t yet, so trying to increase motion in that direction will increase the not-yet-saturated motor speeds but can’t increase the saturated ones, which means ArduSub’s understanding of the forces it’s applying isn’t correct, so the control doesn’t work as well.

---

_[View the full topic](https://discuss.bluerobotics.com/t/costum-rov-with-12-motors/12158)._
