speed-dreams/doc/tutorials/robot/torcs/robot/ch5/properties.html

291 lines
11 KiB
HTML

<!DOCTYPE public "-//w3c//dtd html 4.01 transitional//en"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
copyright : (C) 2003-2004 Bernhard Wymann
email : berniw@bluewin.ch
version : $Id$
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".
-->
<head>
<title>car properties</title>
<link rel="stylesheet" type="text/css" href="../../../css/format.css"/>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
<meta name="description" content="straight class"/>
<meta name="author" content="Bernhard Wymann"/>
<meta name="keywords" content="torcs, berniw, bernhard wymann, car, setup, properties"/>
<script src="../../../js/utilities.js" type="text/javascript"></script>
<style type="text/css">
<!--
#pic1 { float:left; border:0px; width:150px; height:77px; border-style:hidden;
margin-bottom:5px; margin-right:10px; }
#pic2 { float:left; border:0px; width:200px; height:100px; border-style:hidden;
margin-bottom:5px; margin-right:10px; }
#pic3 { float:left; border:0px; width:120px; height:84px; border-style:hidden;
margin-bottom:5px; margin-right:10px; }
-->
</style>
</head>
<body bgcolor="#ffffff">
<table class="maincontent">
<tr>
<td class="maincontent">
<h1>5.4 Car Properties</h1>
<h3>Introduction</h3>
<p>
This section will introduce you in the format of the setup files, the settings
constraints and the most important
properties (parameters, settings) of the TORCS cars.
If you look up the default settings files there are many more settings available than
presented here, but most of them you can't change (e. g. the engine). I want to
mention here that you can set all these properties up without a setup file, so you
are able to compute settings at the startup of the race.
</p>
<h3>Setup File Format</h3>
<p>
The setup files are XML files. The structure is very simple, you will see just sections,
subsections and attributes. Numerical attributes are usually defined with a name,
a unit and the boundaries which define the range of the allowed values.
</p>
<h3>Settings Constraints</h3>
<p>
The car belongs to a car category, which defines some constraints like the range of
the allowed size, engine power, weight and more. The car model settings defines then
the values for its specific car and must not conflict with the constraints from the
car category. After that we will load our own setup files which must not violate
the constraints from the above definitions.
</p>
<h3>Properties</h3>
<p>
You can find all mentioned properties in the file 0/default.xml (relative to
the <span style="color:red;">bt</span> directory).
</p>
<h4>Initial Fuel</h4>
<p><pre class="lbcolor"> &lt;section name="Car"&gt;
&lt;attnum name="initial fuel" unit="l" min="1.0" max="100.0" val="100.0"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
The amount of initial fuel for the setup. Perhaps you want to compute that
setting at startup instead of putting it into a setup file. Feel free to improve it.
For qualifying and short races you want just the minimal amount of fuel you need, for
longer races it will depend on your strategy (but we need to implement pit stops first).
</p>
</td>
</tr>
</table>
<table class="maincontent">
<tr>
<td class="maincontent">
<h4>Spoilers</h4>
<p><pre class="lbcolor"> &lt;section name="Rear Wing"&gt;
&lt;attnum name="angle" unit="deg" min="0" max="30" val="10"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
<img id="pic1" src="images/aoa.jpg" alt="spoiler angle of attack" border="0"></img>
This section defines the angle of attack of the rear spoiler relative to the floor.
When you increase the angle of attack you get more downforce and drag. If the race
track has very long straights and just a few narrow turns you want a small angle
of attack to reduce the drag. If there are many turns you want a big angle of attack to
increase the downforce, so you can drive faster through the turns. For some cars
there is also a front wing section available. The front spoiler helps to avoid
understeering if you set up the rear spoiler with a high angle of attack.
</p>
</td>
</tr>
</table>
<table class="maincontent">
<tr>
<td class="maincontent">
<h4>Gearbox</h4>
<p><pre class="lbcolor"> &lt;section name="Gearbox"&gt;
&lt;section name="gears"&gt;
&lt;section name="r"&gt;
&lt;attnum name="ratio" min="-3" max="0" val="-2.0"/&gt;
&lt;/section&gt;</pre>
<pre> ...</pre>
<p><pre class="lbcolor"> &lt;/section&gt;
&lt;/section&gt;</pre>
</p>
<p>
The gearbox section defines the properties of the gears.
The "r" subsection specifies the ratio of the reverse gear. The reverse gear ratio needs
to be negative.
The wheel velocity is proportional to the engine rpm divided by the ratios, so for
the highest gear you need the least value. For quick starts you need a very high value
for the first gear.
</p>
<h4>Differential</h4>
<p><pre class="lbcolor"> &lt;section name="Rear Differential"&gt;
&lt;attstr name="type" in="SPOOL,FREE,LIMITED SLIP" val="LIMITED SLIP"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
Here the differential type is defined. The "Free" type distributes the power without
any control, so it is the classic differential you can find in most of the normal
cars. The "Free" differential is a good choice for tracks with high friction and
not many bumps for the qualifying. When you leave the track with the "Free" differential
you perhaps get stuck in the grass, sand or dirt.
</p>
<p>
The "Limited Slip" differential allows just a certain amount of speed difference between
the left and right wheel. This allows you to come back to the track from grass and dirt.
This is most often the best setting for races.
</p>
<p>
The "Spool" setting links together the right and the left wheel, so it's usually a bad
setting for all turns. It could make sense on a very bumpy road or for offroad races.
</p>
<h4>Brakes</h4>
<p><pre class="lbcolor"> &lt;section name="Brake System"&gt;
&lt;attnum name="front-rear brake repartition" min="0.3" max="0.7" val="0.52"/&gt;
&lt;attnum name="max pressure" unit="kPa" min="100" max="150000" val="11000"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
The front-rear brake repartition defines how to distribute the pressure in the brake
system. If the value is 0.0 all pressure goes to the rear brakes, if it is 1.0 all
pressure hits the front brakes.
The max pressure setting defines the pressure for applying full brakes.
</p>
</td>
</tr>
</table>
<table class="maincontent">
<tr>
<td class="maincontent">
<h4>Wheels</h4>
<p><pre class="lbcolor"> &lt;section name="Front Right Wheel"&gt;
&lt;attnum name="ride height" unit="mm" min="100" max="200" val="100"/&gt;
&lt;attnum name="toe" unit="deg" min="-5" max="5" val="0"/&gt;
&lt;attnum name="camber" min="-5" max="0" unit="deg" val="0"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
<img id="pic2" src="images/toecam.jpg" alt="toe and camber" border="0"></img>
The ride height setting defines the initial distance of the cars floor to the track.
When you decrease the ride height the downforce increases because of the ground effect,
but you cars floor may hit the track.
With toe (on the left on the sketch) you can define the initial angle of the wheel to the
car. You can improve the stability or the response to steer commands with these
settings.
Camber (on the right on the sketch) defines the angle of the wheel to the track. At the
moment it increases simply the adherence on the track in the simulation when you
decrease the angle (toward negative values).
</p>
</td>
</tr>
</table>
<table class="maincontent">
<tr>
<td class="maincontent">
<h4>Anti Roll Bar</h4>
<p><pre class="lbcolor"> &lt;section name="Rear Anti-Roll Bar"&gt;
&lt;attnum name="spring" unit="lbs/in" min="0" max="5000" val="0"/&gt;
&lt;attnum name="suspension course" unit="m" min="0" max="0.2" val="0.2"/&gt;
&lt;attnum name="bellcrank" min="1" max="5" val="1.8"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
<img id="pic3" src="images/rotate.jpg" alt="rotation of car body" border="0"></img>
The anti-roll bars prevents the car body from rolling (e. g. in fast turns). When the
car body rolls (on the bottom of the sketch) the tire contact patch becomes smaller and
the grip drops down. The spring
setting defines how strong the anti-roll bar is linked. With a high bellcrank value
you can increase the strength of the link further.
</p>
<p>
</td>
</tr>
</table>
<table class="maincontent">
<tr>
<td class="maincontent">
<h4>Suspension</h4>
<p><pre class="lbcolor"> &lt;section name="Front Right Suspension"&gt;
&lt;attnum name="spring" unit="lbs/in" min="0" max="10000" val="2500"/&gt;
&lt;attnum name="suspension course" unit="m" min="0" max="0.2" val="0.2"/&gt;
&lt;attnum name="bellcrank" min="1" max="5" val="2"/&gt;
&lt;attnum name="packers" unit="mm" min="0" max="10" val="0"/&gt;
&lt;attnum name="slow bump" unit="lbs/in/s" min="0" max="1000" val="80"/&gt;
&lt;attnum name="slow rebound" unit="lbs/in/s" min="0" max="1000" val="80"/&gt;
&lt;attnum name="fast bump" unit="lbs/in/s" min="0" max="1000" val="100"/&gt;
&lt;attnum name="fast rebound" unit="lbs/in/s" min="0" max="1000" val="100"/&gt;
&lt;/section&gt;</pre>
</p>
<p>
The spring setting defines how stiff the spring is. The suspension course defines the
distance which the suspension can move. With the bellcrank you can make the whole
suspension system more stiff (higher values) or soft (lower values). The packers
limit the suspension movement. You need this if you want a soft setup and avoiding
the car floor hitting the track on fast track sections. Slow bump and rebound allow you
to set up the damping of low frequency oscillations, e. g. caused by braking and steering. Fast
bump and rebound are for damping high frequency oscillations, e. g. caused by bumps on
the track or if you hit the curbs.
</p>
<h3>Summary</h3>
<ul style="list-style-type:disk; color:black;">
<li>You know the most important car parameters and what they are good for.</li>
</ul>
<br/>
</td>
</tr>
</table>
<table class="navigation_foot">
<tr>
<td class="navigation_foot">
<a href="./creating.html">
<p style="text-align:left;">Back</p>
</a>
</td>
<td class="navigation_foot">
<a href="./customprop.html">
<p style="text-align:right;">Custom properties.</p>
</a>
</td>
</tr>
</table>
</body>
</html>