FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Trawl geometry controller

Controls the warp lengths of a trawl system to keep each net square to the direction of travel and the system at the specified bottom contact.

+ Collaboration diagram for Trawl geometry controller:
Author
Karl-Johan Reite

Net N hangs between warp N (port) and warp N + 1 (starboard), so NumNets nets have NumNets + 1 warps. The desired warp lengths are states, changed at the winch speeds this controller sets.

Geometry

The direction of travel is the horizontal direction in which the mean wing position of all nets has moved over the last 1 m. Until it has moved 1 m there is no direction and no geometry control. For each net, the starboard lead is the starboard wing's position minus the port wing's, along the direction of travel. A net whose starboard lead exceeds the mean starboard lead of all nets by d has warp N too long by d/2 and warp N + 1 too short by d/2; the winch speed is

-ControlConstant * (too long) - ControlDamping * d/dt(too long),

bounded by MaxWinchSpeedGeometryControl. Only the lead relative to the mean is corrected: a skew common to all nets, which follows from a turn and not from the warp lengths, is left alone. With one net the geometry control therefore does nothing.

Depth

All warps also change at a common speed that moves the mean warp length towards a setpoint, at 0.1 * ControlConstant per second of the error, bounded by MaxWinchSpeedDepthControl:

With ExternalControlTrigger the winches only run while the input ExternalEnable is positive.

Example configuration excerpt when controlling bottom contact

<Lib LibName = "fishery"
SimObject = "Trawl/TrawlGeometryController"
Name = "WinchControl"
NumNets = "1"
ControlConstant = "1"
ControlDamping = "1"
SinkTimeConstant = "100"
MaxWinchSpeedGeometryControl = "1"
MaxWinchSpeedDepthControl = "1"
NumBottomContactMeasurements = "2"
InitialWarpLength = "500"
MinBottomContact = "10000"
/>

Example configuration excerpt when controlling geometry only

<Lib LibName = "fishery"
SimObject = "Trawl/TrawlGeometryController"
Name = "WinchControl"
NumNets = "2"
ControlConstant = "1"
ControlDamping = "1"
MaxWinchSpeedGeometryControl = "1"
/>

Configuration parameters

Name Width Description
NumNets 1 The number of trawl nets.
ControlConstant 1 Winch speed per metre of length error [1/s] (Default: 1).
ControlDamping 1 Winch speed per metre per second of the length error's rate (Default: 1).
MaxWinchSpeedDepthControl 1 The maximum winch speed for controlling depth [m/s] (Default: 1).
MaxWinchSpeedGeometryControl 1 The maximum winch speed for controlling geometry [m/s] (Default: 1).
NumBottomContactMeasurements 1 Zero: the mean warp length is the input AverageWarpLength. Otherwise the number of BottomContact inputs (Default: 0).
InitialWarpLength 1 The initial warp length [m]. Required if NumBottomContactMeasurements > 0.
MinBottomContact 1 The bottom contact to achieve for the lowest measurement (Default: 0). Only used if NumBottomContactMeasurements > 0.
SinkTimeConstant 1 The time constant of the sinking [s] (Default: 120). Only used if NumBottomContactMeasurements > 0.
ExternalControlTrigger 1 Adds the input ExternalEnable, which stops the winches while not positive (Default: 0).

Input ports

Name Width Description
Net<N>StbPos 3 Position of the starboard wing of net N.
Net<N>PortPos 3 Position of the port wing of net N.
AverageWarpLength 1 Desired mean warp length [m]. Only if NumBottomContactMeasurements = 0.
BottomContact<N> 1 Bottom contact measurement N. Only if NumBottomContactMeasurements > 0.
ExternalEnable 1 The winches run while positive. Only with ExternalControlTrigger.

Output ports

Name Width Description
Warp<N>Length 1 Desired length of warp N [m].
Net<N>Width 1 The distance between the wings of net N [m].
MinBottomContact 1 The lowest filtered bottom contact measurement. Zero without bottom contact measurements.

Initial conditions

The warp lengths are InitialWarpLength, or with no bottom contact measurements the initial AverageWarpLength.

This SimObject is referred to as Trawl/TrawlGeometryController