In this paper we consider the allocation problem within the context of optimal motion control for floating or submerged bodies. The purpose of our research is to develop an allocation algorithm which allows for (1) multiple bodies with up to six modes for each body, (2) arbitrary actuator types — azimuthing thrusters, propeller-rudder systems etc., (3) arbitrary objective functions, (4) interaction effects such as forbidden zones, and (5) physical limitations such as saturation.
Some ideas presented in [1, 2] were generalised to more widely applicable concepts. Each body has an arbitrary number of actuators, each actuator has an arbitrary number of degrees of freedom. Interaction effects are modelled by means of state-dependent effectivity coefficients. Coupled states, such as propeller thrust and torque, are modelled as linearised constraints. The constrained optimization problem is solved with a combination of Sequential Quadratic Programming and Steepest Descent methods.
The Python implementation is coupled with MARIN’s extensible modelling framework (XMF). We demonstrate the generic allocation algorithm for an underwater vehicle with multiple actuator types, physical limitations and coupled states and for a surface vessel with two propeller-rudder systems and a bow tunnel thruster. The results show that the allocation algorithm is able to handle complex configurations with specific physical limitations and coupled modes while adopting a generic approach.