[Top] [Contents] [Index] [ ? ]


Slipstream is a free real-time vehicle simulator. As such it can be used as a game, although it would then be targeted at the hardcore realism fans and those who like a challenge. Apart from this Slipstream allows every parameter of the models to be specified and every calculated quantity, such as the positions of the vehicle parts, forces and torques generated at each joint, etc. to be logged and saved or examined visually. It should therefore be useful for educational purposes and perhaps even for research.

This manual describes how Slipstream works and how it can be used.

Copyright © 2011 Dimitris Papavasiliou

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Overview

Slipstream is a free real-time vehicle simulator. As such it can be used as a game, although it would then probably be targeted at the hardcore realism fans and those who like a challenge: getting the hang of it is not easy but it is not unreasonably hard, it’s just that all the complexities that add to the challenge, and the pleasure, of operating a vehicle are there.

Apart from gaming Slipstream should be usable for educational purposes or even research. Most parameters of the various models can be changed, usually on-the-fly and the changes they effect to the behavior of the vehicle examined either by manually operating the vehicle or through scripted runs, logging of the state of the vehicle parts, such as positions, velocities, forces, torques etc. The model for the race track is parametrically defined in terms of segments with a given length, curvature, elevation and slope. This might make it a little harder to design a track (until a proper editor has been written at least) but it allows very accurate calculation of the contact geometry(1), that is, the way the vehicle’s tyres interact with the pavement which is the most important factor of a vehicle’s behavior. Apart from that the currently implemented vehicle is based on a recently published model that has been derived from measurements of an actual machine, a modern large-displacement sports motorcycle, so it should be more or less state-of-the-art. Its validity is another matter but attempts have been made to assert the correctness of the implementation where possible, for example by producing plots and comparing them to published data. Qualitatively the model seems to behave correctly as it exhibits all the usual phenomena related to motorcycles, such as weaves, wobbles, drifts, high-siding, low-siding etc.

Finally it should be stressed that Slipstream is a vehicle simulator at heart. It is generic and easily programmable so that it should be adaptable to any use that requires such a simulator. As an example it should be very easy to use it as an animation tool. The motorcycle can be driven in real time and key-frames extracted and imported into a high-end animation package yielding realistic motion of the motorcycle as a whole and each of it parts down to the rear shock absorber linkage if necessary. It would be very interesting if this and other such uses could be explored.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Using Slipstream

Using Slipstream is simple enough. After you’ve installed it you should be able to start the graphical interface by running slipstream-browser on the command line or perhaps through the menu system of your desktop. The interface consists of a set of HTML pages served by Slipstream and a custom browser (2) so it is fairly self-documenting. Once you select a vehicle and enter a track you can control the motorcycle with the mouse. If you find that strange just give it a try. Controlling something like a modern vehicle through the keyboard is silly really. How hard do you apply the brakes when you press down, how much do you push on the clip-ons when you press left? The only thing you can do decently is switch gears.

That’s why Slipstream uses the mouse instead. Once you’re in the track press the middle mouse button (the mouse wheel) somewhere on the screen. You can think of this as putting your hands on the controls. Moving the mouse from that point on displays a dotted line from the current mouse pointer position to the place you clicked on the screen. This is technically termed the ‘rubber-band’. The longer the rubberband is vertically the more the throttle is turned on assuming it points upwards from the point you clicked initially. If it extends downwards then it will become red and brakes will be applied, again, the longer the harder.

The same goes for the horizontal length of the rubber-band. The longer it is the more pressure is put on the handle bars. I must stress this: you do not control the angle of the steering head, that is you do not directly control where the front wheel is pointing. Instead what you do control is how hard you push and pull on the grips. Rubber-band horizontal length is translated into a torque on the steering head. If you think this is odd looking into the process called counter-steering should convince you that you rarely know where the front wheel is actually pointing on a real motorcycle too. But apart from that it is generally the case that a motorcycle is controlled by application of pressure not by pointing the front wheel where you wan to go.

In addition to the above you can use the left and right mouse button to switch to the previous or next gear and that’s about it as far as controlling the vehicle is concerned. Configuring is another matter altogether. Once you’ve loaded a model in the graphical interface you can click the edit link to edit all of its parameters including, chassis geometry, suspension settings, powertrain configuration, tyres and controls. Most of the the time the configuration pages assume you know a little bit about vehicle simulation. The layout is designed so as to be as self-documenting as possible including the units of the various parameters and often whole formulas. This might seem confusing for the casual user but you can configure most parameters without knowing the theory behind vehicle dynamics and simulation. Suspension setup for example is fairly straightforward event though you might not know how many N/m the spring stiffness you have in mind is. Most changes are relative anyway so just putting in a 10% larger number will result in a 10% stiffer spring. The same goes for the chassis stiffness for example. It’s easy to experiment with making the chassis stiffer or softer.

There are exceptions to this of course. Some of the parameters are simply not easy to tune by hand. The tyre parameters are such a case where you need to get your hands on published data to add more configurations. You can still easily make a few very useful changes though. See section Contact response for details. In other cases such as the powertrain section you may read about what the some of the more obscure parameters mean in the next chapter which discusses Slipstream’s physical model and then try to make changes. Finally don’t be daunted by the complex looking formulas in some of the sections. They are meant to provide a precise definition of what the configurable parameters do to persons who need to know this information, but they can be useful even to people who don’t fully understand them. For example in the control section, under ‘Steering sensitivity’ we find something like:

0.0005 + 0.004 V + \left(1 + 1.35 3\theta\over\pi\right) Nm\over pixel, where V the speed and \theta the chassis roll angle.

This probably is confusing if you don’t know how Slipstream’s control system works but it still just a sum of three terms where you can edit a number in each term. One is just a constant, the other is multiplied by V which is defined as the vehicle’s speed and the other is somehow related to the angle \theta which is the chassis roll angle or the motorcycle’s lean angle. It’s therefore safe to assume that you can set your general sensitivity in the first number, and how this changes depending on speed and lean angle in the other two. From that point experimentation will hopefully lead to a setup that suits you. I’m interested in feedback in this area so if you’re having trouble drop me a line and I’ll try to help out and augment the documentation if needed.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. The physical model

This chapter describes Slipstream’s physics model. Some parts of it are more general than others, being used by whole classes of vehicles while other are specific to particular vehicles. They’re divided into the following categories.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 General

Slipstream employs multibody simulation to animate the vehicles. What this means is that each separate moving part of the machine is modeled as a rigid body with a given mass and moment of inertia and with given constraints or joints between it and other parts. All bodies are initially placed in some trim position with zero velocity and then the simulator takes over to calculate their motion over time.

This is the general idea but there is some fine print. For one thing, not every moving part of the actual machine is represented in the model, just the ones that are deemed to ‘make important contributions to the behavior of the machine’. Which these are is a matter to be resolved by careful analysis. Other parts may be lumped together in one model as is the case of the engine for example which is generally not implemented by modeling each piston, connecting rod and gear found in a typical internal combustion engine but rather using some sort of more abstract, empirical model. The other deviation of the implementation from the ideal view laid out in the first paragraph is that there are some parts which are too complex to be approximated as ‘rigid objects’. One such part is of course the tyre, the complying nature of which is perhaps the most influential factor to the behavior of a modern vehicle but there may be other, for instance a transmission chain in a motorcycle.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 The race track

The most basic part of the physics model is the race track which is common to all vehicles. It is also very important because it affects the calculation of the tyre to tarmac contact which has the most profound influence on the behavior of the vehicle. Get this wrong and the rest does not matter no matter how accurate the model.

In order to allow for accurate tyre contact resolution the model needs to be parametric in nature. It would be perhaps easiest on the track designer to allow the road to be some sort of polygonal approximation as then the standard set of available modeling tools could be used but this would lead to weird irregularities in the contact response when the tyre crosses the boundaries between triangles in all but the most detailed meshes. This is clearly unacceptable so a different representation is employed. The track is modeled as a sequence of segments each of which has a small set of parameters that completely describe its geometry: its length, the distance from the center-line to the left and right edge, its curvature, its slope and its superelevation. This approach does not allow for the design of arbitrarily shaped tracks but it closely follows the way civil engineers design roads so it allows ‘usual’ roads to be modeled in a simple manner.

Let us consider, as an example, the first few segments of the Laguna Seca Raceway as it is modeled in the current distribution of Slipstream:

    {units.feet(269), units.feet(15), units.feet(15), 0, 0, 0},
    {units.feet(150), units.feet(15), units.feet(15),
      0, -0.045, -0.033},
    {units.feet(182), units.feet(15), units.feet(15),
     1 / units.feet(516), -0.045, -0.119},
    {units.feet(239), units.feet(20), units.feet(20),
      0, -0.045, -0.028},

Each set of numbers enclosed in curly braces corresponds to one segment and each number in the set defines one parameter in the order given above. Slipstream assumes it is given measurements in SI units so if you want to use some other unit such as feet you need to convert it to meters which explains the use of ’units.feet()’.

So what the first line says is that we start of with a segment 269 feet in length which has a left half-width of 15 feet and a right half-width of 15 feet so a total width of 30 feet and zero curvature, slope and superelevation. The length is straightforward enough but the rest of the parameters beg the question: at which point of the length of the segment is the curvature, slope or superelevation equal to the specified amount? The answer is at the end of the segment and this has the consequence that the geometry of each segment is influenced not only by its own parameters but also by the parameters of the previous segment since the previous segment’s endpoint is the current segment’s starting point. Lets consider each of the parameters separately to see what sort of combinations they yield.

Assume that the current segment is defined to have zero curvature at its endpoint. Curvature is defined as the reciprocal of the turn radius so that zero curvature mean infinitely large turn radius and therefore a straight line. This means that the segment will end up straight but the geometry throughout the whole segment depends on the curvature it started up with. So if the previous segment has zero curvature this means that the current segment both starts end ends with zero curvature so the segment is just a straight line. If on the other hand the segment begins with some curvature then the segment is a so-called transitional segment which starts of as a circular arc of the initial curvature but ends off straight, that is with infinite curvature. The resultant shape is an Euler spire and civil engineers use such road segments to make the transition from turns to straights more natural. The other cases are what you might expect: if there is both some initial curvature a (from the previous segment) and ending curvature b the resultant segment is again a transitional spire which can be used to join two turns of differing radii. If you start out and finish the segment with the same (non-zero) curvature then you get a circular arc which is the only shape with constant curvature.

The situation is similar in the case of the other parameters. The slope at each point of the segment depends on its starting slope, dictated by the ending slope of the previous segment, and its own ending slope. If both are zero what you get is a totally level segment. If both have the same non-zero value you get a segment with a constant slope, essentially an inclined plane, and if the start and end segment differ you end up with a transitional segment again but this time the transition takes place in the vertical plane so the segment gradually changes slope and the resulting cross-section is a parabola.

The same logic holds for superelevation which stands for the banking of the road. The same values for start and end yield constant (possibly zero) banks while different values yield a transition with a sort of screw effect (if exaggerated).

There’s only one detail left: the initial conditions of the first segment. Since there is no preceding segment to define its starting point parameters these are defined explicitly to be equal to the first segments ending parameters. So in the case above the first segment has a length of 269 feet, a width of 30 feet and zero curvature, slope and superelevation for both start and end so it is straight and completely flat. The next has non-zero values for both slope and superelevation so there’s a parabolic transition from zero to -4.5% slope and also a screw-like transition from zero to -3.3% bank. The next segment keeps the slope constant so it is just an inclined plane in terms of its vertical cross-section but it introduces some further bank, ending at -11.9%, and also some curvature so its plan view is a spire starting out straight but ending at a radius of curvature of 516 feet. The next segment retains the same slope but straightens out again to zero curvature, yielding a plan view that is the mirror image of the previous segment and it also transitions to a smaller bank (of 2.8%). It is also interesting to note that the last segment starts out with half-widths of 15 feet but ends with half-widths of 20 feet. This introduces, yet again, a transitional broadening of the track from a total width of 30 feet to a total width of 40 feet.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Tyre models

The tyre model defines the interaction of the vehicle with the ground. It can be broken into two parts: contact resolution which is the process of finding out if and where the tyres contact ground and contact response which determines how the tyre reacts to the contact and what forces are generated in the process.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.1 Contact resolution

Due to its parametric specification it is possible to test analytically whether a point on the plane belongs to the plan view of the race track or not(3). It is also possible to calculate the height of the track surface at this point therefore every point in space can be tested against the track by calculating the height of the track surface at the point specified by its x and y coordinates and then comparing that height with its z coordinate. If the height of the track is smaller then the point lies above the track surface otherwise it either rests on the surface or has penetrated it.

The currently implemented tyre model is that of a motorcycle tyre which is considered to be a torus(4). Since a torus can be thought of as the bounding volume of a sphere of radius \rho swept along the circumference of a circle of radius r, testing for intersection between a torus and a plane is equivalent to testing for intersection between this circle and the plane translated \rho units along the direction of its normal. This last test can easily be performed by calculating the distance of the circle’s center from the plane and comparing it to the radius r.

The point of intersection between the tyre and a flat plane (or flat road segment) can thus be calculated exactly. If therefore the whole track was flat a valid contact resolution strategy would be this:

  1. Calculate the contact point between the tyre and the plane of the track. This contact point, if it exists, is unique(5) and can be found thus:
  2. Test whether the calculated contact point belongs to the track or not. As mentioned earlier this can be done analytically.

In our case though the track is not constrained to lie on a plane so this introduces some complications. A simple approach would be to assume that the track is at least ‘locally flat’, that is, that its normal changes slowly over the track surface. We could then calculate the normal of the track somewhere in the neighborhood of where we expect the contact point to lie (this can be done analytically) and then use that to calculate the position of the contact point as above. The current implementation finds the contact point at the point of the track that lies vertically under the the center of the tyre. It can be shown that the error is negligible for all but the steepest changes in slope or superelevation.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2 Contact response

Contact response is calculated using an adapted version of the magic formula. The details of the model are published in [1] so there’s no point in mentioning them here as well. A plot of the longitudinal force under pure slip as computed by the model can be seen in tyreplot. This and others like it can be calculated by the model implementation as a way of asserting its correctness or to fine-tune tyre parameters. They’re available through the graphical interface in the tyre pages which allows all parameters in the tyre models to be edited and the changes examined either practically or through the updated graphs.

Although the magic formula was designed to fit experimental data so that its parameters are not given to manual editing, a few adjustments may be possible and useful. A very simple and short description of the formula will therefore be given here. Consult [1] for the details.


Figure 3.1: A plot of the longitudinal force produced by a tyre under pure slip and different loads.

The general shape of all forces and torques generated by a tyre under pure slip conditions can be seen in tyreplot which shows a set of longitudinal force curves for varying tyre loads. Pure slip means that the tyre slips either in the longitudinal or lateral directions but not both. When combined slip conditions apply the resultant forces and torques are functions of the pure slip versions so the shape of tyreplot is still relevant.

In general therefore, we can say that the generated forces rise linearly for small slip ratios or angles until a peak value is reached and then drop asymptotically to a smaller level. The slope of the initial linear segment is called the stiffness of the curve (due to its similarity to a spring’s linear force-deflection relationship presumably). The general form of the magic formula that produces this shape is y = D \sin(C \arctan (B x - E (B x - B x))), where the input x is either the slip ratio or slip angle and y the resulting longitudinal or lateral force respectively.

The factor D, called the peak factor determines the peak of the curve and thus the peak force the tyre can generate in each direction. The factors B, C, E are called the stiffness, shape and curvature factors and are such that the stiffness of the curve, the slope of its linear segment close to the origin, is equal to their product K = B C E. Each of these factors depends on the input parameters, that is slip ratio \kappa or slip angle \alpha, camber angle \gamma and load F_z0 in a way that is determined by the parameters of the formula. For example the parameter C_x directly sets the shape factor for the pure slip longitudinal force while the parameters p_Kx^* describe the longitudinal slip stiffness under pure slip conditions.

How each set of parameters affects each factor can be looked up in the formulas give in [1] but as an example and because it is probably the most easy and useful factor to tweak, we’ll look into the parameters that define the peak factor D. In the longitudinal case we have D_x = (p_Dx1 + p_Dx2 df_z) F_z, where F_z the load on the tyre and df_z a term describing the difference between the current load and the tyre’s rated load. The parameter set p_Dx1, p_Dx2 can therefore be seen as defining the coefficient of friction of the tyre in terms of a nominal coefficient p_Dx1 and a term describing a dependence on the load p_Dx2, the tyre’s so-called load sensitivity. The situation is analogous in the lateral force case where D_y = p_Dy1 e^p_Dy2 df_z / (1 + p_Dy3 \gamma^2) F_z. Although the details are different p_Dy1 can again be seen as the nominal coefficient of friction for lateral forces, p_Dy2 the tyre’s lateral load sensitivity and in this case there’s an extra parameter p_Dy3 describing a dependence of lateral force on the camber angle \gamma. The dependence of peak aligning moment on the parameters p_Dz* is very similar so we won’t go into further detail here.

We see therefore that by scaling p_Dx1, p_Dy1 and p_Dz* down we can easily scale the peak force and moment produced by the tyre while leaving the shape of the curves intact. This is an easy (although perhaps not entirely accurate) way of simulating limited grip situations like wet or worn roads and tyres.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Engine models

Slipstream, at this time, models a four-stroke internal combustion engine using a so-called ‘mean value’ model. This means that instead of trying to model each phase in a combustion cycle separately only the mean state of the engine is considered, that is, a mean flow of mixture into and exhaust gasses out of the cylinders and a mean generated torque at the crankshaft. A ‘discrete event’ engine model, although more complex would allow the pulsing nature of both the mixture ingestion as well as generated torque to be captured and hence their interesting effects such as throttle response lag or backlash on the drivetrain. Whether this is feasible in a real-time simulation needs to be investigated. For now we must contend ourselves with a mean value model.

The engine model consists of a number of sections which include the throttle body, the cylinder and the flywheel. Normally the intake manifold should be considered as well but this has been omitted for reasons that will be explained later.

The throttle body regulates the air mass flow into the cylinder and its modeling has mostly been based on [3]. In the discussion that follows only the points that diverge from this publication will be examined in any depth. For more details refer to [3].

The air pressure before the throttle plate is assumed to be the atmospheric pressure although this can be easily modified in the future to account for restrictions in the intake or, perhaps, a ram induction system. The air inside the intake manifold, which is the volume between the throttle plate and the intake valve, is assumed to be an ideal gas so according to the ideal gas law its pressure can be related to the mass of air in the manifold and the volume and temperature of the manifold. The volume of the manifold does not affect the pressure of the gas in its steady state but it determines the transient changes in pressure that arise when this steady state is disturbed due to a change in throttle angle or engine speed. Since these transients are small in time scale relative to the time scale of a real-time simulation they have been omitted. The steady-state manifold absolute pressure on the other hand must satisfy the condition that the air mass flowing past the plate and into the manifold be equal to the airmass flowing past the valve and into the cylinder (this condition ensures equilibrium and hence a steady state inside the manifold) so we can calculate it by solving this equation instead if we’re willing to ignore any transients.

The air mass flow through the throttle plate depends on the pressure differential before and after the plate, the latter being the manifold pressure, the diameter of the plate as well as its coefficient of discharge, a dimensionless number that determines how far the throttle body differs from an ideal orifice. Both of the cross-sectional diameter and discharge coefficient are configurable in the simulation and can be used to tune the engine’s intake characteristics. The air mass flow past the intake valve and into the cylinder on the other hand follows the so-called speed-density formula and depends on manifold pressure, cylinder volume, volumetric efficiency and engine speed. Volumetric efficiency indicates how good the engine is at moving mixture into or exhaust gasses out of the cylinder. More specifically it is the ratio of the volume of charge ingested into the cylinder to the actual volume of the cylinder. It therefore varies in the range [0, 1] in the absence of forced induction and can be specified as a set of four coefficients as \eta_v = a + b \omega + c \omega^2 + d p_m, where \eta_v is the volumetric efficiency, \omega the engine speed and p_m the manifold pressure.

Thus for a given cylinder displacement the engine’s intake system can be tuned through selection of the throttle plate diameter, discharge coefficient and the engine’s volumetric efficiency.

It should be noted that the effects of manifold temperature in the discussion above has been omitted since the temperature is currently assumed to be constant and is hard-coded into the simulation. This restriction may be lifted in the future if necessary.

The other major part of the engine model is the cylinder section which is responsible for burning the mixture and producing torque. With the air mass introduced into the cylinder calculated the indicated torque of the engine can be calculated given its thermal efficiency. This assumes that the mixture is always stoichiometric and completely disregards spark advance and other similar details. The aim of this model is to recreate a realistic internal combustion engine response as seen from the driver. There’s obviously no point in introducing details into the model that will later have to be addressed through the implementation of an engine control unit. The thermal efficiency of the engine represents its ability to convert heat into mechanical energy or work and is assumed to depend on engine speed. It is defined as \eta_t = a + b \omega + c \omega^2. The coefficients can be specified, allowing the designer to tune the engine’s power output throughout its speed range.

The indicated torque will have to be reduced to account for losses due to friction (either mechanical or in the pumping of gasses) in order to calculate the torque generated at the output shaft. The frictional and pumping losses are assumed to depend on engine speed and manifold pressure respectively and are specified through two sets of parameters which allow the calculation of the losses as p_me0g = a (1 - b p_m \over p_0) and p_me0f = c + d \omega + e \omega^2 respectively.

These are the mean effective pressures of the forces that arise due to mechanical and pumping friction and can be converted to torques given the displacement. By altering the parameters one can tune the final power output of the engine with respect to speed and load. The graphical interface also produces plots of the various quantities described above in order to assist the process of configuring the engine.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 Vehicle models

At this point the only implemented vehicle is that of a modern sports motorcycle featuring telescopic front forks and a single rear shock attached to the main frame and swing-arm via a linkage.


Figure 3.2: A plot of the stock configuration of the motorcycle model geometry. The points marked with a red cross are centers of mass while the small orange circles denote joints with axes drawn with green dashed lines unless they’re normal to the plane of the drawing.

The vehicle model simply consists of a set of rigid bodies with given mass and moment of inertia that are joined together via constraints which remove degrees of freedom from the motion of the bodies. The wheel body for example is allowed only one degree of freedom, a rotation around an axis that is always perpendicular to the plane of the swingarm. Once all moving parts of the vehicle have been defined in terms of their properties the simulator starts to simulate the system forward. The biggest challenges when constructing the model therefore is to identify which of the moving parts in a vehicle plays an important role in determining its behavior and finding suitable values for the various parameters of these parts; their inertial properties as well as initial positions and orientations, the latter defining the geometry of the vehicle. The published data in [1] have proven invaluable in this respect.

The implemented model is the one described in [1] so the discussion here will be limited to the points that differ from the paper. At the present times these are only two. One is the model of the shock absorbers. The paper considers these to be damped linear springs with the same damping coefficient for both compression and rebound. This is not very realistic(6) since the behavior exhibited by real springs is usually not linear (due to the progressive nature of the springs themselves for example, or due to the spring-like behavior of the air trapped over the free surface of the oil in the damper). The dampers in modern machines also have different coefficients for the compression and rebound strokes (and also for fast and slow compression) and probably cannot be said to exhibit simple linear damping behavior in any of these modes. More research into this is needed but this is probably not of much importance at this stage as the current road model assumes a perfectly smooth and uniform (in terms of traction) road. Once some model of irregularity has been introduced more realistic shock absorbers will become more relevant and easier to develop and test. For now the models implement linear damping with different coefficients for compression and rebound strokes.

The other point where the current implementation and the model published in [1] diverge is the final drive. The published model simply acts the torque produced by the motor on the rear wheel and reacts in on the chassis (although it should be noted that a later publication by the same authors describes a chain drive geometry among other things, see [2] for more details). This resembles a shaft drive configuration although the reference machine, like most if not all sports machines, utilizes a chain drive. This is of some importance as the force couple generated by the chain tension significantly affects the tendency of the machine to squat under acceleration. The current model implements a chain final drive with configurable sprocket positions and radii. The branch of the chain that should be under tension is identified and a force is acted on the rear sprocket and reacted on the engine output shaft sprocket. At this point chain slack is not taken into account.

Although the model itself is not configurable on-line in the sense that you define all the bodies and joints between them in a script which is then loaded by the simulator, it is nevertheless possible to change every parameter of this model through the graphical interface. By changing the positions of the bodies in their trim configuration it is possible to effect changes in the machine’s geometry such as, for instance, changing the swing arm length, the swing arm pivot point, steering head angle, etc. It is also possible to change the masses and moments of inertia of the model. The modified machine can be tested on-line and any changes can be saved to script files via the graphical interface, from where they can be reloaded at a later point. Although this might be useful when the simulator is used as a game, it should prove invaluable when experimenting with various configurations for educational purposes or research.

Hopefully more models will be added along the way. Implementing a model in Slipstream is not a big deal, although finding, measuring or estimating the required parameters can be a different matter.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]


  1. Advances in the Modelling of Motorcycle Dynamics, R.S. Sharp, S. Evangelou and D.J.N. Limebeer
  2. Multibody aspects of motorcycle modelling with special reference to Autosim, R.S.Sharp, S.Evangelou and D.J.N.Limebeer
  3. Mean value modelling of a s.i. engine, Rob Karmiggelt

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. GNU Free Documentation License

Version 1.2, November 2002

Copyright © 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

    The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

    This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

    We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.


    This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

    A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

    A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

    The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

    The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

    A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.

    Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

    The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

    A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.

    The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.


    You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

    You may also lend copies, under the same conditions stated above, and you may publicly display copies.


    If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

    If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

    If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

    It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.


    You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

    1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    11. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
    12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    13. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
    15. Preserve any Warranty Disclaimers.

    If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

    You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

    You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

    The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.


    You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

    The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

    In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”


    You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

    You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.


    A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

    If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.


    Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

    If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.


    You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.


    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

  Copyright (C)  year  your name.
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.2
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts.  A copy of the license is included in the section entitled ``GNU
  Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:

    with the Invariant Sections being list their titles, with
    the Front-Cover Texts being list, and with the Back-Cover Texts
    being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.

[Top] [Contents] [Index] [ ? ]



It is not exact but the error is very small and in most cases negligible. See the physical model section for details.


Although you can use your own browser if you like by starting Slipstream with the command slipstream and then visiting the URL http://localhost:29176.


This does not hold for spiral segments of varying curvature. For this reason such segments are not truly spiral but are in fact approximations consisting of concatenated circular arcs whose curvatures interpolate the segment’s curvature difference. The number of circular arc pieces used in a given segment depends on the difference between initial and final curvature and can be defined in terms of it by means of the ’tessellation’ property of the race track.


This is of course not true for actual motorcycle tyres which have cross-sections that are arcs instead of circles but motorcycles are unable to sustain large enough lean angles for this to matter.


If we require that the normals of the surfaces on the point of contact oppose each other.


I don’t mean to belittle the work done by the authors of the paper here. In the context of their research a more accurate model was probably of little value.

[Top] [Contents] [Index] [ ? ]

Table of Contents

[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated by Dimitris Papavasiliou on September 5, 2011 using texi2html 1.82.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back Previous section in reading order 1.2.2
[ > ] Forward Next section in reading order 1.2.4
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ Up ] Up Up section 1.2
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document  
[Contents] Contents Table of contents  
[Index] Index Index  
[ ? ] About About (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by Dimitris Papavasiliou on September 5, 2011 using texi2html 1.82.