The track is composed of segments (straight, right turn and left turn).
The segments can have different length but all the segments have the same width.
The segments are always tangent (think the track as a railway track).
The track desciption (in xml) descibe the middle line of the track.
The robots get a track structure (described in src/interfaces/track.h) in their rbNewTrack callback.
The seg field of the tTrack structure points to a segment ring list.
The main information for the robots in the segments are (straight direction is from right to left):
And for the turns (the direction is from left to right):
Along with the kFriction parameter giving the friction coeff. The friction coefficient can vary from a segment to another.
The position of the car on a segment is given by:
Advanced robots can take care of track sides (lside and rside pointers in a segment).
The functions used by the robots in order to get their position on the track are
© Eric Espié & Christophe Guionneau, 1999, 2001.