[vox] WANTED: C programmers + linux experts for DARPA autonomous vehicle project: Team Aggie Spirit

Gregory Thrasher soulmacadamia at gmail.com
Thu Mar 9 11:43:57 PST 2006


Hello all!  I have recently become part of a long-running group here
in Davis that is working on making a '79 GMC Jimmy drive itself
autonomously.  Last fall DARPA held a contest for such vehicles and
the winner (Stanford) walked away with $2M in prize money.  There is
rumor of a future DARPA challenge with a prize of $10M, but at the
moment we are just working on it for fun.

The group is Team Aggie Spirit, but it is not just for students.  We
welcome any help we can get with electronics, software, and mechanics,
but at the moment we are in most dire need of software help.

This project has been going on for some time (you may recall the
display at last picnic day).  We have gotten some expensive equipment
donated by sponsors and are an official non-profit organization.

If you good experience with C microcontroller programming and
specialized linux systems (the car will run linux), please consider
becoming involved.  Again any help is appreciated even if you can't
stick with it for very long!

All of our software will be run in linux, with the exception of some
tools we want to work over a wireless interface which should be cross
platform. We need help writing a lot of this software, but there is
also some linux administration to be done. Most the members know linux
decently, but at a "get fedora up and working well" level, not a
"emerge a custom gentoo build" level.  If you feel very experienced in
that way, we could use help tweaking a good install for our purposes.

There is a lot of work to be done in the software, in fact that is the
main challenge for this project. Right now we have some legacy code
and a very clean but sparse C++ class hierarchy.  We know how we are
going to do most things organizationally, but do not have the
implementation on a lot of it.  For example, we know the micro
controllers will communicate with a digital bus (CAN), but we need the
computer(s) to be able to read and write to that. We will be doing
this with serial, but all we have at this point is a serial library,
not a full implementation of a Computer to CAN interface.

Other software topics:
-Writing a simulator.  Right now our design is setup so that our
'vehicle' class can be run either off real world sensor input, or
inside of a simulation.  This gives us a sanity check on our logic,
and allows us to test navigation code in a simulated environment.
-Writing a visualization program. We want a program that can visualize
what is going on with the car and its perception of the world. Because
of the way our code is setup, this would be how we viewed simulations
as well as how we could view the car's thought process in the real
world. This would use a TCP link to the main car computer or the
simulation program, and there is already a TCP message/subscriber
system written.  The program should probably be GL and be cross
platform. WX would be a good choice, but we have a lot of GLUT code
for various UI things like text boxes that could work in any cross
platform GL interface you like.
-Interface to a LIDAR unit. We have a >$3000 piece of sensing
equipment that uses a laser to read a arc of point ranges at up to
almost a hundred yards away. There is open source linux code on the
internet to communicate with such units we hope to adapt and use.
-Write the AI/Pathfinding/World model. Right now we have shell classes
and a basic idea of the interface for these modules, (and they are
very modular) but they have not been worked on much.
-Lots of other misc jobs.

We also have electronic, micro controller and mechanical challenges
which all need to be addressed, and welcome any help in those areas.


You can contact me at this email address, or
*Mike Sutherland mrsutherland at ucdavis.edu
*Alex Gourley acgourley at ucdavis.edu


More information about the vox mailing list