4. Design

4.1 Introduction

The high level design is object oriented, which lends itself very well to the contents of the modelled environment. The main objects to be modelled include the environment itself, the laser dinghy, and the marks. These are physical objects, but slightly more abstract, within dinghy racing there are more objects to be modelled. Firstly, a race is composed of a fleet of three or more dinghies navigating their way around a course denoted by a series of marks, the buoys.

4.2 Objects

The objects to model include the race; the course; the fleet; the environment; each individual dinghy and each individual buoy. We can see that both the course and fleet are structures that have no physical dimension, but are composed of properties and instances of other objects. In contrast, the dinghy, the buoy, the environment and helm objects have both physical form and properties. The objects described below are shown in Figure 3-1

4.2.1 Race

In reality, properties of a race include duration; number of fleets competing; the course to be race around; the environment in which the race is to be run; race duty officer and rescue capabilities.

4.2.2 Fleet

The fleet is simply a structure of dinghy objects. Properties of the fleet will include the structure containing the boats and details pertaining to the management of that structure. This is a good object to select to check and handle collisions, since only its sub-objects will actively move about the world. This will be discussed in detail later.

4.2.3 Course

The course is generally static once the race has begun, with the exception of when the race should finish. This has bearing since a property of the course is the number of laps. The markers, which the course consists of, are also part of the course; hence, some sort of structure is required, along with management properties for the structure.

4.2.4 Environment

The environment is a physical entity that has size and shape but no interactions. Completely static throughout the duration of a race, very few relevant properties or methods exist. The factors represented within the environment include the surface of the water, which is to be sailed upon, and some form of boundary to the sailing area. Also appropriate to the environment is the wind. This is not static through the race, especially on inland waters, where wind direction can vary temporally and spatially to a high degree. Finally, there should be some form of bank-side forming a boundary around the simulation area.

4.2.5 Dinghy

The dinghy object is to represent the set of properties mentioned in section 1, Background Information. Its physical representation should include mesh models of the hull, rig, foils and helm. The design of the representing meshes will be taken from the measurement diagrams beginning on page 36 of [ILCA96]. Structures or separate objects should be present to support and represent the interactions and properties of the dinghy and its crew. Interactions between the rig and wind will be key to calculation of magnitude and direction of acceleration for the entire dinghy. The orientation of the rudder will effect the acceleration in a directional context only, while the dagger board will act against the current sideways component of dinghy velocity. The helm of the dinghy will allow either the user to control the dinghy or a set of rules process the situation and respond accordingly. It is plain that some of these areas should be discussed in detail.


Rig For this purpose, the rig consists of the spars (mast and boom) and the sail.

4.2.5.1 Rig

The rig is essentially an aerofoil, which is defined as "a body (eg wing or tail plane) shaped so as to produce an aerodynamic reaction (lift) normal to its direction of motion, for a small resistance (drag) in that plane." [CHAMBERS]. The term direction of motion in the quote above can be taken to mean direction of motion relative to the wind, since the motion is from wind passing over the sail, rather than vice versa. This allows us to think about implementation details later, since the theory is well described. As the rig may be rotated about the mast, this absolute direction of lift is dependent on the orientation of the rig with respect to the world, not to hull with respect to the world. The physical mesh model for the rig will be created in one of the 3D packages mentioned in section Resource 2.2.1.4 from diagrams and information found on pages 37-38 of [ILCA96]. The bounds of the rotation of the rig should be set to approximately ± 90° from centre, where the boom lies parallel to the boats heading. This reflects the real world situation, where the main sheet of a laser is long enough to let the boom out to just past the mast, i.e. usually an angle of between 90° and 100° from centre.

4.2.5.2 Foils

An overview of the foils can be found in section 1.2.1.2. The dagger board has a representing mesh, whose position relative to the boats hull in a vertical plane is what will be used to calculate the drag opposing the motion of the boat. This will be a positive force in the direction of the windward normal of the hull. The rudder also has a physical mesh, which will include the tiller. In controlling the dinghy, reference will be made to the tiller, with respect to its position or orientation. The tiller / rudder assembly is rigid during use, and pivots in about a vertical axis positioned on the leading edge of the rudder. As the tiller is pushed to port, the rudder is rotated about this axis, so that the trailing edge is on the starboard side of the dinghy and vice versa. The rotation of the dinghy is derived from the orientation of the rudder. As with the rig, a limit will be placed on the rotation arc of the rudder assembly, to prevent the rudder passing through the body of the hull. These limits will be set to approximately ± 90° from centre (aligned with dinghy heading.).

4.2.5.3 Hull

The hull has a physical mesh and is the object from which all other sub objects of the dinghy take their relative positions and orientations. The speed and heading of the dinghy are taken as those of the hull. The hull should also have some logical limits defined to assist in collision, either some set of bounding boxes or bounding spheres. This will be discussed in implementation more closely. 4.2.5.4 Helm The helm should be either responsive to the users input, or to a set of routines which emulate the decision processes of a helm. In the simple model, which will not include balance or rotational (capsizing) forces of the boat, these processes include adjusting the orientation of the tiller to: · obtain the correct heading for the dinghy to reach the desired way point (be that a gate or mark) · avoid collision with either a mark or other dinghy · tack or gybe the dinghy whilst following a mean heading which lies within the No-Go zone

4.2.6 Mark

The mark object has a representing mesh, created with one of the mentioned 3D packages. An allotted position with respect to the environment (this may be different from its actual position). The mark also has an identifier for the use of the simulation user (a name or number). A specified colour (useful for the user to distinguish between marks); a value indicating on which side to leave mark when rounding (port or starboard) and a buoyancy value specifying how high the buoy should ride in the water.

4.3 Modelling of Interactions

In the real world, solid structures collide and interact. This should be reflected in the simulation. Objects that are to be modelled will be discussed below. Despite the use of a 3D representation, the simulation will be essentially in 2 dimensions. All collision avoidance and handling, navigation and velocity / acceleration calculations will be performed in the same plane (or one parallel to) the surface of the water.

4.3.1 Dinghy Dynamics Model

The detail of the simulation can be split into several implementations. Each of these implementations is based around a level of detail and realism. The final choice of model will be based upon time scales. Initially, model A will be implemented, with a view to development of race specific functionality. Once the navigation and collision are implemented, work will be resumed on the dynamics model. From this point, models B and C will be implemented according to remaining time before the completion deadline. Because the Laser is a one-design class, little data is compared, since all lasers should be equal. This lack of factual data regarding the dynamic characteristics of the Laser class dinghy has led to a first principles approach. The model will be built on experience of sailing in a Laser, the theory behind the sailing and a basic understanding of mechanical forces involved. Data from other classes of boat will be used as a guideline, instead of a strict set of data to work to. Found on [SIMONIS] was a description of the development of a 70' IMS racing yacht, along with projected velocity data. The polar plot (Figure 2) was created with a velocity prediction program, which is used officially to determine IMS rating for keel yachts. More details can be found at [SIMONIS].

4.3.1.1 Model A

4.3.1.1.1 Acceleration

At it's most basic, all the boat need do is move forward and turn, according to the user input. This level of detail is extremely simple, and not at all adequate for the final implementation within a simulation. More detailed, though still not accurate, the angle of the boom (and hence the sail) to the wind may scale the acceleration magnitude. Here, as the wind tends from the normal of the sail to parallel with the sail, the acceleration tends to zero. While more acceptable, the fastest point of sail becomes any direction where the sail is at right angles to the wind direction.

4.3.1.1.2 Drag

In the real world, the boat is slowed by drag. This is created mainly by the force of the water, acting on the wetted area of the boat. In this model, the boats maximum speed will be limited, by setting the velocity to a maximum value if this value is exceeded.

4.3.1.1.3 Drift

Drift to leeward is caused by an external force from windward, the wind. In this simple model, leeward drift is ignored, in effect all acceleration is converted to forwards motion.

4.3.1.1.4 Heading

The orientation of the rudder is taken and the whole dinghy rotated by the negative of the angle between the rudder and the centre line of the hull.

4.3.1.1.5 Problems

So what is wrong with this approach? This model suggests that the fastest point of sail is in any direction, which is simply untrue; Figure 2: Example polar diagram from [SIMONIS] shows a variance in boat speed with respect to point of sail. Meanwhile the fastest point of sail does not occur when the sail is perpendicular to the wind. This idea takes no account of lift provided by the sail, simply the force of the wind on the sail and would mean that the boat could never travel faster than the wind, a proposition that is false.

4.3.1.2 Model B

4.3.1.2.1 Acceleration

While still not truly accurate, this model takes account of the lift produced by the sail. Let us assume that lift will be maximised when the wind hits the sail at an incident angle of 45° to the normal. This applies to both 45° from the luff (incident wind A) and leech (incident wind B) of the sail. This can be seen in the plot of lift magnitude against incident angle, below. This model of the lift produced by the interaction between wind and sail can be seen plotted with the function


Where: alpha is the angle between the wind and the sail.

In combination with the above model of lift, the acceleration from the sail should include the force applied to the sail. Based around the effective area of the sail with respect to the wind, this force is


Where: alpha is the angle between the wind and the sail.
E is the effective area of the sail.
A is the actual area of the sail.
4.3.1.2.2 Drag

The measure taken here is in addition to model A, where a maximum velocity is imposed. While the port/starboard component of drag is dealt with in the following section, with no drag in the bow/stern component of motion, problems will occur. To prevent the boat speeding up towards an infinite speed, a force that slows the laser must considered. In this model, this shall be represented by a applying a force in a vector parallel to the centre line of the boat. The force will not act if the boat is stationary, and will be proportional to some fraction of the maximum velocity. An initial estimation gives ten percent of the maximum velocity to be adequate.

4.3.1.2.3 Drift

Also to be considered in the model is the effect of the foils. The daggerboard acts against movement of the dinghy by creating drag. Due to the shape of the dagger board, the drag is minimal in the forward component, while the sideways component is maximised. The net effect is to reduce drift of the boat to either side, i.e. drift to port or to starboard. This drag effect can be modelled by reducing leeward drift by a value proportional to the effective area of the daggerboard. That is to say that as the area of submerged daggerboard is increased (the daggerboard is submerged) the drift to leeward is decreased.

4.3.1.2.4 Heading

Model A takes no account of boat speed when turning the dinghy. This has the effect of allowing the dinghy to turn 'on a sixpence'. To model the movement of the dinghy more realistically, the dinghy must be rotated only when 1. The ruder is at an angle to the centre-line of the dinghy 2. The dinghy has altered its position by a certain displacement. Condition 2 is in addition to condition 1, which appears in model A, and simulates the need for water to flow over the rudder, before it can have an effect upon the heading of the dinghy.

4.3.1.2.5 Problems

Model B does not take into account balance of the dinghy, while all movement is limited by absolute values of displacement or rotation. In an ideal model,

4.3.1.3 Model C

Both models A and B fail in areas during the simulation of the forces acting upon a laser dinghy. This model adds to model B by including the balance of a dinghy and issues regarding speed upwind versus the downwind speed.

4.3.1.3.1 Drag

Model B implements a model of drag which shows the desired characteristics; slowing the boat when no power is applied and limiting the maximum velocity of the boat. However, a more accurate representation is by applying a single force to the boat, opposing its motion. This force is proportional to the square of the current velocity. This will impose a maximum speed, and gracefully decrement the velocity of the boat, according to the inverse square law.

4.3.1.3.2 Balance

The balance of the dinghy would be implemented by calculating the moments about an axis, the centre line of the dinghy. Here, the force on the sail and its opposing force on the daggerboard would have the effect of rotating the dinghy. As the force applied to the sail by the wind increases, the force applied by the water to the daggerboard increases proportionally. To maintain balance, the crew is required to move their weight away from the axis of rotation and out towards the side of the boat. This is depicted in Figure 3: Forces acting in the balance of a Laser.

4.3.1.3.3 Boat Speed

Wind resistance of the hull, or any other part of the dinghy, will increase drift in the direction of the wind. This means that whatever the position of the sail, for each face presented to the wind, there will be a constant acceleration in the direction of the wind. So, where the resistance works with the movement of the boat, speed will be increased. Where the resistance works against the movement of the boat, speed will be decreased. It can be seen in the Figure 2 that any movement downwind is faster than upwind. This result is partially due to the previously mentioned force.

4.3.1.3.4 Problems

While this model attempts to accurately depict the motion and dynamics of a laser sailing dinghy, there are areas not covered. For instance the variation in drag as rudder is rotated and as the wetted area of the hull changes (as the boat heels to leeward).

4.3.2 Course

Navigation When navigating the course, each dinghy should move from mark to mark in the order specified. Movement between marks is decided by each individual dinghy, based on wind direction and obstructions such as bank marks and other boats. The rounding of each mark must be undertaken in a specific manner. The mark must be orbited, in the specified direction. Imagine a string wound round the course. A boat has navigated the course incorrectly if, when pulled taught, the string left the mark on the outside. Although the boat at mark C has completely orbited the mark, before heading to the next; crossing your own path is no criterion for having rounded the mark. Diagrams partially reconstructed from pages 204-5, [CURRY49].

4.3.3 Fleet Behaviour

Each laser dinghy will be a member of a fleet. The fleet will then race around the specified course, each boat plotting its own path to the next mark. Members of the fleet should avoid each other, according to the rules as set out in Part 2 - When Boats Meet, [ISAF97].

4.3.4 Collision

Each dinghy should check its bounds against those of the other objects within the world. Explicit checks are required for all boats, marks and bank-side. Each different type of collision should have its own effect. For instance, a collision between two boats will see both boats move at reduced velocity in the same direction. A collision between a boat and a mark will allow the mark to move until its mooring line becomes taught. At this point, the boat will slow until stopped, or the obstruction is rolled out of the way (the boat is essentially wedged shape, while the buoy is cylindrical). A collision between a boat and the bank should result in a complete halt for the boat.