Simple vessel used for the trawl optimization tool.
- Author
- Karl-Johan Reite
- Date
- 01.01.2006 KJR: Initial version.
- Note
- Without
MeshName the vessel is drawn with the trawler mesh vessels/skrog01/skrog01 from the fhsim_base resources, fitted to the hull: the mesh's bounding box spans Length along x and Breadth along y, the vertical scale equals the breadth scale (the box height includes the wheelhouse and mast, so it is not fitted to Draught), the box is centred on the vessel position and its lowest point, the keel, is at depth Draught. A scale the input sets replaces the fitted one on its axis, and a given DeltaRenderPos shifts the fitted hull. With MeshName set, an unset scale is 1 and the mesh origin is drawn at DeltaRenderPos from the vessel position, as before.
Example configuration excerpt
<Lib
LibName = "fishery"
SimObject = "Trawl/Vessel"
Name = "V"
/>
Input Ports
| Name | Width | Description |
| Heading | 1 | Heading of the vessel. |
| Vel | 1 | Velocity of the vessel. |
Output Ports
| Name | Width | Description |
| WarpPos1...WarpPos<NumWarps> | 3 | Warp fastening positions in the global NED frame. WarpPos1 is the port fastening (WarpPosPrt), WarpPos<NumWarps> the starboard one (WarpPosStb), and any between are spaced evenly from port to starboard. |
| WarpVel1...WarpVel<NumWarps> | 3 | Warp fastening velocities in the global NED frame. Equal to Vel at every fastening: the ship's own rotation rate is not added (a TODO in OutWarpVel). |
| Pos | 3 | Vessel reference point in the global NED frame: (north, east) from the Pos states, down is the fixed Draught (the keel depth). |
| Vel | 3 | Vessel velocity in the global NED frame: InitialSpeed/ApSpeed-driven speed along the current heading, down component always 0. |
| Heading | 1 | Heading of the vessel, rad, the same value as the Heading state. |
Configuration parameters
| Name | Width | Description |
| Length | 1 | Length of the vessel. |
| Breadth | 1 | Breadth of the vessel. |
| Draught | 1 | Draught/draft of the vessel. |
| ApSpeed | 1 | Gain of the first-order heading autopilot, 1/s: HeadingDot = ApSpeed * (Heading input - Heading state), so it is the inverse of the autopilot's time constant. Default 0.01. |
| NumWarps | 1 | Number of warp fastenings (and so WarpPos/WarpVel output ports), at least 2. WarpPos1 is the port fastening, WarpPos<NumWarps> the starboard one, any between spaced evenly. Default 2. |
| InitialSpeed | 1 | Initial speed of the vessel. |
| InitialHeading | 1 | Initial heading of the vessel. |
| LengthScale | 1 | Render scale along the mesh x axis per metre of Length. Default 1 with MeshName; without it the mesh length is fitted to Length. Visualisation only. |
| BreadthScale | 1 | Render scale along the mesh y axis per metre of Breadth. Default 1 with MeshName; without it the mesh breadth is fitted to Breadth. Visualisation only. |
| DepthScale | 1 | Render scale along the mesh z axis per metre of Draught. Default 1 with MeshName; without it the vertical scale equals the breadth scale. Visualisation only. |
| MeshName | 1 | Ogre resource path of the visualisation mesh without the .mesh extension, e.g. vessels/skrog01/skrog01. Default vessels/skrog01/skrog01 (from fhsim_base). Visualisation only. |
| Pitch | 1 | Pitch of the vessel. |
| DeltaRenderPos | 3 | Render offset in NED: with MeshName the mesh origin is drawn at (north + x, east + y, z); without it the fitted hull is shifted by this offset. Default 0, 0.135, -11.5 with MeshName, 0, 0, 0 without. Visualisation only. |
| WarpPosPrt | 3 | Port warp fastening in the vessel frame (x forward, y starboard, z down). Default -Length/2, -Breadth/2, -2*Draught: aft, on the port side. |
| WarpPosStb | 3 | Starboard warp fastening in the vessel frame. Default WarpPosPrt mirrored in y. |
Initial conditions
| Name | Width | Description |
| Pos | 2 | Initial position of the vessel. |
| Heading | 1 | Initial heading of the vessel. |
Full example file
<Contents>
<OBJECTS>
<Lib
LibName = "environment"
SimObject = "Environment"
Name = "Environment"
Waves.NumWaves = "0"
Bathymetry.Depth = "190"
Current.Model = "Constant"
Current.Vector = "1, 0, 0"
/>
<Lib
LibName = "fishery"
SimObject = "Trawl/Vessel"
Name = "V"
MeshName = "vessels/skrog01/skrog01"
Length = "70"
Breadth = "14"
Draught = "7"
LengthScale = "0.0014"
BreadthScale = "0.007"
DepthScale = "0.013"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
V.Heading = "140"
V.Vel = "10"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
V.Pos = "0,20"
V.Heading = "140"
/>
</INITIALIZATION>
<SIMULATION>
<Timing TStart="3000" TEnd="3000"/>
<Integrator Method="RK45_i" NumCores="1" LogStates="0" UseRSSNorm="0">
<StepControl Step="0.01" StepMax="0.2" StepMin="0.00000001" AbsTol="1e-3" RelTol="1e-3"/>
</Integrator>
</SIMULATION>
</Contents>
This SimObject is referred to as Trawl/Vessel