Skip to content

Commit

Permalink
Control+pto docs (WEC-Sim#1108)
Browse files Browse the repository at this point in the history
* start doc updates

* Update docs

* Finish docs

* Revert environment

* Update docs some

* Update docs and pngs

* Updated with power plots
  • Loading branch information
jtgrasb authored Sep 20, 2023
1 parent 3541f5f commit 930f58d
Show file tree
Hide file tree
Showing 9 changed files with 79 additions and 3 deletions.
Binary file modified docs/_static/images/piGainSweep.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/piPTOSimulink.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/reactiveWithPTOCC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/reactiveWithPTOCCPower.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/reactiveWithPTOOpt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/reactiveWithPTOOptPower.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/reactiveWithPTOSweep.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 13 additions & 1 deletion docs/refs/WEC-Sim_Adv_Features.bib
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,16 @@ @inproceedings{so2017development
pages={1--5},
year={2017},
organization={IEEE}
}
}
@misc{allied,
title={Megaflux™ Frameless Direct Drive Torque Motors},
author={},
journal={},
volume={28},
number={2},
pages={77--91},
year={2006},
publisher={Allied Motion},
url={https://www.alliedmotion.com/brushless-motors/brushless-direct-drive-torque-motors/megaflux-frameless-direct-drive-torque-motors/}
}
68 changes: 66 additions & 2 deletions docs/user/advanced_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -903,7 +903,8 @@ own controls.
+--------------------------------+-------------------------------------------+
| Model Predictive Control | Sphere with model predictive control |
+--------------------------------+-------------------------------------------+
| Reactive with PTO | Sphere with reactive control and DD PTO |
+--------------------------------+-------------------------------------------+
Examples: Sphere Float with Various Controllers
Expand Down Expand Up @@ -1243,6 +1244,69 @@ computation time and complex setup.
| Avg Mechanical Power (kW) | N/A | 300 | 241 |
+----------------------------+--------------+-------------+------------+
.. _control-reactive-with-PTO:
Reactive Control with Direct Drive Power Take-Off
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The previous controllers only considered the mechanical power output. Although maximization
of mechanical power allows for the maximum energy transfer from waves to body, it often does
not lead to maximum electrical power. The previous controller examples demonstrate the
controller types and energy transfer from waves to body, but the important consideration of
electrical power requires a PTO model. This example applies a reactive controller to the
sphere body with a simplified direct drive PTO model to maximize electrical power. Within
the Simulink subsystem for determining the PTO force, the controller prescribes the ideal or
desired force which is fed into the direct drive PTO. The current in the generator is then
used to control the applied force.
.. figure:: /_static/images/piPTOSimulink.png
:width: 500pt
:align: center
The PTO parameters used for this example are defined in the ``wecSimInputFile.m`` and correspond to
the Allied Motion Megaflux Frameless Brushless Torque Motors–MF0310 :cite:`allied`. The
results in terms of capture width (ratio of absorbed power (W) to wave power (W/m)) and resultant power for the
applied gains from Section :ref:`control-reactive` are shown in the figures
below for a regular wave with a period of 9.6664 s and a height of 2.5 m. The "Controller (Ideal)"
power is the ideal power absorbed according to the applied controller gains.
The "Mechanical (Drivetrain)" power is the actual mechanical power absorbed by
the PTO system including the inertial, damping, and shaft torque power. Lastly, the
"Electrical (Generator)" power is the electrical power absorbed by the
generator including the product of induced current and voltage (based on shaft torque and velocity,
respectively) and the resultant generator losses (product of current squared and winding resistance).
Mechanical power maximization requires significant net input electrical power
(signified by red bar) which leads to an extremely negative capture width. Thus,
instead of harvesting electrical power, power would need to be taken from the grid or energy
storage component to achieve mechanical power maximization.
.. figure:: /_static/images/reactiveWithPTOCCPower.png
:width: 300pt
:align: center
.. figure:: /_static/images/reactiveWithPTOCC.png
:width: 300pt
:align: center
On the other hand, by testing different controller gains in the same wave conditions
(regular wave: period = 9.6664 s, height = 2.5 m), the gains which optimize for
maximum electrical power can be found as shown below. Increasing the proportional gain
and decreasing the integral gain magnitude leads to a maximum power of about 84 kW and capture width of about
1.5 m. The resultant motion is almost ten times smaller than for the mechanical power
maximization which leads to a lower current and much lower generator power losses
(product of current squared and winding resistance).
.. figure:: /_static/images/reactiveWithPTOSweep.png
:width: 300pt
:align: center
.. figure:: /_static/images/reactiveWithPTOOptPower.png
:width: 300pt
:align: center
.. figure:: /_static/images/reactiveWithPTOOpt.png
:width: 300pt
:align: center
.. _user-advanced-features-cable:
Expand All @@ -1257,7 +1321,7 @@ class in the ``wecSimInputFile.m`` along with the base and follower connections
cable(i) = cableClass('cableName','baseConnection','followerConnection');

where ``baseConnection`` is a PTO or constraint block that defines the cable connection on the base side, and ``followerConnection``
is a PTO or constraint block that defineds the connection on the follower side.
is a PTO or constraint block that defineds the connection on the follower side.


It is necessary to define, at a minimum: ::
Expand Down

0 comments on commit 930f58d

Please sign in to comment.