T.O.R.C.S.
Manual installation
and
Robot tutorial
Author by:
Bernhard Wymann
Transcription:
Gonzalo Antonio A randa Corral
Contents
1 TORCS Installation 15
1.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . 15
1.2.1 K6-III-400 . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.2 SMP-PIII-550MHz . . . . . . . . . . . . . . . . . . . . 16
1.2.3 PIII-800MHz . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.1 Checking OpenGL/DRI . . . . . . . . . . . . . . . . . 17
1.3.2 Checking GLUT . . . . . . . . . . . . . . . . . . . . . . 17
1.3.3 Checking Libpng . . . . . . . . . . . . . . . . . . . . . 18
1.4 TORCS Packages . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.1 Required Packages . . . . . . . . . . . . . . . . . . . . 18
1.4.2 Optional Packages . . . . . . . . . . . . . . . . . . . . 19
1.5 Plib I nstallation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.1 Checking Plib . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.2 Download and Unpack Plib . . . . . . . . . . . . . . . 20
1.5.3 Compiling and Installing Plib . . . . . . . . . . . . . . 20
3
1.6 OpenAL Installation . . . . . . . . . . . . . . . . . . . . . . . 21
1.6.1 Checking for OpenAL . . . . . . . . . . . . . . . . . . 21
1.6.2 Download and Unpack OpenAL . . . . . . . . . . . . 21
1.6.3 Compiling and Installing OpenAL . . . . . . . . . . . 22
1.7 TORCS Installation . . . . . . . . . . . . . . . . . . . . . . . . 22
1.7.1 Unpacking Source Packages . . . . . . . . . . . . . . . 22
1.7.2 Building TORCS . . . . . . . . . . . . . . . . . . . . . 22
1.7.3 Installing TORCS . . . . . . . . . . . . . . . . . . . . . 23
1.8 TORCS Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.8.1 Permissions . . . . . . . . . . . . . . . . . . . . . . . . 23
1.8.2 Environment . . . . . . . . . . . . . . . . . . . . . . . 24
1.8.3 Command Line Options . . . . . . . . . . . . . . . . . 25
1.9 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Introduction 27
2 Build a Very Simple Robot 29
2.1 Robot Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.1 Generate the Robot Skeleton . . . . . . . . . . . . . . 29
2.1.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2 Build the Robot . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.1 Compile and Install Your Robot . . . . . . . . . . . . 31
2.2.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Make it Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.1 The Track . . . . . . . . . . . . . . . . . . . . . . . . . 31
4
2.3.2 The Car . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.3 Implementing Simple Steering . . . . . . . . . . . . . 32
2.3.4 Downloads . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 What’s next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.1 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3 Getting Unstuck and Handle Multiple Cars 37
3.1 Basic Getting Unstuck . . . . . . . . . . . . . . . . . . . . . . 37
3.1.1 Basic Algorithm . . . . . . . . . . . . . . . . . . . . . . 37
3.1.2 Downloads . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.2 Boolean Expressions . . . . . . . . . . . . . . . . . . . 39
3.2.3 Portability . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.4 For Loops . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.5 Constants in Classes . . . . . . . . . . . . . . . . . . . 40
3.2.6 Magic Numbers . . . . . . . . . . . . . . . . . . . . . . 40
3.2.7 Numerical Problems . . . . . . . . . . . . . . . . . . . 41
3.2.8 Adding up Numbers . . . . . . . . . . . . . . . . . . . 41
3.2.9 Special Numbers . . . . . . . . . . . . . . . . . . . . . 41
3.2.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Define Multiple Robots . . . . . . . . . . . . . . . . . . . . . . 42
3.3.1 Car Definition . . . . . . . . . . . . . . . . . . . . . . . 42
5