speed-dreams-code/src/drivers/kilo2008
pouillot 804817e474 Fixed #718 Actual encoding now consistent with XML header (needed for the txml => Expat 2 port)
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@4789 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 9a3d598f9c74fe1e934058d72ed688cf30895010
Former-commit-id: 314f14f7b62fe3a409ffaebec0b1f82ae90c9800
2012-07-08 12:40:00 +00:00
..
1 Skilling enabled. 2010-10-18 20:41:47 +00:00
2 Skilling enabled. 2010-10-18 20:41:47 +00:00
5 2 drivers for the Archer R9. Re #183. 2010-10-19 22:33:12 +00:00
6 2 drivers for the Archer R9. Re #183. 2010-10-19 22:33:12 +00:00
7 Kilo2008 LS-GT1 Cavallo 570 drivers. 2010-11-28 22:06:08 +00:00
8 Kilo2008 LS-GT1 Cavallo 570 drivers. 2010-11-28 22:06:08 +00:00
9 Kilo2008 LS-GT1 Vulture V6R drivers. 2010-11-29 00:44:47 +00:00
10 Kilo2008 LS-GT1 Vulture V6R drivers. 2010-11-29 00:44:47 +00:00
15 git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@4254 30fe4595-0a0c-4342-8851-515496e4dcbd 2011-12-04 01:27:40 +00:00
16 git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@4254 30fe4595-0a0c-4342-8851-515496e4dcbd 2011-12-04 01:27:40 +00:00
ls1-archer-r9 Fixed #718 Actual encoding now consistent with XML header (needed for the txml => Expat 2 port) 2012-07-08 12:40:00 +00:00
ls1-cavallo-570s1 Kilo2008 LS-GT1 Cavallo 570 drivers. 2010-11-28 22:06:08 +00:00
ls1-vulture-v6r Fixed #718 Actual encoding now consistent with XML header (needed for the txml => Expat 2 port) 2012-07-08 12:40:00 +00:00
mpa1-hartbill-2002 Fixed #718 Actual encoding now consistent with XML header (needed for the txml => Expat 2 port) 2012-07-08 12:40:00 +00:00
tracks rename e-track-1.xml to lombaro.xml 2012-01-07 00:07:06 +00:00
trb1-cavallo-360rb Setup for Cavallo 360 on Brondehach. Re #183. 2011-08-17 21:34:22 +00:00
cardata.cpp Passes cpplint tests. 2010-10-22 09:07:58 +00:00
cardata.h Passes cpplint tests. 2010-10-22 09:07:58 +00:00
CMakeLists.txt Fixes #526 Use the ldconfig version-naming scheme for all shared library files under Linux (modules included) 2012-01-02 22:41:22 +00:00
default.xml Using different setup files. 2010-09-30 07:47:51 +00:00
kdriver.cpp Quick and dirty pit stop bug fix for kilo 2012-03-31 16:32:22 +00:00
kdriver.h Quick and dirty pit stop bug fix for kilo 2012-03-31 16:32:22 +00:00
kilo2008.cpp Re #183: small code improvement in Kilo robot module. 2011-12-05 23:31:37 +00:00
kilo2008.xml Re #550 Quick fix for kilo2008 having pbs with holes in the drivers index sequence 2012-01-14 11:20:54 +00:00
linalg.h Re #307: header inclusion, C -> C++ 2012-01-31 08:01:19 +00:00
opponent.cpp Styled code consistently, 2010-11-08 23:42:00 +00:00
opponent.h Re #307 : Fixed MSVC warnings about unused variables and data conversions 2011-02-27 10:36:03 +00:00
pit.cpp Additional pit position calculations to make it more stable 2012-04-07 12:48:22 +00:00
pit.h Styled code consistently, 2010-11-08 23:42:00 +00:00
raceline.cpp Raceline changes, code review. Re #183. 2011-08-17 21:35:38 +00:00
raceline.h Styled code consistently, 2010-11-08 23:42:00 +00:00
README
spline.cpp Cosmetics. Passes cpplint tests. 2010-10-23 21:35:59 +00:00
spline.h Cosmetics. Passes cpplint tests. 2010-10-23 21:35:59 +00:00
strategy.cpp Updating Kilo robot. Re #183. 2011-07-31 23:39:41 +00:00
strategy.h Styled code consistently, 2010-11-08 23:42:00 +00:00
util.cpp Re #307: header inclusion, C -> C++ 2012-01-31 08:01:19 +00:00
util.h fix windows compile 2011-05-29 08:58:33 +00:00

Introduction
------------

This robot is a melding of code from Bernhard's tutorial robot (BT), 
Remi's K1999, and my own Hymie. 

I've put this together to help new robot developers interested in 
joining Bernhard's excellent Endurance competition, located at
http://berniw.org/trb.  If you like, you can substitute the K1999
raceline code with your own, or find a different & better means
of steering & speed management while avoiding opponents.  Or you
can work with what's there, ironing out the bugs (not that there's
many) and optimising its strengths.


Features
--------

* uses a precalculated raceline
* is coded in a simple & easy to understand manner, with the raceline
  logic in its own seperate class.
* avoids collisions and overtakes reasonably well.
* uses the clutch effectively (unlike the standard BT or berniw robots)
* can navigate the pits, and share pits with a team driver
* co-operates with a team driver, not overtaking unless its necessary.
* has various parameters that can be configured in the XML file for
  each track, controlling its speed and aggression.
* a sample setup for the clkdtm on e-track-6.

However, locus does not contain the following:-

* learning of any kind
* slowing down to avoid getting airborne on bumps.  Think of ole-road-1.
* manual tuning of the raceline or raceline speeds
* gear changing is as-per BT - it doesn't switch at optimal rpm values.
* getting back on track after leaving it due to a collision or cornering
  error - this is rudimentary and could be improved.
* setups for any car#-trb1 cars.
* various "hacks" and "tricks" to make it _really_ fast.
* an advanced pit strategy
* advanced brake/overtake avoidance methods. What's there isn't bad though.
* when following a team driver, could get closer to make better use of the slipstream.

You'll have to work on those things yourself, which is of course part
of the fun of robot development :)


Installation
------------

To make your own robot you'll first need to make a copy of the locus
directory.  Then you must rename every locus.* file to your new
robot's name - eg if your new robot is called "mybot" then locus.cpp
becomes mybot.cpp and so on.  Lastly you'll need to go through the
various source files and change instances of "locus" to "mybot", then
do the same with the Makefiles and .dsp/.sln/.vcproj files.

Good luck, and hopefully we'll see you on the race track in 2008 :)

cheers
Andrew


History
-------

v04 - fixed error that caused steering problems on kilo's "longday" track
      a few other minor steering improvements.
v03 - fixed "forever loop" again.  Properly this time.
v02 - fixed errors in locus.dsp
      fixed "forever loop" in raceline.cpp
      added config xmls for driver 2
v01 - initial version